CodeDeploy (AWS CloudFormationテンプレート) 用の Amazon EC2 インスタンスを作成する - AWS CodeDeploy

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

CodeDeploy (AWS CloudFormationテンプレート) 用の Amazon EC2 インスタンスを作成する

AWS CloudFormation のテンプレートを使用して、Amazon Linux あるいは Windows Server を実行する Amazon EC2 インスタンスをすばやく起動できます。、 CodeDeploy コンソールAWS CLI、または AWS API を使用して、テンプレートを使用してインスタンスを起動できます。インスタンスを起動することに加えて、テンプレートでは以下を実行します。

  • CodeDeploy デプロイに参加するアクセス権限をインスタンスに付与するよう AWS CloudFormation に指示します。

  • CodeDeploy デプロイ中に見つけられるようにインスタンスにタグを付けます。

  • CodeDeploy インスタンスにエージェントをインストールして実行します。

Amazon EC2 インスタンスの設定に AWS CloudFormation を使用する必要はありません。代替方法については、「のインスタンスの操作 CodeDeploy」を参照してください。

Ubuntu サーバーまたは Red Hat Enterprise Linux (RHEL) を実行する Amazon EC2 インスタンスのための AWS CloudFormation のテンプレートは提供されません。

開始する前に

Amazon EC2 インスタンスを起動するための AWS CloudFormation のテンプレートを使用する前に、次のステップを完了していることを確認してください。

  1. ステップ 1: セットアップで説明されているように、管理ユーザーを作成したことを確認してください。そのユーザーが以下の最低限の権限を持っていることを再確認し、存在しない権限があれば追加してください。

    • cloudformation:*

    • codedeploy:*

    • ec2:*

    • iam: AddRoleToInstanceProfile

    • リアム:CreateInstanceProfile

    • リアム:CreateRole

    • リアム:DeleteInstanceProfile

    • リアム:DeleteRole

    • リアム:DeleteRolePolicy

    • リアム:GetRole

    • リアム:DeleteRolePolicy

    • リアム:PutRolePolicy

    • リアム:RemoveRoleFromInstanceProfile

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

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

    新しいキーペアを生成するには、「Amazon EC2 を使用してキーペアを作成する」を参照してください。key pair は、「リージョンとエンドポイント」に記載されているリージョンのいずれかで作成されていることを確認してください。AWS 全般のリファレンスそれ以外の場合、 CodeDeploy でインスタンスのキーペアを使用できなくなります。

AWS CloudFormation の テンプレート (コンソール)を用いて、Amazon EC2 インスタンスを起動します

  1. AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

    重要

    CodeDeploy の開始方法」 で使用したのと同じアカウントで AWS Management Console にサインインします。ナビゲーションバーのリージョンセレクターで、「リージョン」と「エンドポイント」に表示されているリージョンのいずれかを選択します。AWS 全般のリファレンス CodeDeploy これらのリージョンのみをサポートします。

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

  3. [テンプレートの選択] で、[Amazon S3 テンプレート URL の指定] を選択します。ボックスに、使用するリージョンの AWS CloudFormation テンプレートの場所を入力し、[Next (次へ)] を選択します。

    リージョン AWS CloudFormation のテンプレートの場所
    米国東部 (オハイオ) リージョン http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    米国東部(バージニア州北部) リージョン http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    US West (N. California) Region http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    米国西部 (オレゴン) リージョン http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    カナダ (中部) リージョン http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州 (アイルランド) リージョン http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州 (ロンドン) リージョン http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州(パリ)リージョン http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州(フランクフルト)リージョン http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    イスラエル (テルアビブ) リージョン http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (香港) リージョン http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Seoul) Region http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (シンガポール) リージョン http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (シドニー) リージョン http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (メルボルン) リージョン https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (ムンバイ) リージョン http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    南米 (サンパウロ) リージョン aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
  4. [スタック名] ボックスに、スタックの名前 (CodeDeployDemoStack など) を入力します

  5. [Parameters] に以下を入力し、[Next] を選択します。

    • にはInstanceCount、起動するインスタンスの数を入力します。(デフォルトの 1 のままにしておくことをお勧めします)。

    • にはInstanceType、起動するインスタンスタイプを入力します (または、デフォルトの t1.micro のままにします)。

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

    • OperatingSystembox には、「Windows Server」Windows を実行しているインスタンスを起動するように入力します (または、デフォルトの Linux のままにします)。

    • [SSHLocation] には、SSH または RDP でインスタンスに接続するのに使用される IP アドレス範囲を入力します (またはデフォルトの 0.0.0.0/0 のままにします)。

      重要

      0.0.0.0/0デフォルトはデモンストレーションのみを目的としています。 CodeDeploy Amazon EC2 インスタンスがポートに無制限にアクセスする必要はありません。ベストプラクティスとして、SSH (および HTTP) ポートへのアクセスを制限することをお勧めします。詳細については、「Amazon EC2 インスタンスの保護のヒント」を参照してください。

    • にはTagKey、 CodeDeploy デプロイ時にインスタンスを識別するために使用するインスタンスタグキーを入力します (または、デフォルトの [Name] のままにします)。

    • にはTagValue、 CodeDeploy デプロイ時にインスタンスを識別するために使用するインスタンスタグ値を入力します (または、デフォルトはのままにします CodeDeployDemo)。

  6. [Options] ページで、オプションボックスは空白のまま残し、[Next] を選択します。

    重要

    AWS CloudFormation CodeDeploy タグはタグとは異なります。 AWS CloudFormationタグを使用してインフラストラクチャの管理を簡素化します。 CodeDeploy タグを使用して Amazon EC2 インスタンスを識別します。[パラメータの指定] CodeDeploy ページでタグを指定しました

  7. [レビュー] ページの [機能] セクションで、[AWS CloudFormation によってカスタム名のついた IAM リソースが作成される場合があることを承認します] ボックスをオンにし、[作成] を選択します。

    AWS CloudFormation がスタックを作成し、Amazon EC2 インスタンスを起動した後、AWS CloudFormation のコンソールの中に、Status 列中に CREATE_COMPLETE が表示されます。この処理には数分かかることもあります。

Amazon EC2 CodeDeploy インスタンス上でエージェントが実行されていることを確認するには CodeDeploy エージェントオペレーションの管理、を参照してからに進んでくださいでアプリケーションを作成する CodeDeploy

AWS CloudFormation のテンプレート (AWS CLI) を用いて、Amazon EC2 インスタンスを起動します

  1. create-stack コマンドの呼び出しに AWS 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 は使用するリージョンの AWS CloudFormation テンプレートの場所です。

    リージョン AWS CloudFormation のテンプレートの場所
    米国東部 (オハイオ) リージョン http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    米国東部(バージニア州北部) リージョン http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    US West (N. California) Region http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    米国西部 (オレゴン) リージョン http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    カナダ (中部) リージョン http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州 (アイルランド) リージョン http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州 (ロンドン) リージョン http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州(パリ)リージョン http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    欧州(フランクフルト)リージョン http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    イスラエル (テルアビブ) リージョン http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (香港) リージョン http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Seoul) Region http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (シンガポール) リージョン http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (シドニー) リージョン http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (メルボルン) リージョン https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    アジアパシフィック (ムンバイ) リージョン http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    南米 (サンパウロ) リージョン aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json

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

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

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

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

Amazon EC2 CodeDeploy インスタンス上でエージェントが実行されていることを確認するには CodeDeploy エージェントオペレーションの管理、を参照してからに進みますでアプリケーションを作成する CodeDeploy