#1.はじめに
肌寒さが身にしみる近頃ですが、皆様におかれましてはいかがお過ごしでしょうか。
肌寒くなると、どうしても足が冷えるので、作業中はひざ掛けが欲しくなりますね。
さて、だいぶAzureの検証環境コストを削減したい♯2から時間がたってしまいましたが、続きの記事です。
今回は、「アラートは設定したけど実際アラートが鳴ったらどうしたらいい?」という記事です。
#2.一言でいうと
- アラートが鳴ったら迅速に行動しよう
- まずはコスト管理を確認しよう
- ポリシーを作って適用しよう
#3.「あっ!アラートがなってる!」と気が付いたら
まず何はともあれ__「コスト管理」を確認しましょう。__
コスト管理 > コスト分析をひらきます。
すると、どのサブスクリプション・リソースグループで、何のリソースにコストがかかっているのか確認できます。
リソースグループとリソースから、誰のどのリソースがどの程度コストがかかっているのか、見当が付くはずです。
あとはそれが削除・停止してもよいリソースなのか、当事者に判断してもらいましょう。
どうやら私の場合、ApplicationGatewayに対して、多くのコストが発生しているみたいです。 |
これはいけませんね! |
見直した結果、テスト用ApplicationGatewayのプランがWAFV2となっており、例のようにコストがかかっていることがわかりました。
詳しくはAzureの検証環境コストを削減したい#1(Load Balancer/Application Gateway)を参照(隙あらば自分の記事上げ)。
#4.言ってわからない人には
言ってやってくれる相手なら、楽なものです。
困ったことに、世の中には言ってもやってくれない人が山のようにいるのです…。
そんな人にはどうしたらいいでしょう?
Azureポリシーでそもそも高額なプランを利用できなくしちゃえばいいのです!
#5. Applicaitongateway用Azureポリシーをデプロイする
Azure ポリシーは、自分で作成することもできますし、Azureのサンプルを利用することや、コミュニティが作成したポリシーを利用することもできます。
ApplicaitonGatewayのSKUをV1に固定するポリシーは、Azureのサンプルリポジトリにありますので、それを利用します。
Allowed Application Gateway SKUs
Azureにサインインした状態で、「Deploy to Azure」を選択しましょう。
すると、自分のAzure環境へポリシーを持ってくることができます。
- 定義の場所…デプロイしたいサブスクリプションを選択します。
- カテゴリ…作成するポリシーを分かりやすいカテゴリに配置します。ここでは「ApplicaitonGateway」としました。
そして下にある「作成」を選択すると…
はい、できました!簡単ですね。
#6. ポリシーを割り当てる
ポリシーを作成しただけでは意味がありません。作成したポリシーを割り当てしましょう。
まず、Azureポータルから__「ポリシー」を開いて、作成メニューの「割り当て」__を選択します。
__「ポリシーの割り当て」__を選択します。
ポリシーの割り当て画面が開くので、各設定値を入れます。
- スコープ…ポリシーを適用したい範囲です。今回は「test-applicationgateway」のリソースグループにのみ適用することとしました。
- 除外…スコープの範囲内で除外したいリソースがあれば選択します。
- ポリシー定義…さきほど作成した「Allowed Application Gateway SKUs」を選択します。
あとの項目はデフォルトで、__「次へ」__を選択します。
__「パラメーター」__設定画面で、次のように設定します。
- AllowedSKUs…ApplicationGatewayで許可するSKUを直接エディターに記載します。ここでは、最も小さなサイズだけ許可するとして、__[Standard_Small]__としました。
__「確認および作成」__を選択します。
すると…
はい、成功しました。これで「test_applicatongateway」で「Stanard_Small」以外でリソースを作成しようとすると、リソースの作成に失敗します。
試しにStandard_V2でApplicatonGatewayを作成しようとすると…
はい、この通り。リソースの作成に失敗します。
詳細からは、しっかり__作成したAzureポリシーによりブロックされていること__がわかります。
ちなみに、Azureポリシーは__すでに作成済みのリソースに対しては制限を行うことはできません__。
区切りの良いタイミングで設定しましょう。
7.終わりに
今回は高額なプランでリソースを作成できないように、Azureポリシーで作成できるリソースのSKUを制限する方法でした。
例はApplicationGatewayでしたが、同じように__仮想マシン等SKUでも設定できますので、大変大きなサイズで間違って仮想マシンを作成してしまった…とかで困ることがなくなります。__
Azureポリシーはこのほかにもいろいろなことに利用することができますので、ぜひご利用を考えてみてください!
それでは!
参考
公式テンプレートレポジトリ
Azure Policy Samples
Allowed Application Gateway SKUs
コミュニティテンプレートレポジトリ
Community Policy Repo