AMI作成時にタグを付与できるようになりました

記事タイトルとURLをコピーする

はじめに

従来、タグ付きのAMIを作成する際は、AMIの作成処理をしてから、タグを付与する処理を実行する必要がありました。したがって、AMI作成のスクリプト等を実装するときは、少々煩雑な実装が必要でした。

サーバーワークスのコスト削減大臣に教えてもらいましたが、以下のアップデートにより、AMI作成のAPIリクエストの中で、同時にタグの付与を指定できるようになりました。マネジメントコンソールでも既に対応しています。 本記事ではその使い勝手等を確認してみたいと思います。

aws.amazon.com

使ってみた

API(AWS SDK for Ruby)

まずはAPI(AWS SDK for Ruby)で確認してみます(AWS SDK for Rubyでも最新版では既に対応していました)。

以下のように create_image 実行時に tag_specifications オプションを指定することで、タグの付与が可能です。 resource_typeimagesnapshot を指定します。 image には作成するAMIに付与するタグを、 snapshot には作成するAMIに紐づくスナップショットに付与するタグを指定します。 きちんとスナップショットにもタグを付与できるので、便利ですね。

client = Aws::EC2::Client.new
client.create_image(
  instance_id: "i-xxxxxxxxxxxxx",
  name: "sample-ami",
  tag_specifications: [{
      resource_type: "image",
      tags: [
        key: "image",
        value: "tag",
      ],
    },
    {
      resource_type: "snapshot",
      tags: [
        key: "snapshot",
        value: "tag",
      ]
    },
  ]
)

マネジメントコンソール

マネジメントコンソールではAMIを作成する画面で、付与するタグを指定できます。 「イメージとスナップショットに対し一緒にタグを付けます」と「イメージとスナップショットに対し個別にタグを付けます」とで選択できます。さすが便利ですね。

f:id:swx-kurebayashi:20201210232248p:plain

おわりに

AMI作成時にタグを付与できるオプションを紹介しました。AWSのAPIでプログラムを組んでいる方は地味に嬉しいアップデートだったんじゃないでしょうか。

サーバーワークスでは re:Invent 2020 関連の情報の発信を継続して行っておりますので是非チェックしてみてください。

reinvent2020.serverworks.co.jp

参考

docs.aws.amazon.com

docs.aws.amazon.com