皆さま、こんにちは!y.takanashiです。
今回はOCIの「コスト管理」に関連する各サービスについてご紹介したいと思います。
コスト分析について
概要
最初にコスト分析についてご紹介します。
「コスト分析」はコスト管理内のサービスの一種で、無料でOCI上のリソースの利用料金を分析し可視化する機能を提供しています。
OCIは、他のパブリック・クラウドと同様に、使用したリソースに対して従量課金制を採用しています。
コスト分析を利用することで、OCI上のリソースの利用状況やコスト構成を把握し、最適なコスト削減策を検討することができます。
具体的には、以下のようなユースケースでコスト分析が有用となります。
- リソースの利用傾向を分析し、将来の需要予測を行う。
- コストの高いリソースを特定し、必要な場合にはコスト削減策を検討する。
- コンパートメント等を利用単位として、予算管理を行う。
個人的には、コスト分析は高価なリソースをデプロイしているユーザーや、コンピュート・インスタンスを長時間稼働させているユーザーを特定する際に使用するケースが多いですね。
また、OCIはコスト分析に必要な機能を一式提供しており、コンソールだけでなくCLIやAPIを利用してコストに関する情報を取得・分析することができます。
取得方法
コスト分析はOCIコンソール画面の左上にあるハンバーガーアイコンから、「請求とコスト管理」→「コスト管理」の順に選択することで確認できます。
コスト分析は、以下の画面のようにグラフを中心にした構成となっております。
デフォルトでは棒グラフで表示されていますが、赤枠部分から折れ線グラフに変更することも可能です。
グラフの下には、リソース毎の詳細な利用金額が表示されます。
ここまでの例では1日ごとの表示となっていますが、赤枠部分の「Granularity(粒度)」から1ヶ月ごとに変更することも可能です。
さらに、「Show Forecast(予測の表示)」にチェックを入れると、「Total (includes forecast)(合計)」に月末までの予測金額が追加表示されるようになります。
ここまでOCIの各サービスを対象にコスト分析を行いましたが、「Grouping dimentions(グループ化ディメンション)」からサービス以外のディメンションを指定して、コスト分析も行うことができます。
以下が主なディメンション一覧です。
- アベイラビリティ・ドメイン
- コンパートメント
※最大5階層まで指定できます - サービス
- タグ
- テナンシ
- リージョン
同様に、複数のディメンションを指定して分析を行いたい場合、「Filters(フィルタ)」から複数のディメンションを指定することができます。
例えば、「Filters(フィルタ)」で「Compartment(コンパートメント)」と「Region(リージョン)」を指定し、「Grouping dimentions(グループ化ディメンション)」で「Service(サービス)」を選択することで、特定のリージョン内のコンパートメントで使用されたサービスのコスト分析を行うことができます。
最後に、コスト分析はホーム・リージョン以外では情報を取得することができませんのでご注意ください。
保存済レポートについて
このように、複数のディメンションを指定することで特定のリソースを対象としたコスト分析を行うことができますが、継続して複数のディメンションを指定してコスト分析を行う場合、毎回設定するのが手間となります。
そこで、「保存済レポート」という機能を使用することで、初期設定だけで、次回以降は手作業で設定を行わずに、自動的に複数のディメンションを指定して簡単にコスト分析を行うことができます。
コスト分析の詳細画面から「Save as New Report(新規レポートとして保存)」を選択して、任意のレポート名(ここでは「OCI-Costreport」)を入力し、「Save(保存)」を選択します。
作成後、保存済レポートに作成したレポートが表示されます。
また、レポートはCSVとPDF形式で手動で保存することも可能です。
グラフの右上にある「Tab Actions(タブ・アクション)」から、任意の形式(ここでは「Download Current Tab as PDF」(現在のタプをPDFとしてダウンロード))でレポートを保存します。
PDF形式でレポートを保存した場合は、以下の画面の形で出力されます。
グラフはコンソール画面と同じ形式ですが、リソースの詳細金額についてはコンソール画面と異なる形式となっております。
スケジュール済レポートについて
以上のようにコスト分析は手動でレポートを保存する機能を提供していますが、毎日レポートを保存したい場合は、毎回の作業が手間になります。
そこで「スケジュール済レポート」という機能を使用することで、自動でレポートを出力して保存することができます。
スケジュール済レポートはオブジェクト・ストレージのバケットに保存されますが、その際バケットの読み取り許可を与えるポリシーが必要となります。
そのため、スケジュール済レポートの設定を行う前に、以下のポリシーを作成する必要があります。
Allow service metering_overlay to manage objects in tenancy where all {target.bucket.name='BUCKET_NAME', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_DELETE', request.permission='OBJECT_READ'}}
※'BUCKET_NAME'はレポートを保存するバケット名に変更してください。
ポリシーの作成後、「スケジュール済レポート」から「Create a scheduled report(スケジュール済レポートの作成)」を選択します。
以下の項目を選択、もしくは入力完了後「Create(作成)」を選択します。
- レポート名
- 説明(オプション)
- 保存済レポート
※スケジュール済レポートを作成する際には、事前に保存済レポートを作成する必要があります。 - 開始日
※翌日以降の日付を設定できます。 - 反復
※毎日、毎月、1回から選択できます。
1回を選択した場合、翌日のみレポートがバケットに保存されます。 - フォーマット
※CSVとPDFから選択できます。 - ネームスペース(選択不可)
- リージョン
- コンパートメント
- バケット
※ポリシーで指定したバケットを選択します。
設定した開始日以降に、レポートは「Successful(成功)」のステータスとなり、指定したバケットに正常に保存されることが確認できます。
バケットも開始日以降に確認すると、gzip形式でレポートが保存されているのが分かります。
ちなみに、バケットに保存されたレポートは以下の形で生成されます。
手動で保存したレポートとは違い、グラフと詳細とも違う形式で出力されます。
拡大しないとかなり見にくいですが、リソースの詳細項目の料金は以下の通りです。
- timeUsageStarted:レポート生成開始日時
- timeUsageEnded:レポート生成終了日時
- service:サービス名
- currency:通貨
- computedAmount:コンピュートの使用量(コンピュートに関連するサービスのみ表示される)
- computedQuantity:リソースの課金金額(サービス関係なく表示される)
予算について
最後に、「予算」サービスについてご紹介します。
予算とは、テナンシ内のコストを追跡し、設定したしきい値を超えた場合には、管理者にアラート通知を送信できるサービスです。
予算を作成する場合、コスト管理ページ内の「予算」から「予算の作成」を選択して設定を行います。
以下の項目を選択もしくは入力後、最下部にある「作成」を選択します。
- 予算範囲
- 名前
- 説明(オプション)
- ターゲット・コンパートメントもしくはコスト・トラッキング・タグ
- 予算処理を開始する月の日付
- 予算金額
設定した翌日以降に、予算の確認を行うことができます。
また、予算の作成時にオプションとして、アラート・ルールも設定することができます。
アラート・ルールを設定する場合、以下の項目を選択もしくは入力が必要となります。
- しきい値メトリック
- 実績支出...1か月当たりに費やした実績金額を監視する。
- 予測支出...リソース使用率を監視し、予算を超過するとアラートが表示される。
- しきい値のタイプ
- 予算の比率...月次予算のパーセントで算出。
- 絶対金額...固定金額で算出。
- しきい値
※予算の比率を選択した場合「%」で、絶対金額を選択した場合「円」で算出。 - 電子メール受信者(オプション)
- 電子メール・メッセージ(オプション)
※デフォルトではメールの本文は空白で送信される。
作成後は予算の詳細画面内に、アラート・ルールが設定されます。
また、アラート・ルールの設定時にメールアドレスを入力し、アラートが発生した場合は、デフォルトでは以下の内容でアラート通知が送信されます。
予算サービスの詳細については、以下をご覧ください。
Cloudiiブログ - 「Oracle Cloud Infrastructure(OCI) の予算サービスを使ってみた」
※この記事は3年前に掲載されましたが、機能としては「予算処理を開始する月の日付」以外は現在の仕様と同様ですので、予算サービスを利用する際には参考になると思われます。
以上でコスト管理に関連する各サービスのご紹介を終了します。
尚、コスト管理には「コストおよび使用状況レポート」という機能も提供されていますが、CSVファイルを毎日生成するのみの機能であるため、本記事では紹介を割愛させていただきます。
まとめ
コスト管理は、リソースの利用状況を閲覧だけでなく、レポートを自動生成する機能や、予算を設定し、しきい値を超えた場合はアラート通知を送信するなど、コストに関する包括的な機能を備えた非常に便利なサービスです。
また、コンソール上での操作が完結するため、エンジニアではないユーザーでも使いやすい点が魅力的です。
さらに、ここでは取り上げていませんが、予算サービスはOCIのファンクションや通知サービスとも連携でき、高いカスタマイズ性を持っているという特徴もあります。
以上となります。
この記事を通じて読者の皆様の問題解決の一助となれば幸いです。
最後まで読んで頂き、ありがとうございましたm(_ _)m