

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

# CodeDeploy を使用してデプロイ設定を作成する
<a name="deployment-configurations-create"></a>

CodeDeploy に用意してあるデフォルトのデプロイ設定のいずれも使用しない場合は、次の手順を実行して独自のデプロイ設定を作成できます。

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

 CloudFormation テンプレートを使用してデプロイ設定を作成する方法については、「」を参照してください[CloudFormation CodeDeploy リファレンスの テンプレート](reference-cloudformation-templates.md)。

**Topics**
+ [デプロイ設定の作成 (コンソール)](#deployment-configurations-create-console)
+ [CodeDeploy を使用してデプロイ設定を作成する (AWS CLI)](#deployment-configurations-create-cli)

## デプロイ設定の作成 (コンソール)
<a name="deployment-configurations-create-console"></a>

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

**コンソールを使用して CodeDeploy でデプロイ設定を作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

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

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

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

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

1. **[コンピューティングプラットフォーム]** で、次のいずれかを選択します。
   + **EC2/オンプレミス**
   + **AWS Lambda**
   + **Amazon ECS**

1. 次のいずれかを行います。
   + **EC2/オンプレミスを選択した場合**:

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

     1. (オプション) **[ゾーン設定]** で、**[ゾーン設定を有効にする]** を選択すると、CodeDeploy は AWS リージョン内で一度に 1 つの[アベイラビリティーゾーン](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones)にアプリケーションをデプロイします。一度に 1 つのアベイラビリティーゾーンにデプロイすることで、デプロイのパフォーマンスと実行可能性に対する信頼が高まるにつれて、デプロイを徐々に多くのユーザーに公開できます。ゾーン設定を有効にしない場合、CodeDeploy はリージョン内のランダムに選択されたホストにアプリケーションをデプロイします。

        ゾーン設定機能を有効にする場合は、次の点に注意してください。
        + ゾーン設定機能は、Amazon EC2 インスタンスへのインプレースデプロイでのみサポートされます (ブルー/グリーンデプロイやオンプレミスインスタンスはサポートされません)。インプレイスデプロイの詳細については、「[デプロイタイプ](primary-components.md#primary-components-deployment-type)」を参照してください。
        + ゾーン設定機能は、[事前定義済みのデプロイ設定](deployment-configurations.md#deployment-configurations-predefined)ではサポートされません。ゾーン設定を使用するには、ここで説明しているように、カスタムデプロイ設定を作成する必要があります。
        + CodeDeploy は、デプロイをロールバックする必要がある場合、ランダムなホストにロールバック操作を実行します (CodeDeploy は、想定とは異なり、一度に 1 つのゾーンを順にロールバックしません)。このロールバック動作は、パフォーマンス上の理由から選択されています。ロールバックの詳細については、「[CodeDeploy を使用した再デプロイおよびデプロイのロールバック](deployments-rollback-and-redeploy.md)」を参照してください。

     1. **[ゾーン設定を有効にする]** チェックボックスをオンにした場合は、オプションで以下のオプションを指定します。
        + (オプション) **[監視期間]** で、CodeDeploy が 1 つのアベイラビリティーゾーンへのデプロイを完了してから待機する時間を秒単位で指定します。CodeDeploy は、次のアベイラビリティーゾーンへのデプロイを開始する前に、この時間だけ待機します。デプロイが 1 つのアベイラビリティーゾーンで完了して次のゾーンに進む前に、一定時間を確保して完了を実証 (ベイク) する場合は、監視期間を追加することを検討します。監視期間を指定しない場合、CodeDeploy は次のアベイラビリティーゾーンへのデプロイをすぐに開始します。**[監視期間]** 設定の仕組みについては、「[アベイラビリティーゾーンあたりの正常なインスタンスの最小数について](instances-health.md#minimum-healthy-hosts-az)」を参照してください。
        + (オプション) **[最初のゾーンに監視期間を追加]** を選択すると、最初のアベイラビリティーゾーンにのみ監視期間が設定されます。このオプションは、1 つ目のアベイラビリティーゾーンのベイク時間を確保する場合に設定できます。**[最初のゾーンの監視期間を追加]** に値を指定しない場合、CodeDeploy は最初のアベイラビリティーゾーンの **[監視期間]** の値を使用します。
        + (オプション) **[ゾーンあたりの正常なホストの最小数]** で、デプロイ中に使用可能でなければならない、アベイラビリティーゾーンあたりのインスタンスの数または割合を指定します。**FLEET\$1PERCENT** を選択してパーセンテージを指定するか、**HOST\$1COUNT** を選択して数値を指定します。このフィールドは **[正常なホストの最小数]** フィールドと連動します。詳細については、「[アベイラビリティーゾーンあたりの正常なインスタンスの最小数について](instances-health.md#minimum-healthy-hosts-az)」を参照してください。

          **[ゾーンあたりの正常なホストの最小数]** に値を指定しない場合、CodeDeploy はデフォルト値の `0` パーセントを使用します。
   + **[AWS Lambda]** または **[Amazon ECS]** を選択した場合:

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

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

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

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

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

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

## CodeDeploy を使用してデプロイ設定を作成する (AWS CLI)
<a name="deployment-configurations-create-cli"></a>

を使用してデプロイ設定 AWS CLI を作成するには、[create-deployment-config](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-config.html) コマンドを呼び出します。



次の例では、`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
```