AZ-900

【AZ-900】Azure Policyとは?具体例を交えてわかりやすく解説!

【AZ-900】Azure Policyとは?具体例を交えてわかりやすく解説!

どうも、フリーランスエンジニアのMakotoです。

今回は、Azure Policyについて解説します。「Policy」というワードからもわかるようにルールを定義してAzureリソースを適正に運用するための重要なサービスです。

実際の設定画面もハンズオン形式でご紹介します。画面を見ながら学習するとイメージがわきやすいと思いますので、ぜひ、最後までお読みください。

それではいってみましょう!

Azure Policyとは?

Azure Policyは、Azureリソースを組織のルールに沿った状態に保つための仕組みです。次の2つの役割があります。

  • ルールに沿ったリソースの作成を強制
  • ルール違反のリソースがあればお知らせ(監査)

例えば、「日本のリージョンにのみリソースの作成を許可する」とか「仮想マシンの作成を特定のサイズに限定する」といったことが可能です。

Azure Poicyを適用することにより、組織の望むあるべき姿でシステムが運用されている状態を保つことができます。こういった状態を「ガバナンスが効いている」と言ったりもします。

ガバナンス(governance)は直訳すると「統治」や「支配」を表す言葉です。セットで覚えておくと良いでしょう。

Azure Policyの仕組み

Azure Policyでは大きく次の3つの用語が登場します。

  • ポリシー定義
  • イニシアチブ定義
  • 割り当て

一つ一つのルールのことを「ポリシー定義」と呼び、複数のポリシー定義をひとまとめにしたものを「イニシアチブ定義」と呼びます。

ポリシー定義とイニシアチブ定義の違いはAZ-900試験で問われやすいポイントです。単品かセットか、みたいな。

そして、ポリシー定義やイニシアチブ定義は、管理グループ、サブスクリプション、リソースグループといったスコープに割り当てることができます。

親スコープに対して割り当てるポリシーは子スコープに継承されます。

Azureリソースの階層構造についてはこちらの記事で詳しく解説しています。

【AZ-900】管理グループ、サブスクリプション、リソースグループとは?Azureリソースの階層構造を解説!
【AZ-900】管理グループ、サブスクリプション、リソースグループとは?Azureリソースの階層構造を解説!どうも、フリーランスエンジニアのMakotoです。 今回は、Azureリソースの階層構造を表す用語について解説します。 ...

Azure Policyの仕組みを図で表すとこんな感じ。

AzurePolicyの仕組み

ポリシー定義
一つ一つのルールのこと

イニシアチブ定義
複数のポリシー定義をひとまとめにしたもの

親スコープのポリシーは子スコープに継承される

Azureポータルから設定してみた

Azureポータルでは「ポリシー」というサービス名で表示されます。ポリシーの「定義」を開くと初めから用意されている組み込み定義が一覧表示されます。

ここではリソースのリージョンを制限するための「許可されている場所」のポリシー定義を選択します。

ポリシー(定義)ポリシー定義を開くと実態はJSON形式で記述されたルールであることがわかります。ポリシー定義のサンプルはGitHubで公開されており、自分でカスタム定義を作成する場合に参考になります。

「割り当て」を押して進めます。

ポリシー定義の割り当て基本タブではスコープを選択します。ここではサブスクリプションを選択して進めます。

ポリシーの割り当て(基本)

続いてパラメータータブです。許可されている場所として東日本リージョンと西日本リージョンを選択します。他のタブは必須ではないのでこれで作成します。

ポリシーの割り当て(パラメータ)

割り当て済みの定義は「割り当て」のメニューから確認できます。

ポリシー(割り当て)

試しに日本以外のリージョンに仮想マシンを作成しようとすると「リソースの要件を満たしていません」と怒られました。Azure Policyがきちんと作用していることがわかります。

ポリシー定義で許可されていない場所には作成できない

ちなみに、仮想マシンのサイズを限定した場合は許可したサイズ以外はグレーアウトして選択できません。選択後にエラーが出るよりわかりやすいですね。

ポリシー定義で許可されていないサイズは選択できない

なお、Azure Policyのルールが守られているかどうか(準拠状況)は「概要」や「コンプライアンス」のメニューから確認できます。

ポリシー(概要) 先ほど割り当てた「許可されている場所」のポリシー定義を開いてみると、日本以外のリージョンに存在しているリソースが「準拠していない」として表示されていることがわかります。

ポリシーへの準拠を確認

Azure Policyの注意点

AZ-900試験で問われそうな注意点をお伝えします。

これから作成を禁止するリソースがすでにある状態でAzure Policyを適用した場合、既存リソースが勝手に削除されたり変更されることはありません。

先の画面の例のように、違反の有無が表示されるだけです。

ただし、一部のポリシー定義では準拠していないリソースを「修復」する機能をサポートしています。が、ここまで問われる可能性は低いと思います。

Azure Policyは、Azureを使い始める時に組織のルールを確認した上で最初に設定しておくのが良いということですね。

まとめ

今回はAzure Policyについて実際の設定画面を交えながらご紹介しました。

Azure Policyは、ルールに沿ったリソースの作成を強制し、ルール違反のリソースがあれば「準拠していない」リソースとして警告してくれる仕組みを備えています。

組織の適切なガバナンスを実現するための代表的なサービスとしてしっかり仕組みをおさえておきましょう。

 

Azure入門コースを見る