register コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。 - AWS CodeDeploy

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

register コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。

このセクションでは、最低限の労力でオンプレミスインスタンスをで設定してタグ付けする方法を説明します。register コマンドは、単一の、または少数のオンプレミスインスタンスを処理する際に最も有用です。♪registerコマンドは、インスタンスを認証するために IAM ユーザー ARN を使用している場合のみです。使用することはできません。registerコマンドは、認証用の IAM セッション ARN を指定します。

使用する場合registerコマンドを使用すると、CodeDeploy で次のことを実行できます。

  • で IAM ユーザーを作成します。AWS Identity and Access Managementオンプレミスインスタンスの場合、コマンドで指定しない場合。

  • IAM ユーザーの認証情報をオンプレミスインスタンスの設定ファイルに保存します。

  • オンプレミスインスタンスを CodeDeploy で登録します。

  • コマンドの一部にタグを指定した場合、オンプレミスインスタンスにタグを追加します。

注記

-オンプレミスインスタンスの登録コマンドは、登録しますコマンド。使用するにはregister-on-premises-instanceを使ったオンプレミスインスタンスの設定、登録、タグ付けをほとんど自分で行いたい場合は、コマンドを使用します。-register-on-premises-instanceコマンドは、IAM ユーザー ARN の代わりに、IAM セッション ARN を使用してインスタンスを登録するオプションも提供します。このアプローチは、大量のオンプレミスインスタンスがある場合、大きな利点となります。具体的には、各オンプレミスインスタンスに IAM ユーザーを1つずつ作成しなくても、単一の IAM セッション ARN を使用して複数のインスタンスを認証できます。詳細については、「register-premises-instance コマンド (IAM ユーザー ARN) を使用してオンプレミスインスタンスを登録します。」および「register-on-premises-instance コマンド (IAM セッション ARN) を使用してオンプレミスインスタンスを登録します。」を参照してください。

ステップ 1: のインストールと設定AWS CLIオンプレミスインスタンスで

  1. オンプレミスインスタンスに AWS CLI をインストールします。「」の指示に従って、のセットアップAWS CLIAWS Command Line Interfaceユーザーガイド

    注記

    オンプレミスインスタンスを操作するための CodeDeploy コマンドは、で利用できます。AWS CLIバージョン1.7.19 およびそれ以降。AWS CLI がすでにインストールしてある場合は、aws --version を呼び出してバージョンをチェックします。

  2. オンプレミスインスタンスに AWS CLI を設定します。「」の指示に従って、設定:AWS CLIAWS Command Line Interfaceユーザーガイド

    重要

    を設定すると、AWS CLI(例えば、aws configureコマンド) を指定した場合、少なくとも「以下を含む」を持つ IAM ユーザーのシークレットキー ID とシークレットアクセスキーを必ず指定します。AWSで指定したアクセス権限に加えて、アクセス許可オンプレミスインスタンスを設定するための前提条件。これにより、オンプレミスインスタンスに CodeDeploy エージェントをダウンロードしてインストールすることができます。アクセス権限は次のようになります。

    { "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*", "iam:CreateAccessKey", "iam:CreateUser", "iam:DeleteAccessKey", "iam:DeleteUser", "iam:DeleteUserPolicy", "iam:ListAccessKeys", "iam:ListUserPolicies", "iam:PutUserPolicy", "iam:GetUser", "tag:getTagKeys", "tag:getTagValues", "tag:GetResources" ], "Resource" : "*" }, { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : [ "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/*" ] } ] }

ステップ 2: register コマンドを呼び出します

このステップでは、オンプレミスインスタンス自体からオンプレミスインスタンスを登録していることを想定します。前のステップでの説明のとおり、AWS CLI がインストールされ設定された別のデバイスやインスタンスから、オンプレミスインスタンスを登録することもできます。

