FinOps とチャージバック モデル
Azure Cost Management のリソース タグとコスト配分ルールを使用して FinOps のチャージバック モデルを実装し、各事業部門がクラウド支出に責任を持つようにします。
「FinOps とチャージバック モデル」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。
FinOps とは
FinOps(Financial Operations)は、財務、エンジニアリング、ビジネスの各チームが協力してクラウド支出を管理するための、文化的および運用上のフレームワークです。FinOps Foundation は、実践における 3 つの段階として、Inform(コストを可視化する)、Optimise(無駄を削減し、より適切にコミットする)、Operate(ポリシーを適用し、継続的に改善する)を定義しています。Azure では、FinOps はAzure Cost Management、リソース タグ、予算、チャージバック モデルによって支えられています。
コストの可視化: FinOps の基盤
見えないものを最適化することはできません。FinOps の最初のステップは、すべてのチームがクラウド コストをリアルタイムで可視化できるようにすることです。Azure Cost Management で、サブスクリプション、リソース グループ、またはタグでフィルターしたコスト ビューを構成し、エンジニアリング リードと共有してください。各事業部門に対して日次コスト メールと週次のコスト ダイジェスト レポートを有効にします。コストを可視化できなければ、エンジニアはアーキテクチャの判断が財務に及ぼす影響を意識せず、パフォーマンスと速度だけを最適化してしまいます。
# Export daily costs to a Storage Account for BI tools
az costmanagement export create \
--name DailyCostExport \
--scope '/subscriptions/<subscriptionId>' \
--storage-account-id '/subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mycosts' \
--storage-container cost-exports \
--type ActualCost \
--timeframe MonthToDate \
--recurrence Dailyコスト配賦のためのリソース タグ付け
リソース タグは、あらゆるチャージバック モデルの基盤です。適切に設計されたタグ分類には、Department(Engineering、Marketing、Finance)、CostCentre(会計コード)、Project(プロジェクト名または製品名)、Environment(Production、Staging、Dev)、Owner(担当チームまたは担当者)が含まれます。タグの追加は無料で、すべての Azure Cost Management レポートに表示されます。Azure Policy を使用して新しいすべてのリソースにこれらのタグを付けることを必須にし、Azure Policy Remediation を使用して既存のタグなしリソースにタグを後から追加してください。
# Require Department tag via Azure Policy
az policy assignment create \
--name 'RequireDepartmentTag' \
--scope '/subscriptions/<subscriptionId>' \
--policy 'require-tag-on-resource-groups' \
--params '{ 'tagName': { 'value': 'Department' } }'ショーバックとチャージバック
コスト配賦モデルには、一般的に2つの方式があります。ショーバックでは、実際の金銭の移動を伴わずに、各事業部門がコストを把握できるようにします。つまり、チームはクラウド支出を確認できますが、請求は行われません。チャージバックでは、実際の社内請求書を作成し、中央のIT予算から利用部門のコストセンターへコストを振り替えます。チャージバックはコストを意識した行動を促す効果が高い一方、社内取引を処理するための会計基盤が必要です。多くの組織では、まずショーバックから始め、FinOpsの成熟度が高まるにつれてチャージバックへ移行します。
Azureのコスト配賦ルール
Azure Cost Management のコスト配賦ルールを使用すると、共有ネットワークハブ、Azure Firewall、Log Analytics ワークスペースなどの共有コストを、カスタムの比率に基づいて利用側のサブスクリプションまたはリソースグループに再配賦できます。たとえば、3つの事業部門が共有する Azure Firewall のコストを、それぞれの相対的なトラフィック量に基づいて40/35/25の割合で分割できます。配賦されたコストは、受け取り側のサブスクリプションで発生したかのように Cost Management のビューに表示されるため、各チームはクラウドの総コストを正確に把握できます。
説明責任のための予算アラート
Azure Budgetsを使用すると、サブスクリプション、リソースグループ、またはタグでフィルターしたスコープに対して、月次または四半期の支出目標を設定できます。支出が予測しきい値(例:予算の80%および100%)または実績しきい値に達すると、Azureは設定された宛先にメール通知を送信します。予算によってリソースの実行が停止されるわけではありません。関係者に通知し、対応できるようにする機能です。開発環境では、Azure Logic AppsまたはAction Groupsと予算を組み合わせ、予算しきい値に達したときに重要度の低いリソースを自動的に停止できます。
# Create a monthly budget for a resource group
az consumption budget create \
--budget-name 'EngineeringQ3Budget' \
--amount 5000 \
--time-grain Monthly \
--time-period-start 2024-07-01 \
--time-period-end 2024-09-30 \
--resource-group myRG \
--notifications '[{"enabled":true,"operator":"GreaterThan","threshold":80,"contactEmails":["eng-lead@contoso.com"]}]'FinOpsチームの構成
FinOpsチームには通常、3つの役割があります。FinOps Practitionersは、コストビューの管理、最適化スプリントの実施、削減効果の報告を担う専任のクラウド財務アナリストです。Cloud Engineersは各プロダクトチームのエンジニアで、適正サイズ化の推奨事項に対応し、コスト効率の高いアーキテクチャを実装します。Finance Stakeholdersは、コミットメント購入を承認し、社内チャージバック請求を管理します。Cloud Centre of Excellence(CCoE)チームでは、アーキテクチャガバナンスと併せてFinOps機能を担うことがよくあります。
ユニットエコノミクスとトランザクション単価
高度なFinOpsの実践では、ユニットコスト、つまりAPIリクエスト1件あたり、アクティブユーザー1人あたり、処理データ1GBあたりなど、意味のあるビジネス単位あたりのクラウドコストを測定します。ユニットエコノミクスによって、コストに関する議論をプロダクトマネージャーや経営層にとって身近なものにできます。Azureでは、Cost Managementのエクスポートデータと、Application Insightsまたはカスタムデータウェアハウスのビジネス指標データを組み合わせて、ユニットコストを計算できます。ユニットコストの経時的な推移から、アーキテクチャ上の意思決定によって効率が改善しているか、悪化しているかを把握できます。
予約コストの配賦
Reserved Instance の割引は、購入元サブスクリプションに対する負のRI benefit明細項目としてコストデータに表示されます。チャージバックモデルでは、予約容量を消費するチームに予約による削減額を配分する必要があります。Azure Cost Managementのコスト配賦機能を使用すると、予約購入と、それを消費するサブスクリプションまたはリソースグループを関連付けて、この処理を自動化できます。この配賦を行わない場合、購入元サブスクリプションのコストはマイナスに見え、利用チームには従量課金の料金が全額請求されているように見えます。
FinOpsの成熟度を測定する
FinOps Foundationでは、成熟度を3つのレベルで定義しています。Crawlは基本的なコスト可視化と場当たり的な最適化、Walkは一貫したタグ付け、予算、定期的な最適化、ショーバックレポート、Runは自動化された異常検出、チャージバック、ユニットエコノミクス、エンジニアリングのロードマップに沿ったコミットメント戦略を指します。Runレベルの組織は、ワークロードの規模を考慮しても、通常はCrawlレベルの組織よりクラウド支出が25~35%低くなります。現在の成熟度を評価し、12か月後に次の段階へ進むための目標を設定してください。
FinOpsをSDLCに統合する
最も成熟したFinOpsの実践では、コスト意識をソフトウェア開発ライフサイクルに組み込みます。アーキテクチャレビュー文書にコスト見積もりを含め、高額なAzureリソースを追加するプルリクエストでは自動的にコストアラートを発生させ、CI/CDパイプラインには、予測コストがしきい値を超えた場合にデプロイをブロックするコストゲートチェックを組み込みます。InfracostなどのツールやAzure独自のコスト見積もりAPIをGitHub ActionsまたはAzure Pipelinesに統合すると、コードが本番環境に到達する前に開発者へコストに関するフィードバックを提供できます。
理解度チェック
このレッスンで扱った Microsoft Azure Fundamentals(AZ-900)の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、FinOpsとは財務、エンジニアリング、ビジネスの各部門が協力してクラウドコストを管理する文化的な実践であること、リソースタグとコスト配賦ルールによって共有コストを利用チームに帰属させ、チャージバックを実現できること、そして予算アラートによってリソースの利用を妨げずに説明責任を果たせることを学びました。次は開発者の視点に移り、パスワードレス認証のためのマネージド IDについて学びます。
AI チューターと学ぶ Azure Fundamentals — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「FinOps とチャージバック モデル」レッスンは無料ですか?
はい。「FinOps とチャージバック モデル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。
「FinOps とチャージバック モデル」で何を学びますか?
Azure Cost Management のリソース タグとコスト配分ルールを使用して FinOps のチャージバック モデルを実装し、各事業部門がクラウド支出に責任を持つようにします。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Azure Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「FinOps とチャージバック モデル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAzure Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 無駄の特定と排除
- 適正サイズ化と自動スケーリング
- Azure Savings Plans と予約
- FinOps とチャージバック モデル