AWS CLI のインストールおよび設定 - AWS OpsWorks

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

AWS CLI のインストールおよび設定

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは、通常どおり OpsWorks コンソール、API、CLI、および CloudFormation リソースを使用できます。その時点で廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行」を参照してください。

最初のインスタンスを登録する前には、AWS CLI の実行元コンピュータで register のバージョン 1.16.180 以降を起動させておいてください。インストールの詳細は使用しているワークステーションのオペレーティングシステムによって異なります。AWS CLI のインストールに関する詳細については、AWS Command Line Interface のインストールおよび AWS Command Line Interface の設定を参照してください。起動している AWS CLI のバージョンを確認するには、シェルセッション内に aws --version を入力します。

注記

AWS Tools for PowerShell には、 register API Register-OpsInstance アクションを呼び出す コマンドレットが含まれていますが、代わりに AWS CLI を使用してregisterコマンドを実行することをお勧めします。

適切なアクセス権限で register を実行する必要があります。アクセス権限は、IAM ロールを使用することで取得できますが、最善ではないものの、登録するワークステーションまたはインスタンスに、適切なアクセス権限を持つユーザー認証情報をインストール方法でも取得できます。取得後は、追って説明する方法により、取得した認証情報を用いて register を実行できます。ユーザーまたはロールに IAM ポリシーをアタッチしてアクセス許可を指定します。register については、AWSOpsWorksRegisterCLI_EC2 または AWSOpsWorksRegisterCLI_OnPremises ポリシーのいずれかを使用して、Amazon EC2 または オンプレミスオンプレミス インスタンスをそれぞれ登録するのに必要なアクセス権限を付与します。

注記

Amazon EC2 インスタンスで register を実行する場合は、できる限り IAM ロールを使用して認証情報を提供する必要があります。既存のインスタンスへの IAM ロールのアタッチについては、Windows インスタンス用Amazon EC2 ユーザーガイドの「Attaching an IAM Role to an Instance」(IAM ロールをインスタンスにアタッチする) または「Replacing an IAM Role」(IAM ロールの置換) を参照してください。

例示のために部分的に抜粋した AWSOpsWorksRegisterCLI_EC2 および AWSOpsWorksRegisterCLI_OnPremises ポリシーについては、インスタンス登録ポリシーを参照してください。AWS 認証情報の作成と管理の詳細については、「AWS セキュリティ認証情報」を参照してください。

IAM ロールの使用

登録しようとしている Amazon EC2 インスタンスからコマンドを実行する場合は、AWSOpsWorksRegisterCLI_EC2 ポリシーまたは同等のアクセス権限がアタッチされている IAM ロールを使用して register に認証情報を提供することをお勧めします。このアプローチでは、インスタンスに認証情報をインストールせずに済みます。これを行う方法の 1 つとして、図に示すように、EC2 コンソール内で [Attach/Replace IAM Role] コマンドを使用する方法があります。

既存のインスタンスへの IAM ロールのアタッチについては、Windows インスタンス用Amazon EC2 ユーザーガイドの「Attaching an IAM Role to an Instance」(IAM ロールをインスタンスにアタッチする) または「Replacing an IAM Role」(IAM ロールの置換) を参照してください。インスタンスプロファイルを使用して起動されたインスタンス (推奨方法) の場合は、--use-instance-profile コマンドに register スイッチを追加して認証情報を提供します。--profileパラメータは使用しないでください。

インスタンスが実行中でありロールが設定されている場合は、そのロールに AWSOpsWorksRegisterCLI_EC2 ポリシーをアタッチすることによって、必要なアクセス権限を付与できます。ロールは、インスタンスのデフォルトの認証情報を提供します。インスタンスにどの認証情報もインストールしていない場合に限り、register は自動的にロールを引き継ぎ、ロールのアクセス権限を使用して実行されます。

重要

インスタンスに認証情報をインストールしないことをお勧めします。セキュリティ上のリスクが生じるだけでなく、インスタンスのロールは、デフォルトの認証情報を探すために AWS CLIで使用されるデフォルトプロバイダチェーンの末尾にあります。インストールした認証情報はロールより優先されることがあるため、register に必要なアクセス権限が与えられない場合があります。詳細については、「Getting started with the AWS CLI」を参照してください。

実行中のインスタンスにロールが設定されていない場合は、必要なアクセス権限を持つ認証情報をインスタンスにインストールする必要があります。「インストールした認証情報の使用」を参照してください。インスタンスプロファイルを使用して起動されたインスタンスを使用することが推奨方法であり、簡単かつエラーが起きにくい方法です。

インストールした認証情報の使用

ユーザー認証情報をシステムにインストールし、 AWS CLIコマンドに提供する方法には、複数の方法があります。以下に説明しているのは推奨されなくなった方法ですが、インスタンスプロファイルを使用せずに起動された EC2 インスタンスを登録する場合に使用できます。アタッチしたポリシーによって必要なアクセス権限が付与されるのであれば、既存の ユーザーの認証情報を使用することもできます。認証情報をインストールする他の方法を含む追加情報については、「設定ファイルと認証情報ファイル」を参照してください。

インストールした認証情報を使用するには
  1. IAM ユーザーを作成し、アクセスキー ID とシークレットアクセスキーを安全な場所に保存します。

    警告

    IAM ユーザーには長期的な認証情報があり、セキュリティ上のリスクをもたらします。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーを削除することをお勧めします。

  2. AWSOpsWorksRegisterCLI_OnPremises ポリシーをユーザーにアタッチします。必要であれば、より広範なアクセス権限を付与するポリシーをアタッチできますが、そのポリシーには、AWSOpsWorksRegisterCLI_OnPremises アクセス権限が含まれていなければなりません。

  3. システムの credentials ファイル内にユーザーのプロファイルを作成します。このファイルは、~/.aws/credentials(Linux、Unix、OS X) または C:\Users\User_Name\.aws\credentials (Windows システム) にあります。ファイルには 1 つ以上のプロファイルが次の形式で含まれており、各プロファイルにユーザーのアクセスキー ID とシークレットアクセスキーが含まれています。

    [profile_name] aws_access_key_id = access_key_id aws_secret_access_key = secret_access_key

    前に保存した IAM 認証情報を [access_key_id] および [secret_access_key] の値に置き換えます。プロファイル名には任意の名前を指定できますが、名前は一意でなければならないという制約と、デフォルトのプロファイルは default という名前にする必要があるという制約があります。既存のプロファイルに必要なアクセス権限が設定されていれば、既存のプロファイルを使用できます。

  4. register コマンドの --profile パラメータを使用してプロファイル名を指定します。register コマンドは、関連付けられている認証情報に付与されているアクセス権限を使用して実行されます。

    --profile を省略することもできます。その場合、register はデフォルトの認証情報を使用して実行されます。これらは必ずしもデフォルトプロファイルの認証情報ではないため、デフォルトの認証情報に必要なアクセス権限があることを確認してください。AWS CLI によるデフォルト認証情報の決定方法に関する詳細については、AWS Command Line Interface の設定を参照してください。