0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Blue/Greenデプロイの動作について

Posted at

この記事について

CodeDeployを利用すると、ECSへのデプロイでBlue/Greenを簡単に実現できます。
どのような動きをして、実現できているのかを確認したので、記録しておきます。

Blue/Greenの設定などの解説は行いません。

Blue/Greenデプロイについて

すでにご存知かもしれませんが、一応。
Blue/Greenデプロイとは、デプロイ手法の一つで、本番環境(Blue)に対し、検証環境(Green)を別途立ち上げて、その検証環境をそのまま本番環境として利用することで、デプロイ時のダウンタイムを低減させることを目的としています。

本番環境及び、検証環境の切り替えは、ルーティングを変更することで行う。

全体像について

今回の内容は、下図だけでわかると思います。

無題のプレゼンテーション (2).jpg

動きを確認していきます。

検証環境は、ECSのFarget環境へのデプロイになります。

  • group1 → xxx-fargate
  • group2 → xxx-fargate-2

とします。

①初期状態

ロードバランサーは、443/8080どちらもxxx-fargateへルーティングします。
スクリーンショット 2020-06-04 10.11.32.png

②デプロイの開始

スクリーンショット 2020-06-04 10.14.20.png
  • ロードバランサーの状態

変更はありません

スクリーンショット 2020-06-04 10.11.32.png

③ビルド完了、8080をGreen環境へルーティング

スクリーンショット 2020-06-04 10.18.49.png
  • ロードバランサーの状態

8080が、xxx-fargate-2へルーティングされるように変更されています。

スクリーンショット 2020-06-04 10.18.58.png
  • fargateタスクの状態

タスクはBlue(本番)と、Green(検証)の2つ実行されています。

スクリーンショット 2020-06-04 10.19.21.png

④置き換え&タスクの削除

スクリーンショット 2020-06-04 10.19.57.png
  • ロードバランサーの状態

443がxxx-fargate-2へルーティングされるようになります。

スクリーンショット 2020-06-04 10.20.35.png

CodeDeployのコンソールで元のタスクセットを終了をクリックすると、もとのタスクが削除されます。

スクリーンショット 2020-06-04 10.20.17.png
  • fargateタスクの状態

もとのタスクが削除されています。

スクリーンショット 2020-06-04 10.20.46.png
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?