AWS Command Line Interface
ユーザーガイド

AWS CLI の設定

このセクションでは、お客様のセキュリティ認証情報、デフォルトの出力形式、デフォルトの AWS リージョンなど、AWS Command Line Interface (AWS CLI) が AWS とやり取りする際に使用する設定を指定する方法について説明します。

注記

AWS では、すべての着信リクエストは暗号で署名される必要があります。これは、AWS CLI によって行われます。「署名」には日時スタンプが含まれます。したがって、コンピュータの日付と時刻が正しく設定されていることを確認する必要があります。日時が正しく設定されていない場合、署名の日時が AWS サービスによって認識された日間と大きく異なることがあり、その場合は AWS によってリクエストが却下されます。

AWS CLI のかんたん設定

一般的な使用の場合、aws configure コマンドが、AWS CLI のインストールをセットアップするための最も簡単な方法です。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

このコマンドを入力すると、AWS CLI によって 4 種類の情報 (アクセスキー、シークレットアクセスキー、AWS リージョン、出力形式) の入力が求められ、default という名前の プロファイル (設定のコレクション) に保存されます。したがって、このプロファイルは、使用するプロファイルを明示的に指定しない AWS CLI コマンドを実行する場合はいつでも使用されます。

アクセスキーとシークレットアクセスキー

AWS Access Key ID および AWS Secret Access Key は、ユーザーの AWS 認証情報です。これらは、付与されるアクセス許可を決定する AWS Identity and Access Management (IAM) ユーザーまたはロールに関連付けられています。IAM サービスを使用してユーザーを作成する方法のチュートリアルに関しては、『IAM ユーザーガイド』の「最初の IAM 管理者のユーザーおよびグループの作成」を参照してください。

アクセスキーはアクセスキー ID とシークレットアクセスキーから成り、AWS に対するプログラムによるリクエストに署名するときに使用されます。アクセスキーがない場合は、AWS マネジメントコンソールから作成することができます。ベストプラクティスとして、必要でなければタスクには AWS アカウントのルートユーザー アクセスキーを使用しないでください。代わりに、ご自身のアクセスキーを持つ新しい管理者 IAM ユーザーを作成します。

シークレットアクセスキーを表示またはダウンロードできるのは、このキーを作成するときのみです。アクセスキーを後で復元することはできません。ただし、新しいアクセスキーはいつでも作成できます。必要な IAM アクションを実行するためのアクセス許可も必要です。詳細については、『IAM ユーザーガイド』の「他の IAM リソースにアクセスするのに必要なアクセス権限」を参照してください。

IAM ユーザーのアクセスキーを作成するには

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

  2. ナビゲーションペインで [Users] を選択します。

  3. アクセスキーを作成するユーザー名を選択し、[Security credentials] タブを選択します。

  4. [Access keys (アクセスキー)] セクションで、[Create access key (アクセスキーの作成)] を選択します。

  5. 新しいアクセスキーペアを表示するには、[Show] を選択します。このダイアログボックスを閉じた後、シークレットアクセスキーに再度アクセスすることはできません。認証情報は以下のようになります。

    • アクセスキー ID: AKIAIOSFODNN7EXAMPLE

    • シークレットアクセスキー: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  6. キーペアをダウンロードするには、[.csv ファイルのダウンロード] を選択します。このキーは安全な場所に保存してください。このダイアログボックスを閉じた後、シークレットアクセスキーに再度アクセスすることはできません。

    AWS アカウントを保護するためにキーは機密にしておき、メールでも送信しないでください。また、所属している組織外にこの情報を公開してはいけません。AWS または Amazon.com を名乗る人物から問い合わせがあった場合でも、この情報は開示しないでください。Amazon のスタッフまたは関係者がこの情報を尋ねることは決してありません。

  7. .csv ファイルをダウンロードしたら、[閉じる] を選択します。アクセスキーを作成すると、キーペアはデフォルトで有効になり、すぐに使用できるようになります。

関連トピック

リージョン

Default region name は、デフォルトでリクエストを送信するサーバーの AWS リージョンを特定します。通常、お客様の最寄りのリージョンですが、どのリージョンでもかまいません。たとえば、us-west-2 を入力して 米国西部 (オレゴン) を使用できます。これは、個別のコマンドで指定されない限り、今後のすべてのリクエストが送信されるリージョンです。

