コスト管理の規範

完了

多くの場合、コスト管理は、ガバナンスの取り組みにおいてお客様が成熟させることを選択する最初の規範です。 このユニットでは、コスト規範を成熟させるための結果、ツール、プロセス、および参照の実装の概要を示します。

目標

コスト管理の規範では、コストを制御したり次のようなトリガーに対応する自分の能力に対する自信を高めます。

  • 予算に関する問題に対処する
  • 事業単位全体のコスト割り当てを定義する
  • コスト ガードレールを実装する
  • ワークロード コストを分析する
  • ポートフォリオ全体に運用上のベスト プラクティスを適用する
  • 各ワークロード チームのコストのベスト プラクティスに関するアカウンタビリティを作成する

コスト管理のベスト プラクティス

この規範の目的は、次のコスト管理のベスト プラクティスを適用することです。

  • チームとアカウンタビリティを調整する
  • ベスト プラクティスを一元的に管理する
  • ワークロード レベルでのベスト プラクティスを確立する

ベスト プラクティス (チーム別) とアカウンタビリティ

企業全体のコスト管理は、クラウド ガバナンスとクラウド運用の機能です。 コスト管理に関するあらゆる決定によって、ワークロードをサポートする資産が変更されます。 それらの変更がワークロードのアーキテクチャに影響を与える場合は、ユーザーとビジネス機能への影響を最小限に抑えるために、さらに考慮が必要となります。 そのワークロードを構成または開発したクラウド導入チームが、それらの変更を完遂する責任を負う可能性があります。

  • タグ付けはすべてのガバナンスに不可欠です: すべてのワークロードとリソースが適切な名前付け規則とタグ付け規則に従っていること、および Azure Policy を使用してタグ付け規則を適用していることを確認します。
  • 適切なサイズの機会を特定します: 環境全体の現在のリソース使用率とパフォーマンスの要件を確認します。
  • サイズ変更: 各リソースのパフォーマンス要件をサポートできる最小のインスタンスまたは SKU を使用するように各リソースを変更します。
  • 水平と垂直のスケーリング: 複数の小さいインスタンスを使用すると、1 つの大きいインスタンスより簡単なスケーリング パスを実現できます。 複数の小さいインスタンスを使用すると、スケーリングの自動化がサポートされて、コストが最適化されます。

運用コスト管理のベスト プラクティス

次のベスト プラクティスは、通常、修正プログラムやその他の予定メンテナンスのプロセスに従って、クラウドガバナンスまたはクラウド運用チームのメンバーによって実現されます。 これらのベスト プラクティスは、このユニットで後ほど説明する実行可能なガイダンスに対応します。

  • タグ付けはすべてのガバナンスに不可欠です: すべてのワークロードとリソースが適切な名前付け規則とタグ付け規則に従っていること、および Azure Policy を使用してタグ付け規則を適用していることを確認します。
  • 適切なサイズの機会を特定します: 環境全体の現在のリソース使用率とパフォーマンスの要件を確認し、90 日以上にわたって使用率が低いリソースを特定します。
  • 適切なサイズにプロビジョニングされた SKU: 使用率が低いリソースを、各リソースのパフォーマンス要件をサポートできる最小のインスタンスまたは SKU を使用するように変更します。
  • 仮想マシン (VM) の自動シャットダウン: VM が常時使用されていない場合は、自動シャットダウンを検討します。 VM は削除も使用停止もされませんが、再び有効になるまでコンピューティングとメモリのコストの消費を停止します。
  • すべての非運用資産の自動シャットダウン: VM が非運用環境の一部である場合、具体的には開発環境内にある場合、自動シャットダウン ポリシーを設定して非使用のコストを削減します。 可能な限り、Azure DevTest Labs をセルフサービス オプションとして使用して、開発者がコストの責任を負えるようにします。
  • 使用されていないリソースをシャットダウンして使用停止する: はい、これは 2 回言いました。 リソースが 90 日以上使用されておらず、アップタイムの要件が明確でない場合は、無効にします。 さらに重要なこととして、マシンが停止またはシャットダウンされてから 90 日以上経過した場合は、そのリソースのプロビジョニングを解除して削除します。 バックアップやその他のメカニズムを使用して、データ保持ポリシーが満たされていることを検証します。
  • 孤立したディスクをクリーンアップします: 未使用のストレージ (特に VM にアタッチされなくなった VM ストレージ) を削除します。
  • 適切なサイズの冗長性: リソースに高度な冗長性が必要ない場合は、geo 冗長ストレージを削除します。
  • 自動スケール パラメーターの調整: 運用監視は、さまざまな資産の使用パターンを明らかにする可能性があります。 これらの使用パターンが自動スケール動作を実行するために使用されるパラメーターにマップされると、運用チームは通常、季節需要や、予算割り当てに対する変更を満たすように自動スケール パラメーターを調整します。 重要な事前の注意事項については、「ワークロード コスト管理のベスト プラクティス」を参照してください。

ワークロード コスト管理のベスト プラクティス

