このポストはCSS(カスタマーサクセスサービス事業統括の坂田直紀により投稿されました
OCI(Oracle Cloud Infrastructure)管理コンソールにOCI FinOpsハブのPortalサイトが新しくリリースされました(2024/06)
これはOCI標準提供の様々なコスト管理サービスのPortalサイトであるだけでなく、このページを見ることでお客様のコスト観点からのOCI利用状況が一目で把握できます。現在のサブスクリプションの利用状況やコスト分類のグラフ、予測支出や予算管理、またCloudコストの最適化を図るための推奨事項の一覧(Cloud Advisor)を参照することができます。

[請求とコスト管理]-[コスト管理]-[概要]
さてこのページの名前にもついているFinOpsとは何でしょうか?
FinOpsはクラウドリソースのコスト管理と最適化を目的とした運用フレームワークであり、技術、財務、事業部門の連携を通じてクラウド投資の価値を最大化することを目指すものです。DevOpsという用語がDevelopment(開発)とOperation(運用)の組織が密に連携して開発スピードの向上、運用の効率化を進めていくという意味を示すように、FinancialとOperation(運用)の組織が密に連携することで、財務の健全化並びに運用の効率化を進めていくことを意味します。2019年2月にFinOps Foundation(https://www.finops.org/)という非営利団体が発足し、2020年6月にはLinux Foundationに合流、その1プロジェクトとしての活動で現在に至っています。(Oracle社はFinOps FoundationのGeneralメンバーです)
オンプレミス環境でのITファイナンス管理は、固定資産の重視、資本支出(CapEx)中心、予測可能なコストといった特徴があります。企業はH/WやS/Wを購入し、固定資産として管理していたため、初期投資は大きいものの、長期的・固定的な減価償却により予算計画が立てやすく、メンテナンス費用も予測可能でした。これに対して、クラウドサービスの普及により、従量課金モデルが主流となり、運用支出(OpEx)が増加し、予算計画が難しくなり、コストの予測が困難になっています。クラウドサービスは初期投資を抑えられるが、利用が増えるにつれ運用費用が増加し、EBITDA(利払前・税引前・償却前利益)に直接影響を与えます。さらにクラウド環境では需要に応じたリソースの柔軟なスケーリングが求められ、これに対応するためのコスト管理が必要となります。従来のオンプレミス環境での月次や四半期ごとのコスト報告では迅速な対応が難しく、予算超過や無駄な支出を防ぐためにリアルタイムなコスト管理が不可欠です。
FinOps(フィンオプス)とは、クラウドの支出(投資、コスト)に関して従来型オンプレミスITとの違いに着目して、その最適化を図る種々のアプローチによって、支出に対するアカウンタビリティの確立を目指すという活動です。
下記がFinOpsの全体像になります。3つのフェーズに分かれており、各々のフェーズに該当するOCIサービスをマッピングしています。

-Inform(可視化)フェーズ
最初にクラウドコスト及びその構造の可視化によりCost Allocation(コスト割当:どの部門やシステムが、どのクラウドリソースを、いつ、どれだけ使っているのか)を把握します。次に過去のコスト変動や将来に予想されるイベントから、今後コストがいかに変動し、予算はどのような影響を受けるのかといった傾向を分析・将来予測します。クラウド利用費用を予測して、年度の予算策定のための計画を策定するものです。最後にクラウド利用状況とコストのデータをそれが生み出すビジネス価値に結びつけて評価します。ベンチマーク用のKPIを確立して、ビジネス指標と比較してコストの妥当性を示すことが肝要です。ただやみくもにコスト削減するのではなくUnit Economicsに着目するのがFinOpsのコスト最適化の重要な視点です。
Unit Economics(単位当たりの経済性)=Cloud Cost ÷ Business指標(売上高,会員数,オーダー数等)
-Optimize(最適化)フェーズ
コストデータと実際のシステムの利用状況(パフォーマンスデータ)を照らし合わせ、ムダが発生しているシステムリソースを特定して、サイズ調整やリソースの削除/停止によりコスト削減できないかという推奨案を検討します。またインスタンスの最新世代の利用やワークロード特性に合わせたインスタンスファミリへの変更なども検討の俎上に上がります。リソースのサイズ調整の対応としては需要に応じてリソースを増減させるAuto Scaling機能や、需要(リクエスト)をコントロールするThrottling/Buffering等のデザインパターンを利用する等のシステム設計の見直しも考えられます。中長期的には、Cloud Native Architecture の採用を検討することになるのでしょう。クラウド投資効果の最大化を実現のためにシステムを疎結合化してコンテナサービスの利用やManaged型サービス、Serverlessを用いたArchitectureを採用してビジネス俊敏性とともにより良い運用・拡張性と回復力を確保でき、運用・設定・保守工数を削減しコストの最適化を進めることになります。
-Operate(実行)フェーズ
Inform/Optimizeフェーズの個々のアプローチを持続的に全社で推進していく運用改善活動となります。クラウド利用費用最適化のためのガバナンスを確立して、コスト最適化のガイドライン・運用プロセスを整備して組織内に浸透・定着させる、このためにはIT担当者だけでなく財務・調達担当の協力のもと人材確保・育成なども必要となり、この意味でこれはクラウド利用を全社的に推進するCCoE(Cloud Center of Excellence)活動の一つとも言えるでしょう。
OCIでは上記のInform、Optimize、Operationのそれぞれのフェーズで無料で使用できるOCIコスト管理ツールが提供されています。次にそれぞれを紹介していきます。
[1] Inform(可視化)
クラウド費用を最適化するための最初のステップとしては利用しているリソースがどの組織/チーム/開発プロジェクトに帰属している(Cost Allocation:コスト割当)かを明確にして利用費用・利用量(Usage)を監視・管理することが必要です。クラウド利用費用に対する責任の所在を明確にして、受益者へコストの提示(Showback)や課金(Chargeback)もできるようになるのでコスト最適化を動機付けしやすくなります。また利用費用のデータ取得と分析を通して投資対効果を把握することで、適切なIT投資・配分を判断する材料となります。
OCIではテナンシー、コンパートメント、(リソースへ付けられた)タグ単位でのコスト割当/管理が可能です。一例を挙げると事業部単位のコンパートメント毎に予算を設定する、また本番/検証/リリース環境別に付けられたタグ単位にコストを把握するなどです。またこれから紹介するすべてのOCIコスト管理サービスはテナンシー、コンパートメント、タグをサポートしています。
Cost Analysis(コスト分析)
OCIではCost Analysis(コスト分析)により管理コンソール上のグラフから直感的に課金状況を確認できるコスト分析が可能になります。指定した期間での合計費用支出、サービス/コンパートメント/タグ別費用支出のチャートおよび詳細なデータ表を参照できます。

[請求とコスト管理]-[コスト管理]-[コスト分析]
「開始日」/「終了日」の期間、「フィルタ」メニューを使用して、特定のタグ、コンパートメント、サービス等により抽出条件を指定、「グループ化ディメンション」メニューを使用して、どのようにグループ化するかを選択し適用することにより、チャートおよび対応する詳細データ表が生成されます。新規レポートとして保存することも可能で、次回から選択条件を再指定することなくレポートの作成ができます。グラフやデータ表はCSV/PDFでのダウンロードも可能です。
またこの[コスト分析]画面から予測の表示チェックボックスにチェックをいれるだけで過去の使用状況データに基づいて、将来の使用状況および消費の情報の予測が可能になります。将来必要なリソース利用量を算出し、最適な契約金額を見極め、クレジット金額の増額などを検討する際などに有効活用できます。
(2)Optimize(最適化)
Cloud Advisor
Cloud Advisorは十分に利用されていないリソースを特定し、最適なサイズに変更することでコスト削減可能な推奨事項を生成してクラウド利用費用の適正化に貢献できます。下記がCloud Advisorでのコスト管理に関する推奨事項の一覧です。
Cloud Advisorコスト管理に関する推奨事項

OCI管理コンソールでは以下のように一覧が表示されます。

[ガバナンスと管理]-[クラウド・アドバイザ]-[推奨事項]
クラウド・アドバイザは、1日に1回リソースをチェックして一覧表の内容にある問題を特定すれば、それらを解決するための推奨事項を生成、表示します
画面では推奨事項のタイプ”利用率の低いコンピュート・インスタンスの縮小”の数が1なので、これは1つのリソースが該当することを意味しており、クリックすることで詳細画面に移ります。

該当のリソース名、推定節約額、月次請求の割合が表示されます。
この画面から実装(推奨される変更の実施)、延期(変更を延期して、指定の期間までダッシュボードに表示させない)、却下(変更を却下して、Activateするまでダッシュボードに表示させない)を選択することが可能です。実装を選択することで、該当のリソースに対して推奨OCPU数への変更が実施(24-48時間後)され、実装済みにステータスが変更されます。通常のコンピュート・インスタンス詳細画面から編集を選択してリソース縮小することも可能で、次回のCloud Advisor日次チェック時にステータスが実装済みに変更されます。
Budgets(予算)
クラウドの予算を管理するにはOCI Budgetsを使うのが有効です。予算を作成して予算に対する支出をモニターして予算支出を管理できます。月毎の予算を設定すると、予算を超過する前にアラート通知やEvents経由Functionsと連携することでインスタンスに対するオペレーションを自動的に行うことが可能です。
下記が予算の作成画面となります。

[請求とコスト管理]-[コスト管理]-[予算]-予算の作成ボタン押下
予算範囲には、予算管理のため費用支出をモニターする対象範囲を指定して、タグまたはコンパートメント、(組織アカウントで親テナンシの場合は)子テナンシーが選択できます。スケジュールはデフォルト毎月になっており月次での予算金額を設定できます。予算処理を開始する月の日付(デフォルト1日)を設定することで、予算処理期間を指定できます。予算の作成はここまでです。
続けて予算アラート・ルールも作成できます。タグ、コンパートメント、テナンシーに作成できる予算は一つで、一つの予算に複数の予算アラート・ルールを設定できます。これらのアラートを含むカスタマイズ済の電子メール・メッセージの本文を送信できます。アラートは、24時間ごとに定期的にチェツクされ、実際の費用支出または予測支出が予算の割合または指定した設定金額に達したときに送信されます。
Eventsサービスと連携することで、Oracle Functionsのファンクションを起動したり、通知サービスを使用してメッセージを送信したりできます。例えば予算を超過した場合にQuota(割りあて)ポリシー作成して新規コンピューターリソースの作成を禁止することが可能になります。
(3)Operate(実行)
コスト及び使用状況レポート(Cost & Usage Report)
コスト分析より、さらに細かい分析や解析を実施したい場合はコスト及び使用状況レポートを使用することができます。コスト及び使用状況レポートで出力されるCSVファイルはOracle所有のオブジェクト・ストレージ・バケットに格納されます。CSVファイルには、1時間単位でOCIリソース(インスタンス、オブジェクト・ストレージ・バケットなど)ごとに、使用量(usage/billedQuantity)、コスト(cost/myCost)、価格(cost/unitPrice)、タグ(tags)情報などの様々な情報が出力されます。監査、請求書照合等の用途に有効活用できます。

[請求とコスト管理]-[コスト管理]-[コスト及び使用状況レポート]
名前は以下のようなネーミングになっています。
reports/usage-csv/ 使用状況レポート
reports/cost-csv/ コストレポート
FOCUS/yyyy/mm/dd FOCUS形式のレポート*
*業界標準のFinOps FOCUS(Open Cost and Usage Specification:コストと使用状況のデータの共通フォーマットを定義するオープンソース仕様) に対応したレポート
名前のリンクをクリックすると以下のようなコストレポートがダウンローされます。リソース毎に上述した使用量コスト(cost/myCost)、価格(cost/unitPrice)が見れます。

(4)まとめ
OCIでお客様のCloud コスト管理を進めるのは業界標準のFinOpsフレームワークを利用するのをお勧めします。OCIではFinOpsに対応した様々なコスト管理サービス(Cloud Advisor, Budgets等)が無料で標準提供されており効率的なコスト最適化を進めることができます。
参考資料
*1. FinOps Foundation
*2.OCI FinOps Hubの使用
https://docs.oracle.com/ja-jp/iaas/Content/Billing/Concepts/FinOps.htm
*3.請求及びコストの管理
https://docs.oracle.com/ja-jp/iaas/Content/Billing/home.htm
*4.クラウド・アドバイザ
https://docs.oracle.com/ja-jp/iaas/Content/CloudAdvisor/Concepts/cloudadvisoroverview.htm
*5. Announcing FOCUS support for OCI cost reports to make multicloud FinOps easier
https://blogs.oracle.com/cloud-infrastructure/post/announcing-focus-support-for-oci-cost-reports
*6 OCI コスト管理サービス(Qiita)
https://qiita.com/nsaka0315/items/e645bb0114e8e9a19dc4
坂田 直紀
日本オラクル株式会社
CSS(カスタマーサクセスサービス事業統括) クラウドアーキテクト部
Senior Principal Cloud Architect
