目次
2026年10月20日に報じられた発表によると、AWS Transformで.NETアプリケーション内のAzure SDKコードを、AWS SDKを使うコードに変換できるようになりました。Azure FunctionsからAWS Lambdaへの変換などに対応していますが、チームによる動作検証と、ツールが変換できないコードへの対応は引き続き必要です。
要点#
- AWS Transformに、Azureサービスを使う.NETアプリケーションのコード変換機能が追加されました。
- 関数、オブジェクトストレージ、キュー、NoSQLデータベースの変換に対応しています。
- 対応する変換先がないコードは、TODOコメント、スタブコード、または別のMarkdownファイル内のガイダンスになる場合があります。
- 変換後のアプリケーションは、デプロイ前にレビューとテストが必要な移行候補として扱ってください。
AWS Transformが変換するもの#
今回の更新は、特定の移行課題を対象としています。Azure SDKを使って構築された.NETアプリケーションは、Azureサービスに依存しています。これらをAWSに移行するには、アプリケーションファイルを移すだけでなく、サービス呼び出しを変更する必要があります。
AWS Transformは、次の4つのサービス間の変換に対応しています。
| Azureサービス | AWSの移行先 | |---|---| | Azure Functions | AWS Lambda | | Azure Blob Storage | Amazon S3 | | Azure Queue Storage | Amazon SQS | | Azure Cosmos DB | Amazon DynamoDB |
これらの対応関係は、Azureへの依存を置き換える出発点になります。ただし、すべての機能、設定、利用パターンに直接対応するものがあると保証するわけではありません。提供されたレポートには、各サービス内の詳しい対応範囲は記載されていません。
更新が役立つ場面#
実用上の利点は、開発者が手作業で書き換えるサービス連携コードを減らせることです。たとえば、Azure Blob Storageにファイルを保存するアプリケーションでは、その呼び出しをAmazon S3向けに変換できます。対応するコンピューティング、キュー、データベース連携にも、同じ手法を適用できます。
そのため、既存の.NETアプリケーションが一覧にあるAzureサービスを使っており、AWSへの移行を検討している場合に役立ちます。プロジェクトで採用する前に、アプリケーションの実際の依存関係を洗い出してください。サービス名が対応一覧にあることは有用な判断材料ですが、アプリケーションが使う操作や機能は引き続き確認が必要です。
ここで説明されている対象範囲はコード変換です。提供されたレポートからは、AWS Transformがこれらのアプリケーションのデータ転送、必要なインフラすべての構築、本番環境への切り替えまで行うとは確認できません。移行計画では、これらを別のタスクとして管理してください。
未完了の変換をレビューする#
AWS Transformは、未対応の作業をTODOコメント、スタブと呼ばれる仮実装、または「Next Step」とされる別のMarkdownファイルで示します。開発者は、これらの出力をそれぞれ確認する必要があります。
スタブは、必要な動作が未実装のまま残る可能性があるため、特に注意が必要です。ビルドの成功だけでは、移行後のアプリケーションが動作するとは判断できません。障害処理も含め、変換後のコードを元のアプリケーションの動作と照らし合わせてレビューしてください。
次の4項目のレビューチェックリストを使ってください。
- TODOコメント: 不足している動作を特定し、担当者を決めます。
- スタブコード: リリース前に、仮実装を動作する実装に置き換えます。
- Next Stepのガイダンス: 関連する各指示を、追跡可能なタスクにします。
- 変換された呼び出し: 入力、出力、エラー処理が、必要な動作を維持しているか確認します。
サービスの動作をテストする#
移行元と移行先のサービスは似た目的を果たしますが、APIや動作上のルールは異なる場合があります。検証では、新しいSDK呼び出しがコンパイルできるかの確認にとどまらず、アプリケーションの要件に沿って確認してください。
Azure Functionsからの変換では、Lambda関数がイベントを受け取り、結果を返し、障害を処理する方法をテストします。ストレージのコードでは、ファイルの内容、アプリケーションが依存するメタデータ、アクセス権限を検証します。キューのテストでは、再試行と重複処理を確認してください。データベースのテストでは、採用したDynamoDBの設計に対して、アプリケーションのクエリと更新動作を確認します。
これらは移行時の確認事項であり、AWS Transformの確認済みの制限ではありません。提供されたレポートには、変換成功率の測定値や、生成コードがアプリケーションの動作をすべて維持するという証拠はありません。明確な基準で結果を評価できるよう、変換の実行前に受け入れ基準を設定してください。
次のステップ#
対応するAzureサービスを使う非本番の.NETコンポーネントを1つ選び、AWS Transformで試験的に変換してください。すべてのTODO、スタブ、Next Stepの項目を記録し、そのコンポーネントの主な操作と障害ケースを1つテストしてから、移行を拡大するか判断してください。
出典: https://www.publickey1.jp/blog/26/aws_transformazure_functionsaws_lambdamicrosoft_azureaws.html
目次
