2018B!こんにちは。koarakkoです。re:invent期間中にリリースしたサービスを紹介しております。Deploymentが標準対応しました。Deploymentの記事を書かせていただきました。Deploymentのサンプルの挙動を解説しますこの時は、Blue/Greenの切り替えをLambdaを利用して実現しておりましたが、Lambdaでの実装が不要になりました。Deploymentに関する概要は前回のブログで記載したので、割愛します。構成図ユースケースnginxなどのWebアプリケーションやAPIサーバなど、外から通信を受ける処理をするアプリケーションだと、すごく相性が良いと思います。逆にマイクロサービスで、ひたすらバッチ処理を行うWokerのような振る舞いをするアプリケーションだと、切り替えのタイミングをアプリケーション側で調整する必要があるかと思います。groupを切り替えて行います。CLBは対応しておらずALBかNLBで対応していますので、今回はALBで検証をしたいと思います。リスナーポートは、80と8080の2つを準備しておきます。ALB作成時にターゲットグループを作成する必要があるので、こちらは、以下のように設定します。Deploymentに利用するIAMロールを、以下の公式ドキュメントを参考に作成します。Deploymentを選択し、上記で作成したIAMロールを指定します。ここでリスナーポートの紐づけをします。Greenといった解釈になります。CodeDeployにALBのターゲットグループを設定します。Deploymentをしてみたいと思います。現状はBlueの画面になっています。デプロイを行うと、CodeDeployによる切り替えの処理が行われます。デフォルトではBlue/Greenの切り替えはでFargateのサービスが更新されると、即切り替えが行われます。一定の時間経過すると、旧環境の退役処理を行います(下の図では1時間経過すると退役処理が行われます)切り替え完了すると、新しい環境にアクセスできるようになります。ロールバック機能で簡単に切り戻し新しい環境に切り替えを行ったあと、アプリケーション側で問題が判明し、すぐに旧環境に戻さなくてはならないという場合も切り戻しができます。CodeDeployのデプロイを停止してロールバックを選択することで、旧環境にロールバックされます。ロールバック後に確認してみると、旧環境に切り戻しされていることが確認できます。Deploymentが対応し、アプリケーションで問題があった際に、直ちに旧環境に戻すことが可能になりました。この機能でアプリケーションデプロイの負担を少しでも軽減できれば良いと思います。ビットバンク株式会社の開発技術等を発信していきます。Reserved.expand_less。