

# Amazon ECS デュアルスタックエンドポイントの使用
<a name="dual-stack-endpoint"></a>

Amazon ECS デュアルスタックエンドポイントは、インターネットプロトコルバージョン 4 (IPv4) およびインターネットプロトコルバージョン 6 (IPv6) を介した Amazon ECS へのリクエストをサポートします。すべての Amazon ECS エンドポイントのリストについては、「AWS 全般のリファレンス」の「[Amazon ECS のエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html)」を参照してください。

REST API を使用する場合、エンドポイント名 (URI) を使用して直接 Amazon ECS エンドポイントにアクセスします。Amazon ECS はリージョン固有のデュアルスタックエンドポイント名のみをサポートしており、名前の一部としてリージョンを指定する必要があります。

デュアルスタックエンドポイント名には、次の命名規則を使用します: `ecs.region.api.aws`。

AWS Command Line Interface (AWS CLI) や AWS SDK を使用している場合、パラメータまたはフラグを使ってデュアルスタックエンドポイントに変更できます。設定ファイル内の Amazon ECS エンドポイントをオーバーライドして、デュアルスタックエンドポイントを直接指定することもできます。

以下のセクションでは、AWS CLI、AWS SDK、および REST API からデュアルスタックエンドポイントを使用する方法について説明します。

**Topics**
+ [AWS CLI からのデュアルスタックのエンドポイントの使用](#dual-stack-endpoints-cli)
+ [AWS SDK からデュアルスタックのエンドポイントを使用する](#dual-stack-endpoints-sdks)
+ [REST API からのデュアルスタックのエンドポイントの使用](#dual-stack-endpoints-examples-rest-api)

## AWS CLI からのデュアルスタックのエンドポイントの使用
<a name="dual-stack-endpoints-cli"></a>

このセクションでは、デュアルスタックのエンドポイントへリクエストするのに使用される AWS CLI コマンドの例を示します。AWS CLI のインストールまたは最新バージョンへのアップグレードについては、「*バージョン 2 向けの AWS Command Line Interface ユーザーガイド*」の「[AWS CLI の最新バージョンのインストールまたは更新](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

デュアルスタックエンドポイントを使用する際には、AWS CLI の `config` ファイルの設定値 `use_dualstack_endpoint` を `true` に設定することで、`ecs` AWS CLI コマンドによるすべての Amazon ECS リクエストを指定されたリージョンのデュアルスタックエンドポイントに転送することができます。`--region` オプションを使用して `config` ファイルまたはコマンドでリージョンを指定します。AWS CLI の構成ファイルの詳細については、「*バージョン 2 向けの AWS Command Line Interface ユーザーガイド*」の「[AWS CLI の構成および認証ファイル設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)」を参照してください。

特定の AWS CLI コマンドについてデュアルスタックエンドポイントを使用するには、次のいずれかの方法を使用できます。
+ 任意の `ecs` コマンドについて `--endpoint-url` パラメータを `https://ecs.aws-region.api.aws` もしくは `http://ecs.aws-region.api.aws` に設定することで、個別のコマンド単位でデュアルスタックエンドポイントを使用できます。

  次のコマンド例では、使用可能なすべてのクラスターを一覧表示し、リクエストにデュアルスタックエンドポイントを使用しています。

  ```
  $ aws ecs list-clusters --endpoint-url https://ecs.aws-region.api.aws
  ```
+ AWS Config ファイル内で別々のプロファイルを設定する。たとえば、`use_dualstack_endpoint` を `true` に設定するプロファイルと `use_dualstack_endpoint` を設定しないプロファイルを作成します。コマンドを実行する際には、デュアルスタックのエンドポイントを使用するかどうかによって、適切なプロファイルを指定します。

## AWS SDK からデュアルスタックのエンドポイントを使用する
<a name="dual-stack-endpoints-sdks"></a>

このセクションでは、AWS SDK を使用してデュアルスタックのエンドポイントにアクセスする方法の例を示します。

------
#### [ AWS SDK for Java 2.x ]

次の例は、AWS SDK for Java 2.x を使用して `us-east-1` リージョンのデュアルスタックエンドポイントを指定する方法を示しています。

```
Region region = Region.US_EAST_1
EcsClient client = EcsClient.builder().region(region).dualstackEnabled(true).build();
```

------
#### [ AWS SDK for Go ]

次の例は、AWS SDK for Go を使用して `us-east-1` リージョンのデュアルスタックエンドポイントを指定する方法を示しています。

```
sess := session.Must(session.NewSession())
svc := ecs.New(sess, &aws.Config{
    Region: aws.String(endpoints.UsEast1RegionID),
    Endpoint: aws.String("https://ecs.us-east-1.api.aws")
})
```

------

詳細については、「*AWS SDK とツールリファレンスガイド*」の「[デュアルスタックおよび FIPS エンドポイント](https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html)」を参照してください。

## REST API からのデュアルスタックのエンドポイントの使用
<a name="dual-stack-endpoints-examples-rest-api"></a>

REST API を使用する場合、リクエスト内でデュアルスタックエンドポイントを指定することで、特定のデュアルスタックエンドポイントに直接アクセスできます。次の例では、デュアルスタックエンドポイントを使用して、`us-east-1` リージョン内のすべての Amazon ECS クラスターを一覧表示しています。

```
POST / HTTP/1.1
Host: ecs.us-east-1.api.aws
Accept-Encoding: identity
Content-Length: 2
X-Amz-Target: AmazonEC2ContainerServiceV20141113.ListClusters
X-Amz-Date: 20150429T170621Z
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS

{}
```