ECS を利用したアプリケーションを構築する上でデプロイ戦略の選択は重要な要素になります. 開発段階では ECS が制御するローリングアップデートを利用して手動デプロイすることはあっても, 本番環境では自動デプロイが好ましいでしょう. 今回はCodePipelineを主軸に自動デプロイできる環境を構築します. デプロイ戦略の概要について 今回はパイプライン内でDocker Imageをビルド, pushを行った後に, ECS ServiceをBlue/Greenデプロイします. またDocker Imageに付与するタグとしてgitのコミットハッシュを利用することでコードとイメージを一意に紐づけることも同様に行います. パイプラインの構築は主にTerraformを利用しますが, 一部AWS CLIを利用します. 今回は検証が目的のため, 本番環境を意識したコード分割などは行っていません.
![CodePipeline を利用した ECS Service の自動リリースをやってみた | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/088885a18b5cefb1e65678213009a097228dedf8/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F05%2Faws-codepipeline.png)