アーキテクチャを変更する前に、ワークロードの技術リーダーに問い合わせてください。 Azure Well-Architected Framework の概要概要に関するページを使用してワークロードの確認を促進し、以下のアーキテクチャの変更に関する意思決定の指針を得ます。

  • Azure App Service: Premium レベルの App Service プランの運用要件を確認します。 ワークロードのビジネス要件と、基になる資産の構成を理解していないと、Premium レベルのプランが必要かどうかを判断するのが困難になります。
  • 水平と垂直のスケーリング: 複数の小さいインスタンスを使用すると、1 つの大きいインスタンスより簡単なスケーリング パスを実現できます。 小さいインスタンスを使用すると、スケーリングの自動化がサポートされて、コストが最適化されます。 ワークロードを水平方向にスケーリングできるようにするには、アプリケーションがべき等であることを技術チームが確認する必要があります。 水平スケーリングを実現するには、まず、コードを変更し、アプリケーションのさまざまなレイヤーを構成することが必要な場合があります。
  • 自動スケーリング: バースト可能な数の小さい VM のために、すべてのアプリ サービスで自動スケーリングを有効にします。 自動スケーリングの有効化には、同じべき等要件があるため、ワークロード アーキテクチャに関する知識が必要です。 運用上の変更を行う前に、ワークロードとサポート資産が、水平スケーリングと自動スケーリングについてクラウド導入チームによって承認されている必要があります。
  • サーバーレス テクノロジを実装します: ダウンタイムを回避するため、多くの場合、VM ワークロードはそのまま移行されます。 多くの場合、VM では、断続的なタスク、実行時間が短いタスク、または何時間も実行されるタスクがホストされます。 たとえば、Windows タスク スケジューラや PowerShell スクリプトなどの、スケジュールされたタスクを実行する VM です。 これらのタスクが実行されていないときも、VM とディスク ストレージの料金を払っています。 移行後に、ワークロードのレイヤーを Azure Functions や Azure Batch ジョブなどのサーバーレス テクノロジに再構築することを検討してください。

コスト管理プロセス

ここで説明したベスト プラクティスは実用的ですが、これらをいつ、どのように適用すればよいでしょうか。 コスト管理の規範となるのは、複数のプロセスや役割を含む継続的な作業です。

Diagram of the Cost Management discipline as a continuous process.

図 1: 継続的なプロセスとしてのコスト管理の規範。

集中運用およびワークロード チームと連携して、図 1 (最適化、可視性、アカウンタビリティ) で示されている各コスト管理の規範のベスト プラクティスに対する適切な所有権を確保します。 お使いの環境内でワークロードをどのように管理するかに応じて、ベスト プラクティスの一部はチーム間で移動する可能性があります。 コスト管理の全負担を中央の IT 部門に割り当て、ワークロード チームには責任を負わせない組織もあれば、コスト管理の全負担をワークロード チームに割り当てる組織もあります。 ほとんどの組織は、これら 2 つの両極の間のどこかに該当します。 Tailwind Traders 社では、中央の IT 部門の役割は報告と予算管理機能のみです。

役割を調整した後は、この重要な反復的タスクについて責任を負う両者を連携させるための反復的なプロセスを確立します。

Microsoft Cost Management

Microsoft Cost Management は、すべてのデータをまとめてコスト戦略を管理するための、Azure の既定のツールです。

Microsoft Cost Management を使用すると、リソース編成、Azure Advisor アラート、ガバナンス基盤をまとめて、コスト管理のニーズを満たすことができます。

演習: 予算を作成する

Microsoft Cost Management を使い始めるには、Azure の予算を作成して管理するチュートリアルで最初の予算を作成します。

演習: 最適化する機会を見つける

Azure 環境に既存のデプロイがある場合は、全体的な支出に影響する可能性のある推奨事項を Azure portal で得られる可能性があります。 推奨事項に従ってコストを最適化するチュートリアルを完了して、コストが削減される可能性のある Azure Advisor からの推奨事項や他の推奨事項を確認します。 これらの推奨事項によって、このユニットで説明した運用上のベスト プラクティスを適用する機会が特定されます。

演習: Azure Policy を使用してコストに関するリスクを制限する

予期しないコストを事前に制限するために、Azure Policy を使用して、任意のロールの支出超過機能に影響を与えるガードレールを作成できます。 2 つの最も一般的なコストに関するリスクは、誤解のある意思決定に起因します。

  • Azure リージョン: 資産のコストは Azure リージョンによって異なります。 可能な場合は、Azure Policy を使用して、リージョン間でのリソースのデプロイを制限できます。
  • Azure SKU: デプロイの間に選択した SKU は、コストに直接影響します。 セルフサービスまたはワークロード所有のサブスクリプションで高価なリソースの使用を最小限に抑えることで、予期しない予算超過を制限できます。

お使いの非運用環境で VM SKU の拒否にポリシーを追加して、この種のコスト管理ポリシーの動作を確認します。

特定のサブスクリプションの許可されている場所を指定するポリシーを追加して、リージョンの価格に関連するコストのずれを回避します。