設定ファイルと認証情報ファイルの設定 - AWS Command Line Interface

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

設定ファイルと認証情報ファイルの設定

頻繁に利用される構成設定および認証情報を AWS CLIが維持するファイルに保存することができます。

ファイルは profiles に分割されます。デフォルトでは、 は という名前のプロファイルにある設定 AWS CLI を使用しますdefault。替わりの設定を使用するには、追加のプロファイルを作成して参照できます。

サポートされた環境変数のいずれかの設定を使用するか、あるいはコマンドラインパラメータを使用して、個別の設定を上書きすることもできます。構成設定の優先順位の詳細については、「の設定 AWS CLI」を参照してください。

注記

認証情報の設定の詳細については、「認証とアクセス認証情報」を参照してください。

設定ファイルと認証ファイルの形式

config ファイルと credentials ファイルは、セクションにまとめられています。セクションには、プロファイルSSO セッションおよびサービスが含まれます。セクションは、設定の名前付きコレクションであり、別のセクション定義の行が検出されるまで続きます。複数のプロファイルとセクションを config ファイルおよび credentials ファイルに保存できます。

これらのファイルは、次の形式を使用するプレーンテキストファイルです。

  • セクション名は、[default][profile user1][sso-session] などの括弧 [] で囲まれています。

  • セクション内のすべてのエントリは、setting_name=value の一般的な形式になります。

  • 行の先頭にハッシュ文字 (#) を付けると、行をコメントアウトできます。

config および credentials ファイルには以下のセクションタイプが含まれます。

セクションタイプ: profile

AWS CLI ストア

ファイルに応じて、セクション名の形式は次のとおりです。

  • 設定ファイル: [default] [profile user1]

  • 認証情報ファイル: [default] [user1]

    credentials ファイルにエントリを作成するときは、profile という単語を使用しないでください

各プロファイルは異なる認証情報を指定できます。また、別の AWS リージョンおよび出力形式を指定することもできます。config ファイルでプロファイルに名前を付けるときは、プレフィックス「profile」を含めますが、credentials ファイルには含めないでください。

次の例は、2 つのプロファイル、リージョン、出力が指定されている credentials ファイルと config ファイルを示しています。最初の [default] はプロファイルを指定せずに AWS CLI コマンドを実行するときに使用します。2 番目の は、 --profile user1パラメータで AWS CLI コマンドを実行するときに使用されます。

IAM Identity Center (SSO)

この例は 用です AWS IAM Identity Center。詳細については、「IAM Identity Center 認証 AWS CLI を使用して を設定する」を参照してください。

認証情報ファイル

credentials ファイルは、この認証方法には使用しません。

設定ファイル

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

この例は、 のレガシーメソッド用です AWS IAM Identity Center。詳細については、「IAM Identity Center 認証 AWS CLI を使用して を設定する」を参照してください。

認証情報ファイル

credentials ファイルは、この認証方法には使用しません。

設定ファイル

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

この例は、 AWS Identity and Access Managementの短期の認証情報用です。詳細については、「短期認証情報を使用して認証を行う」を参照してください。

認証情報ファイル

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=ASIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

設定ファイル

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

この例では、 IAMロールを引き受けます。IAM ロールを使用するプロファイルは、別のプロファイルから認証情報を取得し、IAMロールのアクセス許可を適用します。以下の例で、default は認証情報のソースプロファイルで、user1 は同じ認証情報を借り出して新しいロールを継承します。詳細については、「で IAMロールを使用する AWS CLI」を参照してください。

認証情報ファイル

credentials ファイルは、ソースプロファイルが使用する認証によって異なります。次の例で、ソースプロファイルは短期の認証情報を使用しています。

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

設定ファイル

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

この例は、ホスティングする Amazon EC2インスタンスメタデータから取得した認証情報用です。詳細については、「認証情報に AWS CLI Amazon EC2インスタンスメタデータを使用する」を参照してください。

認証情報ファイル

credentials ファイルは、この認証方法には使用しません。

設定ファイル

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
警告

セキュリティ上のリスクを回避するため、専用ソフトウェアの開発時や実際のデータの使用時には、認証にIAMユーザーを使用しないでください。代わりに、AWS IAM Identity Center などの ID プロバイダーとのフェデレーションを使用してください。

この例は、 AWS Identity and Access Managementの長期の認証情報用です。詳細については、「IAM ユーザー認証情報による認証」を参照してください。

認証情報ファイル

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

設定ファイル

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

詳細および追加の認可/認証情報メソッドについては、「IAM ユーザー認証情報による認証」を参照してください。

セクションタイプ: sso-session

config ファイルの sso-sessionセクションは、SSOアクセストークンを取得するための設定変数をグループ化するために使用され、認証情報を取得するために使用できます AWS 。次の設定を使用します。

sso-session セクションを定義してプロファイルに関連付けます。sso_regionsso_start_urlsso-session セクション内に設定する必要があります。通常、 がSSO認証情報をリクエストできるように、 profileセクションで SDK sso_account_idと を設定sso_role_nameする必要があります。

次の例では、認証情報をリクエストSDKするように を設定しSSO、トークンの自動更新をサポートしています。

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

これにより、sso-session 設定を複数のプロファイルでも再利用できるようになります。

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

ただし、SSOトークン設定のすべてのシナリオで sso_account_idおよび sso_role_name が必要なわけではありません。アプリケーションでベアラー認証をサポートする AWS のサービスのみを使用する場合、従来の AWS 認証情報は必要ありません。ベアラー認証は、ベアラートークンと呼ばれるセキュリティトークンを使用するHTTP認証スキームです。このシナリオでは、sso_account_idsso_role_name は必須ではありません。ベアラートークン認証をサポートしているかどうかを確認するには、 AWS サービスの個々のガイドを参照してください。

さらに、登録スコープは sso-session の一部として設定できます。スコープは、アプリケーションのユーザーアカウントへのアクセスを制限するための OAuth 2.0 のメカニズムです。アプリケーションは 1 つ以上のスコープをリクエストでき、アプリケーションに発行されたアクセストークンは付与されたスコープに限定されます。これらのスコープは、登録されたOIDCクライアントに対して承認されるようにリクエストされたアクセス許可と、クライアントによって取得されたアクセストークンを定義します。次の例では、アカウント/ロールを一覧表示するアクセスを許可するように sso_registration_scopes を設定しています。

[sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

認証トークンは、セッション名に基づいたファイル名を使用して、~/.aws/sso/cache ディレクトリの下のディスクにキャッシュされます。

設定タイプの詳細については、「IAM Identity Center 認証 AWS CLI を使用して を設定する」を参照してください。

セクションタイプ: services

services セクションは、 AWS のサービス リクエストのカスタムエンドポイントを設定する設定のグループです。その後、プロファイルは services セクションにリンクされます。

[profile dev] services = my-services

services セクションは <SERVICE> = 行ごとにサブセクションに分割されます。ここで、<SERVICE> は AWS のサービス 識別子キーです。 AWS のサービス 識別子は、すべてのスペースをアンダースコアに置き換え、すべての文字を小文字に置き換えserviceIdることで、APIモデルの に基づいています。services セクションで使用するすべてのサービス識別子キーのリストについては、「でエンドポイントを使用する AWS CLI」を参照してください。サービス識別子キーの後には、ネストされた設定 (それぞれが 1 行にあり、2 つのスペースでインデントされている) が続きます。

次の例では、 Amazon DynamoDB のサービスに対するリクエストに使用するエンドポイントを設定します。my-services で使用される セクション dev プロファイル。直後のインデントされた行はすべてそのサブセクションに含まれ、そのサービスに適用されます。

[profile dev] services = my-services [services my-services] dynamodb = endpoint_url = http://localhost:8000

サービス固有のエンドポイントの詳細については、「でエンドポイントを使用する AWS CLI」を参照してください。

プロファイルにロールIAMを引き受ける機能用の source_profileパラメータで設定されたロールベースの認証情報がある場合、 は指定されたプロファイルのサービス設定SDKのみを使用します。ロールチェーンされたプロファイルは使用されません。例えば、次の共有 config ファイルを使用します。

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

プロファイルを使用してコードで Amazon を呼び出すBとEC2、エンドポイントは として解決されますhttps://profile-b-ec2-endpoint.aws。コードが他のサービスにリクエストを送信した場合、エンドポイントの解決はカスタムロジックには従いません。エンドポイントはプロファイル A で定義されたグローバルエンドポイントには解決されません。グローバルエンドポイントを B プロファイルに対して有効にするには、プロファイル B 内で直接 endpoint_url を設定する必要があります。

構成設定はどこに保存されていますか?

は、 で指定した機密認証情報を credentialsという名前aws configureのローカルファイル、ホームディレクトリの という名前.awsのフォルダに AWS CLI 保存します。aws configure で指定された機密性の低い設定オプションは、config という名前のローカルファイルに保存されるだけでなく、ホームディレクトリの .aws フォルダにも保存されます。

認証情報を設定ファイルに保存する

はファイルから認証情報を読み取ることができるため AWS CLI 、すべてのプロファイル設定を 1 つのconfigファイルに保持できます。同じ名前を共有するプロファイルの両方のファイルに認証情報がある場合、認証情報ファイルのキーが優先されます。認証情報は credentials ファイルに保存することをお勧めします。これらのファイルは、さまざまな言語ソフトウェア開発キット () でも使用されますSDKs。SDKs に加えて のいずれかを使用する場合は AWS CLI、認証情報を自分のファイルに保存する必要があるかどうかを確認します。

ホームディレクトリの場所はオペレーティングシステムによって異なりますが、環境変数 %UserProfile% (Windows の場合) および $HOME またはチルド ~ (Unix ベースのシステムの場合) を使用して参照されます。AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILE の環境変数を別のローカルパスに設定することで、ファイルの場所をデフォルト以外の場所に指定できます。詳細については、「を設定する環境変数 AWS CLI」を参照してください。

AWS Identity and Access Management (IAM) ロールを指定する共有プロファイルを使用すると、 は オペレーションを AWS CLI AWS STS AssumeRole呼び出して一時的な認証情報を取得します。その後、これらの認証情報は ~/.aws/cli/cache に保存されます。以降の AWS CLI コマンドでは、キャッシュされた一時認証情報が期限切れになるまで使用され、その時点で AWS CLI は認証情報を自動的に更新します。

名前を指定されたプロファイルを使用する

明示的に定義されたプロファイルがない場合は、default プロファイルが使用されます。

名前付きプロファイルを使用するには、コマンドに --profile profile-name オプションを追加します。次の例では、プロファイルで定義された認証情報と設定を使用して、すべての Amazon EC2インスタンスを一覧表示しますuser1

$ aws ec2 describe-instances --profile user1

複数のコマンドで名前付きプロファイルを使用する場合は、コマンドごとにプロファイルを指定しなくても済むように、AWS_PROFILE 環境変数をデフォルトプロファイルとして設定できます。この設定は、--profile パラメータを使用して上書きできます。

Linux or macOS
$ export AWS_PROFILE=user1
Windows
C:\> setx AWS_PROFILE user1

set を使用して環境変数を設定すると、現在のコマンドプロンプトセッションの終了時まで、または変数を別の値に設定するまで、使用する値が変更されます。

setx を使用して環境変数を設定すると、コマンドの実行後に作成するすべてのコマンドシェルの値が変更されます。コマンドの実行時に既に実行されているコマンドシェルには影響しません。変更の影響を確認するには、コマンドシェルを閉じて再起動します。

環境変数を設定すると、シェルセッションの終了時まで、または変数に別の値を設定するまで、デフォルトのプロファイルが変更されます。環境変数をシェルのスタートアップスクリプトに配置すると、今後のセッションでこの環境変数を永続的にできます。詳細については、「を設定する環境変数 AWS CLI」を参照してください。

コマンドを使用した構成設定の設定と表示

コマンドを使用して構成設定を表示および設定するには、複数の方法があります。

aws configure

このコマンドを実行すると、 認証情報、リージョン、出力形式をすばやく設定および表示できます。次の例は、サンプル値を示しています。

$ 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 configure set

aws configure set を使用して、任意の認証情報または構成設定を設定できます。--profile 設定で表示または変更するプロファイルを指定します。

例えば、次のコマンドは region という名前のプロファイル内の integ を設定します。

$ aws configure set region us-west-2 --profile integ

設定を削除するには、値として空の文字列を使用するか、テキストエディタで config ファイルおよび credentials ファイルの設定を手動で削除します。

$ aws configure set cli_pager "" --profile integ
aws configure get

aws configure get を使用して設定した認証情報または構成設定を取得できます。--profile 設定で表示または変更するプロファイルを指定します。

例えば、次のコマンドは region という名前のプロファイル内の integ 設定を取得します。

$ aws configure get region --profile integ us-west-2

出力が空の場合にはその設定は明示的に構成されず、デフォルトの値が使用されます。

aws configure import

IAM ウェブコンソールから生成されたCSV認証情報をインポートします。これは IAM Identity Center から生成された認証情報用ではありません。IAMIdentity Center を使用するお客様は、aws configure sso を使用する必要があります。CSV ファイルは、ユーザー名と一致するプロファイル名でインポートされます。CSV ファイルには、次のヘッダーが含まれている必要があります。

  • ユーザー名

  • アクセスキー ID

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

注記

最初のキーペアの作成時に、[Download .csv file] (.csv ファイルをダウンロードする) ダイアログボックスを閉じると、ダイアログボックスを閉じた後に、シークレットアクセスキーにアクセスできません。.csv ファイルが必要な場合は、必要なヘッダーと保存したキーペア情報を使用して自分で作成する必要があります。キーペア情報にアクセスできない場合は、新しいキーペアを作成する必要があります。

$ aws configure import --csv file://credentials.csv
aws configure list

設定データを一覧表示するには、aws configure list コマンドを使用します。このコマンドは、指定したプロファイルに使用されるプロファイル、アクセスキー、シークレットキー、およびリージョンの設定情報を一覧表示します。各設定項目について、値、設定値の取得元、および設定の変数名が表示されます。

例えば、環境変数 AWS リージョン で を指定すると、このコマンドは、設定したリージョンの名前、この値が環境変数から取得されたこと、および環境変数の名前を表示します。

ロールや IAM Identity Center などの一時的な認証情報メソッドの場合、このコマンドは一時的にキャッシュされたアクセスキーを表示し、シークレットアクセスキーが表示されます。

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles

すべてのプロファイル名を一覧表示するには、aws configure list-profiles コマンドを使用します。

$ aws configure list-profiles default test
aws configure sso

このコマンドを実行して、 AWS IAM Identity Center 認証情報、リージョン、出力形式をすばやく設定して表示します。次の例は、サンプル値を示しています。

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access
aws configure sso-session

このコマンドを実行して、 および configファイルの sso-session セクションで AWS IAM Identity Center 認証情報、リージョン、出力形式をすばやく設定credentialsして表示します。次の例は、サンプル値を示しています。

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

新しい設定と認証情報を設定するコマンドの例

次の例は、さまざまな認証方法で指定された認証情報、リージョン、出力を使用してデフォルトプロファイルを設定する方法を示しています。

IAM Identity Center (SSO)

この例では、aws configure ssoウィザード AWS IAM Identity Center を使用します。詳細については、「IAM Identity Center 認証 AWS CLI を使用して を設定する」を参照してください。

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

この例は、aws configure ssoウィザード AWS IAM Identity Center を使用するレガシーメソッド用です。レガシー を使用するにはSSO、セッション名を空白のままにします。詳細については、「IAM Identity Center 認証 AWS CLI を使用して を設定する」を参照してください。

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

この例は、 AWS Identity and Access Managementの短期の認証情報用です。aws configure ウィザードを使用して初期値を設定すると、aws configure set コマンドは必要な最後の値を割り当てます。詳細については、「短期認証情報を使用して認証を行う」を参照してください。

$ 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 configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

この例では、 IAMロールを引き受けます。IAM ロールを使用するプロファイルは、別のプロファイルから認証情報を取得し、IAMロールのアクセス許可を適用します。以下の例で、default は認証情報のソースプロファイルです。user1 は同じ認証情報を借り出して新しいロールを継承します。このプロセス用のウィザードは存在しないため、各値の設定には aws configure set コマンドを使用します。詳細については、「で IAMロールを使用する AWS CLI」を参照してください。

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

この例は、ホスティングする Amazon EC2インスタンスメタデータから取得した認証情報用です。このプロセス用のウィザードは存在しないため、各値の設定には aws configure set コマンドを使用します。詳細については、「認証情報に AWS CLI Amazon EC2インスタンスメタデータを使用する」を参照してください。

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
警告

セキュリティ上のリスクを回避するため、専用ソフトウェアの開発時や実際のデータの使用時には、認証にIAMユーザーを使用しないでください。代わりに、AWS IAM Identity Center などの ID プロバイダーとのフェデレーションを使用してください。

この例は、 AWS Identity and Access Managementの長期の認証情報用です。詳細については、「IAM ユーザー認証情報による認証」を参照してください。

$ 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

サポートされる config ファイル設定

config ファイルでは、以下の設定がサポートされます。同名の環境変数があること、または同名のコマンドラインオプションによって上書きされる場合を除き、指定された (またはデフォルトの) プロファイルにリストされる値が使用されます。優先する順序設定の詳細については、「の設定 AWS CLI」を参照してください。

[Global settings (グローバル設定)]

aws_access_key_id

コマンドリクエストを認証するための認証情報の一部として使用される AWS アクセスキーを指定します。これを config ファイルに保存することもできますが、credentials ファイルに保存することが推奨されます。

AWS_ACCESS_KEY_ID 環境変数で上書きすることができます。アクセスキー ID をコマンドラインオプションとして指定することはできません。

aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key

コマンドリクエストを認証するための認証情報の一部として使用される AWS シークレットキーを指定します。これを config ファイルに保存することもできますが、credentials ファイルに保存することが推奨されます。

AWS_SECRET_ACCESS_KEY 環境変数で上書きすることができます。シークレットアクセスキーをコマンドラインオプションとして指定することはできません。

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

AWS セッショントークンを指定します。セッショントークンは、一時的なセキュリティ認証情報を手動で指定する場合にのみ必要です。これを config ファイルに保存することもできますが、credentials ファイルに保存することが推奨されます。

AWS_SESSION_TOKEN 環境変数で上書きすることができます。セッショントークンをコマンドラインオプションとして指定することはできません。

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

証明書の検証に使用される CA SSL証明書バンドル ( .pem 拡張子を持つファイル) を指定します。

AWS_CA_BUNDLE 環境変数あるいは --ca-bundle コマンドラインオプションで上書きできます。

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt

AWS CLI バージョン 2 の自動プロンプトを有効にします。使用できる設定は 2 つあります。

  • on は、ユーザーが aws コマンドを実行しようとするたびに、完全な自動プロンプトモードを使用します。これには、完全なコマンドまたは不完全なコマンドの両方のENTER後に を押すことが含まれます。

    cli_auto_prompt = on
  • on-partial は、部分的な自動プロンプトモードを使用します。コマンドが不完全、またはクライアント側の検証エラーが原因でコマンドを実行できない場合は、自動プロンプトが使用されます。このモードは、既存のスクリプトまたはランブックがある場合、あるいはすべてのコマンドに対してプロンプトを表示するのではなく、不慣れなコマンドにのみ自動プロンプトを表示したい場合に特に便利です。

    cli_auto_prompt = on-partial

この設定は、aws_cli_auto_prompt 環境変数を使用するか、--cli-auto-prompt および --no-cli-auto-prompt コマンドラインパラメータを使用して上書きできます。

AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「」を参照してくださいAWS CLI でコマンドの入力プロンプトを表示する

cli_binary_format

AWS CLI バージョン 2 がバイナリ入力パラメータをどのように解釈するかを指定します。これには、次のいずれかの値を指定できます。

  • base64 - これはデフォルト値です。バイナリラージオブジェクト (BLOB) として入力される入力パラメータは、base64 でエンコードされた文字列を受け入れます。真のバイナリコンテンツを渡すには、コンテンツをファイルに置き、ファイルのパスと名前をパラメータの値として fileb:// プレフィックスを付けて指定します。ファイルに含まれる base64 エンコードされたテキストを渡すには、ファイルのパスと名前をパラメータの値として file:// プレフィックスを付けて指定します。

  • raw-in-base64-out – AWS CLI バージョン 1 のデフォルト。設定の値が raw-in-base64-out の場合、file:// プレフィックスを使用して参照されるファイルはテキストとして読み取られます。 AWS CLI は、これをバイナリにエンコードしようとします。

このエントリには、同等の環境変数はありません。--cli-binary-format raw-in-base64-out パラメータを使用すると、1 つのコマンドで値を指定できます。

cli_binary_format = raw-in-base64-out

fileb:// プレフィックス表記を使用してファイル内のバイナリ値を参照する場合、 AWS CLI は常にファイルに raw バイナリコンテンツが含まれていることを想定し、値を変換しようとしません。

file:// プレフィックス表記を使用してファイル内のバイナリ値を参照する場合、 は現在のcli_binary_format設定に従ってファイルを AWS CLI 処理します。その設定の値が base64 (明示的に設定されていない場合のデフォルト) の場合、 はファイルには base64 でエンコードされたテキストが含まれていることを AWS CLI 想定します。その設定の値が の場合raw-in-base64-out、 はファイルに raw バイナリコンテンツが含まれていることを AWS CLI 想定しています。

cli_history

デフォルトでは無効になっています。この設定により、 AWS CLIのコマンド履歴が有効になります。この設定を有効にすると、 はawsコマンドの履歴 AWS CLI を記録します。

cli_history = enabled

aws history list コマンドを使用すると履歴を一覧表示でき、そこから得られた command_idsaws history show コマンドに使用すると詳細を確認できます。詳細については、AWS CLI リファレンスガイドの「aws history」を参照してください。

cli_pager

出力に使用されるページャープログラムを指定します。デフォルトでは、 AWS CLI バージョン 2 はオペレーティングシステムのデフォルトのページャープログラムを通じてすべての出力を返します。

AWS_PAGER 環境変数で上書きできます。

cli_pager=less

外部ページングプログラムの使用をすべて無効にするには、以下の例に示すように変数を空の文字列に設定します。

cli_pager=
cli_timestamp_format

出力に含まれるタイムスタンプの形式を指定します。次の値のいずれかを指定できます。

  • iso8601 – AWS CLI バージョン 2 のデフォルト値。指定した場合、 は ISO8601 に従ってすべてのタイムスタンプ AWS CLI を再フォーマットします。

    ISO 8601 形式のタイムスタンプは次の例のようになります。最初の例は、協定世界時 (UTC) の時刻を、時刻のZ後に を含めて示しています。日付と時刻は T で区切られます。

    2019-10-31T22:21:41Z

    別のタイムゾーンを指定するには、 の代わりに +または を指定-Z、目的のタイムゾーンが より前または後になる時間数を 2 桁の値UTCとして指定します。次の例は、前の例と同じ時刻を示していますが、 から 8 時間遅れている太平洋標準時刻に調整されていますUTC。

    2019-10-31T14:21:41-08
  • wire – AWS CLI バージョン 1 のデフォルト値。指定した場合、 はHTTPクエリレスポンスで受信したとおりにすべてのタイムスタンプ値 AWS CLI を表示します。

このエントリには同等の環境変数あるいはコマンドラインオプションがありません。

cli_timestamp_format = iso8601
credential_process

このコマンドに使用する認証情報を生成または取得するために が AWS CLI 実行する外部コマンドを指定します。このコマンドは、特定の形式で認証情報を返す必要があります。この設定を使用する方法の詳細については、「外部プロセスを使用して認証情報を作成する」を参照してください。

このエントリには同等の環境変数あるいはコマンドラインオプションがありません。

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

Amazon EC2インスタンスまたはコンテナ内で使用され、 AWS CLI role_arnパラメータで指定したロールを引き受けるために が使用する認証情報をどこで見つけることができるかを指定します。source_profilecredential_source の両方を同じプロファイルで指定することはできません。

このパラメータには、次の 3 つの値のいずれかを指定できます。

  • 環境 – AWS CLI が環境変数からソース認証情報を取得するように指定します。

  • Ec2InstanceMetadata – AWS CLI がEC2インスタンスプロファイルにアタッチされたIAMロールを使用してソース認証情報を取得することを指定します。

  • EcsContainer – AWS CLI がECSコンテナにアタッチされたIAMロールをソース認証情報として使用するように指定します。

credential_source = Ec2InstanceMetadata
duration_seconds

ロールセッションの最大期間を秒単位で指定します。この値は 900 秒 (15 分) からロールの最大セッション期間設定 (上限は 43200) までの範囲を指定できます。これはオプションのパラメータであり、デフォルトでは 3600 秒に設定されています。

endpoint_url

すべてのサービスリクエストに使用されるエンドポイントを指定します。この設定が config ファイルの services セクションで使用されている場合、エンドポイントは指定されたサービスにのみ使用されます。

次の例では、Amazon S3 のグローバルエンドポイント http://localhost:1234 とサービス固有のエンドポイント http://localhost:4567 を使用しています。

[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

エンドポイント設定は、システム環境変数やユーザー環境変数、ローカル AWS 設定ファイルなど複数の場所に配置され、コマンドラインでパラメータとして明示的に宣言されます。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. URL それぞれのデフォルトのエンドポイント AWS のサービス が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

ignore_configure_endpoint_urls

有効にすると、 は config ファイルで指定されたすべてのカスタムエンドポイント設定 AWS CLI を無視します。有効な値は、true および false です。

ignore_configure_endpoint_urls = true

エンドポイント設定は、システム環境変数やユーザー環境変数、ローカル AWS 設定ファイルなど複数の場所に配置され、コマンドラインでパラメータとして明示的に宣言されます。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. URL それぞれのデフォルトのエンドポイント AWS のサービス が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

external_id

お客様のアカウントでサードパーティーがロールを引き受けるために使用される独自の識別子を指定します。これは ExternalId オペレーションの AssumeRole パラメータにマップします。このパラメータは、ロールの信頼ポリシーで ExternalId の値が指定されている場合にのみ必要です。詳細については、「 ユーザーガイド」の「 AWS リソースへのアクセス権を第三者に付与するときに外部 ID を使用する方法」を参照してください。 IAM

max_attempts

再試行ハンドラーが使用する最大 AWS CLI 再試行回数を指定します。最初の呼び出しは、指定したmax_attempts値にカウントされます。

環境変数 AWS_MAX_ATTEMPTS を使用して、この値を上書きできます。

max_attempts = 3
mfa_serial

ロールを引き受けるときに使用するMFAデバイスの識別番号。これは、引き受けるロールの信頼ポリシーにMFA認証を必要とする条件が含まれている場合にのみ必須です。値は、ハードウェアデバイスのシリアル番号 ( などGAHT12345678) または仮想MFAデバイス ( など) の Amazon リソースネーム (ARN) のいずれかですarn:aws:iam::123456789012:mfa/user

output

このプロファイルを使用してリクエストするコマンドのデフォルトの出力形式を指定します。次の値のいずれかを指定できます。

  • json – 出力はJSON文字列としてフォーマットされます。

  • yaml – 出力はYAML文字列としてフォーマットされます。

  • yaml-stream – 出力はストリーミングされ、YAML文字列としてフォーマットされます。ストリーミングにより、大きなデータタイプの処理を高速化できます。

  • text - 出力は、複数行のタブ区切りの文字列値としてフォーマットされます。これは、grepsed、または awk などのテキストプロセッサに出力を渡すのに役立ちます。

  • table - 出力は、テーブルとしてフォーマットされ、文字の「+|-」を使用してセルの境界を形成します。通常、情報は他の形式よりも読みやすい「わかりやすい」形式で表示されますが、プログラムとしては役立ちません。

AWS_DEFAULT_OUTPUT 環境変数あるいは --output コマンドラインオプションで上書きできます。

output = table
parameter_validation

AWS CLI クライアントが、パラメータを AWS サービスエンドポイントに送信する前に検証を試みるかどうかを指定します。

  • true - これはデフォルト値です。指定した場合、 はコマンドラインパラメータのローカル検証 AWS CLI を実行します。

  • false – 指定した場合、 AWS CLI は AWS サービスエンドポイントに送信する前にコマンドラインパラメータを検証しません。

このエントリには同等の環境変数あるいはコマンドラインオプションがありません。

parameter_validation = false
region

このプロファイルを使用してリクエスト AWS リージョン されたコマンドのリクエストを送信する を指定します。

  • 「Amazon Web Services 全般のリファレンス」の「AWS のリージョンとエンドポイント」にリストされるように、選択されたサービスに使用できるリージョンコードのいずれかを指定できます。

  • aws_global では、 AWS Security Token Service (AWS STS) や Amazon Simple Storage Service (Amazon S3) などのリージョンエンドポイントに加えて、グローバルエンドポイントをサポートするサービスのグローバルエンドポイントを指定できます。

AWS_REGION 環境変数 AWS_DEFAULT_REGION 環境変数または --region コマンドラインオプションを使用して、この値を上書きできます。

region = us-west-2
retry_mode

使用する再試行モードを指定します AWS CLI 。再試行モードには、レガシー (デフォルト)、標準、アダプティブの 3 つがあります。再試行の詳細については、「AWS CLI 再試行」を参照してください。

環境変数 AWS_RETRY_MODE を使用して、この値を上書きできます。

retry_mode = standard
role_arn

AWS CLI コマンドの実行に使用する IAMロールの Amazon リソースネーム (ARN) を指定します。また、以下のいずれかのパラメータを指定して、このロールを引き受けるアクセス権限を持つ認証情報を特定する必要があります。

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

環境変数 AWS_ROLE_ARN により、この設定が上書きされます。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

role_session_name

ロールセッションにアタッチする名前を指定します。この値は、 が AssumeRoleオペレーションを AWS CLI 呼び出すときに RoleSessionNameパラメータに提供され、引き受けたロールユーザー の一部になりますARN arn:aws:sts::123456789012:assumed-role/role_name/role_session_name。このパラメータはオプションです。この値を指定しない場合、セッション名は自動的に生成されます。この名前は、このセッションに関連付けられたエントリの AWS CloudTrail ログに表示されます。

role_session_name = maria_garcia_role

環境変数 AWS_ROLE_SESSION_NAME により、この設定が上書きされます。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

services

プロファイルに使用するサービス設定を指定します。

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

詳細については、services セクションの「セクションタイプ: services」を参照してください。

環境変数 AWS_ROLE_SESSION_NAME により、この設定が上書きされます。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

sdk_ua_app_id

単一の を複数のカスタマーアプリケーションで使用して、 を呼び出す AWS アカウント ことができます AWS のサービス。アプリケーション ID は、 を使用して一連の呼び出しを行ったソースアプリケーションを識別します AWS のサービス。 AWS SDKs および サービスは、この値を顧客通信に表示するために 以外に使用または解釈しません。例えば、この値を運用 E メールに含めて、通知に関連付けられているアプリケーションを一意に識別できます。

アプリケーション ID は、最大長が 50 文字の文字列です。文字、数字、および次の特殊文字を使用できます。! $ % & * + - . , ^ _ ` | ~デフォルトでは、値は割り当てられません。

sdk_ua_app_id = prod1

この設定は、AWS_SDK_UA_APP_ID 環境変数を使用して上書きできます。この値をコマンドラインパラメータとして設定することはできません。

source_profile

AWS CLI パラメータで指定したロールを引き受けるために role_arn が使用できる、長期的な認証情報を持つ名前付きプロファイルを指定します。source_profilecredential_source の両方を同じプロファイルで指定することはできません。

source_profile = production-profile
sso_account_id

関連付けられた IAM Identity Center ユーザーに付与するアクセス許可を持つIAMロールを含む AWS アカウント ID を指定します。

この設定には、環境変数またはコマンドラインオプションはありません。

sso_account_id = 123456789012
sso_region

AWS アクセスポータルホストを含む AWS リージョンを指定します。これは とは別のもので、デフォルトの CLI region パラメータとは異なるリージョンにすることができます。

この設定には、環境変数またはコマンドラインオプションはありません。

sso_region = us_west-2
sso_registration_scopes

sso-session に許可するスコープのカンマ区切りのリストです。スコープは、IAMIdentity Center ベアラートークン認証エンドポイントへのアクセスを許可します。有効なスコープは、sso:account:access などの文字列です。この設定は、更新できない従来の設定には適用されません。

sso_registration_scopes = sso:account:access
sso_role_name

このプロファイルを使用するときのユーザーのアクセス許可を定義するIAMロールのわかりやすい名前を指定します。

この設定には、環境変数またはコマンドラインオプションはありません。

sso_role_name = ReadAccess
sso_start_url

組織の AWS アクセスポータルURLを指す を指定します。 AWS CLI はこれURLを使用して IAM Identity Center サービスとのセッションを確立し、ユーザーを認証します。 AWS アクセスポータル を検索するにはURL、次のいずれかを使用します。

この設定には、環境変数またはコマンドラインオプションはありません。

sso_start_url = https://my-sso-portal.awsapps.com/start
use_dualstack_endpoint

デュアルスタックのエンドポイントを使用して AWS リクエストを送信できるようにします。IPv4 と の両方のIPv6トラフィックをサポートするデュアルスタックエンドポイントの詳細については、Amazon Simple Storage Service Amazon S3 デュアルスタックエンドポイントの使用」を参照してください。デュアルスタックのエンドポイントは、一部のリージョンでは一部のサービスで利用できます。サービスまたは にデュアルスタックのエンドポイントが存在しない場合 AWS リージョン、リクエストは失敗します。これはデフォルトでは無効になっています。

これは use_accelerate_endpoint 設定と相互に排他的となります。

エンドポイント設定は、システム環境変数やユーザー環境変数、ローカル AWS 設定ファイルなど複数の場所に配置され、コマンドラインでパラメータとして明示的に宣言されます。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. URL それぞれのデフォルトのエンドポイント AWS のサービス が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

use_fips_endpoint

一部の AWS サービスでは、連邦情報処理規格 (FIPS) 140-2 をサポートするエンドポイントが一部の で提供されています AWS リージョン。 AWS サービスが をサポートする場合FIPS、この設定では、 AWS CLI が を使用するFIPSエンドポイントを指定します。標準 AWS エンドポイントとは異なり、FIPSエンドポイントは 140-2 FIPS に準拠したTLSソフトウェアライブラリを使用します。このエンドポイントは、米国政府とやり取りをする企業で必要とされる場合があります。

この設定が有効になっていても、 のサービスにFIPSエンドポイントが存在しない場合 AWS リージョン、 AWS コマンドは失敗する可能性があります。この場合は、--endpoint-url オプションを使用してコマンドで使用するエンドポイントを手動で指定するか、サービス固有のエンドポイントを使用します。

によるFIPSエンドポイントの指定の詳細については AWS リージョン、FIPS「サービスによるエンドポイント」を参照してください。

エンドポイント設定は、システム環境変数やユーザー環境変数、ローカル AWS 設定ファイルなど複数の場所に配置され、コマンドラインでパラメータとして明示的に宣言されます。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. URL それぞれのデフォルトのエンドポイント AWS のサービス が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

web_identity_token_file

ID プロバイダーによって提供される OAuth 2.0 アクセストークンまたは OpenID Connect ID トークンを含むファイルへのパスを指定します。 AWS CLI はこのファイルの内容をロードし、WebIdentityToken 引数として AssumeRoleWithWebIdentity オペレーションに渡します。

環境変数 AWS_WEB_IDENTITY_TOKEN_FILE により、この設定が上書きされます。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

tcp_keepalive

AWS CLI クライアントがTCPキープアライブパケットを使用するかどうかを指定します。

このエントリには同等の環境変数あるいはコマンドラインオプションがありません。

tcp_keepalive = false

S3 カスタマーコマンド設定

Amazon S3 は、 が Amazon S3 オペレーション AWS CLI を実行する方法を設定するいくつかの設定をサポートしています。一部は、s3api および s3 名前空間の両方のすべての S3 コマンドに適用されます。その他のコマンドは、一般的なオペレーションを抽象化し、APIオペレーションへの one-to-one マッピング以上のことを行う S3 の「カスタム」コマンド専用です。aws s3cpsyncmv を転送し、rm には S3 転送に使用できる追加の設定があります。

これらすべてのオプションは、config ファイル内のネストされた s3 設定を指定することで構成できます。各設定は、それぞれの行にインデントされます。

注記

これらの設定はすべてオプションです。これらの設定を一切構成せずに、aws s3 転送コマンドを正しく使用できることが必要です。これらの設定は、パフォーマンスを調整したり、上述の aws s3 コマンドを実行する特定の環境に対応したりできるように用意されています。

次の s3 プロファイルの例に示すように、これらの設定はすべて、config ファイルの上位レベル development キーで設定します。

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

次の設定は、s3 あるいは s3api 名前空間内の任意の S3 コマンドに適用されます。

addressing_style

使用するアドレス形式を指定します。これは、バケット名がホスト名に含まれているか、 の一部であるかを制御しますURL。有効な値は、pathvirtualauto です。デフォルト値は auto です。

Amazon S3 エンドポイントを構成するには 2 つのスタイルがあります。1 つ目は virtual と呼ばれ、ホスト名の一部としてバケット名が含まれています。例: https://bucketname.s3.amazonaws.com。または、 pathスタイルでは、バケット名を のパスのように扱いますURI。例えば、 ですhttps://s3.amazonaws.com/bucketname。のデフォルト値CLIは、 を使用することです。これによりauto、可能なvirtualスタイルを使用しようとしますが、必要に応じてpathスタイルに戻ります。例えば、バケット名にDNS互換性がない場合、バケット名をホスト名の一部にすることはできません。また、 パスに含める必要があります。ではauto、 CLIはこの状態を検出し、自動的にpathスタイルに切り替えます。アドレス指定スタイルを に設定する場合はpath、 で設定した AWS リージョンが AWS CLI バケットのリージョンと一致することを確認する必要があります。

payload_signing_enabled

sigv4 ペイロードSHA256に署名するかどうかを指定します。デフォルトでは、 を使用する場合、ストリーミングアップロード (UploadPart および PutObject) では無効になりますHTTPS。デフォルトでは、ストリーミングアップロード (UploadPart および PutObject) falseの場合、これは に設定されますが、 ContentMD5 が存在し (デフォルトで生成されます)、エンドポイントが を使用している場合に限りますHTTPS。

true に設定すると、S3 リクエストは、自動的に計算され、リクエスト署名に含まれるSHA256チェックサムの形式で追加のコンテンツ検証を受け取ります。false に設定すると、チェックサムは計算されません。これを無効にすると、チェックサム計算によって生じるパフォーマンスのオーバーヘッドの減少に役立ちます。

use_accelerate_endpoint

s3 および s3api のすべてのコマンドに対して Amazon S3 アクセラレートエンドポイントを使用します。デフォルト値は false です。これは use_dualstack_endpoint 設定と相互に排他的となります。

true に設定すると、 はすべての Amazon S3 リクエストを のS3 Accelerateエンドポイント AWS CLI に送信しますs3-accelerate.amazonaws.com。このエンドポイントを使用するには、S3 Accelerate を使用するようにバケットを有効化する必要があります。リクエストはすべて、仮想形式のバケットのアドレス指定 (my-bucket.s3-accelerate.amazonaws.com) を使用して送信されます。いずれの ListBucketsCreateBucketDeleteBucket リクエストも、S3 高速化エンドポイントには送信されません。高速化エンドポイントでは、これらのオペレーションをサポートしていないためです。また、--endpoint-url または https://s3-accelerate.amazonaws.com コマンドのいずれかに http://s3-accelerate.amazonaws.com パラメータが s3 あるいは s3api に設定されている場合には、この動作を実行できます。

以下の設定は、s3 名前空間コマンドセット内のコマンドのみに適用されます。

max_bandwidth

Amazon S3 との間でデータをアップロードおよびダウンロードするために消費できる最大帯域幅を指定します。デフォルトは無制限です。

これにより、S3 コマンドが Amazon S3 との間でデータを転送するために使用できる最大帯域幅が制限されます。この値は、アップロードとダウンロードのみに適用され、コピーや削除には適用されません。この値は 1 秒あたりのバイト数で示されます。この値は次のように指定できます。

  • 整数。例えば、1048576 は 1 秒あたりの 1 メガバイトの最大帯域幅使用を設定します。

  • 整数に続くレートサフィックス。KB/sMB/s、あるいは GB/s を使用して、レートサフィックスを指定できます。例えば、300KB/s10MB/s などです。

一般的には、まず、max_concurrent_requests を低くして、低い帯域幅の消費を試してみることが推奨されます。必要なレートの帯域幅消費を十分に制限できない場合には、max_bandwidth 設定を使用して、さらに帯域幅消費を制限できます。これは、max_concurrent_requests が現在実行中のスレッド数を制御できるためです。代わりに、まず max_bandwidth を低くしながら max_concurrent_requests 設定を高くすると、スレッドが不必要に待機する結果が生じることがあります。これにより、余分なリソースの消費と接続タイムアウトにつながる可能性があります。

max_concurrent_requests

同時リクエストの最大数を指定します。デフォルト値は 10 です。

aws s3 転送コマンドはマルチスレッドです。いつでも、複数の Amazon S3 リクエストを実行できます。例えば、 コマンドを使用して S3 バケットにファイルaws s3 cp localdir s3://bucket/ --recursiveをアップロードする場合、 はファイル localdir/file1、、 localdir/file2を並行localdir/file3してアップロード AWS CLI できます。max_concurrent_requests の設定は、同時に実行できる転送オペレーションの最大数を指定します。

この値を変更する必要には、いくつかの理由が考えられます。

  • この値を下げる - 環境によっては、デフォルトの 10 個の同時要求がシステムに過負荷になる場合があります。これによって接続タイムアウトやシステムの応答性の低下が見られる場合があります。この値を小さくすると、S3 転送コマンドのリソース消費が減少します。その代わり、S3 転送の完了により長くかかる可能性があります。帯域幅を制限するツールを使用する場合、この値を低めに抑える必要が生じることがあります。

  • この値を増やす – シナリオによっては、必要なだけのネットワーク帯域幅を使用して、Amazon S3 転送をできるだけ早く完了させることができます。このシナリオでは、利用できるすべてのネットワーク帯域幅を使用するためにデフォルトの同時リクエスト数が十分でないことがあります。この値を大きくすると、Amazon S3 転送が完了する時間を短縮できます。

max_queue_size

タスクキューのタスクの最大数を指定します。デフォルト値は 1000 です。

は、 AWS CLI 内部的に Amazon S3 タスクをキューに入れるモデルを使用します。このタスクは、 によって番号が制限されているコンシューマーによって実行されますmax_concurrent_requests。タスクは通常の場合、単一の Amazon S3 オペレーションをマッピングします。例えば、タスクは PutObjectTaskGetObjectTask、または UploadPartTask にできます。タスクがキューに追加される率は、コンシューマーがタスクを終了する率よりも早くなることがあります。無限の拡大を回避するには、タスクキューのサイズを指定するサイズに抑えます。この設定は、タスクキューの最大数値を変更します。

一般的には、この設定を変更する必要はありません。この設定 AWS CLI は、 が実行する必要があることを認識しているタスクの数にも対応します。つまり、デフォルトでは、 AWS CLI は 1000 個のタスクしか表示できません。この値を大きくすると、キューイングレートがタスク完了レートよりも速いと仮定して、 は必要なタスクの合計数をより迅速に知る AWS CLI ことができます。その代わり、より大きな max_queue_size はより多くのメモリを必要とします。

multipart_chunksize

が個々のファイルのマルチパート転送 AWS CLI に使用するチャンクサイズを指定します。デフォルト値は 8 MB、最小は 5 MB です。

ファイル転送が multipart_threshold を超えると、 AWS CLI はファイルをこのサイズのチャンクに分割します。multipart_threshold と同じ構文をバイト数あるいは整数として使用するか、またはサイズとサフィックスを使用して、この値を指定することができます。

multipart_threshold

が個々のファイルのマルチパート転送 AWS CLI に使用するサイズしきい値を指定します。デフォルト値は 8 MB です。

ファイルのアップロード、ダウンロードやコピーを行うとき、Amazon S3 コマンドは、ファイルがこのサイズを超える場合に、マルチパートオペレーションに切り替わります。この値は、次の 2 つのいずれかに指定します。

  • ファイルサイズ (バイト単位)。例えば、1048576 と指定します。

  • サイズのサフィックスを使用したファイルサイズ。KBMBGB、あるいは TB を使用できます。例: 10MB1GB

    注記

    S3 は、マルチパートオペレーションに使用できる有効値に制約を課すことができます。詳細については、 Amazon Simple Storage Service デベロッパーガイドS3 マルチパートアップロードのドキュメントを参照してください。