注記

AWS CLI を使用する際は、明示的に、またはデフォルトリージョンを設定して、AWS リージョンを指定する必要があります。利用可能なリージョンのリストについては、「リージョンとエンドポイント」を参照してください。AWS CLI で使用されるリージョン識別子は、AWS マネジメントコンソール の URL およびサービスエンドポイントに表示されるのと同じ名前です。

出力形式

Default output format は、結果の形式を指定します。値は、次下のリストのいずれかの値を指定できます。出力形式を指定しない場合、json がデフォルトとして使用されます。

  • json: JSON 文字列形式で出力されます。

  • text: 複数行のタブ区切り文字列値の形式で出力されます。出力をテキストプロセッサ (grepsedawk など) に渡す場合に便利です。

  • table: セルの罫線を形成する文字列 +|- を使用して表形式で出力されます。通常、情報は他の形式よりも読みやすい「わかりやすい」形式で表示されますが、プログラムとしては役立ちません。

クイック設定と複数のプロファイル

前に示したコマンドを使用した場合、default という名前の 1 つのプロファイルが出力されます。--profile オプションを使用してプロファイルの名前を指定し、追加設定を作成することもできます。

$ aws configure --profile user2 AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY Default region name [None]: us-east-1 Default output format [None]: text

これで、コマンドを実行する際、--profile オプションを省略して、default プロファイルに保存されている設定を使用することができます。

$ aws s3 ls

または、--profile profilename を指定して、その名前で保存されている設定を使用することもできます。

$ aws s3 ls --profile myuser

設定を更新するには、aws configure を再度実行し (更新するプロファイルに応じて --profile パラメータを指定するか)、必要に応じて、新しい値を入力するだけです。次のセクションでは、aws configure で作成するファイル、追加の設定、名前付きプロファイルについて説明します。

構成設定と優先順位

AWS CLI では、認証情報プロバイダーを使用して、AWS 認証情報を検索します。各認証情報プロバイダーは、システムまたはユーザーの環境変数やローカルの AWS 設定ファイルなどの場所、またはコマンドラインでパラメータとして明示的に宣言されたいくつかの場所で認証情報を検索します。AWS CLI では、次の順序でプロバイダーを呼び出して、認証情報と構成設定を検索し、使用する認証情報セットが見つかると停止します。

  1. コマンドラインオプション – コマンドラインのパラメータとして --region--output、および --profile を指定できます。

  2. 環境変数 – 環境変数 (AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY、および AWS_SESSION_TOKEN) に値を保存できます。存在する場合は、これらの環境変数が使用されます。

  3. CLI 認証ファイル – これは、コマンド aws configure を実行すると更新されるファイルです。ファイルは、~/.aws/credentials (Linux, macOS, or Unix の場合) または C:\Users\USERNAME\.aws\credentials (Windows の場合) にあります。このファイルには、default プロファイルと任意の名前付きプロファイルの認証情報の詳細が含まれています。

  4. CLI 設定ファイルaws configure コマンドを実行すると更新されるもう 1 つのファイルです。ファイルは、~/.aws/config (Linux, macOS, or Unix の場合) または C:\Users\USERNAME\.aws\config (Windows の場合) にあります。このファイルには、 デフォルトプロファイルとあらゆる名前付きプロファイルの設定が含まれています。

  5. コンテナ認証情報 – IAM ロールと各 Amazon Elastic Container Service (Amazon ECS) タスク定義を関連付けることができます。関連付けられると、そのロールの一時認証情報は、そのタスクのコンテナで使用できるようになります。詳細については、『Amazon Elastic Container Service Developer Guide』の「タスク用の IAM ロール」を参照してください。

  6. インスタンスプロファイル認証情報 – IAM ロールと各 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを関連付けることができます。関連付けられると、そのロールの一時認証情報は、インスタンスで実行中のコードで使用できるようになります。認証情報は、Amazon EC2 メタデータサービスから提供されます。詳細については、『Linux インスタンス用 Amazon EC2 ユーザーガイド』の「Amazon EC2 の IAM ロール」および『IAM ユーザーガイド』の「インスタンスプロファイルの使用」を参照してください。