

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

# CodeDeploy 用の Amazon EC2 インスタンスを作成する (CloudFormation テンプレート)
<a name="instances-ec2-create-cloudformation-template"></a>

 CloudFormation テンプレートを使用して、Amazon Linux または Windows Server を実行する Amazon EC2 インスタンスをすばやく起動できます。テンプレートを使用してインスタンスを起動するには AWS CLI、、CodeDeploy コンソール、または AWS APIs を使用できます。インスタンスを起動することに加えて、テンプレートでは以下を実行します。
+ CodeDeploy デプロイに参加するアクセス許可をインスタンスに付与 CloudFormation するように に指示します。
+ インスタンスにタグ付けして、CodeDeploy がデプロイ中に見つけられるようにします。
+ インスタンス上で CodeDeploy エージェントをインストールおよび実行します。

 CloudFormation を使用して Amazon EC2 インスタンスをセットアップする必要はありません。代替方法については、「[CodeDeploy のためにインスタンスを用いた操作](instances.md)」を参照してください。

Ubuntu Server または Red Hat Enterprise Linux (RHEL) を実行している Amazon EC2 インスタンス用の CloudFormation テンプレートは提供していません。

**Topics**
+ [[開始する前に]](#instances-ec2-create-cloudformation-template-before)
+ [CloudFormation テンプレートを使用して Amazon EC2 インスタンスを起動する (コンソール)](#instances-ec2-create-cloudformation-template-console)
+ [CloudFormation テンプレートを使用して Amazon EC2 インスタンスを起動する (AWS CLI)](#instances-ec2-create-cloudformation-template-cli)

## [開始する前に]
<a name="instances-ec2-create-cloudformation-template-before"></a>

 CloudFormation テンプレートを使用して Amazon EC2 インスタンスを起動する前に、次の手順を完了してください。

1. 「[ステップ 1: セットアップ](getting-started-setting-up.md)」の説明に従って管理ユーザーを作成したことを確認します。ユーザーに次の最小限の許可があることをもう一度確認し、存在しないものを追加します。
   + cloudformation:\$1
   + codedeploy:\$1
   + ec2:\$1
   + iam:AddRoleToInstanceProfile
   + iam:CreateInstanceProfile
   + iam:CreateRole
   + iam:DeleteInstanceProfile
   + iam:DeleteRole
   + iam:DeleteRolePolicy
   + iam:GetRole
   + iam:DeleteRolePolicy
   + iam:PutRolePolicy
   + iam:RemoveRoleFromInstanceProfile

1. Amazon Linux を実行する Amazon EC2 インスタンスへの SSH アクセス、または Windows Server を実行するインスタンスへの RDP アクセスを有効にするインスタンスのキーペアがあることを確認します。

   キーペア名を見つけるには、[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 を用いてインスタンスのキーペアを使用できなくなります。

## CloudFormation テンプレートを使用して Amazon EC2 インスタンスを起動する (コンソール)
<a name="instances-ec2-create-cloudformation-template-console"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。
**重要**  
で使用したのと同じアカウント AWS マネジメントコンソール で にサインインします[CodeDeploy の開始方法](getting-started-codedeploy.md)。ナビゲーションバーのリージョンセレクターで、「AWS 全般のリファレンス」**の「[リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)」に一覧表示されているいずれかのリージョンを選択します。CodeDeploy は、これらのリージョンでのみサポートされています。

1. **[Create Stack]** (スタックの作成) を選択します。

1. [**テンプレートの選択**] で、[**Amazon S3 テンプレート URL の指定**] を選択します。ボックスに、リージョンの CloudFormation テンプレートの場所を入力し、次**へ**を選択します。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/instances-ec2-create-cloudformation-template.html)

1. [**スタック名**] ボックスに、スタックの名前 (**CodeDeployDemoStack** など) を入力します

1. [**Parameters**] に以下を入力し、[**Next**] を選択します。
   + [**InstanceCount**] には、起動するインスタンスの数を入力します (デフォルトの **1** のままにしておくことをお勧めします)。
   + [**InstanceType**] には、起動するインスタンスタイプを入力します (またはデフォルトの **t1.micro** のままにします)。
   + [**KeyPairName**] のために、インスタンスのキーペア名をタイプします。キーペアのファイル拡張子ではなく、キーペア名のみを入力します。
   + **OperatingSystem** ボックスにのために、**Windows** をタイプし、Windows サーバーを実行するインスタンスを起動します (または **Linux** のデフォルトのままにします)。
   + [**SSHLocation**] には、SSH または RDP でインスタンスに接続するのに使用される IP アドレス範囲を入力します (またはデフォルトの **0.0.0.0/0** のままにします)。
**重要**  
**0.0.0.0/0** のデフォルトは、デモンストレーションのみを目的として提供されています。CodeDeploy では、Amazon EC2 インスタンスのポートへの無制限のアクセス権限を持つ必要はありません。ベストプラクティスとして、SSH (および HTTP) ポートへのアクセスを制限することをお勧めします。詳細については、「[Amazon EC2 インスタンスの保護のヒント](https://aws.amazon.com/articles/1233)」を参照してください。
   + **TagKey** のために、デプロイ中に CodeDeploy がインスタンスを特定するために使うインスタンスのタグキーをタイプします (または **Name** のデフォルトのままに)。
   + **TagValue** のために、CodeDeploy がデプロイ中にインスタンスを特定するために使用するインスタンスのタグ値をタイプします (または **CodeDeployDemo** のデフォルトのままに)。

1. [**Options**] ページで、オプションボックスは空白のまま残し、[**Next**] を選択します。
**重要**  
CloudFormation タグは CodeDeploy tags とは異なります。 はタグ CloudFormation を使用してインフラストラクチャの管理を簡素化します。CodeDeploy は、タグを使用して Amazon EC2 インスタンスを識別します。お客様は、**Specify Parameters** ページ上にCodeDeploy タクを指定しました。

1. **「レビュー**」ページの**「機能**」で、**IAM リソースを作成する CloudFormation 可能性がある「承認**」ボックスを選択し、**「作成**」を選択します。

    CloudFormation がスタックを作成し、Amazon EC2 インスタンスを起動すると、コンソール CloudFormation でステータス****列に **CREATE\$1COMPLETE** が表示されます。この処理には数分かかることもあります。

CodeDeploy エージェントが Amazon EC2 インスタンス上で実行されていることを確認するには、[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md) を参照して、[CodeDeploy でアプリケーションを作成する](applications-create.md) に進みます。

## CloudFormation テンプレートを使用して Amazon EC2 インスタンスを起動する (AWS CLI)
<a name="instances-ec2-create-cloudformation-template-cli"></a>

1. **create-stack** コマンドの呼び出しで CloudFormation テンプレートを使用します。このスタックは、インストールされた CodeDeploy エージェントを用いて新しい Amazon EC2 インスタンスを起動します。

   Amazon Linux を実行する Amazon EC2 インスタンスを起動するには:

   ```
   aws cloudformation create-stack \
     --stack-name CodeDeployDemoStack \
     --template-url templateURL \
     --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro \
       ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Linux \
       ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name \
       ParameterKey=TagValue,ParameterValue=CodeDeployDemo \
     --capabilities CAPABILITY_IAM
   ```

   Windows Server を実行中の Amazon EC2 インスタンスを起動するには 

   ```
   aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Windows ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name ParameterKey=TagValue,ParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM
   ```

   *keyName* は、インスタンスのキーペア名です。キーペアのファイル拡張子ではなく、キーペア名のみを入力します。

   *template-url* は、リージョンの CloudFormation テンプレートの場所です。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/instances-ec2-create-cloudformation-template.html)

   このコマンドは**CodeDeployDemoStack**、指定された Amazon S3 バケットの CloudFormation テンプレートを使用して、 という名前の CloudFormation スタックを作成します。 Amazon S3 Amazon EC2 インスタンスは、[t1.micro]インスタンスタイプに基づいていますが、任意のタイプを使用できます。このインスタンスは、**CodeDeployDemo** の値でタグ付けされていますが、任意の値でタグ付けできます。指定されたインスタンスのキーペアが適用されています。

1. **describe-stacks** コマンドを呼び出して、 という名前の CloudFormation スタック**CodeDeployDemoStack**が正常に作成されたことを確認します。

   ```
   aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query "Stacks[0].StackStatus" --output text
   ```

   `CREATE_COMPLETE` の値が返されるまで進まないでください。

CodeDeploy エージェントが Amazon EC2 インスタンス上で実行されていることを確認するには、[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md) を参照して、[CodeDeploy でアプリケーションを作成する](applications-create.md) に進みます。