を使用するAWS CLIはを呼び出します登録しますコマンド、以下を指定します。

  • CodeDeploy に対してオンプレミスインスタンスを一意に識別する名前 (--instance-nameオプション)。

    重要

    後でオンプレミスインスタンスを識別するために、特にデバッグのため、オンプレミスインスタンスの一意な特徴を示す名前 (たとえば、もしあれば、シリアルナンバーや一意の内部アセット識別子など) を使用することを強くお勧めします。名前に MAC アドレスを指定した場合、MAC アドレスにはコロン () などがCodeDeploy では許可しない文字が含まれることに注意してください。:). 許可された文字の一覧については、「CodeDeploy」を参照してください。

  • 必要に応じて、このオンプレミスインスタンスと関連付ける既存の IAM ユーザーの ARN (--iam-user-arnオプション)。IAM ユーザーの ARN を取得するには、get-userコマンド、または、で IAM ユーザー名を選択します。ユーザーIAM コンソールのセクションを開き、ユーザー ARN内の値概要セクションに追加します。このオプションを指定しない場合、CodeDeploy はに代わって IAM ユーザーを作成します。AWSアカウントを作成し、オンプレミスインスタンスと関連付けます。

    重要

    --iam-user-arn オプションを指定する場合は、「ステップ 4: オンプレミスインスタンスに設定ファイルを追加します。」の説明にあるとおり、オンプレミスインスタンスの設定ファイルを手動で作成することも必要です。

    1 つのオンプレミスインスタンスのみに対し、IAM ユーザーを 1 人だけ関連付けることができます。複数のオンプレミスインスタンスに 1 つの IAM ユーザーを関連付けようとすると、エラー、オンプレミスインスタンスへのデプロイの失敗、またはオンプレミスインスタンスへのデプロイが無期限の保留状態のままとなります。

  • 必要に応じて、オンプレミスインスタンスタグのセット (--tagsオプション)。CodeDeploy がデプロイ先の Amazon EC2 インスタンスのセットを識別するために CodeDeploy で使用するもの)。各タグを Key=tag-key,Value=tag-value で指定します (例: Key=Name,Value=Beta Key=Name,Value=WestRegion)。このオプションを指定しない場合、タグは登録されません。後でタグを登録するには、オンプレミスインスタンスへのタグの追加コマンド。

  • オプションで、AWSオンプレミスインスタンスが CodeDeploy で登録されるリージョン (--regionオプション)。これは、に記載されているサポート対象のリージョンの 1 つである必要があるリージョンとエンドポイントAWS全般のリファレンス(たとえば、us-west-2). このオプションを指定しない場合、デフォルトはです。AWSIAM ユーザーを呼び出したリージョンが使用されます。

以下はその例です。

aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2

register コマンドは次のことを行います。

  1. 既存の IAM ユーザーを指定しない場合、は IAM ユーザーを作成して必要なアクセス権限を付与し、対応するシークレットキーおよびシークレットアクセスキーを生成します。オンプレミスインスタンスは、この IAM ユーザーとそのアクセス権限および認証情報を使用してCodeDeploy の認証および操作を行います。

  2. オンプレミスインスタンスを CodeDeploy で登録します。

  3. 指定されている場合には、CodeDeploy で指定したタグを関連付けます。--tagsオプションでオンプレミスインスタンス名を登録しました。

  4. IAM ユーザーを作成した場合、は、の元のディレクトリに必要な設定ファイルも作成します。registerコマンドが呼び出されました。

このコマンドでエラーが発生した場合、エラーメッセージが表示され、手動で残りのステップを完了する方法について説明します。そうでない場合は、成功メッセージが表示され、次のステップに示すとおり、install コマンドを呼び出す方法について説明します。

ステップ 3: インストールコマンドを呼び出します

