リファレンスデプロイ

AWS での .NET Core CI/CD

自動化された .NET Core アプリケーションパイプラインをデプロイする

このソリューションでは、Amazon Web Services (AWS) クラウドで自動化された継続的統合および継続的デリバリー (CI/CD) 環境を提供します。これは、.NET Core アプリケーションの CI/CD パイプラインを実装しようとしているデベロッパーを対象としています。

.NET Core CI/CD 環境は、AWS CodePipeline、AWS CodeBuild、および AWS CodeDeploy を使用してアプリケーション更新を管理します。CI/CD パイプラインは、GitHub リポジトリに対して更新がないかポーリングします。設定されているリポジトリブランチ内でコードが変更されるたびに、パイプラインは最新のソースコードを取得し、自動的にアプリケーションをビルドします。その後、Amazon Linux 2 を実行している AWS Elastic Beanstalk 環境にアプリケーションをデプロイします。

このスケーラブルなデプロイにより、機能および更新を迅速かつ確実に配信できます。管理するビルドサーバーはなく、使用量に応じて料金を支払います。

このソリューションは AWS によって開発されました。

  •  構築するもの
  • このソリューションでは次を設定します。

    • アーティファクトを保持するための Amazon Simple Storage Service (Amazon S3) バケット。
    • アプリケーションの最新ビルドパッケージがデプロイされたときにターゲットとして機能する Elastic Beanstalk 環境。
    • ソース、ビルド、およびデプロイの各ステージを備えた CI/CD パイプライン。

    ソースステージでは、設定されている GitHub リポジトリブランチでコードが変更されるたびに、CodePipeline が呼び出されます。このステージでは GitHub が設定され、ウェブフックを介してアプリケーションのソースコードが統合されます。その後、最新の GitHub コードが取得され、S3 バケットのソースアーティファクトディレクトリ内に配置されます。

    ビルドステージでは CodeBuild が呼び出され、S3 バケットからソースコードが取得されます。CodeBuild で提供される .NET Core 用の Amazon Linux 2 Docker イメージにより、関連 BuildSpec.yml ファイルに指定されているステップを使用して、最新のソースコードがコンパイルされます。結果として得られるビルドパッケージは、S3 バケットのビルドアーティファクトディレクトリに配置されます。

    デプロイステージでは CodeDeploy が呼び出され、S3 バケットからビルドパッケージが取得され、Elastic Beanstalk 環境にデプロイされます。

  •  デプロイ方法
  • .NET Core CI/CD をデプロイするには、デプロイガイドの指示に従います。デプロイプロセスには約 10 分かかり、次のステップが含まれます。

    1. AWS アカウントをお持ちでない場合は、https://aws.amazon.com でサインアップし、アカウントにサインインしてください。
    2. ソリューションを起動します。
    3. CI/CD パイプラインを開始して、デプロイをテストします。ソリューションに含まれているサンプルアプリケーションを使用できます。

    Amazon は、本ソリューションで AWS と協力した AWS パートナーとユーザーデプロイ情報を共有する場合があります。  

  •  コストとライセンス
  • このソリューションにはライセンス要件はありません。

    このソリューションの実行中に使用した AWS のサービスおよびサードパーティーライセンスのコストは、お客様のご負担となります。このソリューションを使用しても追加コストは発生しません。

    このソリューションには、カスタマイズ可能な設定パラメータが含まれています。インスタンスタイプなどの設定の一部は、デプロイにかかるコストに影響します。料金の見積もりについては、利用する AWS の各サービスの料金ページを参照してください。料金は変更される場合があります。

    ヒント: ソリューションをデプロイした後、 AWS Cost and Usage Report を作成し、関連するコストを追跡します。これらのレポートは、お客様のアカウントでの Amazon Simple Storage Service (Amazon S3) バケットへの請求メトリクスを提供します。毎月の使用量に基づいてコストを見積もり、月末のデータを集計します。詳細については、 AWS Cost and Usage Report とはを参照してください。