ステップ 1: Auto Scaling グループを作成して設定します。 - AWS CodeDeploy

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

ステップ 1: Auto Scaling グループを作成して設定します。

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

Auto Scaling グループ (CLI) を作成して設定するには

  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/) を開きます。

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

    3. Choose an Amazon Machine Image ページの Quick Start タブ上で、Amazon Linux 2 AMIRed Hat Enterprise Linux 7.1Ubuntu Server 14.04 LTS、あるいは Microsoft Windows Server 2012 R2 の横にある AMI の ID をメモします。

      注記

      と互換性のあるカスタムバージョンの AMI がある場合は CodeDeploy、クイックスタートタブを参照するのではなく、ここで選択します。 CodeDeploy および Amazon EC2 Auto Scaling でカスタム AMI を使用する方法については、「」を参照してくださいおよび Amazon EC2 Auto Scaling での CodeDeployカスタム 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 インスタンスタイプに基づいて次のステップで作成されます。ImageIdIamInstanceProfileKeyName への入力に基づいて、起動テンプレートでは AMI ID、起動時にインスタンスに渡す IAM ロールに関連付けられたインスタンスプロファイルの名前、およびインスタンスへの接続時に使用する Amazon EC2 キーペアも指定します。

  2. create-auto-scaling-group のコマンドをを呼び出して、Auto Scaling グループを作成します。AWS 全般のリファレンスリージョンとエンドポイントに一覧表示されているリージョンの 1 つで、プレースホルダー availability-zone で表される、1 つのアベイラビリティーゾーンの名前が必要になります。

    注記

    リージョンでアベイラビリティーゾーンのリストを表示するには、以下を呼び出します。

    aws ec2 describe-availability-zones --region region-name

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

    aws ec2 describe-availability-zones --region us-west-2

    リージョン名識別子のリストについては、「リージョン別リソースキットバケット名」を参照してください。

    ローカル 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 エージェントをインストールするときに使用されます。

  3. 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 と表示されるまで続行しないでください。

  4. 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 *)"

    このコマンドは、Auto Scaling グループ内のすべてのインスタンスに CodeDeploy エージェントをインストールし、毎週日曜日の午前 2 時に更新を試みる関連付けを Systems Manager State Manager に作成します。 CodeDeploy エージェントの詳細については、 CodeDeploy 「 エージェントの使用」を参照してください。Systems Manager のさらなる詳細については、「AWS Systems Managerとは」 を参照してください。

Auto Scaling グループ (コンソール) を作成して設定するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. グローバルナビゲーションバーで、AWS 全般のリファレンスリージョンとエンドポイントで一覧表示されているリージョンのいずれかが選択されていることを確認してください。Amazon EC2 Auto Scaling リソースは、指定したリージョンに関連付けられており、一部のリージョンでのみサポート CodeDeploy されています。

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

  4. [起動テンプレートの作成] を選択します。

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

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

    1. AMI ドロップダウンの Quick Start 上で、次のどれかを選択します:Amazon Linux 2 AMIRed Hat Enterprise Linux 7.1Ubuntu Server 14.04 LTS、またはMicrosoft Windows Server 2012 R2

      注記

      と互換性のあるカスタムバージョンの AMI がある場合は CodeDeploy、クイックスタートタブを参照するのではなく、ここで選択します。 CodeDeploy および Amazon EC2 Auto Scaling でカスタム AMI を使用する方法については、「」を参照してくださいおよび Amazon EC2 Auto Scaling での CodeDeployカスタム AMI の使用

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

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

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

    Security groupsドロップダウンで、tutorial's prerequisites section (CodeDeployDemo-AS-SG)で作成したセキュリティグループを選択します。

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

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

  11. [起動テンプレートの作成] を選択します。

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

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

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

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

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

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

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

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

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

  21. タグの追加ページで、後で CodeDeploy エージェントをインストールするときに使用するタグを追加します。タグを追加 を選択します。

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

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

    [次へ] をクリックします。

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

  23. ナビゲーションバーで、選択された Auto Scaling Groups を用いて CodeDeployDemo-AS-Group を選択し、Instance Management タブを選びます。の値がライフサイクルInServiceに表示され、Healthy の値が Health Status 列に表示されるまでは続行しないでください。

  24. CodeDeploy 「 エージェントのインストール」の手順に従って、Name=CodeDeployDemoインスタンスタグを使用して CodeDeploy エージェントをインストールします。