Azure 第12回『Cost Management で Azure の利用料金を調査・分析しよう』

Microsoft Azure は従量課金で利用できるので、必要なリソースを必要な時に必要に応じた規模で利用することができます。そのためAzure の利用料金は常に変動する可能性があります。企業ではITにかけることのできる予算は決まっているので、Azure の利用料金も適切に管理する必要があります。オンプレミスの環境ではIT資源は最初に「資産」として調達されて、稼働段階では保守・運用の費用だけが定期的に発生するコストとなりますが、Azure のようなクラウドではIT資源の全体が従量課金で定期的に発生するコストになります。そのためクラウド環境ではコスト管理は非常に重要な作業になります。
Cost Management を利用するとAzure の費用についての分析や予算管理を行うことができます。Cost Management は「コスト分析」「予算」「コストのアラート」「アドバイザーの推奨事項」という4つの機能で、Azure の利用料金の管理と最適化を行うことができます。

  1. 資格情報を入力して、Azure portal にサインインします。
    ※Cost Management を利用するには、調査・分析の対象となるサブスクリプションに対する読み取りアクセス許可が必要です。
  2. Azure portal で Cost Management の機能の一つであるコスト分析に移動します。
    ポータルの検索ボックスに、「サブスクリプション」と入力して検索し、表示されるサービスの一覧で [サブスクリプション] を選択します。
  3. サブスクリプションの一覧で、サブスクリプションを選択します。
  4. 左側のメニューウィンドウの [コスト管理] で、[コスト分析] を選択します。
  5. 選択したサブスクリプションのコスト分析が表示されます。

コスト分析では、さまざまな視点でAzure のコストを可視化して分析できます。
もっともコストの高いリソースを特定して分析してみましょう。

  1. 画面右側にある [グループ化] をクリックし、[リソース] を選択します。
  2. リソースごとのコストのグラフが、既定では現在の請求期間(歴月)の累積値で表示されます。
    次に [細分性] をクリックして、集計の粒度を選択します。ここでは [日単位] を選択します。
  3. 日単位のリソースごとのコストを示すグラフに切り替わります。
    日付リスト項目 (カレンダーのアイコン) を選択し日付範囲を選択します。ここでは [暦月] で [過去 3 か月間] を選択します。
  4. これで過去3か月間の日単位でリソースごとのコストを示すグラフが表示できました。
    これらのグラフから、もっともコストが高いリソースを見つけることができるでしょう。
  5. グラフの凡例(リソース名)が省略して表示されている場合は、凡例をマウスでポイントすると、リソース名の全体が表示できます。
  6. グラフの種類を変更したり、表(テーブル)形式で表示することもできます。
    [領域] と表示されているところをクリックすると、表示形式が選択できます。ここでは [テーブル] を選択します。
  7. リソースごと、日ごとのコストの一覧が表形式で表示できます。
  8. [細分性] を [なし] にすると、指定した期間(ここでは過去3か月)のリソースごとのトータルコストが表示できます。
    以下の例では、このサブスクリプションではAzure AD Domain Service のコストが大きく、また一定のコストが発生している仮想マシンのディスクが多数あることが分かります。

このような手順で、コストの高いリソースを見つけることや、コストが発生するタイミング・周期を確認すること、コストが発生していないリソース(=使われていないリソース)を見つけることなどができます。
※コストが低位のリソースはグラフの表示では「その他」にまとめられて表示されます。そのためグラフ上では「その他」のコストが一番大きいように見える場合があります。テーブル形式で表示するとすべてのリソースについて個別にコストが表示されます。

リソースグループやタグごとのコストを分析することもできます。
[グループ化] で [Resource group name] を選択すると、リソースグループごとのコストを示すグラフやテーブルを作成できます。
[グループ化] で [タグ] を選択すると、分析の対象とするタグを選択して、グラフやテーブルを作成できます。

なお、分析で使用されるコストデータにはAzure サービスおよびサードパーティのAzure Marketplace の使用状況や、予約を含む購入が含まれます。
またコストデータは4時間間隔で更新されます。

