4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Japan AWS Jr. ChampionsAdvent Calendar 2024

Day 8

【CodeDeploy】デプロイステータスとライフサイクルの関係性についてまとめてみた

Posted at

Japan AWS Jr. Champions Advent Calendar 2024 8日目の記事です。

はじめに

みなさんはCodeDeployを利用しているでしょうか?
CodeDeploy は、「Amazon EC2 インスタンス、オンプレミスインスタンス、サーバーレス Lambda 関数、または Amazon ECS サービスへのアプリケーションのデプロイを自動化するデプロイサービスです」。
私はCodeDeployのLambdaフックという機能を使って、デプロイ時にLambda処理を追加することを行ったときに悩んだデプロイステータスとライフサイクルの関係性について記載します。

前提

・CodeDeployを使ってECSへのデプロイを行う
・CodePipelineのデプロイステージでCodeDeployを利用する(ソースステージはCodeCommit、ビルドステージはCodeBuild)

内容

「はじめに」にも記載しましたが、CodeDeployのデプロイステータスとライフサイクルの関係性がわかりませんでした。デプロイステータスはマネジメントコンソール上に表示され、ステップ1~4があります。

【デプロイステータス】

  • ステップ1:置き換えタスクセットのデプロイ
  • ステップ2:本稼働トラフィックを置き換えタスクセットに再ルーティング中
  • ステップ3:ロールバックの待機
  • ステップ4:元のタスクセットの終了

ライフサイクルイベントはAWSのサイトにも記載されている通り、以下の通りです。
【ライフサイクルイベント】
(start)→BeforeInstall→(install)→AfterInstall→(AllowTestTraffic)→AfterAllowTestTraffic→BeforeAllowTraffic→(AllowTraffic)→AfterAllowTraffic

あまり調べてもこれといったサイトが出てこなく、これらの関係性について調べたり、問い合わせたりした結果、以下のことが分かりました。
結論、ステップ1とInstall、ステップ2とAllowTrafficが同じ意味だそうです。

(start)→BeforeInstall→(install)/ステップ1→AfterInstall→(AllowTestTraffic)/ステップ2→AfterAllowTestTraffic→BeforeAllowTraffic→(AllowTraffic)→AfterAllowTraffic→ステップ3→ステップ4

まとめ

CodeDeployのデプロイステータスとライフサイクルイベントの関係性について参考になったでしょうか。
ステップ1とInstall、ステップ2とAllowTrafficが同じ意味と理解していただければと思います。
少しでも参考になったら幸いです。
※マネコンの表示がなく、申し訳ございません。後ほど追加いたします。

参考サイト

4
0
0

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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?