

**このドキュメントはバージョン 1 の AWS CLI のみを対象としています。**

AWS CLI バージョン 1 のサポート終了を発表しました。AWS CLI バージョン 2 に移行することをお勧めします。日付、その他の詳細、移行方法については、「[お知らせ](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/)」を参照してください。AWS CLI のバージョン 2 に関連するドキュメントについては、[バージョン 2 用ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)を参照してください。

# Configuration and credential file settings in the AWS CLI
<a name="cli-configure-files"></a>

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

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

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

**注記**  
認証情報の設定の詳細については、「[Authentication and access credentials for the AWS CLI](cli-chap-authentication.md)」を参照してください。

**Topics**
+ [

## 設定ファイルと認証ファイルの形式
](#cli-configure-files-format)
+ [

## 構成設定はどこに保存されていますか。
](#cli-configure-files-where)
+ [

## 名前を指定されたプロファイルを使用する
](#cli-configure-files-using-profiles)
+ [

## コマンドを使用した構成設定の設定と表示
](#cli-configure-files-methods)
+ [

## 新しい設定と認証情報を設定するコマンドの例
](#cli-configure-files-examples)
+ [

## サポートされる `config` ファイル設定
](#cli-configure-files-settings)

## 設定ファイルと認証ファイルの形式
<a name="cli-configure-files-format"></a>

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

これらのファイルは、次の形式を使用するプレーンテキストファイルです。
+ セクション名は、`[default]`、`[profile user1]`、`[sso-session]` などの括弧 [] で囲まれています。
+ セクション内のすべてのエントリは、`setting_name=value` の一般的な形式になります。
+ 行の先頭にハッシュ文字 (`#`) を付けると、行をコメントアウトできます。

**`config` および `credentials` ファイルには以下のセクションタイプが含まれます。**
+ [`profile`](#cli-configure-files-format-profile)
+ [`services`](#cli-configure-files-format-services)

### セクションタイプ: `profile`
<a name="cli-configure-files-format-profile"></a>

ファイルに応じて、セクション名の形式は次のとおりです。
+ **設定ファイル:** `[default]` `[profile user1]`
+ **認証情報ファイル:** `[default]` `[user1]`

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

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

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

------
#### [ Short-term credentials ]

この例は、AWS Identity and Access Management の短期の認証情報用です。詳細については、「[Authenticating with short-term credentials for the AWS CLI](cli-authentication-short-term.md)」を参照してください。

**認証情報ファイル**: 

```
[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` は同じ認証情報を借り出して新しいロールを継承します。詳細については、「[AWS CLI での IAM ロールの使用](cli-configure-role.md)」を参照してください。

**認証情報ファイル**: 

`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 インスタンスメタデータから取得した認証情報用です。詳細については、「[Using Amazon EC2 instance metadata as credentials in the AWS CLI](cli-configure-metadata.md)」を参照してください。

**認証情報ファイル**: 

`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 アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) などの ID プロバイダーとのフェデレーションを使用してください。

この例は、AWS Identity and Access Management の長期の認証情報用です。詳細については、「[Authenticating using IAM user credentials for the AWS CLI](cli-authentication-user.md)」を参照してください。

**認証情報ファイル**: 

```
[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
```

------

詳細および追加の認可/認証情報メソッドについては、「[Authenticating using IAM user credentials for the AWS CLI](cli-authentication-user.md)」を参照してください。

### セクションタイプ: `services`
<a name="cli-configure-files-format-services"></a>

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

```
[profile dev]
services = my-services
```

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

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

```
[profile dev]
services = my-services

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

サービス固有のエンドポイントの詳細については、「[Using endpoints in the AWS CLI](cli-configure-endpoints.md)」を参照してください。

プロファイルに IAM Assume Role 機能の `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
```

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

## 構成設定はどこに保存されていますか。
<a name="cli-configure-files-where"></a>

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

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

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

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

## 名前を指定されたプロファイルを使用する
<a name="cli-configure-files-using-profiles"></a>

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

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

```
$ aws ec2 describe-instances --profile user1
```

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

------
#### [ Linux or macOS ]

```
$ export AWS_PROFILE=user1
```

------
#### [ Windows ]

```
C:\> setx AWS_PROFILE user1
```

`[set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` を使用して環境変数を設定すると、現在のコマンドプロンプトセッションの終了時まで、または変数を別の値に設定するまで、使用する値が変更されます。

[https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx) を使用して環境変数を設定すると、コマンドの実行後に作成するすべてのコマンドシェルの値が変更されます。コマンドの実行時に既に実行されているコマンドシェルには**影響しません****。変更の影響を確認するには、コマンドシェルを閉じて再起動します。

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

------

## コマンドを使用した構成設定の設定と表示
<a name="cli-configure-files-methods"></a>

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

**`[aws configure](https://docs.aws.amazon.com/cli/v1/reference/configure/index.html)`**  
このコマンドを実行すると、認証情報、リージョン、出力形式をすばやく設定および表示できます。次の例は、サンプル値を示しています。  

```
$ 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](https://docs.aws.amazon.com/cli/v1/reference/configure/set.html)`**  
`aws configure set` を使用して、任意の認証情報または構成設定を設定できます。`--profile` 設定で表示または変更するプロファイルを指定します。  
例えば、次のコマンドは `region` という名前のプロファイル内の `integ` を設定します。  

```
$ aws configure set region us-west-2 --profile integ
```
設定を削除するには、テキストエディタで `config` ファイルおよび `credentials` ファイルの設定を手動で削除します。

**[https://docs.aws.amazon.com/cli/v1/reference/configure/get.html](https://docs.aws.amazon.com/cli/v1/reference/configure/get.html)**  
`aws configure get` を使用して設定した認証情報または構成設定を取得できます。`--profile` 設定で表示または変更するプロファイルを指定します。  
例えば、次のコマンドは `region` という名前のプロファイル内の `integ` 設定を取得します。  

```
$ aws configure get region --profile integ
us-west-2
```
出力が空の場合にはその設定は明示的に構成されず、デフォルトの値が使用されます。

**[https://docs.aws.amazon.com/cli/v1/reference/configure/list.html](https://docs.aws.amazon.com/cli/v1/reference/configure/list.html)**  
設定データを一覧表示するには、`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
```

## 新しい設定と認証情報を設定するコマンドの例
<a name="cli-configure-files-examples"></a>

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

------
#### [ Console sessions as short-term credentials ]

この例では、`aws login` コマンドで既存のコンソール認証情報を使用できます。このサインイン方法は、最初のアカウント設定中に作成されたルート認証情報、IAM ユーザー、または ID プロバイダーからのフェデレーティッド ID で使用できます。詳細については、「[コンソール認証情報を使用した AWS ローカル開発へのログイン](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)」を参照してください。

```
$ aws login
No AWS region has been configured. The AWS region is the geographic location of your AWS resources. 

If you've used AWS before and already have resources in your account, tell us which region they were 
created in. If you haven't created resources in your account before, you can pick the region closest to you: 
https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html. You are able to change 
the region in the CLI at any time with the command `aws configure set region NEW_REGION`.

AWS Region [us-east-1]: us-east-1
Attempting to open the login page for `us-east-1` in your default browser. If the browser does not open, 
use the following URL to complete your login:

https://us-east-1.signin.aws.amazon.com/v1/authorize<abbreviated>

If you cannot connect to this URL, make sure that you have specified a valid region.

Waiting for login...

Logged in with role `arn:aws:sts::012345678910:user/iam-user`, and configured profile 
`default` to use `us-east-1`. This session will expire on October 14, 2025 at 2:04 PST. After this time, you 
can renew your session with `aws login`.
```

------
#### [ Short-term credentials ]

この例は、AWS Identity and Access Management の短期の認証情報用です。aws configure ウィザードを使用して初期値を設定すると、`aws configure set` コマンドは必要な最後の値を割り当てます。詳細については、「[Authenticating with short-term credentials for the AWS CLI](cli-authentication-short-term.md)」を参照してください。

```
$ 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` コマンドを使用します。詳細については、「[AWS CLI での IAM ロールの使用](cli-configure-role.md)」を参照してください。

```
$ 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` コマンドを使用します。詳細については、「[Using Amazon EC2 instance metadata as credentials in the AWS CLI](cli-configure-metadata.md)」を参照してください。

```
$ 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 アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) などの ID プロバイダーとのフェデレーションを使用してください。

この例は、AWS Identity and Access Management の長期の認証情報用です。詳細については、「[Authenticating using IAM user credentials for the AWS CLI](cli-authentication-user.md)」を参照してください。

```
$ 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` ファイル設定
<a name="cli-configure-files-settings"></a>

**Topics**
+ [

### [Global settings (グローバル設定)]
](#cli-configure-files-global)
+ [

### S3 カスタマーコマンド設定
](#cli-configure-files-s3)

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

### [Global settings (グローバル設定)]
<a name="cli-configure-files-global"></a>

** `account_id_endpoint_mode` **  
サポートされている AWS のサービスへの呼び出しに AWS アカウントベースのエンドポイント ID を使用するかどうかを指定します。アカウントベースのエンドポイントの詳細については、「[アカウントベースのエンドポイント](cli-configure-endpoints.md#endpoints-accountid)」を参照してください。  
この設定は、次のように設定できます。  
+ **(デフォルト)** **`preferred`** – アカウント ID が使用可能な場合、エンドポイントに含める必要があります。
+ **`disabled`** – 解決済みのエンドポイントにアカウント ID は含まれません。
+ **`required`** – エンドポイントにアカウント ID が含まれる必要があります。アカウント ID が使用できない場合、SDK はエラーをスローします。
`AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` 環境変数で上書きすることができます。アカウントベースのエンドポイントを使用するには、`AWS\$1ACCOUNT\$1ID` 環境変数または `aws\$1account\$1id` 設定で ID を設定する必要があります。  

```
account_id_endpoint_mode = preferred
```
**エンドポイントの優先順位**  
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「[エンドポイント設定と設定の優先順位](cli-configure-endpoints.md#endpoints-precedence)」を参照してください。

** `api_versions` **  
 一部の AWS サービスでは、下位互換性をサポートするために複数の API バージョンを維持します。デフォルトで、AWS CLI コマンドは最新の API バージョンを使用します。`api_versions` ファイル内の `config` 設定に含むプロファイルに使用する API ファイルを指定することができます。  
これは、それぞれが使用する AWS サービスと使用する API バージョンを識別する 1 つ以上のインデントされた行に適用される「ネストされた」設定です。どの API バージョンが利用可能を判断するには、各サービスのドキュメントを参照してください。  
次の例は、2 つの AWS サービスに API バージョンを指定する方法を示しています。これらの API バージョンは、この設定を含むプロファイルで実行するコマンドにのみ使用されます。  

```
api_versions =
    ec2 = 2015-03-01
    cloudfront = 2015-09-017
```
この設定には、環境変数やコマンドラインパラメータに相当するものはありません。

** `aws_access_key_id` **  
コマンドリクエストを認証するための認証情報の一部として使用する AWS アクセスキーを指定します。これを `config` ファイルに保存することもできますが、`credentials` ファイルに保存することが推奨されます。  
`AWS_ACCESS_KEY_ID` 環境変数で上書きすることができます。アクセスキー ID をコマンドラインオプションとして指定することはできません。  

```
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
```

** `aws_account_id` **  
サポートされている AWS のサービスへの呼び出しに使用する AWS アカウントベースのエンドポイント ID を指定します。アカウントベースのエンドポイントの詳細については、「[アカウントベースのエンドポイント](cli-configure-endpoints.md#endpoints-accountid)」を参照してください。  
`AWS\$1ACCOUNT\$1ID` 環境変数で上書きすることができます。この設定を使用するには、`AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` 環境変数または `account\$1id\$1endpoint\$1mode` 設定を `preferred` または `required` に設定する必要があります。  

```
aws_account_id = 123456789EXAMPLE
```
**エンドポイントの優先順位**  
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「[エンドポイント設定と設定の優先順位](cli-configure-endpoints.md#endpoints-precedence)」を参照してください。

**`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`**  
SSL 証明書を検証するために使用される CA 証明書バンドル (`.pem` 拡張子があるファイル) を指定します。  
`AWS\$1CA\$1BUNDLE` 環境変数あるいは `--ca-bundle` コマンドラインオプションで上書きできます。  

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

**`cli_follow_urlparam`**  
AWS CLI が、`http://` または `https://` で始まるコマンドラインパラメータの URL リンクに従おうとするかどうかを指定します。これを有効にすると、取得されたコンテンツは URL の代わりにパラメータ値として使用されます。  
+ **true** - これはデフォルト値です。指定すると、`http://` または `https://` で始まるすべての文字列パラメータが取得され、ダウンロードされたすべてのコンテンツはコマンドのパラメータ値として使用されます。
+ **false** – これを指定した場合、AWS CLI は `http://` または `https://` で始まるパラメータ文字列値を他の文字列と同じように扱います。
このエントリには同等の環境変数あるいはコマンドラインオプションがありません。  

```
cli_follow_urlparam = false
```

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

```
cli_history = enabled
```
`aws history list` コマンドを使用すると履歴を一覧表示でき、そこから得られた `command_ids` を `aws history show` コマンドに使用すると詳細を確認できます。詳細については、「*AWS CLI リファレンスガイド*」の「[https://docs.aws.amazon.com/cli/v1/reference/history/index.html](https://docs.aws.amazon.com/cli/v1/reference/history/index.html)」を参照してください。

**`cli_timestamp_format`**  
タイムスタンプの値の出力形式を指定します。次の値のいずれかを指定できます。  
+ **iso8601** – AWS CLI バージョン 2 のデフォルト値。指定すると、AWS CLI は、[ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) に従って出力のすべてのタイムスタンプを再フォーマットします。ISO 8601 形式のタイムスタンプは、次の例のようになります。次の例では、日付と時刻を `T` で区切り、時刻の後に `Z` を含めることで時刻をフォーマットする方法を示しています。

  ```
  YYYY-MM-DDThh:mm:ssZ
  ```

  次の例は、前の形式を使用したタイムスタンプを示しています。

  ```
  2024-05-08T15:16:43Z
  ```
+ **wire** – AWS CLI バージョン 1 のデフォルト値。指定すると、AWS CLI は、HTTP クエリレスポンスで受信したとおりにすべてのタイムスタンプ値を表示します。
この設定には同等の環境変数あるいはコマンドラインオプションがありません。この設定では、タイムスタンプ入力は変更されず、出力形式のみが変更されます。  

```
cli_timestamp_format = iso8601
```

**`credential\$1process`**  
このコマンドに使用する認証情報を生成あるいは取得するために AWS CLI が実行する外部のコマンドを指定します。このコマンドは、特定の形式で認証情報を返す必要があります。この設定を使用する方法の詳細については、「[Sourcing credentials with an external process in the AWS CLI](cli-configure-sourcing-external.md)」を参照してください。  
このエントリには同等の環境変数あるいはコマンドラインオプションがありません。  

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

**`credential\$1source`**  
Amazon EC2 インスタンスまたは EC2 コンテナ内で使用され、`role_arn` パラメータで指定したロールを引き受けるために使用する認証情報を AWS CLI が検索できる場所を指定します。`source_profile` と `credential_source` の両方を同じプロファイルで指定することはできません。  
このパラメータには、次の 3 つの値のいずれかを指定できます。  
+ **Environment** – AWS CLI が環境変数からソース認証情報を取得することを指定します。
+ **EC2InstanceMetadata** – AWS CLI が [EC2 インスタンスプロファイル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)にアタッチされた IAM ロールを使用してソースの認証情報を取得することを指定します。
+ **EcsContainer** – AWS CLI が ECS コンテナにアタッチされた IAM ロールをソースの認証情報として使用することを指定します。

```
credential_source = Ec2InstanceMetadata
```

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

**`endpoint_url`**  
すべてのサービスリクエストに使用されるエンドポイントを指定します。この設定が `config` ファイルの [`services`](#cli-configure-files-format-services) セクションで使用されている場合、エンドポイントは指定されたサービスにのみ使用されます。詳細については、「[すべての AWS のサービス にグローバルエンドポイントを設定します。](cli-configure-endpoints.md#endpoints-global)」を参照してください。  
次の例では、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 により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「[エンドポイント設定と設定の優先順位](cli-configure-endpoints.md#endpoints-precedence)」を参照してください。

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

```
ignore_configure_endpoint_urls = true
```
**エンドポイントの優先順位**  
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「[エンドポイント設定と設定の優先順位](cli-configure-endpoints.md#endpoints-precedence)」を参照してください。

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

**`max\$1attempts`**  
AWS CLI 再試行ハンドラが使用する最大再試行回数を指定します。ここで最初の呼び出しは、指定した `max_attempts` 値に対してカウントされます。  
環境変数 `AWS_MAX_ATTEMPTS` を使用して、この値を上書きできます。  

```
max_attempts = 3
```

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

**`output`**  
このプロファイルを使用してリクエストするコマンドのデフォルトの出力形式を指定します。次の値のいずれかを指定できます。  
+ **[`json`](cli-usage-output-format.md#json-output)** - 出力は [JSON](https://json.org/) 文字列としてフォーマットされます。
+ **[`text`](cli-usage-output-format.md#text-output)** - 出力は、複数行のタブ区切りの文字列値としてフォーマットされます。これは、`grep`、`sed`、または `awk` などのテキストプロセッサに出力を渡すのに役立ちます。
+ **[`table`](cli-usage-output-format.md#table-output)** - 出力は、テーブルとしてフォーマットされ、文字の「\$1\$1-」を使用してセルの境界を形成します。通常、情報は他の形式よりも読みやすい「わかりやすい」形式で表示されますが、プログラムとしては役立ちません。
`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 のリージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」にリストされるように、選択されたサービスに使用できるリージョンコードのいずれかを指定できます。
+ `aws_global` では、AWS Security Token Service (AWS STS) や Amazon Simple Storage Service (Amazon S3) などのリージョンのエンドポイントに加えて、グローバルエンドポイントをサポートするサービスのグローバルエンドポイントを指定できます。
`AWS_DEFAULT_REGION` 環境変数、または `--region` コマンドラインオプションを使用して、この値を上書きできます。  

```
region = us-west-2
```

**`request_checksum_calculation`**  
リクエストペイロードのチェックサムをどの場合に計算するかを指定します。次のオプションがあります。  
+ `when_supported` - **(デフォルト)** リクエストペイロードのチェックサムは、オペレーションがサービスモデルでチェックサムアルゴリズムを指定している場合、またはリクエストチェックサムを必須としている場合に計算されます。
+ `when_required` - リクエストペイロードのチェックサムは、オペレーションがリクエストチェックサムを必須としている場合、または AWS のサービス によってモデル化された `requestAlgorithmMember` をユーザーが指定している場合に計算されます。

```
request_checksum_calculation = when_supported
```
環境変数 [`AWS_REQUEST_CHECKSUM_CALCULATION`](cli-configure-envvars.md#envvars-list-AWS_REQUEST_CHECKSUM_CALCULATION) により、この設定が上書きされます。

**`response_checksum_validation`**  
レスポンスペイロードのチェックサム検証をどの場合に実行するかを指定します。次のオプションがあります。  
+ `when_supported` - **(デフォルト)** レスポンスペイロードのチェックサム検証は、オペレーションが AWS CLI でサポートされているサービスモデルでレスポンスアルゴリズムを指定している場合に実行されます。
+ `when_required` - レスポンスペイロードのチェックサム検証は、オペレーションが AWS CLI でサポートされているサービスモデルでレスポンスアルゴリズムを指定し、お客様がオペレーション入力でモデル化された `requestValidationModeMember` を `ENABLED` に設定している場合に実行されます。

```
response_checksum_validation = when_supported
```
環境変数 [`AWS_RESPONSE_CHECKSUM_VALIDATION`](cli-configure-envvars.md#envvars-list-AWS_RESPONSE_CHECKSUM_VALIDATION) により、この設定が上書きされます。

**`retry\$1mode`**  
AWS CLI が使用する再試行モードを指定します。再試行モードには、`standard` 、`legacy` (デフォルト)、`adaptive` の 3 つがあります。再試行の詳細については、「[AWS CLI retries in the AWS CLI](cli-configure-retries.md)」を参照してください。  
環境変数 `AWS_RETRY_MODE` を使用して、この値を上書きできます。  

```
retry_mode = standard
```

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

```
role_arn = arn:aws:iam::123456789012:role/role-name
```
環境変数 [`AWS_ROLE_ARN`](cli-configure-envvars.md#envvars-list-AWS_ROLE_ARN) により、この設定が上書きされます。  
ウェブ ID の使用の詳細については、「[ウェブ ID を使用したロールの継承](cli-configure-role.md#cli-configure-role-oidc)」を参照してください。

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

```
role_session_name = maria_garcia_role
```
環境変数 [`AWS_ROLE_SESSION_NAME`](cli-configure-envvars.md#envvars-list-AWS_ROLE_SESSION_NAME) により、この設定が上書きされます。  
ウェブ ID の使用の詳細については、「[ウェブ ID を使用したロールの継承](cli-configure-role.md#cli-configure-role-oidc)」を参照してください。

**`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`](#cli-configure-files-format-services)」を参照してください。  
環境変数 [`AWS_ROLE_SESSION_NAME`](cli-configure-envvars.md#envvars-list-AWS_ROLE_SESSION_NAME) により、この設定が上書きされます。  
ウェブ ID の使用の詳細については、「[ウェブ ID を使用したロールの継承](cli-configure-role.md#cli-configure-role-oidc)」を参照してください。

**`sdk_ua_app_id`**  
単一の AWS アカウントを複数のカスタマーアプリケーションで使用して、AWS のサービスを呼び出すことができます。アプリケーション ID は、AWS のサービスを使用して一連の呼び出しを行ったソースアプリケーションを識別します。AWSSDK とサービスは、カスタマーコミュニケーションに返す以外の目的で、この値を使用したり解釈したりはしません。例えば、この値を運用 E メールに含めることにより、通知に関連付けられているアプリケーションを一意に識別できます。  
アプリケーション ID は、最大長 50 文字の文字列です。文字、数字、および次の特殊文字を使用できます: `! $ % & * + - . , ^ _ ` | ~`。デフォルトでは、値は割り当てられていません。  

```
sdk_ua_app_id = prod1
```
この設定は、[`AWS_SDK_UA_APP_ID`](cli-configure-envvars.md#envvars-list-AWS_SDK_UA_APP_ID) 環境変数を使用して上書きできます。この値をコマンドラインパラメータとして設定することはできません。

**`sigv4a_signing_region_set`**  
SigV4a で署名するときに使用するリージョンをカンマ区切りリストで指定します。この変数が設定されていない場合、AWS CLI は AWS のサービス で使用されるデフォルト値を使用します。AWS のサービス にデフォルト値がない場合、リクエスト署名は `*` の値を使用してすべてのリージョンで有効になります。  

```
sigv4a_signing_region_set = us-west-2, us-east-1
```
SigV4a の詳細については、*IAM ユーザーガイド*の「[API リクエストに対する AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。  
この設定は、[`AWS_SIGV4A_SIGNING_REGION_SET`](cli-configure-envvars.md#envvars-list-AWS_SIGV4A_SIGNING_REGION_SET) 環境変数を使用して上書きできます。この値をコマンドラインパラメータとして設定することはできません。

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

```
source_profile = production-profile
```

**`sts_regional_endpoints`**  
AWS CLI クライアントが AWS (AWS CLI) と通信するために使用する AWS Security Token Service サービスエンドポイントを AWS STS が判別する方法を指定します。AWS CLI バージョン 1 のデフォルト値は `legacy` です。  
次の 2 つの値のいずれかを指定できます。  
+ **`legacy`** – `ap-northeast-1`、`ap-south-1`、`ap-southeast-1`、`ap-southeast-2`、`aws-global`、`ca-central-1`、`eu-central-1`、`eu-north-1`、`eu-west-1`、`eu-west-2`、`eu-west-3`、`sa-east-1`、`us-east-1`、`us-east-2`、`us-west-1`、および `us-west-2` の各 AWS リージョンリージョンにグローバル STS エンドポイント `sts.amazonaws.com` を使用します。他のすべてのリージョンでは、それぞれのリージョンエンドポイントが自動的に使用されます。
+ **`regional`** – AWS CLI は常に、現在設定されているリージョンに AWS STS エンドポイントを使用します。例えば、クライアントが `us-west-2` を使用するように設定されている場合、AWS STS へのすべてのコールは、グローバル `sts.amazonaws.com` エンドポイントではなく、リージョンエンドポイント `sts.us-west-2.amazonaws.com` に対して行われます。この設定が有効なときにグローバルエンドポイントにリクエストを送信するには、リージョンを `aws-global` に設定します。
この設定は、`AWS_STS_REGIONAL_ENDPOINTS` 環境変数を使用して上書きできます。この値をコマンドラインパラメータとして設定することはできません。

**`use_dualstack_endpoint`**  
デュアルスタックのエンドポイントを使用して AWS リクエストを送信できるようにします。IPv4 と IPv6 の両方のトラフィックをサポートするデュアルスタックエンドポイントの詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[Amazon S3 デュアルスタックエンドポイントの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)」を参照してください。デュアルスタックのエンドポイントは、一部のリージョンでは一部のサービスで利用できます。サービスまたは AWS リージョン にデュアルスタックエンドポイントが存在しない場合、リクエストは失敗します。有効な設定は `true` と `false` です。これはデフォルトでは無効になっています。詳細については、「[すべての AWS のサービスでデュアルスタックのエンドポイントを使用するように設定](cli-configure-endpoints.md#endpoints-dual-stack)」を参照してください。  
 これは `use_accelerate_endpoint` 設定と相互に排他的となります。  
**エンドポイントの優先順位**  
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「[エンドポイント設定と設定の優先順位](cli-configure-endpoints.md#endpoints-precedence)」を参照してください。

**`use_fips_endpoint`**  
AWS の一部のサービスでは、[連邦情報処理規格 (FIPS、Federal Information Processing Standard) 140-2](https://aws.amazon.com/compliance/fips/) をサポートするエンドポイントを一部の AWS リージョンで提供しています。AWS のサービスが FIPS をサポートしている場合、この設定により、どの FIPS エンドポイントを AWS CLI が使用すべきかを指定します。標準の AWS エンドポイントとは異なり、FIPS エンドポイントでは FIPS 140-2 に準拠した TLS ソフトウェアライブラリを使用しています。このエンドポイントは、米国政府とやり取りをする企業で必要とされる場合があります。詳細については、「[すべての AWS のサービスに FIPS エンドポイントを使用するように設定](cli-configure-endpoints.md#endpoints-fips)」を参照してください。  
この設定が有効になっているが、AWS リージョン内のサービス用 FIPS エンドポイントが存在しない場合、AWS のコマンドは失敗する可能性があります。この場合は、`--endpoint-url` オプションを使用してコマンドで使用するエンドポイントを手動で指定するか、[サービス固有のエンドポイント](cli-configure-endpoints.md#endpoints-service-specific)を使用します。  
**エンドポイントの優先順位**  
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「[エンドポイント設定と設定の優先順位](cli-configure-endpoints.md#endpoints-precedence)」を参照してください。

**`web\$1identity\$1token\$1file`**  
OAuth 2.0 アクセストークンまたは ID プロバイダーによって提供される OpenID Connect ID トークンを含むファイルへのパスを指定します。AWS CLI はこのファイルの内容をロードし、`WebIdentityToken` 引数として `AssumeRoleWithWebIdentity` オペレーションに渡します。  
環境変数 `AWS\$1WEB\$1IDENTITY\$1TOKEN\$1FILE` により、この設定が上書きされます。  
ウェブ ID の使用の詳細については、「[ウェブ ID を使用したロールの継承](cli-configure-role.md#cli-configure-role-oidc)」を参照してください。

**`tcp_keepalive`**  
AWS CLI クライアントが TCP キープアライブパケットを使用するかどうかを指定します。  
このエントリには同等の環境変数あるいはコマンドラインオプションがありません。  

```
tcp_keepalive = false
```

### S3 カスタマーコマンド設定
<a name="cli-configure-files-s3"></a>

Amazon S3 は、AWS CLI がどのように Amazon S3 オペレーションを実行するかを設定する複数の設定をサポートします。一部は、`s3api` および `s3` 名前空間の両方のすべての S3 コマンドに適用されます。それ以外は、一般的なオペレーションを抽象化する S3 の「カスタム」コマンド専用となり、API オペレーションで 1 対 1 のマッピング以上に機能します。`aws s3` は `cp`、`sync`、`mv` を転送し、`rm` には S3 転送に使用できる追加の設定があります。

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

**注記**  
これらの設定はすべてオプションです。これらの設定を一切構成せずに、`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 の一部にあるかを制御します。有効な値は、`path`、`virtual`、`auto` です。デフォルト値は `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`**  
SHA256 が sigv4 ペイロードを署名するかどうかを指定します。デフォルトでは、HTTPS 使用時のストリーミングアップロード (`UploadPart` および `PutObject`) にはこれが無効化されています。デフォルトでは、`false` があり (デフォルトで生成されます)、エンドポイントが HTTPS を使用する場合にのみ、これはストリーミングアップロード (`UploadPart` および `PutObject`) 用に `ContentMD5` に設定されます。  
true に設定すると、S3 は SHA256 チェックサム形式 (自動的に計算されてリクエスト署名に追加) で追加のコンテンツ検証の受信をリクエストします。false に設定すると、チェックサムは計算されません。これを無効にすると、チェックサム計算によって生じるパフォーマンスのオーバーヘッドの減少に役立ちます。

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

**`use_dualstack_endpoint`**  
デュアルスタックのエンドポイントを使用して `s3` および `s3api` リクエストを送信できるようにします。IPv4 と IPv6 の両方のトラフィックをサポートするデュアルスタックエンドポイントの詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[Amazon S3 デュアルスタックエンドポイントの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)」を参照してください。デュアルスタックのエンドポイントは、一部のリージョンでは一部のサービスで利用できます。サービスまたは AWS リージョン にデュアルスタックエンドポイントが存在しない場合、リクエストは失敗します。有効な設定は `true` と `false` です。これはデフォルトでは無効になっています。詳細については、「[すべての AWS のサービスでデュアルスタックのエンドポイントを使用するように設定](cli-configure-endpoints.md#endpoints-dual-stack)」を参照してください。  
 これは `use_accelerate_endpoint` 設定と相互に排他的となります。

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

**`max_bandwidth`**  
Amazon S3 との間でデータをアップロードおよびダウンロードするために消費できる最大帯域幅を指定します。デフォルトは無制限です。  
これにより、S3 コマンドが Amazon S3 との間でデータを転送するために使用できる最大帯域幅が制限されます。この値は、アップロードとダウンロードのみに適用され、コピーや削除には適用されません。この値は 1 秒あたりのバイト数で示されます。この値は次のように指定できます。  
+ 整数。例えば、`1048576` は 1 秒あたりの 1 メガバイトの最大帯域幅使用を設定します。
+ 整数に続くレートサフィックス。`KB/s`、`MB/s`、あるいは `GB/s` を使用して、レートサフィックスを指定できます。例えば、`300KB/s` や `10MB/s` などです。
一般的には、まず、`max_concurrent_requests` を低くして、低い帯域幅の消費を試してみることが推奨されます。必要なレートの帯域幅消費を十分に制限できない場合には、`max_bandwidth` 設定を使用して、さらに帯域幅消費を制限できます。これは、`max_concurrent_requests` が現在実行中のスレッド数を制御できるためです。代わりに、まず `max_bandwidth` を低くしながら `max_concurrent_requests` 設定を高くすると、スレッドが不必要に待機する結果が生じることがあります。これにより、余分なリソースの消費と接続タイムアウトにつながる可能性があります。

**`max_concurrent_requests`**  
同時リクエストの最大数を指定します。デフォルト値は 10 です。  
`aws s3` 転送コマンドはマルチスレッドです。いつでも、複数の Amazon S3 リクエストを実行できます。例えば、コマンド `aws s3 cp localdir s3://bucket/ --recursive` を使用して S3 バケットにファイルをアップロードする場合、AWS CLI は `localdir/file1`、`localdir/file2`、`localdir/file3` ファイルを並行してアップロードできます。`max_concurrent_requests` の設定は、同時に実行できる転送オペレーションの最大数を指定します。  
この値を変更する必要には、いくつかの理由が考えられます。  
+ この値を下げる - 環境によっては、デフォルトの 10 個の同時要求がシステムに過負荷になる場合があります。これによって接続タイムアウトやシステムの応答性の低下が見られる場合があります。この値を小さくすると、S3 転送コマンドのリソース消費が減少します。その代わり、S3 転送の完了により長くかかる可能性があります。帯域幅を制限するツールを使用する場合、この値を低めに抑える必要が生じることがあります。
+ この値を増やす – シナリオによっては、必要なだけのネットワーク帯域幅を使用して、Amazon S3 転送をできるだけ早く完了させることができます。このシナリオでは、利用できるすべてのネットワーク帯域幅を使用するためにデフォルトの同時リクエスト数が十分でないことがあります。この値を大きくすると、Amazon S3 転送が完了する時間を短縮できます。

**`max_queue_size`**  
タスクキューのタスクの最大数を指定します。デフォルト値は 1000 です。  
AWS CLI は Amazon S3 タスクをキューに入れるモデルを内部で使用し、これらのタスクはその後、`max_concurrent_requests` によって数が制限されているコンシューマーによって実行されます。タスクは通常の場合、単一の Amazon S3 オペレーションをマッピングします。例えば、タスクは `PutObjectTask`、`GetObjectTask`、または `UploadPartTask` にできます。タスクがキューに追加される率は、コンシューマーがタスクを終了する率よりも早くなることがあります。無限の拡大を回避するには、タスクキューのサイズを指定するサイズに抑えます。この設定は、タスクキューの最大数値を変更します。  
一般的には、この設定を変更する必要はありません。この設定は、AWS CLI が実行される必要性を認識しているタスクの数にも対応します。つまり、AWS CLI はデフォルトで、その先の 1,000 個のタスクしか認識できないことを意味します。この値を大きくすると、AWS CLI は必要なタスクの合計数をより迅速に把握できることになります (クエリ速度がタスクの完了速度よりも速いと仮定した場合)。その代わり、より大きな max\$1queue\$1size はより多くのメモリを必要とします。

**`multipart_chunksize`**  
個別ファイルのマルチパート転送用に AWS CLI が使用するチャンクのサイズを指定します。デフォルト値は 8 MB、最小は 5 MB です。  
ファイル転送が `multipart_threshold` を超えると、AWS CLI はファイルをこのサイズのチャンクに分割します。`multipart_threshold` と同じ構文をバイト数あるいは整数として使用するか、またはサイズとサフィックスを使用して、この値を指定することができます。

**`multipart_threshold`**  
個別ファイルのマルチパート転送用に AWS CLI が使用するしきい値のサイズを指定します。デフォルト値は 8 MB です。  
ファイルのアップロード、ダウンロードやコピーを行うとき、Amazon S3 コマンドは、ファイルがこのサイズを超える場合に、マルチパートオペレーションに切り替わります。この値は、次の 2 つのいずれかに指定します。  
+ ファイルサイズ (バイト単位)。例えば、`1048576`。
+ サイズのサフィックスを使用したファイルサイズ。`KB`、`MB`、`GB`、あるいは `TB` を使用できます。例: `10MB`、`1GB`。
**注記**  
S3 は、マルチパートオペレーションに使用できる有効値に制約を課すことができます。詳細については、[ Amazon Simple Storage Service デベロッパーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html)の*S3 マルチパートアップロードのドキュメント*を参照してください。