Amazon EC2 インスタンスを設定して、CodeDeploy を使用します。 - AWS CodeDeploy

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

Amazon EC2 インスタンスを設定して、CodeDeploy を使用します。

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

注記

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

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

  1. AWS マネジメントコンソールにサインインし、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 ロールの名前を参照して選択します。

    注記

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

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

    IAM コンソールでインスタンスプロファイルを特定するには、CodeDeploySampleStack-expnyi6-InstanceRole両方で同じです。これらの表示名が異なる理由に関する詳細については、」インスタンスプロファイル

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

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

    [] というエントリがある場合[ID プロバイダー (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 エージェントがインスタンスにインストールされる、または更新されるときに、エラーが発生する可能性があります。IAM インスタンスプロファイルに 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 インスタンスにタグを付ける

CodeDeploy がデプロイ中に見つけられるように Amazon EC2 インスタンスにタグを付ける手順については、コンソールでのタグの操作] をクリックして、このページに戻ってください。

注記

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

ステップ 4: Amazon EC2 インスタンスに AWS CodeDeploy エージェントをインストールする

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