を使用してデプロイ設定を作成する CodeDeploy - AWS CodeDeploy

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

を使用してデプロイ設定を作成する CodeDeploy

で提供されているデフォルトのデプロイ設定のいずれかを使用しない場合は CodeDeploy、次の手順を使用して独自のデプロイ設定を作成できます。

CodeDeploy コンソール、 CodeDeploy APIs AWS CLI、または AWS CloudFormation テンプレートを使用して、カスタムデプロイ設定を作成できます。

AWS CloudFormation テンプレートを使用してデプロイ設定を作成する方法については、「」を参照してくださいAWS CloudFormation リファレンス用の CodeDeploy テンプレート

デプロイ設定の作成 (コンソール)

AWS コンソールを使用してデプロイ設定を作成するには、次の手順を実行します。

コンソール CodeDeploy を使用して でデプロイ設定を作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/codedeploy で CodeDeploy コンソールを開きます。

    注記

    の開始方法 CodeDeploy」で設定したのと同じユーザーでサインインします。

  2. ナビゲーションペインで [デプロイ設定] を選択します。

    組み込みのデプロイ設定のリストが表示されます。

  3. [Create deployment configuration (デプロイ設定の作成)] を選択します。

  4. [デプロイ設定名] に、デプロイ設定の名前を入力します。例えば、「my-deployment-config」と入力します。

  5. [コンピューティングプラットフォーム] で、次のいずれかを選択します。

    • EC2/オンプレミス

    • AWS Lambda

    • Amazon ECS

  6. 次のいずれかを行います。

    • EC2/オンプレミスを選択した場合:

      1. [正常なホストの最小数] で、デプロイ中のどの時点でも使用可能でなければならないインスタンスの数または割合を指定します。がデプロイ中にインスタンスの状態を CodeDeploy モニタリングおよび評価する方法の詳細については、「」を参照してくださいInstance Health

      2. (オプション) ゾーン設定 でゾーン設定を有効にして、 リージョン内で AWS 一度に 1 つのアベイラビリティーゾーンにアプリケーションを CodeDeploy デプロイするように を選択します。一度に 1 つのアベイラビリティーゾーンにデプロイすることで、デプロイのパフォーマンスと実行可能性に対する信頼が高まるにつれて、デプロイを徐々に多くのユーザーに公開できます。ゾーン設定を有効にしない場合、 はリージョン全体でランダムに選択されたホストにアプリケーションを CodeDeploy デプロイします。

        ゾーン設定機能を有効にする場合は、次の点に注意してください。

        • ゾーン設定機能は、Amazon EC2 インスタンスへのインプレースデプロイでのみサポートされます (ブルー/グリーンデプロイやオンプレミスインスタンスはサポートされません)。インプレイスデプロイの詳細については、「デプロイタイプ」を参照してください。

        • ゾーン設定機能は、事前定義済みのデプロイ設定ではサポートされません。ゾーン設定を使用するには、ここで説明しているように、カスタムデプロイ設定を作成する必要があります。

        • CodeDeploy がデプロイをロールバックする必要がある場合、 CodeDeploy はランダムホストに対してロールバックオペレーションを実行します。(CodeDeploy は、予想どおり、一度に 1 つのゾーンをロールバックしません)。このロールバック動作は、パフォーマンス上の理由から選択されています。ロールバックの詳細については、「でデプロイを再デプロイしてロールバックする CodeDeploy」を参照してください。

      3. [ゾーン設定を有効にする] チェックボックスをオンにした場合は、オプションで以下のオプションを指定します。

        • (オプション) Monitor 期間 で、アベイラビリティーゾーンへのデプロイの完了後に待機 CodeDeploy する必要がある期間を秒単位で指定します。 CodeDeploy は次のアベイラビリティーゾーンへのデプロイを開始する前に、この時間だけ待機します。デプロイが 1 つのアベイラビリティーゾーンで完了して次のゾーンに進む前に、一定時間を確保して完了を実証 (ベイク) する場合は、監視期間を追加することを検討します。モニター期間を指定しない場合、 は次のアベイラビリティーゾーンへのデプロイをすぐに CodeDeploy 開始します。[監視期間] 設定の仕組みについては、「アベイラビリティーゾーンあたりの正常なインスタンスの最小数について」を参照してください。

        • (オプション) [最初のゾーンに監視期間を追加] を選択すると、最初のアベイラビリティーゾーンにのみ監視期間が設定されます。このオプションは、1 つ目のアベイラビリティーゾーンのベイク時間を確保する場合に設定できます。「最初のゾーンモニター期間を追加」で値を指定しない場合、 は最初のアベイラビリティーゾーンのモニター期間値 CodeDeploy を使用します。

        • (オプション) [ゾーンあたりの正常なホストの最小数] で、デプロイ中に使用可能でなければならない、アベイラビリティーゾーンあたりのインスタンスの数または割合を指定します。FLEET_PERCENT を選択してパーセンテージを指定するか、HOST_COUNT を選択して数値を指定します。このフィールドは [正常なホストの最小数] フィールドと連動します。詳細については、「アベイラビリティーゾーンあたりの正常なインスタンスの最小数について」を参照してください。

          ゾーン あたりの正常なホストの最小数 で値を指定しない場合、 はデフォルト値の 0パーセント CodeDeploy を使用します。

    • [AWS Lambda] または [Amazon ECS] を選択した場合:

      1. [タイプ]] で、[リニア] または [Canary] を選択します。

      2. [ステップ] フィールドと [間隔] フィールドで、次のいずれかを行います。

        • [Canary] を選択した場合は、[ステップ] に、移行するトラフィックのパーセンテージを 1~99 で入力します。この値は、最初の増分で移行されるトラフィックの割合を示します。残りのトラフィックは、2 回目の増分で、選択した間隔後に移行されます。

          [間隔] に、1 番目と 2 番目のトラフィック移行間の分数を入力します。

        • [リニア] を選択した場合は、[ステップ] に、移行するトラフィックのパーセンタージを 1~99 で入力します。この値は、各間隔の開始時に移行されるトラフィックの割合を示します。

          [間隔] に、各増分移行間の分数を入力します。

  7. [Create deployment configuration (デプロイ設定の作成)] を選択します。

    これで、デプロイグループに関連付けることができるデプロイ設定が整いました。

