CodeDeploy でデプロイ設定を使用する - AWS CodeDeploy

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CodeDeploy でデプロイ設定を使用する

デプロイ設定とは、デプロイ中に CodeDeploy が使用する一連のルール、成功条件、および失敗条件です。これらのルールと条件は、EC2/オンプレミスコンピューティングプラットフォームにデプロイするかどうかによって異なります。AWSLambda コンピューティングプラットフォーム、または Amazon ECS コンピューティングプラットフォーム。

EC2/オンプレミスコンピューティングプラットフォームのデプロイ設定

EC2/オンプレミスコンピューティングプラットフォームにデプロイする場合、デプロイ設定により、最小限の正常なホストの値の使用を通じて、デプロイ中の任意の時点で利用できる必要があるインスタンスの数または割合 (%) を指定します。

AWS により提供される 3 つの定義済みのデプロイ設定の一つを使用するか、またはカスタムデプロイ設定を作成できます。カスタムデプロイ設定の作成の詳細については、「」を参照してください。Create a Deployment Configuration。デプロイ設定に指定しない場合、CodeDeploy は、CodeDeployDefault.OneAtATime デプロイ設定を使用します。

CodeDeploy がデプロイ時にインスタンスのヘルス状態をモニタリングおよび評価する方法の詳細については、「」を参照してください。Instance Health。AWS アカウントに登録済みのデプロイ設定の一覧を表示するには、「View Deployment Configuration Details」を参照してください。

EC2/オンプレミスコンピューティングプラットフォームの事前定義されたデプロイ設定

次の表は、定義済みのデプロイ設定を一覧表示します。

デプロイ設定 説明
CodeDeployDefault.AllAtOnce

インプレースデプロイ:

一度に可能な限り多くのインスタンスへアプリケーションリビジョンをデプロイするよう試みます。アプリケーションリビジョンが 1 つ以上のインスタンスにデプロイされる場合、デプロイ全体のステータスは Succeeded として表示されます。アプリケーションリビジョンがいずれのインスタンスにもデプロイされない場合、デプロイ全体のステータスは Failed として表示されます。9 つのインスタンスの例を使い、CodeDeployDefault.AllAtOnce は、一度に 9 つのインスタンスすべてにデプロイするよう試みます。インスタンスへのデプロイが 1 つでも成功すると、デプロイ全体は成功します。9 つすべてのインスタンスへのデプロイが失敗した場合に限り失敗します。

Blue/Green デプロイ

  • 代替環境への展開: インプレースデプロイの CodeDeployDefault.AllAtOnce と同じデプロイルールに従います。

  • トラフィックルーティング: 置き換え先環境のすべてのインスタンスに一度にトラフィックをルーティングします。トラフィックが少なくとも 1 つのインスタンスに正常に再ルーティングされた場合が成功です。すべてのインスタンスへの再ルーティングが失敗した時点で失敗です。

CodeDeployDefault.HalfAtATime

インプレースデプロイ:

一度に最大半分のインスタンスにデプロイします (端数は切り捨てられます)。デプロイ全体は、アプリケーションリビジョンが少なくとも半分のインスタンスにデプロイされた場合は成功です (端数は切り捨てられます)。それ以外の場合、デプロイは失敗です。9 つのインスタンスの例では、4 つまでのインスタンスに同時にデプロイされます。デプロイ全体は 5 つ以上のインスタンスへのデプロイが成功した場合は成功です。それ以外の場合、デプロイは失敗です。

Blue/Green デプロイ

  • 代替環境への展開: インプレースデプロイの CodeDeployDefault.HalfAtATime と同じデプロイルールに従います。

  • トラフィックルーティング: 置き換え先環境で一度に最大半分のインスタンスにトラフィックをルーティングします。少なくとも半分のインスタンスへの再ルーティングが成功した場合が成功です。それ以外の場合、 は失敗します。

CodeDeployDefault.OneAtATime

インプレースデプロイ:

一度に 1 つのインスタンスにのみアプリケーションリビジョンをデプロイします。

複数のインスタンスを含むデプロイグループの場合。

  • デプロイ全体はアプリケーションリビジョンがすべてのインスタンスへデプロイされた場合、成功します。このルールの例外は、最後のインスタンスへのデプロイが失敗した場合に、デプロイ全体が成功することです。これは、CodeDeploy が一度に 1 つのインスタンスのみ CodeDeployDefault.OneAtATime 設定でオフラインにするためです。

  • デプロイ全体はアプリケーションリビジョンが最後のインスタンス以外へのデプロイに失敗すると、ただちに失敗します。

  • 9 つのインスタンスを使用する例では、1 つのインスタンスに同時にデプロイされます。最初の 8 つのインスタンスへのデプロイが成功すると、デプロイ全体は成功します。最初の 8 つのインスタンスのいずれかへのデプロイが失敗すると、デプロイ全体は失敗します。

1 つのインスタンスのみを含むデプロイグループでは、1 つのインスタンスへのデプロイが成功した場合にのみ、デプロイは全体は成功します。

Blue/Green デプロイ

  • 代替環境への展開: インプレースデプロイの CodeDeployDefault.OneAtATime と同じデプロイルールに従います。

  • トラフィックルーティング: 置き換え先環境で一度に 1 つのインスタンスにトラフィックをルーティングします。トラフィックがすべての置き換え先インスタンスに正常に再ルーティングされた場合が成功です。最初に再ルーティングが失敗した時点で失敗です。このルールの例外は、最後のインスタンスが登録に失敗しても、デプロイ全体が成功することです。

