

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

# サービス固有のエンドポイント
<a name="feature-ss-endpoints"></a>

**注記**  
設定ページのレイアウトの理解、または以下の ** AWS SDKs**「」を参照してください[このガイドの設定ページについて](settings-reference.md#settingsPages)。

サービス固有のエンドポイント設定により、API リクエストに任意のエンドポイントを使用するオプションが得られ、この選択は持続します。これらの設定により、ローカルエンドポイント、VPC エンドポイント、およびサードパーティのローカル AWS 開発環境を柔軟にサポートできます。テスト環境と本番環境には異なるエンドポイントを使用できます。エンドポイント URL は個別の AWS のサービスに指定できます。

この機能を設定するには、以下のように使用します。

**`endpoint_url` - 共有 AWS `config`ファイル設定`AWS_ENDPOINT_URL` - 環境変数`aws.endpointUrl` - JVM システムプロパティ: Java/Kotlin のみ**  
プロファイル内で直接指定するか、環境変数として指定した場合、この設定はすべてのサービスリクエストに使用されるエンドポイントを指定します。このエンドポイントは、設定されているサービス固有のエンドポイントによって上書きされます。  
共有ファイルの `services`セクション AWS `config`内でこの設定を使用して、特定のサービスのカスタムエンドポイントを設定することもできます。`services` 内のサブセクションで使用するすべてのサービス識別子キーのリストについては、「[サービス固有のエンドポイントの識別子](ss-endpoints-table.md)」を参照してください。  
**デフォルト値**: `none`  
**有効な値：** エンドポイントのスキームとホストを含む URL。URL は、必要に応じて 1 つ以上のパスセグメントを含むパスコンポーネントを含めることができます。

**`AWS_ENDPOINT_URL_<SERVICE>` 環境変数`aws.endpointUrl<ServiceName>` - JVM システムプロパティ: Java/Kotlin のみ**  
`AWS_ENDPOINT_URL_<SERVICE>`は識別子であり AWS のサービス 、 `<SERVICE>`は特定のサービスのカスタムエンドポイントを設定します。サービス固有の環境変数のリストについては、「[サービス固有のエンドポイントの識別子](ss-endpoints-table.md)」を参照してください。  
このサービス固有のエンドポイントは、`AWS_ENDPOINT_URL` に設定されているグローバルエンドポイントよりも優先されます。  
**デフォルト値**: `none`  
**有効な値：** エンドポイントのスキームとホストを含む URL。URL は、必要に応じて 1 つ以上のパスセグメントを含むパスコンポーネントを含めることができます。

**`ignore_configured_endpoint_urls` - 共有 AWS `config`ファイル設定`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS` - 環境変数`aws.ignoreConfiguredEndpointUrls` - JVM システムプロパティ: Java/Kotlin のみ**  
この設定は、すべてのカスタムエンドポイント設定を無視するために使用されます。  
コードまたはサービスクライアント自体に設定されている明示的なエンドポイントは、この設定に関係なく使用されることに注意してください。たとえば、 AWS CLI コマンドに`--endpoint-url`コマンドラインパラメータを含めたり、エンドポイント URL をクライアントコンストラクタに渡したりすると、常に有効になります。  
**デフォルト値**: `false`  
**有効な値:**  
+ **`true`** — SDK またはツールは、エンドポイント URL を設定するための `config` 共有ファイルや環境変数からカスタム設定オプションを読み取ることはありません。
+ **`false`** — SDK またはツールは、`config` 共有ファイルまたは環境変数からユーザーが提供したエンドポイントをすべて使用します。

## 環境変数を使用したエンドポイントの設定
<a name="ss-endpoints-envar"></a>

すべてのサービスのリクエストをカスタムエンドポイント URL にルーティングするには、 `AWS_ENDPOINT_URL` グローバル環境変数を設定します。

```
export AWS_ENDPOINT_URL={{http://localhost:4567}}
```

特定の のリクエストをカスタムエンドポイント URL AWS のサービス にルーティングするには、 `AWS_ENDPOINT_URL_<SERVICE>`環境変数を使用します。 の Amazon DynamoDB は `serviceId`です[https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10)。このサービスのエンドポイント URL 環境変数は `AWS_ENDPOINT_URL_DYNAMODB` です。このエンドポイントは、このサービスのために `AWS_ENDPOINT_URL` に設定されているグローバルエンドポイントよりも優先されます。

```
export AWS_ENDPOINT_URL_DYNAMODB={{http://localhost:5678}}
```

 別の例として、 には `serviceId`の AWS Elastic Beanstalk があります[https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9)。 AWS のサービス 識別子は、すべてのスペースをアンダースコアに置き換え、すべての文字を大文字に`serviceId`することで、API モデルの に基づいています。このサービスにエンドポイントを設定するための、対応する環境変数は `AWS_ENDPOINT_URL_ELASTIC_BEANSTALK` です。サービス固有の環境変数のリストについては、「[サービス固有のエンドポイントの識別子](ss-endpoints-table.md)」を参照してください。

```
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK={{http://localhost:5567}}
```

## `config` 共有ファイルを使用してエンドポイントを設定します
<a name="ss-endpoints-config"></a>

`config` 共有ファイルでは、 `endpoint_url` がさまざまな場所でさまざまな機能に使用されます。
+ `profile` 内で `endpoint_url` を直接指定すると、そのエンドポイントがグローバルエンドポイントになります。
+ `services` セクション内のサービス ID キーの下に `endpoint_url` をネストすると、そのエンドポイントはそのサービスに対して行われたリクエストにのみ適用されます。共有 `config` ファイル内の `services` セクションの定義について詳しくは、「[設定ファイルの形式](file-format.md#file-format-config)」を参照してください。

 次の例では、`services` 定義を使用して Amazon S3 に使用されることとなるサービス固有のエンドポイント URL と、他のすべてのサービスに使用されることとなるカスタムグローバルエンドポイントを設定します。

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

[services {{s3-specific}}]
s3 = 
  endpoint_url = {{https://play.min.io:9000}}
```

1 つのプロファイルで複数のサービスのエンドポイントを設定できます。この例では、Amazon S3 と AWS Elastic Beanstalk のサービス固有のエンドポイント URLs を同じプロファイルに設定する方法を示します。 には `serviceId`の AWS Elastic Beanstalk があります[https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9)。 AWS のサービス 識別子は、すべてのスペースをアンダースコアに置き換え、すべての文字を小文字に置き換え`serviceId`ることで、API モデルの に基づいています。したがって、サービス ID キーは `elastic_beanstalk` になり、このサービスの設定は `elastic_beanstalk = ` の行から開始されます。`services` セクションで使用するすべてのサービス識別子キーのリストについては、「[サービス固有のエンドポイントの識別子](ss-endpoints-table.md)」を参照してください。

```
[services {{testing-s3-and-eb}}]
s3 = 
  endpoint_url = {{http://localhost:4567}}
elastic_beanstalk = 
  endpoint_url = {{http://localhost:8000}}

[profile {{dev}}]
services = {{testing-s3-and-eb}}
```

サービス設定セクションは複数のプロファイルで使用できます。たとえば、2つのプロファイルが同じ定義 `services` を使用し、他のプロファイルプロパティを変更することができます。

```
[services {{testing-s3}}]
s3 = 
  endpoint_url = {{https://localhost:4567}}

[profile {{testing-json}}]
output = json
services = {{testing-s3}}

[profile {{testing-text}}]
output = text
services = {{testing-s3}}
```

## ロールベースの認証情報を使用してプロファイル内のエンドポイントを設定します
<a name="ss-endpoints-role"></a>

プロファイルに 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` を設定する必要があります。`source_profile` 設定の詳細については、[ロール認証情報プロバイダーを引き受けます](feature-assume-role-credentials.md) を参照してください。

## 設定の優先順位
<a name="ss-endpoints-precedence"></a>

 この機能の設定は同時に使用できますが、1 つのサービスにつき 1 つの値が優先されます。特定の に対して行われた API コールでは AWS のサービス、次の順序を使用して値を選択します。

1. コードまたはサービスクライアント自体に設定されている明示的な設定は、他の設定よりも優先されます。
   + の場合 AWS CLI、これは`--endpoint-url`コマンドラインパラメータによって提供される値です。SDK の場合、明示的な割り当ては、 AWS のサービス クライアントまたは設定オブジェクトをインスタンス化するときに設定したパラメータの形式になります。

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

1. `AWS_ENDPOINT_URL` グローバルエンドポイント環境変数によって提供される値。

1. `endpoint_url` 設定によって得られる値は、`config` 共有ファイルの `services` セクション内のサービス ID キーの下にネストされます。

1. 共有 `config` ファイルの `profile` 内で直接指定された `endpoint_url` 設定によって得られる値。

1. それぞれの のデフォルトのエンドポイント URL AWS のサービス が最後に使用されます。

## AWS SDKsとツールによるサポート
<a name="ss-endpoints-sdk-compat"></a>

以下の SDK は、このトピックで説明する機能と設定をサポートします。部分的な例外があれば、すべて記載されています。JVM システムプロパティ設定は、 AWS SDK for Java と AWS SDK for Kotlin でのみサポートされます。


| SDK | サポート | 注意または詳細情報 | 
| --- | --- | --- | 
| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | はい |  | 
| [SDK for C\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | はい |  | 
| [SDK for Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | はい |  | 
| [SDK for Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | いいえ |  | 
| [SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | はい |  | 
| [SDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | いいえ |  | 
| [SDK for JavaScript 3.x](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | はい |  | 
| [SDK for JavaScript 2.x](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | いいえ |  | 
| [SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | はい |  | 
| [SDK for .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | はい |  | 
| [SDK for .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | はい |  | 
| [SDK for PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | はい |  | 
| [SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | はい |  | 
| [SDK for Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | はい |  | 
| [SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | はい |  | 
| [SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | はい |  | 
| [PowerShell V5 のツール](https://docs.aws.amazon.com/powershell/latest/userguide/) | はい |  | 
| [PowerShell V4 のツール](https://docs.aws.amazon.com/powershell/v4/userguide/) | はい |  | 