7
5

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 FargateでサポートされてるBlue/Greenデプロイを設定します。
CloudFormationで全て設定したいのですが、対応中のステータス(2020/1/12現在)なので、CloudFomationとマネジメントコンソールで実施します。
https://github.com/aws/containers-roadmap/issues/130

※以下の手順を実行すると、AWSのサービス利用料が発生します。
VPCSubnetSecurity GroupなどのNetWork周りの設定は完了しているものとします。
※Blue/Greenデプロイについては、以下参照

Blue-Green Deploymentにおける注意点
ALBでEC2を利用しBlue Green Deployを試してみる

Fargateスタック作成(※Service以外)

CloudFormationで作成します。
以下のファイルをAWS CLIかマネジメントコンソールで以下の2点を確認の上、実行してください。

1.Application Load Balancer用のSubnetを2つ以上選択すること
2. セキュリティグループはWeb閲覧可能なセキュリティグループを選択すること

cfn.jpg

Service作成(Blue/Greenデプロイ設定)

マネジメントコンソールで以下手順で作成します。

1. クラスター画面からサービスを新規作成します。
step1.png
2. Fargateを選択し、Blue/Greenデプロイを選択します。

CodeDeployのサービスロールはCloudFormationで作成済のものを選択します。

step2.jpg

3-1. NetWork設定をします
  • サービスのセキュリティグループは、Application Load Balancerからヘルスチェックが到達するものを選択(InBoundの172.16.0.0/16許可など)
  • 本番ワークロードでは3つ以上のSubnetの指定を推奨(以下参照)

step3_1.jpg

3-2.ロードバランサー設定

CloudFormationで作成済のものを選択し、「ロードバランサーに追加」ボタンを押下する。

step3_2.png
3-4.ポート設定

サンプルアプリケーションは、Webアプリなので、80と8080などを設定する。

step3_3.png
3-5.ターゲットグループ設定

サンプルアプリケーションはドキュメントルートでヘルスチェック可能であるため、デフォルトのまま進む。

step3_4.png
4-1.オートスケール設定(Step1)

CloudFormationで作成済のロールを選択する。

step4_1.png
4-2.オートスケール設定(Step2)

ターゲット追跡ではなく、旧来から存在するステップスケーリングで設定する。アラームはCloudFormationで作成済のアラームをそれぞれ選択する。

step4_2.png

以上を設定し、サービスの作成を実施すると、Service(Blue/Greenデプロイ設定)が作成される。

サービス稼働確認

ELBのEndpointをブラウザで開くと、Vueのサンプルアプリケーションが表示される。

スクリーンショット 2020-01-12 13.27.50.png

CodeDeployでデプロイ設定編集

「トラフィックの再ルーティング」および「元のリビジョンの終了」について、ワークロードに応じて修正する。

以下は、元のリビジョンの終了時間を「なし」に設定変更した例(開発ワークロードを想定)

deploy.png

最後に

CloudFormation対応待ち遠しい。。。。

7
5
2

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
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?