Amazon ECS コンピューティングプラットフォームのデプロイ設定

Amazon ECS コンピューティングプラットフォームにデプロイする場合、デプロイ設定により、更新された Amazon ECS タスクセットにトラフィックが移行される方法が指定されます。を使用して、トラフィックをシフトできます。Canary,線形, またはオールインワンデプロイ設定。詳細については、「デプロイ設定」を参照してください。

独自の Canary または線形のデプロイ設定を作成することもできます。詳細については、「Create a Deployment Configuration」を参照してください。

Amazon ECS コンピューティングプラットフォーム用の事前定義されたデプロイ設定

次の表に、Amazon ECS デプロイで利用できる事前定義された設定を一覧表示します。

デプロイ設定 説明

CodeDeployDefault.ECSLinear10PercentEvery1Minutes

すべてのトラフィックが移行されるまで、毎分トラフィックの 10 パーセントを移行します。

CodeDeployDefault.ECSLinear10PercentEvery3Minutes

すべてのトラフィックが移行されるまで、3 分ごとにトラフィックの 10 パーセントを移行します。

CodeDeployDefault.ECSCanary10Percent5Minutes

最初の増分でトラフィックの 10 パーセントを移行します。残りの 90 パーセントは 5 分後にデプロイされます。

CodeDeployDefault.ECSCanary10Percent15Minutes

最初の増分でトラフィックの 10 パーセントを移行します。残りの 90 パーセントは 15 分後にデプロイされます。

CodeDeployDefault.ECSAllAtOnce

すべてのトラフィックは、更新された Amazon ECS コンテナに一度に移行します。

のデプロイ設定AWS CloudFormationブルー/グリーンデプロイ (Amazon ECS)

を使用して Amazon ECS コンピューティングプラットフォームにデプロイする場合AWS CloudFormationBlue/Green デプロイの場合、デプロイ設定により、更新された Amazon ECS コンテナへのトラフィックのシフト方法が指定されます。を使用して、トラフィックをシフトできます。Canary,線形, またはオールインワンデプロイ設定。詳細については、「デプロイ設定」を参照してください。

とAWS CloudFormationBlue/Green デプロイの場合、独自の Canary または線形のデプロイ設定を作成することはできません。使用手順については、AWS CloudFormationAmazon ECS Blue/Green デプロイを管理するには、「」を参照してください。を使用して CodeDeploy による ECS ブルー/グリーンデプロイを自動化します。AWS CloudFormationAWS CloudFormationユーザーガイド

注記

を使用した Amazon ECS Blue/Green デプロイの管理AWS CloudFormationは、欧州 (ミラノ)、アフリカ (ケープタウン)、アジアパシフィック (大阪) の各リージョンではご利用いただけません。

でのデプロイ設定AWS Lambdaコンピューティングプラットフォーム

にデプロイする場合AWSデプロイ設定により、アプリケーションで新しい Lambda 関数のバージョンにトラフィックが移行される方法が指定されます。を使用して、トラフィックをシフトできます。Canary,線形, またはオールインワンデプロイ設定。詳細については、「デプロイ設定」を参照してください。

独自の Canary または線形のデプロイ設定を作成することもできます。詳細については、「Create a Deployment Configuration」を参照してください。

の事前定義されたデプロイ構成AWS Lambdaコンピューティングプラットフォーム

以下の表に、AWS Lambda のデプロイで利用できる事前定義された設定を一覧表示します。

デプロイ設定 説明

CodeDeployDefault.LambdaCanary10Percent5Minutes

最初の増分でトラフィックの 10 パーセントを移行します。残りの 90 パーセントは 5 分後にデプロイされます。

CodeDeployDefault.LambdaCanary10Percent10Minutes

最初の増分でトラフィックの 10 パーセントを移行します。残りの 90 パーセントは 10 分後にデプロイされます。

CodeDeployDefault.LambdaCanary10Percent15Minutes

最初の増分でトラフィックの 10 パーセントを移行します。残りの 90 パーセントは 15 分後にデプロイされます。

CodeDeployDefault.LambdaCanary10Percent30Minutes

最初の増分でトラフィックの 10 パーセントを移行します。残りの 90 パーセントは 30 分後にデプロイされます。

CodeDeployDefault.LambdaLinear10PercentEvery1Minute

すべてのトラフィックが移行されるまで、毎分トラフィックの 10 パーセントを移行します。

CodeDeployDefault.LambdaLinear10PercentEvery2Minutes

すべてのトラフィックが移行されるまで、2 分ごとにトラフィックの 10 パーセントを移行します。

CodeDeployDefault.LambdaLinear10PercentEvery3Minutes

すべてのトラフィックが移行されるまで、3 分ごとにトラフィックの 10 パーセントを移行します。

CodeDeployDefault.LambdaLinear10PercentEvery10Minutes すべてのトラフィックが移行されるまで、10 分ごとにトラフィックの 10 パーセントを移行します。
CodeDeployDefault.LambdaAllAtOnce

すべてのトラフィックは、更新された Lambda 関数に一度に移行します。

トピック