背景
Oracle Cloud Infrastructure (OCI) では、コストレポートやUsage レポートが自動的に Object Storage に保存されます。
通常は OCI コンソール(請求とコスト管理->コストおよび使用状況レポート画面)から個別にダウンロードできますが、複数ファイルをまとめてダウンロードしたいケースがあります。
そこで今回は OCI Cloud Shell を利用して cost-csv / usage-csv を一括ダウンロード → zip 化 → ローカルに保存する手順を紹介します。
手順
1. Cloud Shell の起動
OCI コンソール右上の Cloud Shell を起動します。
(ブラウザから直接 OCI CLI が利用可能な環境が立ち上がります)
2. bulk-download でレポートをまとめて取得
oci os object bulk-download コマンドを使うと、Object Storage のバケット内にあるレポートファイルを一括ダウンロードできます。
Usageファイル
oci os object bulk-download \
--namespace-name bling \
--bucket-name <テナンシOCID> \
--prefix reports/usage-csv \
--download-dir .
Costファイル
oci os object bulk-download \
--namespace-name bling \
--bucket-name <テナンシOCID> \
--prefix reports/cost-csv \
--download-dir .
$ oci os object bulk-download \
> --namespace-name bling \
> --bucket-name ocid1.tenancy.oc1..*********** \
> --prefix reports/cost-csv \
> --download-dir .
You are downloading more than 1000 objects, do you want to overwrite all? [y/N]:
Downloaded reports/cost-csv/0001000002160651-00001.csv.gz [####################################] 100%
...
{
"download-failures": {},
"downloaded-objects": [
"reports/cost-csv/0001000002160651-00001.csv.gz"
...
],
"skipped-objects": []
}
- namespace-name は必ず bling
- bucket-name はテナンシ OCID
- prefix でダウンロード対象を指定
- download-dir は保存先ディレクトリ
ダウンロード後のディレクトリ構成は以下のようになります:
─reports
├─cost-csv
└─usage-csv
3. 取得ファイルを zip にまとめる
複数ファイルをローカルへ一括ダウンロードするため、Cloud Shell 内で zip に固めます。
zip -r oci-reports.zip reports
ファイル確認
ls -l oci-reports.zip
5. ローカルへダウンロード
Cloud Shell のダウンロード機能を使ってファイルをローカル環境に保存できます。
補足説明
- ローカル PC に OCI CLI がインストール済みの場合
Cloud Shell を使わず、同じコマンドをローカル PC 上で実行可能です。 - Windows OS の場合(長いコマンドを複数行に折り返すときの注意)
Linux (bash/zsh) では\
(バックスラッシュ)で行末をつなげます。
Windows PowerShell では`
(バッククォート)を使います。
oci os object bulk-download `
--namespace-name bling `
--bucket-name <テナンシOCID> `
--prefix reports/usage-csv `
--download-dir C:\oci_reports
Windows CMD では基本的に折り返し不可なので、1行で記述してください。
まとめ
- OCI のコスト/Usage レポートは Object Storage (bling namespace, tenancy OCID バケット) に格納される
- bulk-download でファイルを一括取得可能
- zip 化前に ls -lh で内容確認すると安心
- 1つの zip にまとめれば Cloud Shell からローカルへ簡単にダウンロードできる
参考資料