

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

# CodeDeploy (AWS CLI または Amazon EC2 コンソール) 用の Amazon EC2 インスタンスを作成する
<a name="instances-ec2-create"></a>

これらの説明では、CodeDeploy デプロイ用に設定した新しい Amazon EC2 インスタンスを起動する方法を示します。

 CloudFormation テンプレートを使用して、CodeDeploy デプロイで使用するように既に設定されている Amazon Linux または Windows Server を実行している Amazon EC2 インスタンスを起動できます。Ubuntu Server または Red Hat Enterprise Linux (RHEL) を実行している Amazon EC2 インスタンス用の CloudFormation テンプレートは提供していません。テンプレートを使用する代わりに、「[CodeDeploy のためにインスタンスを用いた操作](instances.md)」を参照してください。

Amazon EC2 コンソール AWS CLI、または Amazon EC2 APIsを使用して Amazon EC2 インスタンスを起動できます。

## Amazon EC2 インスタンス (コンソール) を起動します。
<a name="instances-ec2-create-console"></a>

### 前提条件
<a name="instances-ec2-create-console-prerequisites"></a>

まだ行っていない場合は、[CodeDeploy の開始方法](getting-started-codedeploy.md)「」の手順に従って をセットアップおよび設定 AWS CLI し、IAM インスタンスプロファイルを作成します。

### Amazon EC2 インスタンスの起動
<a name="instances-ec2-create-console-steps"></a>

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

1. ナビゲーションペインで [**インスタンス**]、[**インスタンスの作成**] の順に選択します。

1. [**Step 1: Choose an Amazon Machine Image (AMI)**] ページで、[**Quick Start**] タブから、使用するオペレーションシステムおよびバージョンを探して、[**Select**] を選択します。CodeDeploy によりサポートされている ​Amazon EC2 AMI オペレーティングシステムを選択する必要があります。詳細については、「[CodeDeploy エージェントで対応するオペレーティングシステム](codedeploy-agent.md#codedeploy-agent-supported-operating-systems)」を参照してください。

1. [**ステップ 2: インスタンスタイプの選択**] ページで、利用可能な Amazon EC2 インタンスタイプを選択し、[**次の手順: インスタンスの詳細の設定**] を選択します。

1. **IAM role** 中の **Step 3: Configure Instance Details** ページ上で、[ステップ 4: Amazon EC2 インスタンス用の IAM インスタンスプロファイルを作成する](getting-started-create-iam-instance-profile.md) で作成した IAM インスタンスロールを選択します。提案されたロール名を使用している場合は、[**CodeDeployDemo-EC2-Instance-Profile**] を選択します。独自のロール名を作成した場合は、その名前を選択します。
**注記**  
デフォルトの仮想プライベートクラウド (VPC) が**ネットワーク**の一覧に表示されていない場合は、Amazon VPC とサブネットを選択するか、作成する必要があります。[**Create new VPC (新しい VPC の作成)**] または [**Create new subnet (新しいサブネットの作成)**]、またはその両方を選択します。詳細については、「[VPC とサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)」を参照してください。

1. [**次の手順: ストレージの追加**] を選択してください。

1. [**ステップ 4: ストレージの追加**] ページは変更せず、[**次の手順: タグの追加**] を選択します。

1. **[Step 5: Add Tags]** (ステップ 5: タグの追加) ページで**[Add Tag]** (タグの追加) を選択します。

1.  [**キー**] ボックスに「**Name**」と入力します。[**値**] ボックスに「**CodeDeployDemo**」と入力します。
**重要**  
[**キー**] ボックスと [**値**] ボックスの内容は大文字と小文字が区別されます。

1. [**Next: Configure Security Group**] (次に)：セキュリティグループを設定)を選択します。

1. [**ステップ 6: セキュリティグループの設定**] ページで、[**新規セキュリティグループを作成**] オプションを選択したままにします。

   デフォルトの SSH ロールは、Amazon Linux、Ubuntu サーバー、または RHEL を実行する Amazon EC2 インスタンスのために設定されます。デフォルトの RDP ロールは、Windows サーバーを実行する Amazon EC2 インスタンスのために設定されます。

