<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Migration | The .NET Blog</title><link>https://thedotnetblog.com/ja/tags/migration/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ja</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ja/tags/migration/index.xml" rel="self" type="application/rss+xml"/><item><title>Agentic Platform Engineering で移行の繰り返し作業をなくす</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</guid><description>Git-Ape が実際の AWS Terraform デプロイメントを Azure Bicep に移行する過程を紹介します — 1:1 の構文変換ではなく、デプロイメントの意図を抽出してアーキテクチャを再マッピングします。</description><content:encoded>&lt;p&gt;&lt;em&gt;この投稿は自動翻訳されました。元のバージョンは&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/"&gt;こちら&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;Removing the Monkey Work of Migration with Agentic Platform Engineering&lt;/a&gt; — Git-Ape（git アジェンティック・プラットフォーム・エンジニアリングツール）が実際の AWS Terraform リポジトリを Azure に移行するウォークスルーで、行単位の変換ではなくデプロイメントの意図抽出に焦点を当てています。&lt;/p&gt;
&lt;h2 id="入力-contoso-migration"&gt;入力: contoso-migration&lt;/h2&gt;
&lt;p&gt;ソースは、AWS 上に Next.js アプリをデプロイする実際の Terraform プロジェクト（&lt;code&gt;contoso-migration&lt;/code&gt;）です — コンピュートに EC2、ロードバランシングに ALB、アーティファクトに S3、アイデンティティに IAM キー。コスト: 月額約 34 ドル。目標は Azure で同じインフラを再現することではなく、デプロイメントが実際に何をしようとしているのかを把握し、Azure ネイティブサービス上でそれを再構築することです。&lt;/p&gt;
&lt;h2 id="ステップ-1-検証と認証"&gt;ステップ 1: 検証と認証&lt;/h2&gt;
&lt;p&gt;Git-Ape は、何かに触れる前にすべての必要な CLI ツール — &lt;code&gt;az&lt;/code&gt;、&lt;code&gt;aws&lt;/code&gt;、&lt;code&gt;gh&lt;/code&gt;、&lt;code&gt;jq&lt;/code&gt;、&lt;code&gt;git&lt;/code&gt; — を検証し、アクティブな認証セッションを確認することから始めます。部分的な実行はありません。&lt;/p&gt;
&lt;h2 id="ステップ-2-意図の抽出"&gt;ステップ 2: 意図の抽出&lt;/h2&gt;
&lt;p&gt;エージェントは GitHub API を通じてソースリポジトリ全体を読み込み、デプロイメントの意図を抽出します: ランタイム (Node.js)、コンピュートタイプ、イングレスパターン、アーティファクト処理、アイデンティティモデル、ネットワーキング、そしてモニタリング。これが重要なステップです — Terraform のキーワードではなく、デプロイメントが何をするかのセマンティックモデルを構築しています。&lt;/p&gt;
&lt;h2 id="ステップ-3-サービスマッピング"&gt;ステップ 3: サービスマッピング&lt;/h2&gt;
&lt;p&gt;AWS サービスが Azure の同等物にマッピングされます:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 → App Service (Linux, Node 20 LTS)&lt;/li&gt;
&lt;li&gt;ALB → App Service 組み込みロードバランシング&lt;/li&gt;
&lt;li&gt;IAM ロール/キー → Managed Identity&lt;/li&gt;
&lt;li&gt;Terraform → Bicep + GitHub Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ステップ-4-批評エージェント"&gt;ステップ 4: 批評エージェント&lt;/h2&gt;
&lt;p&gt;出力を生成する前に、批評エージェントが実行され、2 つのブロッキング問題を検出します:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;起動時ビルドのアンチパターン&lt;/strong&gt; — 元の Terraform は EC2 の起動時に &lt;code&gt;npm install &amp;amp;&amp;amp; npm run build&lt;/code&gt; を実行していました。修正: CI でビルドし、準備済みアーティファクトをデプロイする。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不要な Blob Storage&lt;/strong&gt; — S3 は適切な CI/CD で排除できるアーティファクトステージングに使用されていました。批評エージェントがそれを完全に削除しました。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="ステップ-5-生成された出力"&gt;ステップ 5: 生成された出力&lt;/h2&gt;
&lt;p&gt;結果は元の 200 行以上の Terraform の代わりに約 80 行の Bicep です。エージェントは &lt;code&gt;infra/main.bicep&lt;/code&gt; と &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt; を含む新しい GitHub リポジトリを作成し、すべての AWS 固有ファイルを削除しました。&lt;/p&gt;
&lt;h2 id="セキュリティ体制の比較"&gt;セキュリティ体制の比較&lt;/h2&gt;
&lt;p&gt;移行により、セキュリティも大幅に改善されました:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS オリジナル&lt;/th&gt;
&lt;th&gt;Azure 出力&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HTTP のみ&lt;/td&gt;
&lt;td&gt;HTTPS のみ、TLS 1.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH が 0.0.0.0/0 に開放&lt;/td&gt;
&lt;td&gt;SSH 露出なし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IAM アクセスキー&lt;/td&gt;
&lt;td&gt;OIDC + Managed Identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;モニタリングなし&lt;/td&gt;
&lt;td&gt;Application Insights&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;コスト: 元の 34 ドル/月に対して約 13 ドル/月。&lt;/p&gt;
&lt;h2 id="構文コンバーターとの違い"&gt;構文コンバーターとの違い&lt;/h2&gt;
&lt;p&gt;批評エージェントのステップが、これを機械的な変換と区別するものです。AWS では機能するが Azure では誤りとなるパターンを検出し、それを複製する代わりに修正しました。出力は「Azure 構文の AWS」ではなく、同じ目標をよりクリーンに達成する Azure ネイティブのデプロイメントです。&lt;/p&gt;
&lt;p&gt;完全なエージェントトレースと生成されたファイルについては、&lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;完全なウォークスルー&lt;/a&gt;をご覧ください。&lt;/p&gt;</content:encoded></item><item><title>GitHub Copilotのモダナイゼーション評価は、まだ使っていない最高の移行ツール</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</guid><description>GitHub Copilotのモダナイゼーション拡張機能は、コード変更を提案するだけでなく、アクション可能なIssue、Azureターゲット比較、コラボレーティブなワークフローを備えた完全な移行評価を生成します。評価ドキュメントがすべての鍵である理由をお伝えします。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されました。原文は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;レガシーな.NET Frameworkアプリをモダンな.NETに移行することは、誰もがやるべきだと知っているのに誰も始めたがらないタスクの一つです。「ターゲットフレームワークを変えるだけ」では済みません。消えたAPI、もう存在しないパッケージ、まったく異なる動作をするホスティングモデル、そして何をコンテナ化し、何を書き直し、何をそのままにするかについての無数の小さな決断があります。&lt;/p&gt;
&lt;p&gt;Jeffrey Fritzが&lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;GitHub Copilotのモダナイゼーション評価の詳細な解説&lt;/a&gt;を公開しましたが、正直なところ、.NET向けで見た中で最高の移行ツーリングです。コード生成のためではありません — それは今や当たり前です。生成される評価ドキュメントのためです。&lt;/p&gt;
&lt;h2 id="単なるコード提案エンジンではない"&gt;単なるコード提案エンジンではない&lt;/h2&gt;
&lt;p&gt;VS Code拡張機能は&lt;strong&gt;評価 → 計画 → 実行&lt;/strong&gt;モデルに従います。評価フェーズはコードベース全体を分析し、すべてをキャプチャする構造化ドキュメントを生成します：何を変更する必要があるか、どのAzureリソースをプロビジョニングするか、どのデプロイモデルを使用するか。その後のすべて — Infrastructure as Code、コンテナ化、デプロイマニフェスト — は評価結果から流れます。&lt;/p&gt;
&lt;p&gt;評価はプロジェクトの&lt;code&gt;.github/modernize/assessment/&lt;/code&gt;に保存されます。各実行は独立したレポートを生成するため、履歴が蓄積され、Issueを修正するにつれて移行の態勢がどう進化しているか追跡できます。&lt;/p&gt;
&lt;h2 id="2つの始め方"&gt;2つの始め方&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;推奨評価&lt;/strong&gt; — 素早い方法。キュレーションされたドメイン（Java/.NETアップグレード、Cloud Readiness、セキュリティ）から選び、設定をいじらずに意味のある結果を得ます。アプリがどこにいるかの最初の確認に最適です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;カスタム評価&lt;/strong&gt; — ターゲットを絞った方法。何を分析するか正確に設定：ターゲットコンピュート（App Service、AKS、Container Apps）、ターゲットOS、コンテナ化分析。複数のAzureターゲットを選んで移行アプローチを並べて比較できます。&lt;/p&gt;
&lt;p&gt;その比較ビューは本当に便利です。App Serviceで必須Issueが3つのアプリが、AKSでは7つかもしれません。両方を見ることで、移行パスにコミットする前にホスティングの決定を導けます。&lt;/p&gt;
&lt;h2 id="issueの内訳はアクション可能"&gt;Issueの内訳はアクション可能&lt;/h2&gt;
&lt;p&gt;各Issueには重大度レベルが付いています：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;必須&lt;/strong&gt; — 修正しなければ移行が失敗&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;潜在的&lt;/strong&gt; — 移行に影響する可能性あり、人間の判断が必要&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;オプション&lt;/strong&gt; — 推奨される改善、移行をブロックしない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そして各Issueは影響を受けるファイルと行番号にリンクし、何が問題でなぜターゲットプラットフォームにとって重要なのかの詳細な説明を提供し、具体的な修正手順を示し（「これを直して」だけでなく）、公式ドキュメントへのリンクを含みます。&lt;/p&gt;
&lt;p&gt;個々のIssueを開発者に渡すことができ、彼らにはアクションに必要なすべてが揃っています。これが「問題がある」と伝えるツールと「解決方法」を伝えるツールの違いです。&lt;/p&gt;
&lt;h2 id="カバーされるアップグレードパス"&gt;カバーされるアップグレードパス&lt;/h2&gt;
&lt;p&gt;.NET向け具体的に：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET Framework → .NET 10&lt;/li&gt;
&lt;li&gt;ASP.NET → ASP.NET Core&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;各アップグレードパスには、どのAPIが削除されたか、どのパターンに直接の等価物がないか、どのセキュリティ問題に注意が必要かを知る検出ルールがあります。&lt;/p&gt;
&lt;p&gt;複数のアプリを管理するチーム向けには、マルチレポのバッチ評価をサポートするCLIもあります — すべてのリポをクローンし、すべてを評価し、アプリごとのレポートと集約されたポートフォリオビューを取得できます。&lt;/p&gt;
&lt;h2 id="私の見解"&gt;私の見解&lt;/h2&gt;
&lt;p&gt;レガシーな.NET Frameworkアプリを抱えているなら（そして正直に言って、ほとんどのエンタープライズチームがそうです）、これが始めるための&lt;em&gt;最適な&lt;/em&gt;ツールです。評価ドキュメントだけでも時間の価値があります — 漠然とした「モダナイズすべき」を、明確な前進の道筋を持つ具体的で優先順位付けされた作業項目リストに変えてくれます。&lt;/p&gt;
&lt;p&gt;コラボレーティブなワークフローも賢いです：評価をエクスポートし、チームと共有し、再実行せずにインポート。意思決定者がツールを実行する人ではないアーキテクチャレビュー？カバーされています。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;p&gt;GitHub Copilotのモダナイゼーション評価は、.NETの移行を怖い未定義のプロジェクトから構造化された追跡可能なプロセスに変えます。推奨評価から始めて現在地を確認し、カスタム評価でAzureターゲットを比較して移行計画を構築しましょう。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;完全なウォークスルー&lt;/a&gt;を読み、&lt;a href="https://aka.ms/ghcp-appmod/vscode-ext"&gt;VS Code拡張機能&lt;/a&gt;を入手して自分のコードベースで試してみてください。&lt;/p&gt;</content:encoded></item></channel></rss>