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

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

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

このステップでは、単一の Amazon Linux、RHEL、または Windows サーバーの Amazon EC2 インスタンスを含む Auto Scaling グループを作成します。後のステップで、もう 1 つの Amazon EC2 インスタンスを追加するように Amazon EC2 Auto Scaling に指示し、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 をメモします。

      注記

      CodeDeploy と互換性がある AMI のカスタムバージョンの場合、クイックスタート タブを参照する代わりに、ここでそれを選択します。CodeDeploy および Amazon EC2 Auto Scaling でカスタム AMI を使用することについての詳細については、CodeDeploy と Amazon EC2 Auto Scaling でのカスタム 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 *)"

    このコマンドは、Systems Manager ステートマネージャーで関連付けを作成します。これは、Auto Scaling グループのすべてのインスタンスに CodeDeploy エージェントをインストールし、毎週日曜日の午前 2 時に更新を試みます。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

      注記

      CodeDeploy と互換性がある AMI のカスタムバージョンの場合、クイックスタート タブを参照する代わりに、ここでそれを選択します。CodeDeploy および Amazon EC2 Auto Scaling でカスタム AMI を使用する方法についての詳細は、CodeDeploy と Amazon EC2 Auto Scaling でのカスタム 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 の値をそのままにします。[Next (次へ)] を選択します。

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

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

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

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

    [Next (次へ)] を選択します。

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

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

  24. CodeDeploy エージェントをインストールするには、「CodeDeploy エージェントのインストール」のステップに従い、Name=CodeDeployDemo インスタンスタグを使用します。