なぜこの記事を書いたのか?
- AWS-SAP の問題文に、「1日5回のコードリリースは可能。本番環境とテスト環境のVPC を交換できる」と書かれていて、実装に興味を持ちました
前提条件
- AWS のブルー/グリーンデプロイで実現可能
AWS のブルー/グリーンデプロイ
AWS CodePipeline を使用した AWS Elastic Beanstalk 環境へのデプロイ
概要
- AWS CodePipeline を使用してElastic Beanstalk 環境へデプロイする過程で、本番環境をブルーとし、同一環境をグリーンとして一時的に構築し、 ブルーとグリーンのURL を交換することで、ブルーに対して安全にデプロイしサービスを継続したままデプロイを完了します
- デプロイとテストが完了すればブルーとグリーンのURL を元に戻し、グリーンの環境を終了させます
AWS のブルー/グリーンデプロイを使う利点
- 利用者はアプリケーションコードのテストとデプロイパイプラインの作成を担当し、デプロイに集中できる
- 任意のタイミングでブルーとグリーンのURL を交換できる
- ロールバックが迅速に行える
- グリーンの環境構築と終了をAWS に分担できる
アーキテクトのカギ
- 本番環境の複製を作るのに、Elastic Beanstalk で一気に構築するので、デプロイ中のアプリケーション継続とロールバックを簡単にしているのがすごい