【検証】Transit Gatewayのコスト配分タグでVPC単位の通信量が確認できるのか

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

はじめに

みなさん、こんにちは!
いつの間にかApple Musicで中島みゆきさんの曲が聴けるようになっていて、とても嬉しい滝澤です。
おすすめは「銀の龍の背に乗って」です。

ちょっと今更な感じもするのですが、2024年8月にTransit Gatewayがコスト配分タグをサポートするアップデートがありました。 aws.amazon.com

このアップデートを使えば、VPCごとに利用料金がわかるのでは??と疑問が。
ということで、検証していくのですが、いきなり結論から話します!

ちなみに、コスト配分タグについては以下ブログをご確認ください。

blog.serverworks.co.jp

結論

残念ながらできません!!

はい。ブラウザバックせず最後まで読んでください。
次から、実際の検証の様子とを確認していきましょう。

検証

検証環境

今回、マルチアカウントではなくシングルアカウントのVPC間をTransit Gateway経由で通信する構成としました。

環境構成図

環境の構築には、弊社の先人たちの素晴らしいブログで使用されたCloudFormationをお借りして作成しました。 
ブログの内容もとてもわかりやすいので、ぜひご覧ください。

blog.serverworks.co.jp

検証方法

検証の方法は、handson1-winからhandson2-winに対して、1.5GBのファイルをRDP経由で送りつける方法とします。
ファイルサイズを1.5GBとしたのは、Transit Gatewayの課金単位が以下の通りのためです。

Transit Gatewayの課金単位(東京リージョン)

上記画像の通り、「AWS Transit Gatewayのアタッチメントごとの料金」と「処理データ1GBあたりの料金」ごとに課金されます。
そのため、わかりやすいようにちょっと多めの1.5GBにしています。

検証方法図

検証1 Transit Gatewayへのコスト配分タグの付与

RDP経由のファイル送付

まずは、タイトル通りTransit Gatewayにタグを付与してファイルのやり取りを行います。

タグ付与イメージ1

今回の環境では、「Nameタグ」がコスト配分タグに設定されているので、Nameタグのみ付与します。

Transit Gatewayへのタグ付与

そうしたら、handson1-winからhandson2-winにファイルを送り付けます。
1.5GBのファイルは、fsutilコマンドを使うことで指定のファイルサイズのダミーファイルが作れます。UNIX系のddコマンドみたいな感じですかね。

fsutil file createnew <作成するファイル名> <ファイルサイズ(バイト)>

fsutilコマンドでダミーファイルを作成

作成したファイルを、RDP経由で送信します。

RDPでファイル送付

Cost Explorerでの確認

さて、ファイル送付ができたのでCost Explorerで確認してみましょう!
フィルターで以下の通り設定します。

  • 使用タイプ
    • <リージョン>-TransitGateway-Bytes (GigaBytes)
    • <リージョン>-TransitGateway-Hours (Hrs)
  • タグ
    • Nameタグ:handson-transit

フィルター設定1

すると、1時間ごとの「VPCの使用量 (GigaBytes)」が表示されました。

Transit Gatewayにつけたコスト配分タグの結果

しかしながら、表示されるのはTransit Gatewayで処理された総量のようで
VPCごとの使用量は確認できません...

これは、Transit Gateway自体にコスト配分タグをつけたことで、どのVPCからデータが来ているかわからないからでは?
ということで、各VPCにアタッチしているTransit Gateway Attachmentに対して付与してみましょう!

検証2 Transit Gateway Attachmentへのコスト配分タグの付与

タグ付与イメージ2

以下の通り、Transit Gateway Attachmentに対してNameタグを付与しました。

Transit Gateway Attachmentへのタグ付与

ファイル送信は割愛して、Cost Explorerで結果を確認してみましょう!
「使用タイプ」は先ほど同様で、NameタグだけTransit Gateway Attachmentのものに変更しました。

フィルター設定1

すると以下のような結果が。

Transit Gateway Attachmentにつけたコスト配分タグの結果

なんか、一定の値が記録されている。。。
最初にご紹介した「AWS Transit Gatewayのアタッチメントごとの料金」が毎時記録されているようですね。
どうやら課金単位での確認しかできないため、Transit Gateway Attachmentは処理データでの計測ではないようですね。

まとめ

まとめます!

  • Transit Gateway自体にコスト配分タグを付与することで、Transit Gatewayが処理した総量 (GigaBytes)が確認できる
    • ただし、VPCごとの使用量はわからない
  • Transit Gateway Attachmentにコスト配分タグを付与することで、各Transit Gateway Attachmentの使用量 (Hrs)が確認できる
    • Transit Gateway Attachmentにコスト配分タグを付与しても、VPCごとの使用量はわからない

今回のまとめの通り、Transit Gateway AttachmentはTransit Gatewayに中継してくれるけれどデータ量に関するコスト情報を持たないように見受けられます。
(もしかしたら内部的に持っているかもしれないですが、公開情報は見当たりませんでした。)

この記事が誰かの役に立つと幸いです。

kento.takizawa(記事一覧)

妻と娘をこよなく愛すエンジニア