Azure Resource Manager で Azure Automation Runbook をサポート

このポストは、12 月 7 日に投稿された Announcing Azure Resource Manager support in Azure Automation runbooks の翻訳です。

新しい Azure Resource Manager の管理レイヤーを通じてさまざまな機能が Azure に導入されているのに伴い、Azure Automation で Azure Resource Manager のコマンドレットをすぐに使用できるようにしてほしいというご要望が高まってきました (英語)。コマンドレットを使用できれば、簡単に Azure の新機能を自動化できるためです。以前、手動でモジュールをインポート (英語) し、ユーザー自身でブロックを解除して Azure Automation で Azure Resource Manager を使えるようにする方法をご説明しましたが、あまり手軽なやり方ではありませんでした。そして今回ついに、Azure Automation で Azure Resource Manager のコマンドレットを使用できるようになりましたのでお知らせします。

ここでは具体的な例を使ってご説明しましょう。同一の Runbook から、従来の Azure 仮想マシンの操作を自動化する場合 (Azure Service Management を使用) と、新しい V2 仮想マシンの操作を自動化する場合 (Azure Resource Manager を使用) の両方について考えます。Azure Automation によってこの操作が驚くほど簡単になりました。以下の PowerShell スクリプトの Runbook を例として使用します。

 # 目標: Automation アカウントの資格情報アセットの名前を更新する
$AutomationCredentialAssetName = "AzureCreds"

# 資格情報アセットと自身の Azure サブスクリプションへのアクセス許可を取得する
$Cred = Get-AutomationPSCredential -Name $AutomationCredentialAssetName

# Azure Service Management および Azure Resource Manager を認証する
Add-AzureAccount -Credential $Cred | Out-Null
Add-AzureRmAccount -Credential $Cred | Out-Null

# 従来の Azure VM を取得し出力を得る
$VMs = Get-AzureVM
$VMs.Name
"`n--------------`n"

# Azure v2 VM を取得し出力を得る
$VMsv2 = Get-AzureRmVM
$VMsv2.Name

これを Azure サブスクリプションで実行すると次の出力が得られます。各モジュールを手動でインポートする必要はありません。

Azure サブスクリプション内の指定した VM に対して正しい出力が得られました。

 

Azure Service Management のコマンドレットと同様に、Azure Resource Manager のコマンドレットでもユーザー プリンシパルの組織 ID を使用した認証がサポートされています。認証用のコマンドレットは Add-AzureAccount ではなく Add-AzureRmAccount となります。Azure Resource Manager のコマンドレットではサービス プリンシパルによる認証 (英語) もサポートされていますが、Azure Automation では不具合 (英語) によりサポートされていません。

現時点では AzureRM.profile (英語)AzureRM.Compute (英語) の 2 つの PowerShell モジュールのみが Azure Automation ですぐに利用可能なグローバル モジュールとして提供されています。今後数か月以内には、Azure Resource Manager モジュールのサポートの追加が予定されています。現在は Azure V2 仮想マシンの自動管理 (コスト削減のために VM を営業時間外にシャットダウンするなど) が可能です。従来の手順 (英語) に従い、手動で Azure Resource Manager モジュールをインポートすることもできます。

Azure Automation で使用したい Azure Resource Manager のモジュールや機能がありましたら、コメント欄にご投稿ください。今後実装するモジュールの優先順位の決定の参考にさせていただきます。

Azure Automation について詳しく知りたい方は、こちらのページでサービス内容をご確認ください。また、Azure Automation の Twitter アカウントもフォローしてください。