こんにちは!大嶋です!
みなさんはGCP内のリソースを簡単に棚卸できないかなという疑問を持ったことはないでしょうか?運用を行っているとお客様にレポートを提出するタイミングもあるかと思います。ミスなく、なるべく少ない時間で対応したいですよね。
今回はそんな疑問にお答えしていきたいと思います。
本記事でわかること
- Cloud Asset Inventoryとは
- Cloud Asset Inventory の使い方
- リソース棚卸の方法
Cloud Asset Inventoryとは
どのようにリソースの棚卸をするか説明する前に、Cloud Asset Inventoryについて説明します。
Cloud Asset Inventoryは、時系列データとしてGoogle Cloud内のすべてのアセット(資産)のメタデータを保持しているデータベースです。
アセットの種類としては、以下2つが管理されています。
- リソース
- IAMポリシー
Cloud Asset Inventoryの使い方
格納されているアセットのメタデータを任意の場所にエクスポートすることで、詳細を確認することができます。
今回はリソースの棚卸をしたいので、リソースのアセットをローカルにエクスポートし、以下のメタデータを取得できます。ローカルにCSVファイルでダウンロードする場合は、以下「CSV形式でダウンロード」を押下してください。
- 名前
- リソースの種類
- プロジェクト ID
- 表示名
- ステータス
- フォルダ
- 組織
- 親のアセットタイプ
- 親の完全なリソース名
- KMS 鍵
- 説明
- ロケーション
- ラベル
- ネットワーク タグ
- その他の属性
リソース棚卸の方法
それでは上記でエクスポートをしたデータに対して、今回はBigQueryのクエリを用いて差分比較をすることで棚卸をしていきます。
以下の手順で進めることで、作成・変更・削除別にメタデータに変更のあったリソースを棚卸することが可能です。要件によって比較対象が変わるため、要件に合わせて変更します。
今回は月次でのリソースの棚卸を想定しています。
- 前月と今月にCloud Asset InventoryからCSVファイルとしてローカルにデータをダウンロード
- 上記データをBigQueryの任意のテーブルに格納
※直接BigQueryにエクスポートもできますが、扱いやすいCSV形式を使いたいため一度ローカルにダウンロードしています。 - BigQueryを用いて、前月分のデータを軸にLeft Joinし、前月から今月にかけて作成・削除されたデータを抽出
- その他差分のあったデータをInner Joinで抽出
まとめ
Cloud Asset Inventoryを使ったリソースの棚卸手順の説明でした。クエリ等も保存してしまえば、データをエクスポートしてクエリを流すだけで簡単にリソースの棚卸ができますね。
おわり。
Google および Google Cloud Platform™ service は Google LLC の商標であり、この記事は Google によって承認されたり、Google と提携したりするものではありません。
コメント