LoginSignup
6
0

More than 3 years have passed since last update.

Azureの検証環境コストを削減したい #3 Azureポリシーを利用してリソースを制限する

Last updated at Posted at 2020-12-29

1.はじめに

肌寒さが身にしみる近頃ですが、皆様におかれましてはいかがお過ごしでしょうか。
肌寒くなると、どうしても足が冷えるので、作業中はひざ掛けが欲しくなりますね。

さて、だいぶAzureの検証環境コストを削減したい♯2から時間がたってしまいましたが、続きの記事です。

今回は、「アラートは設定したけど実際アラートが鳴ったらどうしたらいい?」という記事です。

2.一言でいうと

  • アラートが鳴ったら迅速に行動しよう
  • まずはコスト管理を確認しよう
  • ポリシーを作って適用しよう

3.「あっ!アラートがなってる!」と気が付いたら

まず何はともあれ「コスト管理」を確認しましょう。
コスト管理 > コスト分析をひらきます。
すると、どのサブスクリプション・リソースグループで、何のリソースにコストがかかっているのか確認できます。

リソースグループとリソースから、誰のどのリソースがどの程度コストがかかっているのか、見当が付くはずです。
あとはそれが削除・停止してもよいリソースなのか、当事者に判断してもらいましょう。

image.png

どうやら私の場合、ApplicationGatewayに対して、多くのコストが発生しているみたいです
これはいけませんね!

見直した結果、テスト用ApplicationGatewayのプランがWAFV2となっており、例のようにコストがかかっていることがわかりました。
詳しくはAzureの検証環境コストを削減したい#1(Load Balancer/Application Gateway)を参照(隙あらば自分の記事上げ)。

4.言ってわからない人には

言ってやってくれる相手なら、楽なものです。
困ったことに、世の中には言ってもやってくれない人が山のようにいるのです…。
そんな人にはどうしたらいいでしょう?

Azureポリシーでそもそも高額なプランを利用できなくしちゃえばいいのです!

5. Applicaitongateway用Azureポリシーをデプロイする

Azure ポリシーは、自分で作成することもできますし、Azureのサンプルを利用することや、コミュニティが作成したポリシーを利用することもできます。
ApplicaitonGatewayのSKUをV1に固定するポリシーは、Azureのサンプルリポジトリにありますので、それを利用します。

Allowed Application Gateway SKUs

image.png

Azureにサインインした状態で、「Deploy to Azure」を選択しましょう。

image.png

すると、自分のAzure環境へポリシーを持ってくることができます。

image.png
  • 定義の場所…デプロイしたいサブスクリプションを選択します。
  • カテゴリ…作成するポリシーを分かりやすいカテゴリに配置します。ここでは「ApplicaitonGateway」としました。

そして下にある「作成」を選択すると…

image.png

はい、できました!簡単ですね。

6. ポリシーを割り当てる

ポリシーを作成しただけでは意味がありません。作成したポリシーを割り当てしましょう。

まず、Azureポータルから「ポリシー」を開いて、作成メニューの「割り当て」を選択します。

image.png

「ポリシーの割り当て」を選択します。

image.png

ポリシーの割り当て画面が開くので、各設定値を入れます。

image.png
  • スコープ…ポリシーを適用したい範囲です。今回は「test-applicationgateway」のリソースグループにのみ適用することとしました。
  • 除外…スコープの範囲内で除外したいリソースがあれば選択します。
image.png
  • ポリシー定義…さきほど作成した「Allowed Application Gateway SKUs」を選択します。 あとの項目はデフォルトで、「次へ」を選択します。

「パラメーター」設定画面で、次のように設定します。

image.png
  • AllowedSKUs…ApplicationGatewayで許可するSKUを直接エディターに記載します。ここでは、最も小さなサイズだけ許可するとして、[Standard_Small]としました。

「確認および作成」を選択します。

すると…

image.png

はい、成功しました。これで「test_applicatongateway」で「Stanard_Small」以外でリソースを作成しようとすると、リソースの作成に失敗します。

試しにStandard_V2でApplicatonGatewayを作成しようとすると…

image.png

はい、この通り。リソースの作成に失敗します。

image.png

詳細からは、しっかり作成したAzureポリシーによりブロックされていることがわかります。

ちなみに、Azureポリシーはすでに作成済みのリソースに対しては制限を行うことはできません
区切りの良いタイミングで設定しましょう。

7.終わりに

今回は高額なプランでリソースを作成できないように、Azureポリシーで作成できるリソースのSKUを制限する方法でした。
例はApplicationGatewayでしたが、同じように仮想マシン等SKUでも設定できますので、大変大きなサイズで間違って仮想マシンを作成してしまった…とかで困ることがなくなります。

Azureポリシーはこのほかにもいろいろなことに利用することができますので、ぜひご利用を考えてみてください!
それでは!

参考

公式テンプレートレポジトリ
Azure Policy Samples
Allowed Application Gateway SKUs

コミュニティテンプレートレポジトリ
Community Policy Repo

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0