Azure の正しい始め方③ - 課金アカウント (MCA, マイクロソフト顧客契約) と Azure Plan サブスクリプションの管理

# Azure の正しい始め方 ①-④

https://qiita.com/YoshiakiOi/items/90d8162fc9fcfc3b01f1

https://qiita.com/YoshiakiOi/items/a81f0c5c8586aadd1565

https://qiita.com/YoshiakiOi/items/b79634ed50b4edeb2b0f

https://qiita.com/YoshiakiOi/items/5d9e6280b4f3ce6fa319

# 本記事について

本稿は Azure の正しい始め方の第三弾として、**MCA (マイクロソフト顧客契約) の課金アカウント**をどのように管理していくかを見ていきます。

# 課金アカウント (MCA) とサブスクリプション (Azure Plan) ・Microsoft Entra ID との関係性

[前記事](https://qiita.com/YoshiakiOi/items/a81f0c5c8586aadd1565)まででご紹介してきましたが、課金アカウントは必ずひとつの Microsoft Entra ID をプライマリテナントとして利用します。課金アカウントのプライマリテナントと各サブスクリプションの信頼先テナントは必ずしも同じでなくとも良いのですが、管理性やセキュリティ・ガバナンスの観点から同一のほうが好ましいです。

課金アカウントに紐づく形で Azure Plan のサブスクリプションが払い出され、課金アカウントで請求の管理がなされます。

# 課金アカウント (MCA) の管理

マイクロソフト顧客契約 (MCA) の課金アカウントの全体像は以下の図のようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/23c75a1c-efe9-9309-94eb-8a1914d1b2fd.png)

課金アカウントの中には必ず一つ以上の**課金プロファイル**があります。そしてその課金プロファイルの中に１または複数の**請求書セクション**が存在します。そしてサブスクリプションの作成時には、**課金アカウント・課金プロファイル・請求書セクションを指定して、サブスクリプションを構成**します。

## 課金プロファイルと請求書セクション

Azure にサインアップして課金アカウントが作成された際に、ひとつの課金プロファイルが自動で作成され、その中にひとつの請求書セクションが存在しています。そして、最初のサブスクリプションはそれらに紐づく形で生成されます。２つ目以降のサブスクリプションを作成する際も、それらの課金プロファイル・請求書セクションをそのまま利用することができます。ですので、課金プロファイル・請求書セクションともに必ずしもすべてのユーザーが後から追加する必要はありません。

課金プロファイルと請求書セクションの役割については、公式ドキュメントの説明が端的でわかりやすいのでそのまま引用します。

https://learn.microsoft.com/ja-jp/azure/cost-management-billing/manage/mca-section-invoice

### 請求プロファイル

> 課金プロファイルは、請求書および関連する課金情報 (支払い方法、請求先住所など) を表します。 月の初めに、アカウントの各課金プロファイルの月次請求書が生成されます。 請求書には、前月からの Azure の使用とその他の購入に対する料金が含まれています。

請求書の分割や支払い方法を分けたいといった場合に、明示的に複数の請求プロファイルを作成することになるかと思います。

### 請求書セクション

> 請求書セクションは、請求書内のコストのグループを表します。 請求書セクションは、お使いのアカウントの課金プロファイルごとに自動的に作成されます。 必要に応じて、コストを整理するために、追加のセクションを作成できます。 各請求書セクションは、その月に発生した料金と共に請求書に表示されます。

こちらは課金プロファイルごとの請求書内で、さらにセクション分けしたい場合に利用します。

## 請求書払い (銀行振込) への変更について

ウェブサイトで Azure にサインアップした場合、クレジットカードを登録しそのカードを使って支払うことになります。ですが、場合によっては**請求書払い (銀行振込) に変更**することが可能です。こちらはサポート部門へのリクエスト依頼を行っていただき、マイクロソフト社側で与信審査などを行ったうえで変更されることになります。詳細については下記のマイクロソフト社の課金サポートチームからのブログ記事をご覧ください。

https://jpazasms.github.io/blog/AzureSubscriptionManagement/20130626a/

また**この請求書払いへの変更のプロセスは課金アカウント単位**で行われます。後から別の課金アカウントを使いたくなった場合、**その都度請求書払いへの変更プロセスが走る**ことになります。そのため、**これから継続して利用する課金アカウントを明確にしたうえでリクエストを開始する**ことがおすすめです。

## 課金アカウントのアクセス制御 (IAM)

