Azure Resource Managerでリソース管理しよう その1

クラウドに限った話ではないのですが、この仮想マシン誰の仮想マシン?、そんな経験ってありませんか?
当然ですが、無駄なリソースであれば削除するなり、停止させたりしたいですよね?
そういう管理ニーズに応えてくれたり、デプロイメントをとても便利にするAzure Resource Managerについて、数回に分けて書いていきます。
今回はクラウドのリソース管理という視点からAzure Resource Managerのお話です。


Azureを管理する二つのAPIバックエンド

リソースを管理する上で、すこしばかり以前の話をしましょう。
Azureでは、2016年1月現在で二つの管理APIが提供されています。

  • Azure Service Manager (従来のクラシックポータルのWeb APIバックエンド)
  • Azure Resource Manager(現在のポータルのWeb APIバックエンド)

これらのWeb APIに仮想マシン作って!ってコールするとAzure仮想マシンなどのリソースが作られるという仕組みです。

1-1

上のスクリーンショットは、AzureポータルでUbuntu Server 14.04 LTSを起動する時の様子です。
このスクリーンショットにある、デプロイ モデルの選択という項目を見かけたことありませんか?

デプロイモデルの選択はリソースマネージャクラシックと二つの選択肢から選ぶことができます。
ここでいうクラシックはAzure Service Manager であり、リソースマネージャがAzure Resource Managerというわけです。

1-2

上の絵は、Azure Service Manager時代のリソース管理についてのイメージ図です。
この頃は、それぞれの機能単位にグループがあり、その中にリソースを作成して、機能を連携させていました。


Azure Service Managerのシナリオから、Azure Resource Managerの良さを考える

ここでは、Azure Service Manager時代でのシナリオを例に挙げてみます。

1-3

アプリケーションを開発している企業、コントソ情報システムで情報システム部門に所属するヨシダさんは、社員が使っているクラウドの利用把握と課金状況確認などを担当しています。

  • Webアプリケーションを開発している、チームAのマカベさんからAzureを使いたいと依頼が来ましたので、ポータルの管理者の共同管理者にしました
  • 社内向けのWebアプリを開発している、チームBのドイさんからAzureを使いたいと依頼が来ましたので、ポータルの管理者の共同管理者にしました

さて、その後しばらくしてそれぞれのチームのアプリが無事リリースされました。
しかし、その1年後に残念ながらチームAのWebアプリケーションはサービスを終了する事となりました、ヨシダさんは久々にクラシックポータルへログインして、不要となるチームAのリソースの削除を行うことになりました。1-4
1-5

上のスクリーンショットは、そのポータルにログインした時の様子です。

  • アプリAがサービスを提供しているリソースはどれ?(Webアプリは?、ストレージアカウントは?、仮想マシンは?その依存性は)
  • 絶対に削除してはいけないアプリBのリソースはどれ?

冒頭にも触れましたが、まさにこのリソース誰の?という事になるわけです。
名前の部分は個人のアカウントなので隠していますが、名前で管理すればいいじゃない?って思う方も多いと思います。
ここで最もわかりやすい方法は、その通りでマスクしちゃっていますが名前で管理する方法です。

では、一部マスクをとって名前をお見せします。これは仮想マシンを作成する際に、自動的に作成されたストレージアカウントの名前です。

1-6

如何でしょうか?もちろん仮想マシンのマウントしているディスクを追いかければ、どのストレージを使っているのか?という情報に、たどり着くことができます。
今回は、ASMまでの管理についてでしたが、次回からはARMを使い、どのように解決するのか?について触れていきます。