AWS のタグエディタを利用してコスト配分タグの設定ミスの修正や既存のタグ値の一括変更を試してみた

AWS のタグエディタを利用してコスト配分タグの設定ミスの修正や既存のタグ値の一括変更を試してみた

Clock Icon2024.10.10

コスト配分タグを利用することで、AWS の利用料金をタグの値別に集計できて便利です。

正しく配分するためには、タグを正確に設定する必要がありますが、人間が作業した場合の設定ミスが発生する場合があります。また、既存のタグの値を一括して変更したい場合もあると思います。このブログでは、そのようなシチュエーションを想定して、タグエディタを利用したコスト配分タグの修正・変更方法を試した結果を紹介します。

コスト配分タグの修正・変更内容

検証用に作成した下表のタグ設定の EC2 インスタンス 13 台に対して、次の 4 つの修正・変更をします。コスト配分タグとして CmBillingGroup を利用します。

  • No.1-6:誤ったタグのキー名である CmBillingTag を CmBillingGroup に修正
  • No.7-8:コスト配分タグの付け忘れの修正
  • No. 9-10:コスト配分タグの値の一括変更
  • No. 11-13:コスト配分タグの値を 0005 と 0005a に分割(コスト配分の変更)
No. インスタンス名 コスト配分タグのキー コスト配分タグの値
1 test-instance-0001-01 CmBillingGroup 0001
2 test-instance-0001-02 CmBillingGroup 0001
3 test-instance-0001-03 CmBillingTag 0001
4 test-instance-0001-04 CmBillingTag 0001
5 test-instance-0002-01 CmBillingGroup 0002
6 test-instance-0002-02 CmBillingTag 0002
7 test-instance-0003-01 CmBillingGroup 0003
8 test-instance-0003-02 - -
9 test-instance-0004-01 CmBillingGroup prod
10 test-instance-0004-02 CmBillingGroup prod
11 test-instance-0005-01 CmBillingGroup 0005
12 test-instance-0005-02 CmBillingGroup 0005
13 test-instance-0005-03 CmBillingGroup 0005

修正・変更後となる最終的に実現したいタグ設定です。

No. インスタンス名 コスト配分タグのキー名 コスト配分タグの値
1 test-instance-0001-01 CmBillingGroup 0001
2 test-instance-0001-02 CmBillingGroup 0001
3 test-instance-0001-03 CmBillingGroup 0001
4 test-instance-0001-04 CmBillingGroup 0001
5 test-instance-0002-01 CmBillingGroup 0002
6 test-instance-0002-02 CmBillingGroup 0002
7 test-instance-0003-01 CmBillingGroup 0003
8 test-instance-0003-02 CmBillingGroup 0003
9 test-instance-0004-01 CmBillingGroup 0004
10 test-instance-0004-02 CmBillingGroup 0004
11 test-instance-0005-01 CmBillingGroup 0005
12 test-instance-0005-02 CmBillingGroup 0005a
13 test-instance-0005-03 CmBillingGroup 0005a

以降では、タグエディタを利用してタグの内容を修正・変更していきます。

modify-cost-allocation-tags-in-tag-editor-1

なお、今回はアカウント内の全リージョンを対象に、簡単のため EC2 インスタンスのみを対象にしています。

コスト配分タグのキー名誤りの修正

始めに No.1-6 のタグのキー名の誤りを修正します。No. 3, 4, 6 に付与されているタグが CmBillingTag になっているので、CmBillingGroup に変更します。

タグエディタで間違えていそうなタグを検索してみます。今回の場合はタグキーの欄に cmb を入力すると候補が現れるので、スペルミスやキー名が間違っているリソースがあることに気づけます。

modify-cost-allocation-tags-in-tag-editor-2

修正したい CmBillingTag を選択して「追加」します。この際にタグ値を入力しないことで、値に関係なく CmBillingTag のタグが付与されているリソースを検索できます。

modify-cost-allocation-tags-in-tag-editor-3

「リソースを検索」から検索した結果です。3 つのリソースがあることが分かります。

modify-cost-allocation-tags-in-tag-editor-4

検索結果の歯車マークから表示内容を変更できます。処理しやすいように表示内容を減らしてみます。

modify-cost-allocation-tags-in-tag-editor-5

表示内容を変更した後の検索結果です。

modify-cost-allocation-tags-in-tag-editor-6

キー名を変更します。タグ値はそのままにキー名だけ変更することはできないようです。そのため、タグ値ごとに変更していきます。今回の場合はタグ値 0001 と 0002 に分けて作業をします。

まず、タグ値 0001 のタグから作業します。タグエディタの検索画面から CmBillingTag をキーに指定、0001 をタグ値に指定して条件を変更した後に検索し直します。

modify-cost-allocation-tags-in-tag-editor-7

検索結果のタグをすべて選択して「選択したリソースのタグを管理する」を実行します。

modify-cost-allocation-tags-in-tag-editor-8

CmBillingTag を削除して、本来付与したいタグである CmBillingGroup を追加します。

modify-cost-allocation-tags-in-tag-editor-9

CmBillingTag が削除されていることを確認して「タグの変更を確認して適用する」を実行します。

modify-cost-allocation-tags-in-tag-editor-10

確認画面です。問題なければ適用します。

