[アップデート] NAT Gateway 作成時にタグ付けできるようになりました

本日のアップデートにより、NAT Gateway 作成時にタグ付けできるようになりました。マネジメントコンソールと AWS CLI の観点から機能の確認をしてみたいと思います。
2020.03.10

こんにちは、岩城です。

本日のアップデートにより、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 が追加されています。

create-nat-gateway

少しハマったところがあったので共有しておきます。
--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 に対応していませんでした。

おわりに

本エントリがどなたかのお役に立てれば幸いです。