CodeDeploy (CloudFormation テンプレート) のための Amazon EC2 インスタンスを作成します - AWS CodeDeploy

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

CodeDeploy (CloudFormation テンプレート) のための Amazon EC2 インスタンスを作成します

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

  • CodeDeploy デプロイに参加するためのインスタンス権限を付与するように、CloudFormation に指示します。

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

  • インスタンス上で CodeDeploy エージェントをインストールおよび実行します。

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

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

開始する前に

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

  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 を用いてインスタンスのキーペアを使用できなくなります。

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

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

    重要

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

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

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

    リージョン 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 サーバーを実行するインスタンスを起動します (または 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] を選択します。

    重要

    CloudFormation のタグは CodeDeploy タグとは異なります。CloudFormation はタグを使用して、インフラストラクチャの管理を簡略化します。CodeDeploy は、タグを使用して Amazon EC2 インスタンスを識別します。お客様は、Specify Parameters ページ上にCodeDeploy タクを指定しました。

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

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

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

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

  1. CloudFormation コマンドの呼び出しに create-stack テンプレートを使用します。このスタックは、インストールされた 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 は使用するリージョンの CloudFormation テンプレートの場所です。

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

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

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

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

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