課金アカウントのアクセス制御 (IAM) で重要な点は、**Azure の IAM (Azure Resource Manager の IAM) とも、Microsoft Entra ID のロールとも異なっている**という点です。つまり、課金アカウントは課金アカウントで独立してアクセス権の付与の管理を行っていく必要があります。

この課金アカウントのロールは、課金アカウント、課金プロファイル、請求書セクションを対象として、各ユーザーに割り当てることができます。基本的にはプライマリテナントのユーザーに割り当てが行えるようになっています。（関連付けられた課金テナントの追加を行っている場合はそのテナントのユーザーにも割り当てが行えます。詳細は[こちら](https://learn.microsoft.com/ja-jp/azure/cost-management-billing/manage/manage-billing-across-tenants#understand-tenant-types)をご覧ください。) 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/ad5b4bfd-292e-9088-b354-2cccf292d26e.png)


課金アカウントのロールは多数の組み込みロールが用意されており、それらを利用することができます。また、課金アカウント → 課金プロファイル → 請求書セクションの順に上位から下位に継承されます。

https://learn.microsoft.com/ja-jp/azure/cost-management-billing/manage/understand-mca-roles

課金アカウントのアクセス制御についても、**課金アカウントの所有者ロールは課金アカウントで任意の操作が行えるため、特権IDとして扱うのが望ましい**です。複数かつ最小数のユーザーで操作することになるのが一般的かと思います。

# Azure Cost Management を利用したコスト管理

Azure では、Cost Management を利用して課金アカウントやサブスクリプションのコスト管理を行うことができます。サブスクリプションやリソースグループごとに課金を表示したり、リソース単位で費用を確認したり、あらかじめ設定した予算を超えそうな場合にアラートを発行したりすることができます。

https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/overview-cost-management

特に最初に確認しておきたいのは、以下の３つです。

## ① 予算アラートの設定

あらかじめクラウドの利用予算が決まっている場合は、予算アラートを設定しておきましょう。下記のチュートリアルの手順で設定が可能です。

https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/tutorial-acm-create-budgets

## ② 異常アラートの設定

Cost Management のダッシュボードで常日頃からクラウドのコストを把握しておくのが理想ですが、異常検知については Cost Management のアラート機能を活用することができます。想定外のコスト増に気づくチャンスを増やすために異常アラートも設定しておくことがおすすめです。

https://learn.microsoft.com/ja-jp/azure/cost-management-billing/understand/analyze-unexpected-charges

## ③ Advisor Recommendation (アドバイザーの推奨事項) の確認

Azure を使い始めると、Cost Management の中にある Advisor Recommendation (アドバイザーの推奨事項) にて、コスト最適化のおすすめ事項が出てくるようになります。こちらをチェックすることで、たとえば予約インスタンスや節約プランを利用することでどれくらいコストを圧縮させられるかを確認することができます。

https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/tutorial-acm-opt-recommendations


# Azure Plan について (サブスクリプション)

第一弾の記事でもご紹介しましたが、MCA の課金アカウントから生成されるサブスクリプションは **Azure Plan** という課金形態になっています。Azure Plan のサブスクリプションは各月の為替レートが前月末に決定され、円ベースだと毎月変動する課金体系になっています。このあたりの価格の決定の仕組みについては下記 FAQ に明記されています。

https://azure.microsoft.com/ja-jp/pricing/faq

自身のサブスクリプションが Azure Plan のものかどうかは、Azure Portal のサブスクリプションのページから確認ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276225/52684bda-d09b-1b81-a3ef-357129349b24.png)

複数の Azure サブスクリプションの管理グループを用いた管理や、Azure サブスクリプション内のリソース管理については、[次稿](https://qiita.com/YoshiakiOi/items/5d9e6280b4f3ce6fa319)にてご紹介します。

## (補足) 別の契約種別について

Azure を利用する場合、Azure Plan 以外にも別の契約種別で別の請求体系でサブスクリプションを利用することができます。第一弾でも触れましたが、大規模なビジネス利用の場合、EA (EA/ESA/SCE) 契約や CSP 契約で利用いただくほうが適している場合も少なくありません。

本番環境を別契約種別に後から移管・移動させるのはハードルが高いため、最初に利用する際かもしくは開発・検証から本番に移行される際に、最適な契約種別の選定をすることが推奨です。

# 最後に

[次記事](https://qiita.com/YoshiakiOi/items/5d9e6280b4f3ce6fa319)では、管理グループを使用した複数の Azure サブスクリプションの管理や、リソースグループによる Azure サブスクリプション内のリソース管理についてご紹介します。

＊本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。