Amazon Web Services ブログ

Category: Developer Tools

AWS CDK Pipelines と AWS CodeDeploy を使用したブルー/グリーンデプロイ

お客様から Amazon Elastic Container Service (Amazon ECS) に AWS CodeDeploy を使用して ブルーグリーン デプロイを実装するための支援がしばしば求められます。 お客様のユースケースは通常、複数のリージョンおよびアカウント間でのデプロイシナリオが含まれます。 これらの要件だけでも十分に難しいのですが、さらに CodeDeploy を使用する際には特定の設計上の決定が必要となります。 具体的には CodeDeploy の設定方法、CodeDeploy リソース (アプリケーションやデプロイグループなど) の作成時期と方法、アカウントとリージョンの任意の組み合わせにデプロイできるコードの書き方が含まれます。

CDK Watch を活用した開発速度の向上

AWS Cloud Development Kit (CDK) の CLI に導入されている操作モード cdk watch、および cdk deploy のフラグ –hotswap と –no-rollback を紹介します。 cdk watch はコードとアセットの変更を監視し、ファイル変更が検出されるたびに最適な形式のデプロイを自動的に実行することで、開発を効率化できます。これにより、CDK アプリケーションに変更を加えるたびに cdk deploy を実行する必要がなくなります。cdk watch では –hotswap フラグが使用できる変更の場合は使用され、AWS CloudFormation でのフルデプロイを行わずにインプレースで更新されます。AWS Lambda ハンドラーコード、Amazon ECS コンテナイメージ、AWS Step Functions ステートマシンなどの CDK アセットでは、CDK CLI が各 AWS サービスの API を使用して直接更新します。それ以外のアセットでは、CloudFormation のフルデプロイが実行されます。また、–no-rollback フラグを使用することで CloudFormation の更新失敗時にロールバックが行われないようになるため、デプロイ失敗時に再実行するまでの時間を短縮できます。