

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

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

**`config` および `credentials` ファイルには以下のセクションタイプが含まれます。**
+ [`profile`](#cli-configure-files-format-profile)
+ [`sso-session`](#cli-configure-files-format-sso-session)
+ [`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 コマンドを実行するときに使用します。

------
#### [ IAM Identity Center (SSO) ]

この例は AWS IAM アイデンティティセンター 用です。詳細については、「[AWS CLI を使用した IAM アイデンティティセンター認証の設定](cli-configure-sso.md)」を参照してください。

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

`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 アイデンティティセンター の従来の方法を示しています。詳細については、「[AWS CLI を使用した IAM アイデンティティセンター認証の設定](cli-configure-sso.md)」を参照してください。

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

`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 の短期の認証情報用です。詳細については、「[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)」を参照してください。

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

`config` ファイルの `sso-session` セクションを使用して、SSO アクセストークンを取得するための設定変数をグループ化します。これらを使用して、AWS 認証情報を取得できます。次の設定を使用します。
+ **(必須)** `sso\$1start\$1url`
+ **(必須)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

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

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

```
[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_account_id` と `sso_role_name` は SSO トークン設定のすべてのシナリオで必須というわけではありません。アプリケーションでベアラー認証をサポートする AWS のサービスのみを使用する場合、従来の AWS 認証情報は必要ありません。ベアラー認証は、ベアラートークンと呼ばれるセキュリティトークンを使用する HTTP 認証スキームです。このシナリオでは、`sso_account_id` と `sso_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` ディレクトリの下のディスクにキャッシュされます。

設定タイプの詳細については、「[AWS CLI を使用した IAM アイデンティティセンター認証の設定](cli-configure-sso.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/latest/reference/reference/configure/import.html](https://docs.aws.amazon.com/cli/latest/reference/reference/configure/import.html)**  
IAM ウェブコンソールから生成済みの `CSV` 認証情報をインポートします。これは IAM Identity Center で生成された認証情報用ではありません。IAM Identity Center を使用するお客様は aws configure sso を使用する必要があります。ユーザー名と一致するプロファイル名を持つ CSV ファイルがインポートされます。CSV ファイルには、次のヘッダーが含まれている必要があります。  
+ ユーザー名
+ アクセスキー ID
+ シークレットアクセスキー
最初のキーペアの作成時に、**[Download .csv file]** (.csv ファイルをダウンロードする) ダイアログボックスを閉じると、ダイアログボックスを閉じた後に、シークレットアクセスキーにアクセスできません。`.csv` ファイルが必要な場合は、必要なヘッダーと保存したキーペア情報を使用して自分で作成する必要があります。キーペア情報にアクセスできない場合は、新しいキーペアを作成する必要があります。

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

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

**[https://docs.aws.amazon.com/cli/v1/reference/configure/list-profiles.html](https://docs.aws.amazon.com/cli/v1/reference/configure/list-profiles.html)**  
すべてのプロファイル名を一覧表示するには、`aws configure list-profiles` コマンドを使用します。  

```
$ aws configure list-profiles
default
test
```

**`aws configure mfa-login`**  
このコマンドを実行して、指定したプロファイルで多要素認証 (MFA) と IAM ユーザー認証情報で使用する新しいプロファイルを設定します。プロファイルが指定されていない場合、MFA は `default` プロファイルに基づいています。デフォルトプロファイルが設定されていない場合、`mfa-login` コマンドは MFA 情報を尋ねる前に AWS 認証情報の入力を求めます。次のコマンド例では、デフォルト設定を使用して MFA プロファイルを作成します。  

```
$ aws configure mfa-login
MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName
MFA token code: 123456
Profile to update [session-MFADeviceName]:
Temporary credentials written to profile 'session-MFADeviceName'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands
```
既存のプロファイルを更新するには、`--update-profile` パラメータを使用します。  

```
$ aws configure mfa-login --profile myprofile --update-profile mfaprofile
MFA token code: 123456
Temporary credentials written to profile 'mfaprofile'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile mfaprofile when running AWS CLI commands
```
このコマンドは現在、ハードウェアまたはソフトウェアベースのワンタイムパスワード (OTP) 認証のみをサポートしています。パスキーと U2F デバイスは現在、このコマンドではサポートされていません。  
詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[IAM での AWS 多要素認証 (MFA) の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)」を参照してください。

**`aws configure sso`**  
このコマンドを実行すると、AWS IAM アイデンティティセンター 認証情報、リージョン、出力形式をすばやく設定および表示できます。次の例は、サンプル値を示しています。  

```
$ 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`**  
このコマンドを実行すると、`credentials` および `config` ファイルの `sso-session` セクションで、AWS IAM アイデンティティセンター 認証情報、リージョン、出力形式をすばやく設定および表示できます。次の例は、サンプル値を示しています。  

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

**`aws configure export-credentials`**  
このコマンドを実行して、現在設定されている認証情報を指定された形式でエクスポートします。デフォルトでは、コマンドはデフォルトの認証情報を `process` 形式でエクスポートします。これは AWS SDK とツールの認証情報形式でサポートされている JSON 形式です。  

```
$ aws configure export-credentials
{
  "Version": 1,
  "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
  "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}
```
特定のプロファイルと形式をエクスポートするには、`--profile` および `--format` オプションを使用します。形式のオプションは以下のとおりです。  
+ **(デフォルト)** **`process`** – AWS SDK とツールの `credential_process` の設定でサポートされている JSON 形式。
+ **`env`** - エクスポートされたシェル形式の環境変数。
+ **`env-no-export`** – シェル形式のエクスポートされていない環境変数。
+ **`powershell`** - PowerShell 形式の環境変数。
+ **`windows-cmd`** - Windows のコマンドライン形式の環境変数。
次の例では、`user1` プロファイルをエクスポートされたシェル形式にエクスポートします。  

```
$ aws configure export-credentials --profile user1 --format env
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

## 新しい設定と認証情報を設定するコマンドの例
<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`.
```

------
#### [ IAM Identity Center (SSO) ]

この例は、`aws configure sso` ウィザードを使用した AWS IAM アイデンティティセンター 用です。詳細については、「[AWS CLI を使用した IAM アイデンティティセンター認証の設定](cli-configure-sso.md)」を参照してください。

```
$ 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 アイデンティティセンター の従来の方法を示しています。従来の SSO を使用するには、セッション名を空白のままにします。詳細については、「[AWS CLI を使用した IAM アイデンティティセンター認証の設定](cli-configure-sso.md)」を参照してください。

```
$ 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` コマンドは必要な最後の値を割り当てます。詳細については、「[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)」を参照してください。

** `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_auto_prompt`**  
AWS CLI バージョン 2 の自動プロンプトを有効にします。使用できる設定は 2 つあります。  
+ **`on`** は、ユーザーが `aws` コマンドを実行しようとするたびに、完全な自動プロンプトモードを使用します。これには、完全なコマンドまたは不完全なコマンドを問わず、それらの後で **Enter** キーを押すことが含まれます。

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

  ```
  cli_auto_prompt = on-partial
  ```
この設定は、`aws\$1cli\$1auto\$1prompt` 環境変数を使用するか、`--cli-auto-prompt` および `--no-cli-auto-prompt` コマンドラインパラメータを使用して上書きできます。  
AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「[AWS CLI でのコマンドプロンプトの有効化と使用](cli-usage-parameters-prompting.md)」を参照してください。

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

**`cli_help_output`**  
バージョン `2.31.0` における `help` コマンドの表示は `cli_help_output` 設定で設定され、次の値があります。  
+  **(デフォルト)** `terminal` - ターミナルで man ページを開きます。
+ `browser` - デフォルトのブラウザで man ページをローカル HTML ファイルとして開きます。デフォルトのブラウザを開くと、ターミナルに通知が出力され、AWS CLI がブラウザを開くことができない場合はエラーメッセージが表示されます。
+ `url` - インストールした AWS CLI のバージョンに関するオンライン AWS CLI リファレンスガイドの URL を出力します。`AWS_PAGER` 環境変数など、クライアント側のページングの設定が優先されます。

```
cli_help_output = browser
```
`help` コマンドの詳細については、「[Accessing help and resources for the AWS CLI](cli-usage-help.md)」を参照してください。

**`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/latest/reference/history/index.html](https://docs.aws.amazon.com/cli/latest/reference/history/index.html)」を参照してください。

**`cli_pager`**  
出力に使用されるページャープログラムを指定します。AWS CLI バージョン 2 はデフォルトで、すべての出力をオペレーティングシステムのデフォルトページャープログラム経由で返します。  
AWS\$1PAGER 環境変数によって上書きできます。  

```
cli_pager=less
```

**`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/) 文字列としてフォーマットされます。
+  **[`yaml`](cli-usage-output-format.md#yaml-output)** - 出力は [YAML](https://yaml.org/) 文字列としてフォーマットされます。
+ **[`yaml-stream`](cli-usage-output-format.md#yaml-stream-output)** - 出力はストリームされ、[ YAML ](https://yaml.org/)文字列としてフォーマットされます。ストリーミングにより、大きなデータタイプの処理を高速化できます。
+ **[`text`](cli-usage-output-format.md#text-output)** - 出力は、複数行のタブ区切りの文字列値としてフォーマットされます。これは、`grep`、`sed`、または `awk` などのテキストプロセッサに出力を渡すのに役立ちます。
+ **[`table`](cli-usage-output-format.md#table-output)** - 出力は、テーブルとしてフォーマットされ、文字の「\$1\$1-」を使用してセルの境界を形成します。通常、情報は他の形式よりも読みやすい「わかりやすい」形式で表示されますが、プログラムとしては役立ちません。
+ **[`off`](cli-usage-output-format.md#off-output)** - 出力は、stdout へのすべてのコマンド出力を制限します。これは、出力を処理せずにコマンドの終了コードを確認するだけで済む自動化スクリプトや CI/CD パイプラインに役立ちます。
`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_REGION` 環境変数、`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
```

**`sso\$1account\$1id`**  
関連付けられた IAM Identity Center ユーザーに付与する許可を持つ IAM ロールが含まれた AWS アカウント ID を指定します。  
この設定には、環境変数またはコマンドラインオプションはありません。  

```
sso_account_id = 123456789012
```

**`sso\$1region` **  
AWS アクセスポータルホストを含む AWS リージョンを指定します。これはデフォルトの CLI `region` パラメータとは別で、異なるリージョンにすることができます。  
この設定には、環境変数またはコマンドラインオプションはありません。  

```
sso_region = us_west-2
```

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

```
sso_registration_scopes = sso:account:access
```

**`sso\$1role\$1name` **  
このプロファイルを使用する際のユーザーのアクセス許可を定義する IAM ロールのフレンドリ名を指定します。  
この設定には、環境変数またはコマンドラインオプションはありません。  

```
sso_role_name = ReadAccess
```

**`sso\$1start\$1url`**  
組織の AWS アクセスポータルを指す URL を指定します。AWS CLI は、この URL を使用して、IAM Identity Center サービスとのセッションを確立し、ユーザーを認証します。AWS アクセスポータル URL を検索するには、次のいずれかを使用します。  
+ 招待 E メールを開くと、AWS アクセスポータル URL が一覧で表示されます。
+ [https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/) で AWS IAM アイデンティティセンター コンソールを開きます。AWS アクセスポータル URL がお客様の設定に一覧で表示されます。
この設定には、環境変数またはコマンドラインオプションはありません。  

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

**`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 マルチパートアップロードのドキュメント*を参照してください。