

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

# CodeDeploy でデプロイを作成する
<a name="deployments-create"></a>

CodeDeploy コンソール、 AWS CLI、または CodeDeploy APIs を使用して、既に Amazon S3 にプッシュしたアプリケーションリビジョンをインストールするデプロイを作成できます。デプロイが EC2/オンプレミスコンピューティングプラットフォームの場合は、デプロイグループのインスタンスに GitHub をインストールします。

デプロイを作成するプロセスは、デプロイで使用されるコンピューティングプラットフォームによって異なります。

**Topics**
+ [デプロイの前提条件](deployments-create-prerequisites.md)
+ [Amazon ECS コンピューティングプラットフォームのデプロイの作成 (コンソール)](deployments-create-console-ecs.md)
+ [AWS Lambda コンピューティングプラットフォームのデプロイを作成する (コンソール)](deployments-create-console-lambda.md)
+ [EC2/オンプレミスコンピューティングプラットフォームのデプロイ作成 (コンソール)](deployments-create-console.md)
+ [Amazon ECS コンピューティングプラットフォームのデプロイの作成 (CLI)](deployments-create-ecs-cli.md)
+ [AWS Lambda コンピューティングプラットフォームのデプロイを作成する (CLI)](deployments-create-lambda-cli.md)
+ [EC2/ オンプレミスコンピューティングプラットフォームのデプロイ作成 (CLI)](deployments-create-cli.md)
+ [を使用して Amazon ECS ブルー/グリーンデプロイを作成する CloudFormation](deployments-create-ecs-cfn.md)

# デプロイの前提条件
<a name="deployments-create-prerequisites"></a>

デプロイを開始する前に、以下のステップが完了していることを確認します。

## AWS Lambda コンピューティングプラットフォームでのデプロイの前提条件
<a name="deployment-prerequisites-lambda"></a>
+ 少なくとも 1 つのデプロイグループを含むアプリケーションを作成します。詳細については、「[CodeDeploy でアプリケーションを作成する](applications-create.md)」および「[CodeDeploy でデプロイグループを作成する](deployment-groups-create.md)」を参照してください。
+ デプロイする Lambda 関数バージョンを指定するアプリケーションリビジョン (AppSpec ファイル とも呼ばれる) を準備します。AppSpec ファイルでは、Lambda 関数を指定してデプロイを検証することもできます。詳細については、[CodeDeploy のアプリケーションリビジョンの操作](application-revisions.md) を参照してください。
+ デプロイにカスタムデプロイ設定を使用する場合、デプロイプロセスを開始する前にカスタムデプロイ設定を作成します。詳細については、「[CodeDeploy を使用してデプロイ設定を作成する](deployment-configurations-create.md)」を参照してください。

## EC2/オンプレミスコンピューティングプラットフォームのデプロイ前提条件
<a name="deployment-prerequisites-server"></a>
+ インプレースデプロイの場合は、デプロイ先のインスタンスを作成または設定します。詳細については、「[CodeDeploy のためにインスタンスを用いた操作](instances.md)」を参照してください。Blue/Green デプロイのために、置き換え先環境のテンプレートとして使用する既存の Amazon EC2 Auto Scaling グループがあるか、元の環境として指定する 1 つ以上のインスタンスまたは Amazon EC2 Auto Scaling グループがあります。詳細については、「[チュートリアル: CodeDeploy を使用して、Auto Scaling グループにアプリケーションをデプロイします。](tutorials-auto-scaling-group.md)」および「[CodeDeploy と Amazon EC2 Auto Scaling の統合](integrations-aws-auto-scaling.md)」を参照してください。
+ 少なくとも 1 つのデプロイグループを含むアプリケーションを作成します。詳細については、「[CodeDeploy でアプリケーションを作成する](applications-create.md)」および「[CodeDeploy でデプロイグループを作成する](deployment-groups-create.md)」を参照してください。
+ デプロイグループのインスタンスにデプロイするアプリケーションリビジョンを準備します。詳細については、「[CodeDeploy のアプリケーションリビジョンの操作](application-revisions.md)」を参照してください。
+ デプロイにカスタムデプロイ設定を使用する場合、デプロイプロセスを開始する前にカスタムデプロイ設定を作成します。詳細については、「[CodeDeploy を使用してデプロイ設定を作成する](deployment-configurations-create.md)」を参照してください。
+ Amazon S3 バケットからアプリケーションリビジョンをデプロイする場合、バケットはデプロイグループのインスタンスと同じ AWS リージョンにあります。
+ Amazon S3 バケットからアプリケーションのリビジョンをデプロイする場合、Amazon S3 バケットポリシーをバケットに適用済みです。このポリシーでは、アプリケーションリビジョンをダウンロードするために必要なアクセス許可をインスタンスに付与します。

  例えば、次の Amazon S3 バケットポリシーは、ARN `arn:aws:iam::444455556666:role/CodeDeployDemo` を含む IAM インスタンスプロファイルがアタッチされた Amazon EC2 インスタンスが、`amzn-s3-demo-bucket` という名前の Amazon S3 バケットの任意の場所からダウンロードすることを許可します。

  ```
  {
      "Statement": [
          {
              "Action": [
                  "s3:Get*",
                  "s3:List*"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "Principal": {
                  "AWS": [
                      "arn:aws:iam::444455556666:role/CodeDeployDemo"
                  ]
              }
          }
      ]
  }
  ```

  次の Amazon S3 バケットポリシーは、ARN `arn:aws:iam::444455556666:user/CodeDeployUser` を含む IAM ユーザーに関連付けられたオンプレミスインスタンスが、`amzn-s3-demo-bucket` という名前の Amazon S3 バケット内の任意の場所からダウンロードすることを許可します。

  ```
  {
      "Statement": [
          {
              "Action": [
                  "s3:Get*",
                  "s3:List*"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "Principal": {
                  "AWS": [
                      "arn:aws:iam::444455556666:user/CodeDeployUser"
                  ]
              }
          }
      ]
  }
  ```

  Amazon S3 バケットポリシーを生成しアタッチする方法の詳細については、「[バケットポリシーの例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)」を参照してください。
