Azure Resource ManagerをいまからやっておけばAzure Stack対応もバッチリ!…ということでAzure Resource Mangerのお勉強を始めています。さらにはInfrastructure as Codeの実現に向けてDesire State Configurationのお勉強も。外側はARMで、VMの中はDCSで…という感じですね。

まず手始めに何から手をつけると良いかな…と探した所、以下のブログが非常にいい感じだったのでここから手をつけてみました。

- [18 Steps for End-to-End IaaS Provisioning in the Cloud with Azure Resource Manager (ARM), PowerShell and Desired State Configuration (DSC) - KeithMayer.com - Site Home - TechNet Blogs](http://blogs.technet.com/b/keithmayer/archive/2015/07/07/18-steps-for-end-to-end-iaas-provisioning-in-the-cloud-with-azure-resource-manager-arm-powershell-and-desired-state-configuration-dsc.aspx)

コードで紹介されているので、基本的にそれをコピペすれば動くのですが、せっかくなので全部写経しつつコメント出力を追加したり、いちいち色んな物を選択したり、手動でクレデンシャルを入力したりするのが面倒なのでそこも自動化したり…と、改造しながら楽しんでみました。まだ、DSCでIISを構成するところまで行ってないのですが以下の動作を行わせる所までは全部理解して書いて正常動作を確認するところまでできました。

- クレデンシャル生成
- Azureアカウント追加
- ARMプロバイダ登録
- サブスクリプション選択
- リソースグループ作成
- ストレージアカウント作成
- 仮想ネットワーク作成
- VIPリソース作成
- ロードバランサ作成
- ネットワークセキュリティグループ作成
- NIC作成
- 可用性セット作成
- VM作成

https://gist.github.com/ebibibi/9a0a6830b54f0d3a7400

 

Azure Resource Managerってテンプレートを元にjsonファイルをドカンと投げるスタイルしか無いのかと思ってましたが、こういう形式で各種APIをキックする方法もあるのですね。

次はDSCで仮想マシンを構成するところに手を出してみようと思います。