翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
での ASP.NET Web Forms アプリケーションのデプロイ AWS
NuGet パッケージの管理
NuGet は、.NET のコードパッケージを格納して管理するリポジトリです。アプリケーションには、nuget.org
この問題を解決するには、マネージドアーティファクト (NuGet) リポジトリをプロビジョニングして、nuget.org などの外部ソースからパッケージをダウンロードします。フルマネージドアーティファクトリポジトリサービスである AWS CodeArtifactを NuGet パッケージリポジトリとして使用できます。詳細については、 AWS ブログ記事「Using NuGet with AWS CodeArtifact
NuGet パッケージリポジトリを使用するようにアプリケーションを設定するには、プロジェクトルートまたはソリューションルートディレクトリに NuGet.config
ファイルを作成します。このファイルは、NuGet がパッケージを復元するときに使用するパッケージソースを指定します。次の例は、CodeArtifact を使用するように NuGet.config
ファイルを設定する方法を示しています。
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageRestore> <!-- Allow NuGet to download missing packages --> <add key="enabled" value="True" /> <!-- Automatically check for missing packages during build in Visual Studio --> <add key="automatic" value="True" /> </packageRestore> <packageSources> <add key="MyRepo" value="https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json" /> </packageSources> </configuration>
この例では、 を CodeArtifact リポジトリの実際の URL https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json
に置き換えます。この URL は、CodeArtifact コンソールaws codeartifact get-repository-endpoint
コマンドを実行して確認できます。
重要
-
NuGet.config
ファイルを設定すると、同じディレクトリ構造内のすべてのプロジェクトに影響します。プロジェクトごとに異なるパッケージソースを使用する場合は、プロジェクトまたはソリューションごとに個別のNuGet.config
ファイルを作成します。 -
アプリケーションを構築するインスタンスに、NuGet パッケージリポジトリ (CodeArtifact など) に接続するために必要なアクセス許可とネットワークアクセスがあることを確認します。認証情報の取得の詳細については、CodeArtifact ドキュメントの「nuget または dotnet CLI で CodeArtifact を使用する」を参照してください。
アプリケーションの構築
レガシー ASP.NET Web Forms アプリケーションを に移行する場合 AWS、アプリケーションを構築するための中央ツールとして Microsoft Build Engine (MSBuild) を引き続き使用します。MSBuild は通常 Visual Studio にバンドルされていますが、Visual Studio をインストールしなくても、Microsoft からスタンドアロンの MSBuild 実行可能ファイルをダウンロードして使用できます。このアプローチは、MSBuild がインストールされた Windows AWSインスタンスまたは Docker コンテナを使用できる Web Forms アプリケーションを で構築する場合に特に役立ちます。
ASP.NET Web Forms アプリケーションを構築するには、NuGet パッケージの復元とアプリケーションの構築の 2 つの主要なステップが必要です。これらのステップの実行方法の詳細は、使用する CI/CD ツールによって異なります。たとえば、 を使用する場合 AWS CodeBuild、ビルドプロセスは Docker コンテナ内で実行されます。
NuGet パッケージを復元する
アプリケーションを構築する前に、プロジェクトに必要な NuGet パッケージを復元する必要があります。これを行うには、プロジェクトのルートディレクトリで実行される MSBuild または NuGet コマンドラインインターフェイス (CLI) コマンドを使用します。
MSBuild の使用:
msbuild -t:restore
NuGet CLI の使用:
nuget restore
MSBuild を使用してビルドする
NuGet パッケージを復元したら、デプロイアーティファクトを生成するメインビルドコマンドに進むことができます。コマンドは通常、プロジェクトファイル、ビルド設定 ( などRelease
)、およびビルドされたアーティファクトの出力ディレクトリを指定します。
msbuild <ProjectName>.csproj /p:Configuration=Release /p:OutDir=<OutDir>
MSBuild オプションの詳細については、Microsoft ドキュメントのMSBuild コマンドラインリファレンス
で ASP.NET アプリケーションを構築する方法の詳細については AWS CodeBuild、 AWS ブログ記事「Creating CI/CD pipelines for ASP.NET 4.x with AWS CodePipeline and AWS Elastic Beanstalk
アプリケーションのデプロイ
Web Forms アプリケーションを構築したら、アーティファクトをターゲット環境にデプロイします AWS。ほとんどのシナリオでは、ビルドされたアーティファクトを圧縮して Amazon Simple Storage Service (Amazon S3) バケットにアップロードすることで、簡単に配布およびデプロイできます。手順については、Amazon S3 のドキュメントを参照してください。
アーティファクトを Amazon EC2 インスタンスにデプロイするには、手動と自動の 2 つの主なオプションがあります。
手動デプロイ
このオプションでは、EC2 インスタンスのユーザーデータを使用して、次のタスクを実行するスクリプトを含めます。
-
インターネットインフォメーションサービス (IIS) をインストールする
-
Amazon S3 バケットからビルドアーティファクトをプルして解凍する
-
IIS アプリケーションの作成と設定
このアプローチは柔軟性を提供しますが、手動による介入が必要であり、アプリケーションのスケーリングや頻繁な更新が行われると、管理が困難になる可能性があります。
自動化されたデプロイ
推奨されるアプローチは、自動デプロイと反復可能なデプロイAWS CodeDeploy
CodePipeline、CodeBuild、および CodeDeploy を使用して ASP.NET Web Forms アプリケーションの CI/CD パイプラインを設定する方法の詳細と例については、 AWS ブログ記事「Creating CI/CD pipelines for ASP.NET 4.x with AWS CodePipeline and AWS Elastic Beanstalk
CodeBuild、CodeDeploy、CodePipeline AWS のサービス などの を使用することで、移行された ASP.NET Web Forms アプリケーションのビルドとデプロイプロセスを合理化し、 AWS インフラストラクチャへの一貫性のある信頼性の高いデプロイを確保できます。
自動デプロイの詳細については、 AWS ブログ記事「Generate CI/CD Pipelines for Containerized ASP.NET Applications using AWS App2Container