CodeDeploy で動作するように Amazon EC2 インスタンスを設定します。 - AWS CodeDeploy

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

CodeDeploy で動作するように Amazon EC2 インスタンスを設定します。

以下の手順では、Amazon Linux、Ubuntu サーバー、Red Hat エンタープライズ Linux (RHEL)、または Windows サーバーを実行して、CodeDeploy デプロイで使用する Amazon EC2 インスタンスを構成する方法について説明します。

注記

Amazon EC2 インスタンスを持っていない場合は、AWS CloudFormationAmazon LinuxまたはWindows Serverを実行しているものを起動するためのテンプレートです。Ubuntu Server または RHEL 用のテンプレートは提供されていません。

ステップ 1: IAM インスタンスプロファイルが Amazon EC2 インスタンスにアタッチされていることを確認する

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

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

  3. 一覧で Amazon EC2 インスタンスを参照して選択します。

  4. 詳細ペインの [] ペインの説明[] タブで、[] の値を書き留めます。IAM ロール] フィールドを選択し、次のセクションに進みます。

    フィールドが空の場合は、IAM インスタンスプロファイルをインスタンスにアタッチすることができます。詳細については、 を参照してください。インスタンスへの IAM ロールのアタッチ

ステップ 2: アタッチされた IAM インスタンスプロファイルに正しいアクセス権限があることを確認します

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

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. 前のセクションの手順 4 で書き留めた IAM ロールの名前を参照して選択します。

    注記

    ステップ 2: CodeDeploy のサービスロールの作成」の手順に従って作成したサービスロールの代わりに AWS CloudFormation テンプレートにより生成されたサービスロールを使用する場合、次の点に注意してください。

    私たちのいくつかのバージョンではAWS CloudFormationテンプレートの場合、生成され Amazon EC2 インスタンスにアタッチされた IAM インスタンスプロファイルの表示名は、IAM コンソールの表示名と同じではありません。たとえば、IAM インスタンスプロファイルの表示名がCodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX] というエントリがありますが、IAM コンソールの IAM インスタンスプロファイルの表示名は「」になります。CodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX

    IAM コンソールでインスタンスプロファイルを特定するには、のプレフィックスが表示されます。CodeDeploySampleStack-expnyi6-InstanceRoleはどちらでも同じです。これらの表示名が異なる理由に関する詳細については、「」を参照してください。インスタンスプロファイル

  4. [Trust Relationships] タブを選択します。にエントリーがない場合信頼されたエンティティと読みます。[s] アイデンティティプロバイダー ec2.amazonaws.com] というエントリがない場合は、この Amazon EC2 インスタンスを使用できません。停止して、の情報を使用して、Amazon EC2 インスタンスを作成します。CodeDeploy のインスタンスの操作

    [] というエントリがある場合[s] アイデンティティプロバイダー ec2.amazonaws.com] というエントリがあり、GitHub リポジトリにのみアプリケーションを保存している場合は、次に「」までスキップします。ステップ 3: Amazon EC2 インスタンスのタグ付け

    [] というエントリがある場合[s] アイデンティティプロバイダー ec2.amazonaws.com] というエントリがあり、Amazon S3 バケットにアプリケーションを保存する場合は、アクセス許可[] タブ。

  5. [Permissions policies (アクセス権限ポリシー)] エリアにポリシーがある場合は、ポリシー名を選択してから [Edit policy (ポリシーの編集)] を選択します。

  6. [JSON] タブを選択します。Amazon S3 バケットにアプリケーションを保存する場合は、"s3:Get*"および"s3:List*"は、指定されたアクションのリストにあります。

    次のように表示されます。

    {"Statement":[{"Resource":"*","Action":[ ... Some actions may already be listed here ... "s3:Get*","s3:List*" ... Some more actions may already be listed here ... ],"Effect":"Allow"}]}

    または、次のように表示されます。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ ... Some actions may already be listed here ... "s3:Get*", "s3:List*" ... Some more actions may already be listed here ... ], ... } ] }

    If "s3:Get*" および "s3:List*" が指定されたアクションのリストにない場合、[Edit] を選択して、それらを追加し、[Save] を選択します。("s3:Get*" または "s3:List*" のどちらかがリストの最後のアクションである場合、必ずアクションの後にコンマを追加して、ポリシードキュメントが検証するようにします。)

    注記

    このポリシーを、Amazon EC2 インスタンスがアクセスする必要のあるこれらの Amazon S3 バケットにのみ制限することをお勧めします。CodeDeploy エージェントを含む Amazon S3 バケットへのアクセスを必ず許可してください。そうしない場合、CodeDeploy エージェントがインスタンスにインストールされる、または更新されるときに、エラーが発生する可能性があります。Amazon S3 の一部の CodeDeploy リソースキットバケットにのみアクセスする権限を IAM インスタンスプロファイルに割り当てるには、以下のポリシーを使用し、アクセスを除外するバケットの行を削除します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::replace-with-your-s3-bucket-name/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }

ステップ 3: Amazon EC2 インスタンスのタグ付け

Amazon EC2 インスタンスをCodeDeploy 中に見つけられるように Amazon EC2 インスタンスをタグ付けする方法に関する詳細について、「」を参照してください。コンソールでのタグの使用] をクリックし、このページに戻ります。

注記

任意のキーおよび値を使用して、Amazon EC2 インスタンスをタグ付けできます。インスタンスにデプロイするとき、必ずこのキーと値を指定してください。

ステップ 4: のインストールAWS CodeDeployAmazon EC2 インスタンスのエージェント

CodeDeploy エージェントを Amazon EC2 インスタンスにインストールして、動作していることを確認する方法に関する詳細について、「」を参照してください。CodeDeploy エージェントのオペレーションの管理[] を選択してから、[] に進みます。CodeDeploy を使用したアプリケーションの作成