はじめに
OCIで日々のリソース利用料を確認する際にOCIコンソールを利用されている方も多いと思います。
今回は、都度OCIコンソールにログインしてレポートをダウンロードしなくても、
自分の欲しいレポート形式で保存し、定期的に任意のObject Storageに出力しておくことができる スケジュール済みレポート機能を使ってみます。
作業の流れ
- ユーザーへの権限付与
- スケジュール済みレポート機能で設定をする Object Storage のバケットの作成 (既存のものでも可)
- 定義済みのコスト分析レポートを出力したい形式にレポートを編集、保存
- スケジュール済みレポートの作成
- 自身のPC端末にObject Storageからレポートをダウンロード
ユーザーへの権限付与
-
スケジュール済みレポートを使用する上で必要なIAM権限
- 参照マニュアル:
https://docs.oracle.com/ja-jp/iaas/Content/Billing/Concepts/costs.htm#Required -
コストおよび使用状況レポート機能利用に必要なIAMポリシー
https://docs.oracle.com/ja-jp/iaas/Content/Billing/Concepts/usagereportsoverview.htm#policy -
スケジュール済みレポート機能利用に必要なIAMポリシー
https://docs.oracle.com/ja-jp/iaas/Content/Billing/Concepts/scheduledreportoverview.htm#scheduledreportoverview__iam_policy_scheduledreport
- 参照マニュアル:
Object Storage Bucketの作成と事前認証済みリクエストの作成
- プライベートバケットでもパブリックバケットでもどちらでもOK
- 事前認証済みリクエストの作成
- リクエスト・ターゲット : バケット
- アクセスタイプ: オブジェクトの読み取りを許可
- オブジェクト・リストの有効化 :
- チェックを入れる
コスト分析レポートの編集
スケジュール済みレポートの作成
curlでレポートダウンロード
この状態で事前承認済みリクエスト で発行したURLを使い自分のwindowsのコマンドプロントで自動的に出力されるレポートを取得します。
Object Storageに出力されているレポートの名前をリストして確認
curl -X GET https://objectstorage.ap-tokyo-1.oracle.com/xxxxxxxxxxxxxx/b/costreport/o/
実行すると、日付が入ったobject名がリストされるため、ほしい日付のファイル名を指定してダウンロード
curl -O https://objectstorage.ap-tokyo-1.oracle.com/xxxxxxxxxxxxxx/b/costreport/o/DailyReport_xxxxxx.csv.gz
取得したレポートの例
おわりに
今回は手軽にレポートを取得するところまでを試しましたが、
スケジュール済みレポート機能を利用してObject Storageへ出力しておけば、functionサービスなどと連携して、レポートのメール配信なども可能だと思います。
また、コスト管理の効率化という意味だと、Autonomous Databaseを利用したコストと使用量をより柔軟に管理するためのツールなども公開されていますのでぜひ参考にしてください。
-
参考Qiita
- [OCI] 前回実行時からの差分のコストレポートファイルのみをダウンロードするシェルスクリプトを作って実行してみた
https://qiita.com/500InternalServerError/items/f34de1bff9e457725547
- [OCI] 前回実行時からの差分のコストレポートファイルのみをダウンロードするシェルスクリプトを作って実行してみた
-
参考Blog
- Oracle Cloud Infrastructureのコストと使用量を管理
https://blogs.oracle.com/oracle4engineer/post/ja-manage-your-oracle-cloud-cost-and-usage
- Oracle Cloud Infrastructureのコストと使用量を管理