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

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

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

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

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

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

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

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

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

開始する前に

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

  1. ステップ 1: セットアップ」の説明に従って管理ユーザーを作成したことを確認します。ユーザーに次の最小限の許可があることをもう一度確認し、存在しないものを追加します。

    • cloudformation:*

    • codedeploy:*

    • ec2:*

    • iam:AddRoleToInstanceProfile

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:DeleteInstanceProfile

    • iam:DeleteRole

    • iam:DeleteRolePolicy

    • iam:GetRole

    • iam:DeleteRolePolicy

    • iam:PutRolePolicy

    • iam:RemoveRoleFromInstanceProfile

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

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

    新しいキーペアを生成するには、「Amazon EC2 を使用してキーペアを作成する」を参照してください。「AWS 全般のリファレンス」の [リージョンエンドポイント] にリストされているリージョンの一つの中に、キーペアが作成されていることを確かめます。それ以外の場合、 でインスタンスキーペアを使用することはできません CodeDeploy。

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

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

    重要

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

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

  3. [テンプレートの選択] で、[Amazon S3 テンプレート 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
  4. [スタック名] ボックスに、スタックの名前 (CodeDeployDemoStack など) を入力します

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

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

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

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

    • OperatingSystem ボックスの場合は、「」と入力Windowsして、Windows Server を実行しているインスタンスを起動します (または、Linux のデフォルトのままにします)。

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

      重要

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

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

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

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

    重要

    AWS CloudFormation タグは CodeDeploy tags. AWS CloudFormation uses タグとは異なり、Infrastructures の管理を簡素化します。 CodeDeploy uses タグを使用して Amazon EC2 インスタンスを識別します。パラメータの指定 CodeDeployページでタグを指定しました。

  7. 「確認」ページの「機能」で、IAM リソースを作成する AWS CloudFormation 可能性のある「確認」ボックスを選択し、「 の作成」を選択します。

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

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

AWS CloudFormation テンプレートを使用して Amazon EC2 インスタンスを起動する (AWS CLI)

  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

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

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

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

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

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