ブルーグリーンデプロイメントのルーティング切り替え時の挙動について

知りたいこと

・ブルーグリーンデプロイメントでグリーン環境へルーティングを切り替える時に
一時的にブルー環境・グリーン環境両方にアクセスできてしまう。

・この事象はブルーグリーンデプロイメントをする上で一般的な問題なのでしょうか?

・この事象を防ぐことはできる方法はあるのでしょうか?

前提

AWSの
・EC2起動テンプレート
・アプリケーションロードバランサー ≒ (ALB)
・オートスケーリンググループ ≒ (ASG)
・CodeCommit
・CodeDeploy
・CodePipeline
を使用して

CodeCommitのmainブランチにコミットすると、CodePipelineによってCodeDeployが動作し
新しいASG(グリーン環境)が作成され、ASG内に
CodeDeploy AgentがインストールされたEC2インスタンスが作成・最新のソースコードがデプロイされるようなインフラを作成しました。

CodeDeployのデプロイ方法にはブルーグリーンデプロイメントを選択しており
グリーン環境は既存のASG(ブルー環境)のコピーにより作成され、ALBがグリーン環境側にルーティングすることでブルーグリーンデプロイメントを実現していると理解しています。

このようなデプロイ環境で

  1. グリーン環境が作成された
  2. グリーン環境のインスタンスにアプリケーション等がインストールされた

あと、ブルー環境からグリーン環境に再ルーティング中にALBのDNSにアクセスすると
index.htmlで
・Hello World Blue(ブルー環境)
・Hello World Green(グリーン環境)
が交互に表示されてしまう時間が数分発生してしまいます。

これはブルーグリーンデプロイメントを採用すると、一般的に起きてしまうことなのでしょうか?
私が設定を間違えているのか、一般的な問題なのかを知りたいです。

よろしくお願いします。

コメントを投稿

0 コメント