+ Blue/Green デプロイを作成する場合、またはインプレースデプロイのためにデプロイグループにオプションの Classic Load Balancer、Application Load Balancer、Network Load Balancer を指定している場合、Amazon VPC を使用して、少なくとも 2 つのサブネットを含む VPC を作成していることになります。(CodeDeploy で使用する Elastic Load Balancing では、ロードバランサーグループ内のすべてのインスタンスが 1 つの VPC 内にあることが必要です)。

  VPC を作成済みでない場合は、「[Amazon VPC 入門ガイド](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/ExerciseOverview.html)」を参照してください。
+ ブルー/グリーンデプロイを作成する場合、Elastic Load Balancing に、少なくとも 1 つの Classic Load Balancer、Application Load Balancer または Network Load Balancerを設定し、これを使用して元の環境を構成するインスタンスを登録しています。
**注記**  
置き換え先環境内のインスタンスは後でロードバランサーを使用して登録されます。

  ロードバランサーの設定の詳細については、「[CodeDeploy Amazon EC2 デプロイ用の Elastic Load Balancing でロードバランサーをセットアップする](deployment-groups-create-load-balancer.md)」および「[CodeDeploy Amazon ECS デプロイ用のロードバランサー、ターゲットグループ、リスナーをセットアップする](deployment-groups-create-load-balancer-for-ecs.md)」を参照してください。

## を使用した Blue/Green デプロイのデプロイ前提条件 CloudFormation
<a name="deployment-prerequisites-cfn-bg"></a>
+ テンプレートでは、CodeDeploy アプリケーションまたはデプロイグループのリソースをモデル化する必要はありません。
+ テンプレートには、少なくとも 2 つのサブネットを含む Amazon VPC を使用する VPC のリソースを含める必要があります。
+ テンプレートには、トラフィックをターゲットグループに誘導するために使用される Elastic Load Balancing の 1 つまたは複数の Classic Load Balancer、Application Load Balancer、または Network Load Balancer のリソースを含める必要があります。

# Amazon ECS コンピューティングプラットフォームのデプロイの作成 (コンソール)
<a name="deployments-create-console-ecs"></a>

このトピックでは、コンソールを使用して Amazon ECS サービスをデプロイする方法を示します。詳細については、「[チュートリアル: Amazon ECS へアプリケーションをデプロイする](tutorial-ecs-deployment.md)」および「[チュートリアル: 検証テストを使用して Amazon ECS サービスをデプロイする](tutorial-ecs-deployment-with-hooks.md)」を参照してください。

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

1. 次のいずれかを行います。
   +  アプリケーションをデプロイする場合は、ナビゲーションペインで [**デプロイ**] を展開し、[**アプリケーション**] を選択します。デプロイするアプリケーションの名前を選択します。アプリケーションの [**Compute platform (コンピューティングプラットフォーム)**] 列が [** Amazon ECS **] になっていることを確認します。
   +  デプロイを再デプロイする場合は、ナビゲーションペインで [**デプロイ**] を展開し、[**デプロイ**] を選択します。再デプロイするデプロイを選択し、[**アプリケーション**] 列で、アプリケーションの名前を選択します。デプロイの [**Compute platform (コンピューティングプラットフォーム)**] 列が [**Amazon ECS**] になっていることを確認します。

1. [**デプロイ**] タブで、[**デプロイの作成**] を選択します。
**注記**  
アプリケーションをデプロイするには、アプリケーションにデプロイグループが必要です。アプリケーションにデプロイグループがない場合は、[**デプロイグループ**] タブで、[**デプロイグループの作成**] を選択します。詳細については、「[CodeDeploy でデプロイグループを作成する](deployment-groups-create.md)」を参照してください。

1. [**デプロイグループ**] で、このデプロイで使用するデプロイグループを選択します。

1. [**リビジョンの場所**] の横で、リビジョンの場所を選択します。
   + [**My application is stored in Amazon S3 (Amazon S3 に保存されたアプリケーション)**] - 詳細に関しては、[Amazon S3 バケットに格納されているリビジョンについての情報を指定します](deployments-create-console-s3.md) を参照し、ステップ 6 に戻ります。
   + [**Use AppSpec editor (AppSpec エディタの使用)**] — JSON または YAML を選択し、エディタに AppSpec ファイルを入力します。AppSpec ファイルを保存するには、[**テキストファイルとして保存**] を選択します。これらのステップの最後で [**Deploy (デプロイ)**] を選択すると、JSON または YAML が有効ではないというエラーが発生します。AppSpec ファイルの作成の詳細については、「[CodeDeploy 用のアプリケーション仕様ファイルをリビジョンに追加](application-revisions-appspec-file.md)」を参照してください。

1. (オプション) [**デプロイの説明**] に、このデプロイの説明を入力します。

