Rolling Updateのサンプル
CDKでできるだけ小さいrolling updateのサンプル
コードはこちら https://github.com/tky/ecs-fargate-rolling-update/tree/pure_rolling_update
参考サイト
- https://github.com/toku-shun/ecs-fargate-rolling-update-demo
- https://github.com/kimisme9386/lab-ecs-fargate-cd-infra
- https://chariosan.com/2021/04/18/aws_cdk_vpc_endpoint/
- https://dev.classmethod.jp/articles/codepipeline-support-ecs-deploy/
作成
VPC作成
load balancerようにpublic subnetを、container起動用にprivate_isolated subnetをつくります。
private_isolatedなのでデプロイするためにはvpc endpointが必要です。
$ cdk deploy ecs-fargate-rolling-update-vpc-stack
ECR作成
$ cdk deploy ecs-fargate-rolling-update-ecr-stack
ECRにイメージをpush
applicationにサンプルのnginxがあるのでimage作ってpushしましょう。
$ export PROFILE=<YOUR_AWS_PROFILE>
$ ./upload.sh
ECS作成
$ cdk deploy ecs-fargate-rolling-update-ecs-stack
ここまででApplication LoadBalander経由でサンプルページにアクセスできます。
CodeCommit作成
$ cdk deploy ecs-fargate-rolling-update-code-commit-stack
CodeCommit作ったらファイルをapplicationの下にあるファイルをPushします。
ファイル3つしかないのでaws consoleから手動で上げましょう。
Pipeline作成
$ cdk deploy ecs-fargate-rolling-update-pipeline-stack
これでCodeCommitのファイル編集するとPipelineが起動します。