1. HTTP ポートを開く場合は、[**ルールの追加**] ボタンを選択し、[**タイプ**] ドロップダウンリストから、[**HTTP**] を選択します。**Custom 0.0.0.0/0** のデフォルトの **Source** を受け入れ、次に **Review and Launch** を選択します。
**注記**  
本稼働環境では、**Anywhere 0.0.0.0/0** を指定する代わりに、SSH、RDP、および HTTP ポートへのアクセスを制限することを推奨します。CodeDeploy は、無制限のポートアクセスを必要とせず、HTTP アクセスを必要としません。詳細については、「[Amazon EC2 インスタンスの保護のヒント](https://aws.amazon.com/articles/1233)」を参照してください。

   [**汎用 (SSD) から起動する**] ダイアログボックスが表示されたら、指示に従って [**次へ**] を選択します。

1. [**Step 7: Review Instance Launch**] ページは変更せず、[**Launch**] を選択します。

1. [**既存のキーペアの選択または新しいキーペアの作成**] ダイアログボックスで、[**既存のキーペアの選択**] または [**新しいキーペアの作成**] を選択します。すでに Amazon EC2 インスタンスキーペアを設定している場合は、ここで選択できます。

   Amazon EC2 インスタンスのキーペアがまだない場合は、[**Create a new key pair (新しいキーペアの作成)**] を選択して、わかりやすい名前を付けます。お客様のコンピュータに Amazon EC2 インスタンスキーペアをダウンロードするために、**Download Key Pair** を選択します。
**重要**  
SSH または RDP を使用して、Amazon EC2 インスタンスへアクセスしたい場合は、キーペアが必要です。

1. **[Launch Instances]** (インスタンスを起動) をクリックします。

1. Amazon EC2 インスタンスのための ID を選択します。インスタンスが起動され、すべてのチェックが成功するまで先に進まないでください。

### CodeDeploy エージェントをインストールします
<a name="instances-ec2-create-console-agent"></a>

CodeDeploy エージェントは、CodeDeploy デプロイ中で使用する前に、Amazon EC2 インスタンス上にインストールする必要があります。詳細については、「[CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install.md)」を参照してください。

**注記**  
コンソールでデプロイグループを作成するときに、CodeDeploy エージェントの自動インストールと更新を設定できます。

## Amazon EC2 インスタンス (CLI) の起動
<a name="instances-ec2-create-cli"></a>

### 前提条件
<a name="instances-ec2-create-cli-prerequisites"></a>

まだ行っていない場合は、[CodeDeploy の開始方法](getting-started-codedeploy.md)「」の手順に従って をセットアップおよび設定 AWS CLI し、IAM インスタンスプロファイルを作成します。

### Amazon EC2 インスタンスの起動
<a name="instances-ec2-create-cli-steps"></a>

1. **For Windows Server only** Windows サーバーを実行している Amazon EC2 インスタンスを作成中の場合、**create-security-group** と **authorize-security-group-ingress** のコマンドを呼び出し、実行する インスタンスを作成する場合は、RDP アクセス (デフォルトでは許可されない)、または代わりに HTTP アクセスを許可するセキュリティグループを作成します。例えば、*CodeDeployDemo-Windows-Security-Group* という名前のセキュリティグループを作成するには、次のコマンドを 1 つずつ実行します。

   ```
   aws ec2 create-security-group --group-name CodeDeployDemo-Windows-Security-Group --description "For launching Windows Server images for use with CodeDeploy"
   ```

   ```
   aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 3389 --ip-protocol tcp --cidr-ip 0.0.0.0/0 --from-port 3389
   ```

   ```
   aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 80 --ip-protocol tcp --cidr-ip 0.0.0.0/0 --from-port 80
   ```
**注記**  
デモンストレーションのため、これらのコマンドは、ポート 3389 を経由して RDP に、またはポート 80 を経由して HTTP に無制限アクセスを許可するセキュリティグループを作成します。ベストプラクティスとして、SSH および HTTP ポートへのアクセスを制限することをお勧めします。CodeDeploy は、無制限のポートアクセスを必要とせず、HTTP アクセスを必要としません。詳細については、「[Amazon EC2 インスタンスの保護のヒント](https://aws.amazon.com/articles/1233)」を参照してください。

1. **run-instances** のコマンドを呼び出して、Amazon EC2 インスタンスを作成して起動します。

   このコマンドを呼び出す前に、以下を収集する必要があります。
   + インスタンスに使用する Amazon マシンイメージ (AMI) (*ami-id*) の ID。ID を取得するには、「[適切な AMI の検索](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)」を参照してください。
   + 例えば `t1.micro` のように、作成する Amazon EC2 インスタンス (*instance-type*) のタイプ名。リストについては、[Amazon EC2 instance types](https://aws.amazon.com/ec2/instance-types/) を参照してください。
   + リージョンのための CodeDeploy エージェントインスレーションファイルが保存されている Amazon S3 バケットへのアクセス許可を持つ IAM インスタンスプロファイルの名前。

     IAM インスタンスプロファイルの作成についての情報は、[ステップ 4: Amazon EC2 インスタンス用の IAM インスタンスプロファイルを作成する](getting-started-create-iam-instance-profile.md) を参照してください。
   + Amazon Linux、Ubuntu サーバー、または RHEL または RDP アクセスを実行している Amazon EC2 インスタンスへのSSH、あるいは Windows サーバーを実行している Amazon EC2 へRDP アクセスを可能とする Amazon EC2インスタンスキーの名前 (*key-name*)。
**重要**  
キーペアのファイル拡張子ではなく、キーペア名のみを入力します。例えば、*my-keypair.pem* ではなく、*my-keypair* です。

     キーペア名を見つけるには、[https://console.aws.amazon.com/ec2](https://console.aws.amazon.com/ec2) でAmazon EC2 コンソールを開きます。ナビゲーションペインの [**ネットワーク & セキュリティ**] の下で、[**キーペア**] を選択し、リストのキーペア名をメモします。

     新しいキーペアを生成するには、「[Amazon EC2 を使用してキーペアを作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair)」を参照してください。「*AWS 全般のリファレンス*」の「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」にリストされているリージョンの一つの中にキーペアを作成することを確かめてください。そうしないと、CodeDeploy を用いて Amazon EC2 インスタンスのキーペアを使用できなくなります。

   **Amazon Linux、RHEL、および Ubuntu Server 用**

   Amazon Linux, Ubuntu Server、あるいは RHEL を実行する Amazon EC2 インスタンスを開始するための **run-instances** のコマンドを呼び出し、[ステップ 4: Amazon EC2 インスタンス用の IAM インスタンスプロファイルを作成する](getting-started-create-iam-instance-profile.md) で作成した IAM インスタンスプロファイルをアタッチする方法。例: 。

   ```
   aws ec2 run-instances \
     --image-id ami-id \
     --key-name key-name \
     --count 1 \
     --instance-type instance-type \
     --iam-instance-profile Name=iam-instance-profile
   ```
**注記**  
このコマンドは、ポート 22 を経由した SSH の無制限のアクセス、または、ポート 80 を経由した HTTP など複数のポートへのアクセスを許可する Amazon EC2 インスタンスのデフォルトのセキュリティグループを作成します。ベストプラクティスとして、SSH および HTTP ポートへのアクセスを制限することをお勧めします。CodeDeploy は、無制限のポートアクセスを必要とせず、HTTP ポートアクセスを必要としません。詳細については、「[Amazon EC2 インスタンスの保護のヒント](https://aws.amazon.com/articles/1233)」を参照してください。

   **Windows Server の場合**

   **run-instances** のコマンドを呼び出して Windows サーバーを実行する Amazon EC2 インスタンスを起動し、[ステップ 4: Amazon EC2 インスタンス用の IAM インスタンスプロファイルを作成する](getting-started-create-iam-instance-profile.md) で作成した IAM インスタンスプロファイルをアタッチして、ステップ 1 で作成したセキュリティグループの名前を指定するには、例: 。

   ```
   aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile --security-groups CodeDeploy-Windows-Security-Group
   ```

   これらのコマンドは、指定された AMI、キーペア、およびインスタンスタイプ、指定された IAM インスタンスプロファイルを用いて単一の Amazon EC2 インスタンスプロファイルを起動し、起動時に指定されたスクリプトを実行します。

1. 出力の `InstanceID` の値を記録します。この値を忘れた場合は、Amazon EC2 インスタンスのキーペアに対する **describe-instances** のコマンドを呼び出すことで、後で取得できます。

   ```
   aws ec2 describe-instances --filters "Name=key-name,Values=keyName" --query "Reservations[*].Instances[*].[InstanceId]" --output text
   ```

   インスタンス ID を使用して **create-tags** のコマンドを呼び出します。このコマンドで Amazon EC2 インスタンスにタグが付けられ、後でデプロイ中に、CodeDeploy が見つけることができるようになります。次の例で、タグ名は **CodeDeployDemo** と名付けられていますが、希望する Amazon EC2 インスタンスタグを指定できます。

   ```
   aws ec2 create-tags --resources instance-id --tags Key=Name,Value=CodeDeployDemo
   ```

   複数のタグを同時にインスタンスに適用できます。例: 。

   ```
   aws ec2 create-tags --resources instance-id --tags Key=Name,Value=testInstance Key=Region,Value=West Key=Environment,Value=Beta
   ```

   Amazon EC2 インスタンスが起動され、すべてのチェックが成功したことを確認するには、**describe-instance-status** のコマンドを呼び出すためのインスタンス ID を使用します。

   ```
   aws ec2 describe-instance-status --instance-ids instance-id --query "InstanceStatuses[*].InstanceStatus.[Status]" --output text 
   ```

インスタンスが起動され、すべてのチェックが成功すると、`ok` が出力に表示されます。

### CodeDeploy エージェントをインストール
<a name="instances-ec2-create-console-agent"></a>

CodeDeploy エージェントは、CodeDeploy デプロイ中で使用する前に、Amazon EC2 インスタンス上にインストールする必要があります。詳細については、「[CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install.md)」を参照してください。

**注記**  
コンソールでデプロイグループを作成するときに、CodeDeploy エージェントの自動インストールと更新を設定できます。