AWSのデプロイのいろいろな手法
ローリングアップデート
とBlue/Greenデプロイ
が有名
ローリングアップデートのやり方
古い方のコンテナと新しい方のコンテナを1つずつ入れ替えていく手法のことである。
ローリングアップデートのメリット
・稼働しているコンテナをすべて一括で削除しないためダウンタイムが発生しない。
・問題が発生しても元の状態に戻すことが容易な点。
ローリングアップデートのデメリット
・ロールバックが複雑になることがある。
Blue/Greenデプロイとは
新しいコンテナと古いコンテナを並行して稼働させる手法である。
古いコンテナへの通信を徐々に新しいコンテナの方の通信に切り替えていく。
Blue/Greenデプロイの図
Blue/Greenデプロイのやり方
①新しいコンテナをすべて一気に作成して稼働させる。
②新しいコンテナが正常に稼働するかを確認する。
③新しいアプリのコンテナにユーザからの通信を切り替える。
④古いコンテナを削除する
Blue/Greenデプロイのメリット
・ダウンタイムを最小限に抑えることができる
・新しいコンテナ(Green)に問題が発生しても古いコンテナ(Blue)に戻すことが容易。(ロールバックが簡単)
・Green環境で事前に動作確認やテストを実施できる。
Blue/Greenデプロイのデメリット
・GreenのコンテナとBlueのコンテナを同時に稼働させるためコストが2倍かかる。
・管理・運用が複雑。
Load Balancerとは
Load Balancerはユーザーからの通信を複数のインスタンスやコンテナに分散させる仕組みのこと。
Listenerとは
特定のポートで通信を待ち受け、ルールに基づいて適切なターゲットグループへルーティングするシステムのこと。
Target Groupとは
ターゲットグループは、ロードバランサーからのトラフィックを受け取り、特定のEC2インスタンスやECSのコンテナ、Lambdaなどのターゲットに転送する仕組み。
セキュリティグループとは
AWSでインスタンスやサービスの通信を制御する仮想ファイアウォールのこと。