オンプレミスインスタンスから、AWS CLIはを呼び出しますインストールコマンド、以下を指定します。

  • 設定ファイルへのパス (--config-file オプションで指定)。

  • 必要に応じて、オンプレミスインスタンスにある既存の設定ファイルを置き換えるかどうか (--override-config オプションで指定)。指定しない場合、既存の設定ファイルは置き換えられません。

  • オプションで、AWSオンプレミスインスタンスが CodeDeploy で登録されるリージョン (--regionオプション)。これは、に記載されているサポート対象のリージョンの 1 つである必要があるリージョンとエンドポイントAWS全般のリファレンス(たとえば、us-west-2). このオプションを指定しない場合、デフォルトはです。AWSIAM ユーザーを呼び出したリージョンが使用されます。

  • 必要に応じて、CodeDeploy エージェントのインストール元のカスタムロケーション (--agent-installerオプション)。このオプションは、CodeDeploy が公式にはサポートしていない CodeDeploy エージェントのカスタムバージョンのインストールに使用できます (CodeDeployGitHub のリポジトリ)。値は、次のいずれかを含む Amazon S3 バケットへのパスである必要があります:

    • CodeDeploy エージェントのインストールスクリプト (Linux または Unix ベースの OS 用)。CodeDeployGitHub のリポジトリ)。

    • CodeDeploy エージェントインストーラパッケージ (.msi) ファイル (Windows ベースの OS 用)。

    このオプションを指定しない場合、CodeDeploy は独自の場所から、オンプレミスインスタンスの OS と互換性のある正式にサポートされているバージョンの CodeDeploy エージェントをインストールしようとします。

以下はその例です。

aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi

install コマンドは次のことを行います。

  1. オンプレミスインスタンスが Amazon EC2 インスタンスかどうかを確認します。そうである場合は、エラーメッセージが表示されます。

  2. オンプレミスインスタンス設定ファイルを、インスタンスの指定された場所から、CodeDeploy エージェントが見つけそうな場所にコピーします (まだその場所にない場合)。

    Ubuntu Server および Red Hat Enterprise Linux (RHEL) の場合、これは/etc/codedeploy-agent/conf/codedeploy.onpremises.yml

    Windows Serverの場合、これはC:\ProgramData\Amazon\CodeDeploy\conf.onpremises.yml

    --override-config オプションを指定した場合は、ファイルを作成または上書きします。

  3. オンプレミスインスタンスに CodeDeploy エージェントをインストールし、起動します。

ステップ 4: オンプレミスインスタンスにアプリケーションリビジョンをデプロイします。

登録され、タグ付けされたオンプレミスインスタンスにアプリケーションリビジョンをデプロイする準備ができました。

Amazon EC2 インスタンスにアプリケーションリビジョンをデプロイするのと同様の方法でオンプレミスインスタンスにアプリケーションリビジョンをデプロイします。手順については、CodeDeploy を使用してデプロイを作成する を参照してください。これらの指示は、アプリケーションの作成、開発グループの作成、およびアプリケーションリビジョンの準備を含む前提条件と関連しています。シンプルなサンプルアプリケーションリビジョンをデプロイすることが必要な場合は、チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイするステップ 2: サンプルアプリケーションリビジョンを作成する で説明してあるものを作成できます。

重要

オンプレミスインスタンスを対象としたデプロイグループの作成の一部として、既存の CodeDeploy サービスロールを再利用する場合は、以下を含める必要があります。Tag:get*Actionサービスロールのポリシーステートメントの一部。詳細については、「ステップ 2: CodeDeploy のサービスロールの作成」を参照してください。

ステップ 5: オンプレミスインスタンスへのデプロイを追跡する

登録されタグ付けされたオンプレミスインスタンスへアプリケーションリビジョンをデプロイした後、デプロイの進行状況を追跡できます。

Amazon EC2 インスタンスへのデプロイの追跡と同様の方法でオンプレミスインスタンスへのデプロイの追跡をします。手順については、CodeDeploy デプロイの詳細を表示する を参照してください。

他のオプションについては、「CodeDeploy でのオンプレミスインスタンスオペレーションの管理」を参照してください。