はじめに
従来、タグ付きのAMIを作成する際は、AMIの作成処理をしてから、タグを付与する処理を実行する必要がありました。したがって、AMI作成のスクリプト等を実装するときは、少々煩雑な実装が必要でした。
サーバーワークスのコスト削減大臣に教えてもらいましたが、以下のアップデートにより、AMI作成のAPIリクエストの中で、同時にタグの付与を指定できるようになりました。マネジメントコンソールでも既に対応しています。 本記事ではその使い勝手等を確認してみたいと思います。
使ってみた
API(AWS SDK for Ruby)
まずはAPI(AWS SDK for Ruby)で確認してみます(AWS SDK for Rubyでも最新版では既に対応していました)。
以下のように create_image
実行時に tag_specifications
オプションを指定することで、タグの付与が可能です。
resource_type
に image
か snapshot
を指定します。
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を作成する画面で、付与するタグを指定できます。 「イメージとスナップショットに対し一緒にタグを付けます」と「イメージとスナップショットに対し個別にタグを付けます」とで選択できます。さすが便利ですね。
おわりに
AMI作成時にタグを付与できるオプションを紹介しました。AWSのAPIでプログラムを組んでいる方は地味に嬉しいアップデートだったんじゃないでしょうか。
サーバーワークスでは re:Invent 2020 関連の情報の発信を継続して行っておりますので是非チェックしてみてください。
reinvent2020.serverworks.co.jp