modify-cost-allocation-tags-in-tag-editor-11

設定更新後に改めてタグ値を指定せずに CmBillingTag で検索してみると、0001 のタグ値を持つ CmBillingTag はなくなっていることを確認できます。

modify-cost-allocation-tags-in-tag-editor-12

また、CmBillingGroup: 0001 で検索した場合にタグを変更したリソースが表示されることも確認できます。

modify-cost-allocation-tags-in-tag-editor-13

同じ作業の繰り返しとなるため、記載を省略しますが CmBillingTag: 0002 についても同様の手順を繰り返して CmBillingGroup: 0002 に修正します。
以上でタグ名の誤りの修正は終わります。

なお、別の方法として次の方法でも変更できそうです。色々模索していきたいです。

  1. 最初に CmBillingGroup タグを特定の値でまとめて付与
  2. 各 CmBillingGroup タグの値を CmBillingTag タグの値に合わせて変更
  3. 最後に CmBillingTag タグをまとめて削除

また、今回はわかりやすい例で試しましたが、他にも次のようなパターンもあると思います。

タグのキー名 説明
CmBilllingGroup Billing の l が多いです
cmBillingGroup 先頭の c が小文字です
CmBillingGroup_ 最後にスペースがあります(スペースをアンダースコアで表現)
"CmBilllingGroup" ダブルクオーテーションがあります(コピペ元ドキュメントに存在していた場合など)

コスト配分タグの付け忘れの修正

No.8 のコスト配分タグの付け忘れに対応します。

検索条件においてタグ値を (not tagged) に指定することで CmBillingGroup タグがないリソースを確認できます。検索結果からコスト配分タグがついていないインスタンスがあることが分かります。

modify-cost-allocation-tags-in-tag-editor-14-2

検索した後は、タグを付与したいリソースを選択して「選択したリソースのタグを管理する」を実行します。なお、今回は対象リソースが 1 つですが、複数ある場合は設定するタグ値ごとに作業をする必要があります。タグ値が同じ場合はまとめて設定できます。

modify-cost-allocation-tags-in-tag-editor-15

CmBillingGroup タグを追加して「タグの変更を確認して適用する」を実行します。

modify-cost-allocation-tags-in-tag-editor-16

確認画面です。問題なければ適用します。

modify-cost-allocation-tags-in-tag-editor-17

以上で CmBillingGroup タグが付与されていない EC2 インスタンスはなくなりました。CmBillingGroup タグがない条件で検索しても対象リソースがない状態です。

modify-cost-allocation-tags-in-tag-editor-18

コスト配分タグの値の一括変更

No.9, 10 の CmBillingGroup: prod タグを CmBillingGroup: 0004 に修正します。環境名を示すタグと間違えて設定しまった例です。

修正は単純です。CmBillingGroup: prod で検索した結果のリソースのタグ値をまとめて変更するだけです。
まずは CmBillingGroup: prod で検索します。

modify-cost-allocation-tags-in-tag-editor-19

すべてのリソースを選択して「選択したリソースのタグを管理する」を実行します。

modify-cost-allocation-tags-in-tag-editor-20

CmBillingGroup のタグ値を prod から 0004 に変更して「タグの変更を確認して適用する」を実行します。

modify-cost-allocation-tags-in-tag-editor-21

確認画面です。問題なければ適用します。

modify-cost-allocation-tags-in-tag-editor-22

以上で CmBillingGroup: prod タグを持つリソースはなくなりました。

modify-cost-allocation-tags-in-tag-editor-23

変更後の CmBillingGroup: 0004 で検索した結果、期待通り変更したリソースが表示されます。

modify-cost-allocation-tags-in-tag-editor-24

コスト配分タグの値を分割

既存の 1 つのタグ値を 2 つの値に分割してみます。費用按分をさらに細かくしたい場合を想定しています。

CmBillingGroup: 0005 が付与されているリソースの一部を CmBillingGroup: 0005a に変更します。手順としては CmBillingGroup: 0005 で検索して、タグ値を 0005a に変更したいリソースのみをまとめて選択して変更します。
まずは CmBillingGroup: 0005 で検索します。

modify-cost-allocation-tags-in-tag-editor-25

タグの値を 0005a に変更したいリソースのみをまとめて選択して「選択したリソースのタグを管理する」を実行します。

modify-cost-allocation-tags-in-tag-editor-26

CmBillingGroup のタグ値を 0005 から 0005a に変更して「タグの変更を確認して適用する」を実行します。

modify-cost-allocation-tags-in-tag-editor-27

確認画面です。問題なければ適用します。

modify-cost-allocation-tags-in-tag-editor-28

これでタグ値の分割ができました。
タグ値が 0005 と 0005a の OR 条件検索をすることでタグの設定状況を確認できます。

modify-cost-allocation-tags-in-tag-editor-29

以上でコスト配分タグ CmBillingGroup の修正・変更は終わりです。

さいごに

コスト配分タグ CmBillingGroup の付け忘れ対応やタグのキー名、タグ値の修正・変更を行い、冒頭で紹介した実現したい設定にできました。

modify-cost-allocation-tags-in-tag-editor-30

タグエディタを活用することで各サービス画面でタグを変更するより楽に管理できるため、今後も活用していきたいと思いました。
以上、このブログがどなたかのご参考になれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.