

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

# ステップ 1: Auto Scaling グループを作成して設定します。
<a name="tutorials-auto-scaling-group-create-auto-scaling-group"></a>

このステップでは、単一の Amazon Linux、RHEL、または Windows サーバーの Amazon EC2 インスタンスを含む Auto Scaling グループを作成します。後のステップで、もう 1 つの Amazon EC2 インスタンスを追加するように Amazon EC2 Auto Scaling に指示し、CodeDeploy はそれにリビジョンをデプロイします。

**Topics**
+ [Auto Scaling グループ (CLI) を作成して設定するには](#tutorials-auto-scaling-group-create-auto-scaling-group-cli)
+ [Auto Scaling グループ (コンソール) を作成して設定するには](#tutorials-auto-scaling-group-create-auto-scaling-group-console)

## Auto Scaling グループ (CLI) を作成して設定するには
<a name="tutorials-auto-scaling-group-create-auto-scaling-group-cli"></a>

1. **create-launch-template** コマンドを呼び出して、Amazon EC2 起動テンプレートを作成します。

   このコマンドを呼び出す前に、プレースホルダー {{image-id}} で表される、このチュートリアルで使用する AMI の ID が必要です。プレースホルダー {{key-name}} で表される、 Amazon EC2 インスタンスへのアクセスを有効にする Amazon EC2 インスタンスのキーペアの名前も必要です。

   このチュートリアルで使用する AMI の ID を取得するには。

   1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

   1. ナビゲーションペインで、[**Instances**] の下にある、[**Instances**] を選択して、[**Launch Instance**] を選択します。

   1. **Choose an Amazon Machine Image** ページの **Quick Start** タブ上で、**Amazon Linux 2 AMI**、 **Red Hat Enterprise Linux 7.1**、**Ubuntu Server 14.04 LTS**、あるいは **Microsoft Windows Server 2012 R2** の横にある AMI の ID をメモします。
**注記**  
CodeDeploy と互換性がある AMI のカスタムバージョンの場合、**クイックスタート** タブを参照する代わりに、ここでそれを選択します。CodeDeploy および Amazon EC2 Auto Scaling でカスタム AMI を使用することについての詳細については、[CodeDeploy と Amazon EC2 Auto Scaling でのカスタム AMI の使用](integrations-aws-auto-scaling.md#integrations-aws-auto-scaling-custom-ami) を参照してください。

   Amazon EC2 インスタンスのキーペアについては、Amazon EC2 インスタンスのキーペアの名前を使用します。

   **create-launch-template** コマンドを呼び出します。

   ローカル Linux、macOS、あるいは Unix マシンについて

   ```
   aws ec2 create-launch-template \
     --launch-template-name CodeDeployDemo-AS-Launch-Template \
     --launch-template-data file://config.json
   ```

   `config.json` ファイルのコンテンツ:

   ```
   { 
     "InstanceType":"t1.micro",
     "ImageId":"image-id",
     "IamInstanceProfile":{
       "Name":"CodeDeployDemo-EC2-Instance-Profile"
     },
     "KeyName":"key-name"
   }
   ```

   ローカル Windows マシンの場合

   ```
   aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data file://config.json
   ```

   `config.json` ファイルのコンテンツ:

   ```
   { 
     "InstanceType":"t1.micro",
     "ImageId":"image-id",
     "IamInstanceProfile":{
       "Name":"CodeDeployDemo-EC2-Instance-Profile"
     },
     "KeyName":"key-name"
   }
   ```

   これらのコマンドは、`config.json` ファイルとともに、Auto Scaling グループ用の CodeDeployDemo-as-Launch-Template という名前の Amazon EC2 起動テンプレートを作成します。このテンプレートは、t1.micro Amazon EC2 インスタンスタイプに基づいて次のステップで作成されます。`ImageId`、`IamInstanceProfile`、`KeyName` への入力に基づいて、起動テンプレートでは AMI ID、起動時にインスタンスに渡す IAM ロールに関連付けられたインスタンスプロファイルの名前、およびインスタンスへの接続時に使用する Amazon EC2 キーペアも指定します。

1.  **create-auto-scaling-group** のコマンドをを呼び出して、Auto Scaling グループを作成します。*AWS 全般のリファレンス* の[リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)に一覧表示されているリージョンの 1 つで、プレースホルダー {{availability-zone}} で表される、1 つのアベイラビリティーゾーンの名前が必要になります。
**注記**  
リージョンでアベイラビリティーゾーンのリストを表示するには、以下を呼び出します。  

   ```
   aws ec2 describe-availability-zones --region {{region-name}}
   ```
例えば、米国西部 (オレゴン) リージョンのアベイラビリティーゾーンのリストを表示するには、次のように呼び出します。  

   ```
   aws ec2 describe-availability-zones --region us-west-2
   ```
リージョン名識別子のリストについては、「[リージョン別リソースキットバケット名](resource-kit.md#resource-kit-bucket-names)」を参照してください。

   ローカル Linux、macOS、Unix マシンについて

   ```
   aws autoscaling create-auto-scaling-group \
     --auto-scaling-group-name CodeDeployDemo-AS-Group \
     --launch-template CodeDeployDemo-AS-Launch-Template,Version='$Latest' \
     --min-size 1 \
     --max-size 1 \
     --desired-capacity 1 \
     --availability-zones {{availability-zone}} \
     --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true
   ```

   ローカル Windows マシンの場合

   ```
   aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template LaunchTemplateName=CodeDeployDemo-AS-Launch-Template,Version="$Latest" --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones {{availability-zone}} --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true
   ```

   これらのコマンドは、**CodeDeployDemo-AS-Group** という名前の Amazon EC2 起動テンプレートに基づいた **CodeDeployDemo-AS-Launch-Template** という名前の Auto Scaling グループを作成します。この Auto Scaling グループには Amazon EC2 インスタンスが 1 つだけあり、指定したアベイラビリティーゾーンに作成されます。この Auto Scaling グループ内の各インスタンスには、タグ `Name=CodeDeployDemo` があります。このタグは、後で CodeDeploy エージェントをインストールするときに使用されます。

1. **CodeDeployDemo-AS-Group** に対して **describe-auto-scaling-groups** コマンドを呼び出します。

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query "AutoScalingGroups[0].Instances[*].[HealthStatus, LifecycleState]" --output text
   ```

   戻り値に、`Healthy` および `InService` と表示されるまで続行しないでください。

1.  Auto Scaling グループ中のインスタンスには、CodeDeploy デプロイで使用されるためにインストールされている CodeDeploy エージェントがある必要があります。Auto Scaling グループの作成時に追加されたタグ AWS Systems Manager を使用して、 から **create-association** コマンドを呼び出して CodeDeploy エージェントをインストールします。

   ```
   aws ssm create-association \
     --name AWS-ConfigureAWSPackage \
     --targets Key=tag:Name,Values=CodeDeployDemo \
      --parameters action=Install, name=AWSCodeDeployAgent \
     --schedule-expression "cron(0 2 ? * SUN *)"
   ```

   このコマンドは、Systems Manager ステートマネージャーで関連付けを作成します。これは、Auto Scaling グループのすべてのインスタンスに CodeDeploy エージェントをインストールし、毎週日曜日の午前 2 時に更新を試みます。CodeDeploy エージェントの詳細については、「[CodeDeploy エージェントの使用](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent.html)」を参照してください。Systems Manager のさらなる詳細については、「[AWS Systems Managerとは](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)」 を参照してください。

## Auto Scaling グループ (コンソール) を作成して設定するには
<a name="tutorials-auto-scaling-group-create-auto-scaling-group-console"></a>

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. グローバルナビゲーションバーで、*AWS 全般のリファレンス* の[リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)で一覧表示されているリージョンのいずれかが選択されていることを確認してください。Amazon EC2 Auto Scaling リソースは、指定したリージョンに関連付けられ、CodeDeploy は選択されたリージョンでのみサポートされます。

1. ナビゲーションペインで、[**インスタンス**] の [**テンプレートの起動**] を選択します。

1. [**起動テンプレートの作成**] を選択してください。

1. **Launch template name and description** ダイアログで、**Launch template name** に **CodeDeployDemo-AS-Launch-Template** を入力します。他のフィールドはデフォルトのためのデフォルトをそのままにします。

1. **Amazon machine image (AMI)** ダイアログで、**AMI** の下にあるドロップダウンをクリックし、このチュートリアルで使用する AMI を選択します。

   1. **AMI** ドロップダウンの **Quick Start** 上で、次のどれかを選択します：**Amazon Linux 2 AMI**、**Red Hat Enterprise Linux 7.1**、**Ubuntu Server 14.04 LTS**、または**Microsoft Windows Server 2012 R2** 
**注記**  
CodeDeploy と互換性がある AMI のカスタムバージョンの場合、**クイックスタート** タブを参照する代わりに、ここでそれを選択します。CodeDeploy および Amazon EC2 Auto Scaling でカスタム AMI を使用する方法についての詳細は、[CodeDeploy と Amazon EC2 Auto Scaling でのカスタム AMI の使用](integrations-aws-auto-scaling.md#integrations-aws-auto-scaling-custom-ami) を参照してください。

1. **Instance type** で、ドロップダウンを選択し、**t1.micro** を選択します。検索バーを使用すると、よりすばやく検索できます。

1. **Key pair (login)** ダイアログボックスで、[**Choose an existing key pair** を選択します。[**キーペアの選択**] のドロップダウンリストで、前のステップで作成した Amazon EC2 インスタンスのキーペアを選択します。

1. **Network settings** ダイアログボックスで、[**Virtual Public Cloud (VPC)** を選択します。

   **Security groups**ドロップダウンで、[tutorial's prerequisites section](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorials-auto-scaling-group-prerequisites.html) (**CodeDeployDemo-AS-SG**)で作成したセキュリティグループを選択します。

1. **Advanced details** ダイアログボックスを展開します。**IAM instance profile** ドロップダウンで、**IAM instance profile** の下で以前の (**CodeDeployDemo-EC2-Instance-Profile**) を作成した IAM ロールを選択します。

   デフォルトの残りはそのままにしておきます。

1. [**起動テンプレートの作成**] を選択してください。

1. **Next steps** ダイアログボックスで、[**Create Auto Scaling group** を選択します。

1. **Choose launch template or configuration (起動テンプレートまたは設定の選択)** ページで、**Auto Scaling group name** を **CodeDeployDemo-AS-Group** に入力します。

1. **起動テンプレート**ダイアログボックスで、起動テンプレート (**CodeDeployDemo-AS-Launch-Template**) を入力する必要があります。そうでない場合は、ドロップダウンメニューから、それを選択します。デフォルトのままにして、**Next** を選択します。

1. [**ネットワーク**] セクションの下にある [**インスタンス起動オプションを選択**] ページで、[**VPC**] はデフォルト VPC を選択します。次に、**アベイラビリティーゾーンとサブネット**にはデフォルトサブネットを選択します。デフォルトを選択できない場合は、VPC を作成する必要があります。Amazon S3 の詳細については、[Amazon VPC の開始方法](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) を参照してください。

1. **[Instance type requirements]** (インスタンスタイプの要件) セクションでは、このステップを簡略化するためにデフォルト設定を使用します。(起動テンプレートを上書きしないでください。) このチュートリアルでは、起動テンプレートで指定されたインスタンスタイプを使用して、オンデマンドインスタンスのみを起動します。

1. **Next** を選択して **Configure advanced options** ページに行きます。

1. デフォルト値をそのまま保ち、**Next** を選択します。

1. **Configure group size and scaling policies** ページで、1 のデフォルトの **Group size** の値をそのままにします。[**次へ**] を選択します。

1. 通知の設定の手順をスキップし、**Next** を選択します。

1. **Add tags** ページ上で、後で CodeDeploy エージェントをインストールするときに使用するタグを追加します。**[タグを追加]** を選択します。

   1. **[Key]** (キー) に、「**Name**」と入力します。

   1. **[値]** には「**CodeDeployDemo**」と入力します。

   [**次へ**] を選択します。

1. **Review** ページで上の Auto Scaling グループの情報を確認し、**Create Auto Scaling group** を選択します。

1. ナビゲーションバーで、選択された **Auto Scaling Groups** を用いて **CodeDeployDemo-AS-Group** を選択し、**Instance Management** タブを選びます。**[Lifecycle]** 列に **[InService]** の値が表示されて、**[Health Status]** 列に、**[Healthy]** の値が表示されるまで進まないでください。

1. CodeDeploy エージェントをインストールするには、「[CodeDeploy エージェントのインストール](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html)」のステップに従い、`Name=CodeDeployDemo` インスタンスタグを使用します。