この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、岩城です。
本日のアップデートにより、NAT Gateway (以降、NATGW) 作成時にタグ付けできるようになりました。全てのリージョンで利用できます。
Amazon VPC NAT Gateway Now Supports Tag-on-Create
これまで NATGW 作成時にタグ付けできなかったため、作成後に改めてタグ付けする手順を踏んでいました。それが今回のアップデートにより、解消されたことになります。
早速マネジメントコンソールと AWS CLI の観点から機能の確認をしてみたいと思います。
やってみた
マネジメントコンソール
はじめに、マネジメントコンソールから確認します。
見てのとおり、NATGW 作成時に タグの追加
ができるようになっています。
タグを追加すると、当然ですがタグ付けされた状態で NATGW が作成されます。
AWS CLI
次に、AWS CLI を確認します。
検証時の AWS CLI のバージョンは以下のとおりです。本日時点で最新バージョンを利用しています。
$ aws --version
aws-cli/1.18.17 Python/3.8.1 Darwin/17.7.0 botocore/1.15.17
今回のアップデートに伴い create-nat-gateway
に --tag-specifications
が追加されています。
少しハマったところがあったので共有しておきます。
--tag-specifications ResourceType=natgateway,Tags=[{Key=Name,Value=test-natgw}]
だと以下のエラーが出力されます。
Parameter validation failed:
Invalid type for parameter TagSpecifications[0].Tags[0], value: Key=Name, type: <class 'str'>, valid types: <class 'dict'>
Invalid type for parameter TagSpecifications[1].Tags[0], value: Value=test-natgw, type: <class 'str'>, valid types: <class 'dict'>
Tags
内をダブルクオテーションで括るとエラー無く成功します。
--tag-specifications ResourceType=natgateway,Tags=[{"Key=Name,Value=test-natgw"}]
成功した結果は以下のとおりです。
$ aws ec2 create-nat-gateway \
> --allocation-id eipalloc-XXXXXXXXXXXXXXXXX \
> --subnet-id subnet-XXXXXXXX \
> --tag-specifications ResourceType=natgateway,Tags=[{"Key=Name,Value=test-natgw"}]
{
"ClientToken": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"NatGateway": {
"CreateTime": "2020-03-10T01:25:49.000Z",
"NatGatewayAddresses": [
{
"AllocationId": "eipalloc-XXXXXXXXXXXXXXXXX"
}
],
"NatGatewayId": "nat-XXXXXXXXXXXXXXXXX",
"State": "pending",
"SubnetId": "subnet-XXXXXXXX",
"VpcId": "vpc-XXXXXXXX",
"Tags": [
{
"Key": "Name",
"Value": "test-natgw"
}
]
}
}
ちなみに、AWS CLI v2 も確認してみましたが、こちらはまだ tag-specifications
に対応していませんでした。
おわりに
本エントリがどなたかのお役に立てれば幸いです。