【AWS re:Invent 2024】【ワークショップレポート】Amazon Q Developer を用いた.NET FrameworkからLinuxへの移植のワークショップに参加してきました

記事タイトルとURLをコピーする

こんにちは。
re:Invent 2024参加中のアプリケーションサービス部、DevOps担当の兼安です。
今日は現地時間で12月5日です。
今日はAmazon Q Developerを用いた.NET FrameworkからLinuxへの移植のワークショップに参加してきました。
簡単ではありますがそのレポートを書いてみたいと思います。

Amazon Q Developer transformation capabilities for .NETとは

re:Invent 2024にてAmazon Q Developerによる.NETアプリケーションのWindowsからLinuxへの移行支援機能がパブリックプレビューとなりました。

aws.amazon.com

本記事で述べているワークショップでは、こちらのチュートリアル+αを体験できるものでした。

Amazon Q Developer transformation capabilities for .NETの制約事項

アナウンスのページにもある通り、Amazon Q Developer transformation capabilities for .NETでLinuxに移植のサポートができるソースコードには条件があります。

以下、引用です。

Availability – Amazon Q Developer transformation capabilities for .NET porting are available today in preview with Amazon Q Developer Pro Tier subscription.

.NET versions supported – Amazon Q Developer transformation capabilities for .NET supports transforming applications written using .NET Framework versions 3.5+, .NET Core 3.1, and .NET 5+ to the currently supported cross-platform .NET versions such as .NET 8 and .NET 9.

Application types supported – Amazon Q Developer transformation capabilities for .NET supports porting C# code projects of the following types: console application, class library, unit tests, web API, Windows Communication Foundation (WCF) service, and business logic layers of Model View Controller (MVC) and Single Page Application (SPA). However, the UI layer such as Razor Views and WebForms are not ported. Also, only the projects with Microsoft authored NuGet package dependencies are supported. For .NET Framework applications dependent on Internet Information Server (IIS), only default IIS configurations are supported for porting to cross-platform .NET.

本機能を利用するにはAmazon Q Developerの契約はPro Tierが必要です。
言語はC#が対象で、他にも条件がついています。
このあたりはワークショップの中でも触れられていました。

サポートしている.NETアプリケーションの条件

なお、これらの条件はパブリックプレビュー時点の内容で、一般公開の際には条件が変わるかもしれません。

ワークショップの流れ

ワークショップは以下の流れで進みました。

  • 講師によるワークショップ内容の説明、一通り最後まで
  • その後、もくもくと作業
  • 手順は以下の通り
    • WindowsのAmazon EC2インスタンスをリモートデスクトップで操作するため、セキュリティグループを変更(最初は0.0.0.0/0なのを自分のIPのみへ)
    • Windowsにログインし、Amazon Q Developerのエージェントを有効化。 この時AWS IAM Identity Centerへのログインが発生する
    • Visual Studioで過去資産のソースコードを開き、Amazon Q Developerでソースコードを変換
    • 変換による差分のチェック。 一部エラーが残っているのでそれらの修正
    • ローカル実行でテスト
    • 時間があればのオプションとして、AWS Fargate for Amazon ECSへのデプロイ

このワークショップは、最初に手順を全て説明したのが印象的でした。
ソースコードの変換作業は20分ぐらいかかりました。
ソースコードの変換は、差分を確認してから反映するかどうかを選択することができます。
親切な設計ですね。

Amazon ECSへのデプロイは時間不足で完全には試せませんでしたが、こういう知らない機能も触れられたのが嬉しかったです。

感想

私自身は.NETの開発はここ数年離れていますので、久しぶりに触れることができました。
イベント参加の際は、あえて普段触らないサービスに触れるのもいいですね。
また機会があれば、今度はもっと自分の業務から離れたサービスを体験してもいいかなと思いました。

Amazon Q Developer transformation capabilities for .NETのメリットは、アナウンスのページにある通りライセンス料金の削減だと思います。
是非皆さんも体験してみてください。

兼安 聡(執筆記事の一覧)

アプリケーションサービス部 DS3課所属
2024 Japan AWS Top Engineers (Database)
2024 Japan AWS All Certifications Engineers
Certified ScrumMaster
PMP
広島在住です。今日も明日も修行中です。