CodeDeploy (AWS CLI) を使用したデプロイ設定の作成

を使用してデプロイ設定 AWS CLI を作成するには、 create-deployment-config コマンドを呼び出します。

次の例では、ThreeQuartersHealthy という名前の EC2/オンプレミスデプロイ設定を作成します。このデプロイ設定では、デプロイ中にターゲットインスタンスの 75% が常に正常であることが要求されます。

aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75

次の例では、300Total50PerAZ という名前の EC2/オンプレミスデプロイ設定を作成します。このデプロイ設定では、デプロイあたり合計 300 個のターゲットインスタンス、およびアベイラビリティーゾーンあたり 50 個のターゲットインスタンスが常に正常であることが要求されます。また、監視期間を 1 時間に設定します。

aws deploy create-deployment-config --deployment-config-name 300Total50PerAZ --minimum-healthy-hosts type=HOST_COUNT,value=300 --zonal-config '{"monitorDurationInSeconds":3600,"minimumHealthyHostsPerZone":{"type":"HOST_COUNT","value":50}}'

次の例では、 という名前の AWS Lambda デプロイ設定を作成しますCanary25Percent45Minutes。この際、最初の増分でトラフィックの 25 パーセントを移行する Canary トラフィックを使用します。残りの 75 パーセントは 45 分後に移行されます。

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform Lambda

次の例では、Canary25Percent45Minutes という名前の Amazon ECS デプロイ設定を作成します。この際、最初の増分でトラフィックの 25 パーセントを移行する Canary トラフィックを使用します。残りの 75 パーセントは 45 分後に移行されます。

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform ECS