予算を設定して、予算を超過しそうな場合にアラートを受け取るように設定できます。
予算はサブスクリプション全体で設定するだけでなく、リソースグループやリソースの種類、タグなどで分類された範囲(スコープ)についての予算を設定することも可能です。

  1. 予算を設定するために、画面の左側のナビゲーションから [予算] をクリックします。
  2. [予算] 画面に切り替わります。[追加] を選択します。
  3. [予算を作成する] が表示されます。
    表示されているスコープが正しいことを確認します。
  4. 必要に応じて追加するフィルターを選択します。
    フィルターを設定することで、サブスクリプション内のリソースグループや仮想マシンのようなサービスなど特定のリソースのコストの予算を作成できます。
    コスト分析で使用できる任意のフィルターを予算に適用できます。
  5. スコープとフィルターを特定したら、予算の名前を入力します。次に、予算のリセット期間を月、四半期、年から選択します。リセット期間は予算によって分析される時間枠です。
    予算によって評価されるコストは、新しい期間が開始されるごとに0から開始されます。
    ※Azure の請求は月単位なので、四半期ごとの予算金額は四半期の3か月に均等に分割されます。年間予算額はカレンダー年度の12か月の間で均等に分割されます。
  6. 次に、予算が無効になりコストの評価を停止する有効期限を特定します。
  7. これまで予算で選択したフィールドに基づいて、予算に使用するしきい値を選択するためのグラフが表示されます。
    ※予算額は後から変更できます。
  1. 予算金額を構成したら、[次へ] を選択して予算アラートを構成します。
  2. 表示される画面で、予算のしきい値を構成し、アラート通知用のメールアドレスを指定します。
  3. ここではアラート条件を予算の90%に構成しています。
    予測値をアラート条件に設定することもできます。この場合は、実績に基づく最終的な請求額の予測がしきい値を超えた場合にアラートが発生します。
    条件は最大5つまで構成できます。
  4. [アラートの受信者 (メール)]にアラートを受け取る管理者のメールアドレスを入力します。
    メールアドレスは5個まで設定できます。
  5. [言語] は既定の言語のままで構いませんが、指定する場合は警告の電子メールに使われる言語を指定します。
  6. 月次コストデータの表示グラフを調べ、アラートのしきい値が正しいことを確認します。
  7. [作成] を選択します。
    これで予算が作成できました。
    予算は24時間ごとに評価され、アラートの電子メールは評価から1時間以内に通知されます。
  8. 作成した予算はコスト分析のページにも表示されます。
  9. 左側のナビゲーションから [予算] をクリックすると、作成した予算の一覧が表示されます。
  10. 発生したアラートは、左側のナビゲーションから [コストのアラート] をクリックして確認できます(下図では発生したアラートが無いので何も表示されていません)。

適切な予算とアラートの設定をすることで、管理者はAzure のコストについての状況を把握し、問題がある場合でも早期に確認して対処することができます。
またリソースが組織内のどの部署・プロジェクトに帰属するのか分かるような適切なリソースグループの構成やタグ付けを行っていれば、組織内の部署・プロジェクトごとの予算を管理しアラートを受け取ることが可能になります。
アラートの送信先に部署・プロジェクトの担当者も含めることで、部署・プロジェクトの自律的なコスト管理の役に立てることができます。

Azure にはリソースの構成状況や使用状況をもとに、ベストプラクティスに従ってAzure デプロイメントを最適化できるAzure Advisor の機能があります。
コスト管理でもアイドル状態にあるリソースや活用されていないリソースを識別することでAzure を最適化し、総合的なAzure の支出を削減する方法を提案する [アドバイザーの推奨事項] が利用できます。
左側のナビゲーションから [アドバイザーの推奨事項] をクリックすると、現在の推奨事項が表示されます。

推奨事項をクリックすると、具体的な提案が表示されます。
このテナントでは仮想マシンの利用状況が安定しているため、予約(リザーブドインスタンス)の利用が推奨されています。

Cost Management を利用するとAzure の費用についての分析や予算管理を行うことができます。
分析の機能でコストの高いリソースを見つけることや、コストが発生するタイミング・周期を確認すること、コストが発生していないリソース(=使われていないリソース)を見つけることができます。
適切な予算とアラートの設定をすることで、管理者はAzure のコストについての状況を把握し、問題がある場合でも早期に確認して対処することができます。
また適切なリソースグループの構成やタグ付けを行っていれば、分析や予算・アラートを利用して組織内の部署・プロジェクトごとの自律的なコスト管理を促すための情報を提供することができます。
従量課金というクラウド(Azure)の特性を理解してコストの最適化を進めるために、Cost Management を活用してください。

Cost Management の利活用や、コスト削減策についてご不明の点やお悩みのことがございましたら、お気軽に当社担当営業までご相談ください。

マルチクラウドの記事