Amazon ECS でデュアルスタックモードを使用する方法を教えてください
困っていた内容
Amazon ECS でデュアルスタックモードを使用して IPv4 と IPv6 の両方で通信したいと考えています。
タスクを起動する VPC とサブネットでは IPv6 を有効化したのですが、ECS コンソールには IPv6 を有効化するオプションが存在していませんでした。
Amazon ECS でデュアルスタックモードを使用する方法を教えてください。
どう対応すればいいの?
AWS CLI の put-account-setting-default コマンドまたは put-account-setting コマンドを使用して dualStackIPv6 オプションを有効化してください。
ECS でデュアルスタックモードを使用するためには以下の条件を満たす必要があります。
アカウント設定による Amazon ECS 機能へのアクセス - Amazon Elastic Container Service
タスクが IPv6 アドレスを受信するには、タスクが awsvpc ネットワークモードを使用し、デュアルスタックモードに設定された VPC で起動し、dualStackIPv6 アカウント設定を有効にする必要があります。
本記事執筆時点では dualStackIPv6 オプションを ECS コンソールから変更できないため、AWS CLI などの API 経由で変更する必要があります。
dualStackIPv6 アカウント設定は、Amazon ECS API または AWS CLI を使用してのみ変更できます。
アカウントのすべてのユーザーまたはロールのデフォルトアカウント設定を変更するには put-account-setting-default コマンドを使用します。
一方で、自分のユーザーのアカウント設定を変更する場合には put-account-setting コマンドを使用します。
AWS CLI を使用した Amazon ECS アカウント設定の管理 - Amazon Elastic Container Service
アカウントのすべてのユーザーまたはロールのデフォルトアカウント設定を変更するには、以下のいずれかのコマンドを使用します。
これらの変更は、ユーザーまたはロールがこれらの設定を明示的に上書きしない限り、AWS アカウント全体に適用されます。
- put-account-setting-default (AWS CLI)
(中略)
自分のユーザーのアカウント設定を変更するには、以下のいずれかのコマンドを使用します。ルートユーザーとしてこれらのコマンドを使用する場合、ユーザーまたはロールが対象の設定を明示的に上書きしない限り、この変更内容が AWS アカウント全体に適用されます。
- put-account-setting (AWS CLI)
やってみた
まず、ECS コンソールで IPv6 を有効化するオプションが存在しないことを確認します。


ECS コンソールには該当するオプションがないことを確認できたため、AWS CLI で設定値を確認してみます。
今回は自分のユーザーのアカウント設定を確認、変更してみます。
$ aws ecs list-account-settings \
--name dualStackIPv6 \
--effective-settings
{
"settings": [
{
"name": "dualStackIPv6",
"value": "disabled",
"principalArn": "arn:aws:iam::012345678901:role/user-name",
"type": "user"
}
]
}
コマンドの実行結果より、dualStackIPv6 が無効であることを確認できました。
続いて、dualStackIPv6 を有効化してみます。
$ aws ecs put-account-setting \
--name dualStackIPv6 \
--value enabled
{
"setting": {
"name": "dualStackIPv6",
"value": "enabled",
"principalArn": "arn:aws:iam::012345678901:role/user-name",
"type": "user"
}
}
$ aws ecs list-account-settings \
--name dualStackIPv6 \
--effective-settings
{
"setting": {
"name": "dualStackIPv6",
"value": "enabled",
"principalArn": "arn:aws:iam::012345678901:role/user-name",
"type": "user"
}
}
有効化できました。
補足ですが、dualStackIPv6 以外にも ECS コンソールから変更できないオプションが存在するため、最新の仕様についてはドキュメントをご確認ください。
Amazon ECS アカウント設定の変更 - Amazon Elastic Container Service
dualStackIPv6、fargateFIPSMode、fargateTaskRetirementWaitPeriod、および fargateEventWindows アカウントの設定を表示または変更するために使用できるのは AWS CLI のみです。
参考資料
- put-account-setting-default — AWS CLI 2.36.21 Command Reference
- put-account-setting — AWS CLI 2.36.21 Command Reference
- アカウント設定による Amazon ECS 機能へのアクセス - Amazon Elastic Container Service
- AWS CLI を使用した Amazon ECS アカウント設定の管理 - Amazon Elastic Container Service
- Amazon ECS アカウント設定の変更 - Amazon Elastic Container Service







