Global Accelerator を利用してBlue/GreenなELB交換を実施してみた

AWSチームのすずきです。

2台のELB(ALB)を利用して Blue / Green 方式のデプロイを実施している環境で、 AWS Global Accelerator によるELB交換を行う機会がありましたので、紹介させていただきます。

構成図

準備

Global Accelerator の エンドポイント として、新しい環境(Green)用のELBを追加しました。

重み付け(Weight)指定、新しい環境(Green)は「0」とする事でスタンバイ相当。従来環境(Blue)のエンドポイントが異常時のみ利用される設定としています。

切替

エンドポイントの重み付け(Weight)を変更し、ELBの交換を実施しました。

  • 新しい環境(Green) : 0 → 255
  • 従来環境(Blue): 255 → 0

確認

ELBのCloudWatchメトリックで、切替が確認できました。

まとめ

ELBを交換する Blue / Green デプロイは、Route53 などDNS設定変更でも実現可能ですが、 クライアントが ELB のIPアドレス変更に追従できる事が必要でした。

Blue-Green Deploymentにおける注意点

AWS Global Accelerator を利用する事で、公開IPアドレスの変更なくELB(ALB)の交換が可能になります。

また、DNSが別AWSアカウントやオンプレミスで管理されているため柔軟な変更が困難といった場合、 AWS Global Accelerator をお試しください。