1. (オプション) [**Rollback configuration overrides**] で、該当する場合は、デプロイグループに指定されているものとは別の自動ロールバックオプションをこのデプロイに指定できます。

   CodeDeploy のロールバックの詳細については、「[デプロイと再デプロイのロールバック](deployment-steps-lambda.md#deployment-rollback-lambda)」および「[CodeDeploy を使用した再デプロイおよびデプロイのロールバック](deployments-rollback-and-redeploy.md)」を参照してください。

   以下から選択します。
   + [**Roll back when a deployment fails (デプロイが失敗したときにロールバックする)**] — CodeDeploy は既知の正常なリビジョンを新しいデプロイとして再デプロイします。
   + [**Roll back when alarm thresholds are met (アラームのしきい値が一致したときにロールバックする)**] — デプロイグループにアラームが追加された場合、1 つ以上の指定したアラームがアクティブ化されたときに、CodeDeploy は既知の正常なリビジョンを再デプロイします。
   + [**ロールバックを無効にする**] — このデプロイのロールバックを実行しません。

1. **[デプロイの作成]** を選択します。

   デプロイの状態を追跡するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

# AWS Lambda コンピューティングプラットフォームのデプロイを作成する (コンソール)
<a name="deployments-create-console-lambda"></a>

このトピックでは、コンソールを使用して Lambda 関数をデプロイする方法を示します。

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

1. 次のいずれかを行います。
   +  アプリケーションをデプロイする場合は、ナビゲーションペインで [**デプロイ**] を展開し、[**アプリケーション**] を選択します。デプロイするアプリケーションの名前を選択します。アプリケーションの [**Compute platform (コンピューティングプラットフォーム)**] 列が [**AWS Lambda**] になっていることを確認します。
   +  デプロイを再デプロイする場合は、ナビゲーションペインで [**デプロイ**] を展開し、[**デプロイ**] を選択します。再デプロイするデプロイを選択し、[**アプリケーション**] 列で、アプリケーションの名前を選択します。デプロイ の** [Compute platform (コンピューティングプラットフォーム)**] 列が [**AWS Lambda**] になっていることを確認します。

1. [**デプロイ**] タブで、[**デプロイの作成**] を選択します。
**注記**  
アプリケーションをデプロイするには、アプリケーションにデプロイグループが必要です。アプリケーションにデプロイグループがない場合は、[**デプロイグループ**] タブで、[**デプロイグループの作成**] を選択します。詳細については、「[CodeDeploy でデプロイグループを作成する](deployment-groups-create.md)」を参照してください。

1. [**デプロイグループ**] で、このデプロイで使用するデプロイグループを選択します。

1. [**リビジョンの場所**] の横で、リビジョンの場所を選択します。
   + [**My application is stored in Amazon S3 (Amazon S3 に保存されたアプリケーション)**] - 詳細に関しては、[Amazon S3 バケットに格納されているリビジョンについての情報を指定します](deployments-create-console-s3.md) を参照し、ステップ 6 に戻ります。
   + [**Use AppSpec editor (AppSpec エディタの使用)**] — JSON または YAML を選択し、エディタに AppSpec ファイルを入力します。AppSpec ファイルを保存するには、[**テキストファイルとして保存**] を選択します。これらのステップの最後で [**Deploy (デプロイ)**] を選択すると、JSON または YAML が有効ではないというエラーが発生します。AppSpec ファイルの作成の詳細については、「[CodeDeploy 用のアプリケーション仕様ファイルをリビジョンに追加](application-revisions-appspec-file.md)」を参照してください。

1. (オプション) [**デプロイの説明**] に、このデプロイの説明を入力します。

1. (オプション) [**Deployment group overrides (デプロイグループのオーバーライド)**] を展開し、トラフィックを Lambda 関数バージョンにシフトする方法を制御するデプロイ設定を選択します。この場合、デプロイグループに指定したものとは異なるデプロイ設定を選択します。

   詳細については、「[AWS Lambda コンピューティングプラットフォームでのデプロイ設定](deployment-configurations.md#deployment-configuration-lambda)」を参照してください。

1. (オプション) [**Rollback configuration overrides**] で、該当する場合は、デプロイグループに指定されているものとは別の自動ロールバックオプションをこのデプロイに指定できます。

   CodeDeploy のロールバックの詳細については、「[デプロイと再デプロイのロールバック](deployment-steps-lambda.md#deployment-rollback-lambda)」および「[CodeDeploy を使用した再デプロイおよびデプロイのロールバック](deployments-rollback-and-redeploy.md)」を参照してください。

   以下から選択します。
   + [**Roll back when a deployment fails (デプロイが失敗したときにロールバックする)**] — CodeDeploy は既知の正常なリビジョンを新しいデプロイとして再デプロイします。
   + [**Roll back when alarm thresholds are met (アラームのしきい値が一致したときにロールバックする)**] — デプロイグループにアラームが追加された場合、1 つ以上の指定したアラームがアクティブ化されたときに、CodeDeploy は既知の正常なリビジョンを再デプロイします。
   + [**ロールバックを無効にする**] — このデプロイのロールバックを実行しません。

1. **[デプロイの作成]** を選択します。

   デプロイの状態を追跡するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

# EC2/オンプレミスコンピューティングプラットフォームのデプロイ作成 (コンソール)
<a name="deployments-create-console"></a>

このトピックでは、コンソールを使用して Amazon EC2 またはオンプレミスサーバーにアプリケーションをデプロイする方法を示します。

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

1. 次のいずれかを行います。
   +  アプリケーションをデプロイする場合は、ナビゲーションペインで [**デプロイ**] を展開し、[**アプリケーション**] を選択します。デプロイするアプリケーションの名前を選択します。アプリケーションの [**コンピューティングプラットフォーム**] 列が [**EC2/オンプレミス**] になっていることを確認します。
   +  デプロイを再デプロイする場合は、ナビゲーションペインで [**デプロイ**] を展開し、[**デプロイ**] を選択します。再デプロイするデプロイを見つけ、[**アプリケーション**] 列で、アプリケーションの名前を選択します。デプロイ の [**コンピューティングプラットフォーム**] 列が [**EC2/オンプレミス**] になっていることを確認します。

1. [**デプロイ**] タブで、[**デプロイの作成**] を選択します。
**注記**  
アプリケーションをデプロイするには、アプリケーションにデプロイグループが必要です。アプリケーションにデプロイグループがない場合は、[**デプロイグループ**] タブで、[**デプロイグループの作成**] を選択します。詳細については、「[CodeDeploy でデプロイグループを作成する](deployment-groups-create.md)」を参照してください。

1. [**デプロイグループ**] で、このデプロイで使用するデプロイグループを選択します。

1. [**リポジトリタイプ**] の横で、リビジョンが保存されているリポジトリタイプを選択します。
   + [**My application is stored in Amazon S3 (Amazon S3 に保存されたアプリケーション)**] - 詳細に関しては、[Amazon S3 バケットに格納されているリビジョンについての情報を指定します](deployments-create-console-s3.md) を参照し、ステップ 6 に戻ります。
   + [**My application is stored in GitHub (GitHub に保存されたアプリケーション)**] — 詳細については、以下の「[GitHub リポジトリに格納されているリビジョンについての情報を指定します](deployments-create-console-github.md)」を参照し、ステップ 6 に戻ります。

1. (オプション) [**デプロイの説明**] に、このデプロイの説明を入力します。

1. (オプション) [**Override deployment configuration (デプロイ設定の上書き)**] を展開してデプロイ設定を選択し、デプロイグループに指定したものとは異なる Amazon EC2 またはオンプレミスサーバーにトラフィックをシフトする方法を制御します。

   詳細については、「[CodeDeploy でデプロイ設定を使用する](deployment-configurations.md)」を参照してください。

1. 

   1. `ApplicationStop` ライフサイクルイベントが失敗した場合でもインスタンスへのデプロイを成功させる場合は、[**Don't fail the deployment if the ApplicationStop lifecycle event fails (ApplicationStop ライフサイクルイベントの障害でデプロイを失敗させない)**] を選択します。

   1. [**Additional deployment behavior settings (追加のデプロイ動作設定)**] を展開して、以前に成功したデプロイに含まれていなかったデプロイターゲットの場所にあるファイルを CodeDeploy で処理する方法を指定します。

      以下から選択します。
      + [**Fail the deployment (デプロイの失敗)**] — エラーが報告され、デプロイのステータスが `Failed` に変更されます。
      + [**コンテンツの上書き**] — デプロイ先に同じ名前のファイルが存在する場合は、アプリケーションリビジョンのバージョンによって置き換えられます。
      + [**コンテンツの保持**] — デプロイ先に同じ名前のファイルが存在する場合は、ファイルが保持され、アプリケーションリビジョンのバージョンはインスタンスにコピーされません。

      詳細については、「[既存のコンテンツでのロールバック動作](deployments-rollback-and-redeploy.md#deployments-rollback-and-redeploy-content-options)」を参照してください。

1. (オプション) [**Rollback configuration overrides**] で、該当する場合は、デプロイグループに指定されているものとは別の自動ロールバックオプションをこのデプロイに指定できます。

   CodeDeploy のロールバックの詳細については、「[デプロイと再デプロイのロールバック](deployment-steps-server.md#deployment-rollback)」および「[CodeDeploy を使用した再デプロイおよびデプロイのロールバック](deployments-rollback-and-redeploy.md)」を参照してください。

   以下から選択します。
   + [**Roll back when a deployment fails (デプロイが失敗したときにロールバックする)**] — CodeDeploy は既知の正常なリビジョンを新しいデプロイとして再デプロイします。
   + [**Roll back when alarm thresholds are met (アラームのしきい値が一致したときにロールバックする)**] — デプロイグループにアラームが追加された場合、1 つ以上の指定したアラームがアクティブ化されたときに、CodeDeploy は既知の正常なリビジョンをデプロイします。
   + [**ロールバックを無効にする**] — このデプロイのロールバックを実行しません。

1. **デプロイの開始** を選択します。

   デプロイの状態を追跡するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

**Topics**
+ [Amazon S3 バケットに格納されているリビジョンについての情報を指定します](deployments-create-console-s3.md)
+ [GitHub リポジトリに格納されているリビジョンについての情報を指定します](deployments-create-console-github.md)

# Amazon S3 バケットに格納されているリビジョンについての情報を指定します
<a name="deployments-create-console-s3"></a>

「[EC2/オンプレミスコンピューティングプラットフォームのデプロイ作成 (コンソール)](deployments-create-console.md)」の手順を使用している場合は、以下のステップに従って Amazon S3 バケットに保存されているアプリケーションリビジョンの詳細を追加してください。

1. リビジョンの Amazon S3 リンクを [**Revision location (リビジョンの場所)**] ボックスにコピーします。リンク値の確認

   1. 別のブラウザタブで

      にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

      リビジョンを参照して選択します。

   1. [**Properties**] ペインが表示されていない場合、[**Properties**] ボタンを選択します。

   1. [**Properties**] ペインで、[**Link**] フィールドの値をCodeDeploy コンソールの [**Revision location**] ボックスにコピーします。

   ETag (ファイルチェックサム) をリビジョンの場所の一部として指定するには。
   + [**リンク**] フィールド値が **?versionId=*versionId*** で終わる場合、**&etag=** および ETag を [**リンク**] フィールド値の末尾に追加します。
   + [**リンク**] フィールド値がバージョン ID を指定していない場合、**?etag=** および ETag を [**リンク**] フィールド値の末尾に追加します。
**注記**  
[**Link**] フィールドの値をコピーするように簡単ではありませんが、次のいずれかの形式でリビジョンの場所を入力することもできます。  
**s3://*bucket-name*/*folders*/*objectName***  
**s3://*bucket-name*/*folders*/*objectName*?versionId=*versionId***  
**s3://*bucket-name*/*folders*/*objectName*?etag=*etag***  
**s3://*bucket-name*/*folders*/*objectName*?versionId=*versionId*&etag=*etag***  
***bucket-name*.s3.amazonaws.com/*folders*/*objectName***

1. [**File type**] リストに、ファイル形式を検出できないというメッセージが表示された場合は、リビジョンのファイル形式を選択します。それ以外の場合は、検出されたファイル形式を使用します。

# GitHub リポジトリに格納されているリビジョンについての情報を指定します
<a name="deployments-create-console-github"></a>

「[EC2/オンプレミスコンピューティングプラットフォームのデプロイ作成 (コンソール)](deployments-create-console.md)」の手順を使用している場合は、以下のステップに従って GitHub リポジトリに保存されているアプリケーションリビジョンの詳細を追加してください。

1. [**Connect to GitHub**] で、次のいずれかを実行します。
   + GitHub アカウントに対する CodeDeploy アプリケーションの接続を作成するには、ウェブブラウザの別のタブで GitHub からサインアウトします。[**GitHub アカウント**] に、この接続を識別する名前を入力し、[**GitHub に接続**] を選択します。アプリケーションの GitHub を操作することを CodeDeploy に許可するよう求めるメッセージがウェブページに表示されます。ステップ 2 に進みます。
   + 作成済みの接続を使用するには、その名前を [**GitHub account**] で選択してから [**Connect to GitHub**] を選択します。ステップ 4 に進みます。
   + 別の GitHub アカウントへの接続を作成するには、ウェブブラウザの別のタブで GitHub からサインアウトします。[**Connect to a different GitHub account**] を選択し、[**Connect to GitHub**] を選択します。ステップ 2 に進みます。

1. GitHub にサインインするよう求められたら、[**Sign in**] ページの手順に従います。GitHub のユーザー名、または E メールとパスワードでサインインします。

1. [**Authorize application**] ページが表示された場合、[**Authorize application**] を選択します。

1. [**Create deployment (デプロイの作成)**] ページの、[**Repository name (リポジトリの名前)**] ボックスに、スラッシュ (`/`)、リビジョンを含むリポジトリの名前が後に続く、リビジョンを含む GitHub ユーザーまたは組織の名前を入力します。入力する値が不確実な場合:

   1. ウェブブラウザの別のタブで、[GitHub dashboard](https://github.com/dashboard) にアクセスします。

   1. [**Your repositories**] で、ターゲットリポジトリの名前の上にマウスを置きます。GitHub ユーザーまたは組織の名前、スラッシュ (`/`)、リポジトリの名前の順序でツールヒントが表示されます。[**Repository name (リポジトリの名前)**] ボックスに、この表示された値を入力します。
**注記**  
[**Your repositories**] にターゲットリポジトリの名前が表示されない場合、[**Search GitHub**] ボックスを使用して、ターゲットリポジトリの名前と、GitHub ユーザーまたは組織の名前を検索します。

1. [**Commit ID (コミットID)**] で、リポジトリのリビジョンを参照するコミット ID を入力します。入力する値が不確実な場合:

   1. ウェブブラウザの別のタブで、[GitHub dashboard](https://github.com/dashboard) にアクセスします。

   1. [**Your repositories**] で、ターゲットコミットを含むリポジトリの名前を選択します。

   1. コミットのリストで、リポジトリのリビジョンを参照するコミット ID を検索してコピーします。通常、この ID は 40 文字で、文字と数字の両方で構成されます (通常はコミット ID の長いバージョンの最初の 10 文字の、コミット ID の短いバージョンを使用しないでください)。

   1. [**Commit ID**] ボックスにコミット ID を貼り付けます。

# Amazon ECS コンピューティングプラットフォームのデプロイの作成 (CLI)
<a name="deployments-create-ecs-cli"></a>

アプリケーションとリビジョンの作成後 (Amazon ECS のデプロイでは、これは AppSpec ファイルです)。

[create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) コマンドを呼び出し、指定します。
+ アプリケーション名。アプリケーション名のリストを表示するには、[list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) コマンドを呼び出します。
+ デプロイグループ名。デプロイグループ名のリストを表示するには、[list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html)コマンドを呼び出します。
+ デプロイするリビジョンに関する情報。

  Amazon S3 に格納されているリビジョン。
  + Amazon S3 バケットの名前がリビジョンに含まれています。
  + アップロードされたリビジョンの名前。
  + (オプション) リビジョンの Amazon S3 バージョンのID。(バージョン ID を指定しない場合、CodeDeploy は最新バージョンを使用します。)
  + (オプション) リビジョンの ETag。(ETag が指定されていない場合、CodeDeploy はオブジェクトの検証をスキップします。)

  Amazon S3 にないファイルに保存されているリビジョンの場合、ファイル名とパスが必要です。リビジョンファイルは、YAML または JSON で書かれているため、ほとんどの場合、その拡張子は .json または .yaml です。
+ (オプション) デプロイの説明。

リビジョンファイルは Amazon S3 バケットにアップロードされるファイルまたは文字列として指定できます。**create-deployment** コマンドの一部として使用する場合の各構文は次のようになります。
+ Amazon S3 バケット:

  `version`および`eTag`はオプションです。

  ```
  --s3-location bucket=string,key=string,bundleType=JSON|YAML,version=string,eTag=string
  ```
+ 文字列:

  ```
  --revision '{"revisionType": "String", "string": {"content":"revision-as-string"}}'
  ```

**注記**  
**create-deployment** コマンドはファイルからリビジョンをロードできます。詳細については、「[ファイルからパラメータをロードする](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-file)」を参照してください。

 AWS Lambda デプロイリビジョンテンプレートについては、「」を参照してください[AWS Lambda デプロイ用の AppSpec ファイルを追加する](application-revisions-appspec-file.md#add-appspec-file-lambda)。リビジョンの例については、「[Lambda AWS デプロイの AppSpec ファイルの例](reference-appspec-file-example.md#appspec-file-example-lambda)」を参照してください。

デプロイの状態を追跡するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

# AWS Lambda コンピューティングプラットフォームのデプロイを作成する (CLI)
<a name="deployments-create-lambda-cli"></a>



アプリケーションとリビジョンを作成した後 ( AWS Lambda デプロイでは、これは AppSpec ファイルです）。

[create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) コマンドを呼び出し、指定します。
+ アプリケーション名。アプリケーション名のリストを表示するには、[list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) コマンドを呼び出します。
+ デプロイグループ名。デプロイグループ名のリストを表示するには、[list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html)コマンドを呼び出します。
+ デプロイするリビジョンに関する情報。

  Amazon S3 に格納されているリビジョン。
  + Amazon S3 バケットの名前がリビジョンに含まれています。
  + アップロードされたリビジョンの名前。
  + (オプション) リビジョンの Amazon S3 バージョンのID。(バージョン ID を指定しない場合、CodeDeploy は最新バージョンを使用します。)
  + (オプション) リビジョンの ETag。(ETag が指定されていない場合、CodeDeploy はオブジェクトの検証をスキップします。)

  Amazon S3 にないファイルに保存されているリビジョンの場合、ファイル名とパスが必要です。リビジョンファイルは、YAML または JSON で書かれているため、ほとんどの場合、その拡張子は .json または .yaml です。
+ (オプション) 使用するデプロイ設定の名前。デプロイ設定のリストを表示するには、[list-deployment-configs](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-configs.html) コマンドを呼び出します。(指定されない場合、CodeDeploy は、特定のデフォルトのデプロイ設定を使用します。)
+ (オプション) デプロイの説明。

リビジョンファイルは Amazon S3 バケットにアップロードされるファイルまたは文字列として指定できます。**create-deployment** コマンドの一部として使用する場合の各構文は次のようになります。
+ Amazon S3 バケット:

  `version`および`eTag`はオプションです。

  ```
  --s3-location bucket=string,key=string,bundleType=JSON|YAML,version=string,eTag=string
  ```
+ 文字列:

  ```
  --revision '{"revisionType": "String", "string": {"content":"revision-as-string"}}'
  ```

**注記**  
**create-deployment** コマンドはファイルからリビジョンをロードできます。詳細については、「[ファイルからパラメータをロードする](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-file)」を参照してください。

 AWS Lambda デプロイリビジョンテンプレートについては、「」を参照してください[AWS Lambda デプロイ用の AppSpec ファイルを追加する](application-revisions-appspec-file.md#add-appspec-file-lambda)。リビジョンの例については、「[Lambda AWS デプロイの AppSpec ファイルの例](reference-appspec-file-example.md#appspec-file-example-lambda)」を参照してください。

デプロイの状態を追跡するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

# EC2/ オンプレミスコンピューティングプラットフォームのデプロイ作成 (CLI)
<a name="deployments-create-cli"></a>

を使用して EC2/オンプレミスコンピューティングプラットフォームにリビジョンを AWS CLI デプロイするには:

1. インスタンスを準備し、アプリケーションを作成して、リビジョンをプッシュした後、次のいずれかを実行します。
   + Amazon S3 バケットからリビジョンをデプロイする場合は、そのままステップ 2 に進みます。
   + GitHub リポジトリからリビジョンをデプロイする場合は、まず「[CodeDeploy アプリケーションを GitHub リポジトリに接続します。](deployments-create-cli-github.md)」のステップを完了してからステップ 2 に戻ります。

1. [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) コマンドを呼び出し、指定します。
   + `--application-name`: アプリケーション名。アプリケーション名のリストを表示するには、[list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) コマンドを呼び出します。
   + `--deployment-group-name`: Amazon EC2 デプロイグループ名。デプロイグループ名のリストを表示するには、[list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html)コマンドを呼び出します。
   + `--revision`: デプロイするリビジョンに関する情報。

     Amazon S3 に格納されているリビジョン。
     + `s3Location`: リビジョンを含む Amazon S3 バケットの名前がリビジョンに含まれています。
     + `s3Location --> key`: アップロードされたリビジョンの名前。
     + `s3Location --> bundleType`: アップロードされたリビジョンの名前とファイル形式。
**注記**  
tar および圧縮 tar アーカイブファイル形式 (.tar および .tar.gz) は、Windows Server インスタンスではサポートされていません。
     + `s3Location --> version`: (オプション) リビジョンの Amazon S3 バージョン ID。(バージョン ID を指定しない場合、CodeDeploy は最新バージョンを使用します。)
     + `s3Location --> eTag`: (オプション) リビジョンの ETag。(ETag が指定されていない場合、CodeDeploy はオブジェクトの検証をスキップします。)

     GitHub で格納されたリビジョンの場合。
     + `gitHubLocation --> repository`: スラッシュ (`/`)、リポジトリの名前が後に続く、リポジトリに割り当てられたリビジョンを含む GitHub ユーザーまたは組織の名前。
     + `gitHubLocation --> commitId`: リビジョンのコミット ID。
   + `--deployment-config-name`: (オプション) 使用するデプロイ設定の名前。デプロイ設定のリストを表示するには、[list-deployment-configs](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-configs.html) コマンドを呼び出します。(指定されない場合、CodeDeploy は特定のデフォルトのデプロイ設定を使用します。)
   + `--ignore-application-stop-failures | --no-ignore-application-stop-failures`:（オプション）`BeforeInstall` デプロイライフサイクルのイベントを続行してインスタンスへのデプロイを続行するかどうか。たとえ `ApplicationStop` デプロイライフサイクルイベントが失敗してもです。
   + `--description`: (オプション) デプロイの説明。
   + `--file-exists-behavior`: (オプション) デプロイプロセスの一環として、CodeDeploy エージェントは、前回のデプロイでインストールされたすべてのファイルを各インスタンスから削除します。前回のデプロイに含まれていないファイルがデプロイ先に表示された場合の処理を選択します。
   + `--target-instances`: Blue/Green デプロイの場合、1 つ以上の Amazon EC2 Auto Scaling グループの名前、または、Amazon EC2 インスタンスを識別するのに使用するタグフィルタキー、型、および値を含む、Blue/Green デプロイの置き換え先環境に属するインスタンスに関する情報です。

**注記**  
Amazon S3 内のリビジョンに関する情報をコマンドラインで直接指定するには、**create-deployment** 呼び出しの一部としてこの構文を使用します。(`version` および `eTag` 設定はオプションです)。  

```
--s3-location bucket=string,key=string,bundleType=tar|tgz|zip,version=string,eTag=string
```
コマンドラインで、GitHub のリビジョンについての情報を直接呼び出す **create-deployment** の一部としてこの構文を使用します。  

```
--github-location repository=string,commitId=string
```
すでにプッシュされているリビジョンについての情報を入手するには、[list-application-revisions](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-application-revisions.html) コマンドを呼び出します。

デプロイの状態を追跡するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」を参照してください。

## create-deployment コマンドリファレンス
<a name="deployments-create-cli-reference"></a>

以下に、`create-deployment` コマンドのコマンド構造とオプションを示します。詳細については、「*AWS CLI コマンドリファレンス*」の「[create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html)」を参照してください。

```
create-deployment
--application-name <value>
[--deployment-group-name <value>]
[--revision <value>]
[--deployment-config-name <value>]
[--description <value>]
[--ignore-application-stop-failures | --no-ignore-application-stop-failures]
[--target-instances <value>]
[--auto-rollback-configuration <value>]
[--update-outdated-instances-only | --no-update-outdated-instances-only]
[--file-exists-behavior <value>]
[--s3-location <value>]
[--github-location <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

# CodeDeploy アプリケーションを GitHub リポジトリに接続します。
<a name="deployments-create-cli-github"></a>

を使用して GitHub リポジトリからアプリケーションを初めてデプロイする前に AWS CLI、まず GitHub アカウントに代わって GitHub とやり取りするためのアクセス許可を CodeDeploy に付与する必要があります。 GitHub CodeDeploy コンソールを使用して、このステップをアプリケーションごとに一度実行する必要があります。

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

1. **[Applications]** (アプリケーション) を選択します。

1. [**アプリケーション**] から、GitHub ユーザーアカウントにリンクするアプリケーションを選択し、[**アプリケーションをデプロイする**] を選択します。
**注記**  
デプロイを作成していません。これは現在、GitHub ユーザーアカウントに代わって GitHub を操作するためにアクセス権限を CodeDeploy に付与する唯一の方法です。

1. [**Repository type**] の横の [**My application revision is stored in GitHub**] を選択します。

1. **[Connect to GitHub]** (GitHub に接続) を選択します。
**注記**  
[**Connect to a different GitHub account**] リンクが表示されている場合:  
すでに CodeDeploy が GitHub とやりとりすることを、アプリケーションの別の GitHub アカウントに代わって許可している場合があります。  
CodeDeploy にリンクされているすべてのアプリケーションに対してサインインしている GitHub アカウントに代わって、GitHub を操作する CodeDeploy の承認を取り消した可能性があります。  
詳細については、「[CodeDeploy のアプリケーションを使用した GitHub の認証](integrations-partners-github.md#behaviors-authentication)」を参照してください。

1. GitHub にまだサインインしていない場合は、[**Sign in**] ページの手順に従います。

1. [**Authorize application**] ページで、[**Authorize application**] を選択します。

1. CodeDeploy にアクセス許可が付与されたら、[**キャンセル**] を選択して、「[EC2/ オンプレミスコンピューティングプラットフォームのデプロイ作成 (CLI)](deployments-create-cli.md)」の手順に進んでください。

# を使用して Amazon ECS ブルー/グリーンデプロイを作成する CloudFormation
<a name="deployments-create-ecs-cfn"></a>

を使用して AWS CloudFormation 、CodeDeploy を通じて Amazon ECS ブルー/グリーンデプロイを管理できます。デプロイを生成するには、Green と Blue のリソースを定義し、 CloudFormationで使用するトラフィックルーティングと安定化の設定を指定します。このトピックでは、CodeDeploy によって管理される Amazon ECS Blue/Green デプロイと CloudFormationによって管理されるデプロイの違いについて説明します。

 CloudFormation を使用して Amazon ECS ブルー/グリーンデプロイを管理するstep-by-stepについては、*AWS CloudFormation 「 ユーザーガイド*[」の「 を使用した CodeDeploy による ECS ブルー/グリーンデプロイの自動化 AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html)」を参照してください。

**注記**  
を使用した Amazon ECS ブルー/グリーンデプロイの管理 CloudFormation は、アジアパシフィック (大阪) リージョンでは利用できません。

## CodeDeploy と を使用した Amazon ECS ブルー/グリーンデプロイの違い CloudFormation
<a name="differences-ecs-bg-cfn"></a>

 CloudFormation スタックテンプレートは、Amazon ECS タスク関連のリソースとインフラストラクチャ、およびデプロイの設定オプションをモデル化します。したがって、標準の Amazon ECS ブルー/グリーンデプロイと、 を通じて作成されるブルー/グリーンデプロイには違いがあります CloudFormation。

標準の Amazon ECS Blue/Green デプロイとは異なり、以下のモデル作成や手動作成は行いません。
+ デプロイする内容を一意に表す名前を指定しても、 AWS CodeDeploy アプリケーションは作成されません。
+  AWS CodeDeploy デプロイグループを作成しません。
+ *アプリケーション仕様ファイル* (AppSpec ファイル)を指定しない。通常、AppSpec ファイルで管理される情報 (加重設定オプションやライフサイクルイベントなど) は、`AWS::CodeDeploy::BlueGreen` フックによって管理されます。

 この表は、デプロイタイプ間の高レベルのワークフローの違いをまとめたものです。


****  

| 関数 | 標準 Blue/Green デプロイ | によるブルー/グリーンデプロイ CloudFormation | 
| --- | --- | --- | 
| Amazon ECS クラスター、Amazon ECS サービス、Application Load Balancer またはNetwork Load Balancer、本稼働リスナー、テストリスナー、および 2 つのターゲットグループを指定します。 | これらのリソースを指定する CodeDeploy デプロイグループを作成します。 | これらのリソースをモデル化する CloudFormation テンプレートを作成します。 | 
| デプロイする変更を指定します。 | CodeDeploy でアプリケーションを作成します。 | コンテナイメージを指定する CloudFormation テンプレートを作成します。 | 
| Amazon ECS タスク定義、コンテナ名、コンテナポートを指定します。 | これらのリソースを指定する AppSpec ファイルを作成します。 | これらのリソースをモデル化する CloudFormation テンプレートを作成します。 | 
| デプロイトラフィックシフトオプションとライフサイクルイベントフックを指定します。 | これらのオプションを指定する AppSpec ファイルを作成します。 | AWS::CodeDeploy::BlueGreen フックパラメータを使用してこれらのオプションを指定する CloudFormation テンプレートを作成します。 | 
|  CloudWatch アラーム。  |  ロールバックをトリガーする CloudWatch アラームを作成します。  |  ロールバックをトリガーする CloudWatch アラームを CloudFormation スタックレベルで設定します。  | 
| ロールバック/再デプロイ。 | ロールバックおよび再デプロイのオプションを指定します。 | スタックの更新をキャンセルします CloudFormation。 | 

## による Amazon ECS ブルー/グリーンデプロイのモニタリング CloudFormation
<a name="monitoring-ecs-bg-cfn"></a>

ブルー/グリーンデプロイは、 CloudFormation と CodeDeploy を使用してモニタリングできます。によるモニタリングの詳細については CloudFormation、「 *AWS CloudFormation ユーザーガイド*」の[「 でのブルー/グリーンイベントのモニタリング CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html#blue-green-events)」を参照してください。

**CodeDeploy で Blue/Green デプロイのデプロイステータスを表示するには**

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

1. **デプロイ**では、 CloudFormation スタックの更新によってトリガーされたデプロイが表示されます。デプロイを選択して、[**デプロイ履歴**] を表示します。  
![\[デプロイセクションとデプロイ履歴を示すコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/images/cfn-cd-bg-deplhist.png)

1. デプロイを選択して、トラフィックシフトステータスを表示します。アプリケーションおよびデプロイグループは作成されないことに注意してください。  
![\[デプロイステータスが完了のデプロイの詳細を示すコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/images/cfn-cd-bg-deplstatus.png)

1. デプロイのロールバックまたは停止には、次のことが適用されます。
   + 成功したデプロイは CodeDeploy に表示され、 CloudFormationによってデプロイが開始されたことが示されます。
   + デプロイを停止してロールバックする場合は、スタックの更新をキャンセルする必要があります CloudFormation。