Azureリソースマネージャーコマンドに慣れておく

概要

今回はAzureのデプロイメントモデルがリソース マネージャーである場合のPowerShellコマンドレットを使用してみたいと思います。PowerShellからAzureのリソースを扱うことでAzure ポータル上からでは確認しにくいオブジェクトやプロパティを知っておくだけでもこの先Azureを扱う上で理解が深まるかもしれません。また、PowerShellでインフラツールを実装する上でも役立ってくれると思います。

ミッション

今回のミッションは PowerShellから Azureのリソースマネージャーを操作して、仮想マシンを探し、IPアドレスを調べ、RDPで接続しADFSサービスの起動 とします。
仮に今私が分かっている情報は仮想マシン名に含まれる文字列(キーワード)とします。このキーワードから、仮想マシンを探し、仮想マシンに紐付いている、ネットワークIF、パブリックIP、ネットワークセキュリティグループを調べてRDPで接続します。

今回私のクライアント環境
– Windows 8.1
– Powershell 4.0

ログイン

予めAzureRM モジュールをインストールしておきます。
AzureRM モジュールをインストール

Login-AzureRmAccoount でAzureへログインします。

screenshot.1489119887

仮想マシンを探す

Get-AzureRmVM をオプション無しで実行するとサブスクリプション内全ての仮想マシンが出力されますので、キーワードで絞込んでいます。

screenshot.1489120268

selectSelect-Object のエイリアスです。ここでは Name 項目に絞込んでいます。
slsSelect-String のエイリアスです。ここでは更に Nameadfs 文字列を含むものに絞込んでいます。
これで仮想マシン名(リソース名)が特定できました。

仮想マシンの詳細を確認する

仮想マシン名が分かったので、Get-AzureRmVM で仮想マシン情報を確認したいのですが、リソースグループ名が必要になるので先にリソースグループ名を特定します。リソースグループを特定するには Get-AzureRmResource でリソース情報を確認します。特定した仮想マシン名を元にリソースを検索します。

Find-AzureRmResource -name "リソース名" でAzure全体のリソースから検索します。

screenshot.1489120574

仮想マシンリソース意外にネットワークIFなど、キーワードを含むリソース全てが表示されていますので、先程の実行結果からリソースタイプが仮想マシンであるもので絞込みます。
Find-AzureRmResource -name "リソース名" -resourcetype Microsft.Compute/virtualMachines

screenshot.1489128941

これで仮想マシン名と、属するリソースグループ名が判明したので、仮想マシンの詳細情報を取得します。
Get-AzureRmVM -ResourceGroupName "リソースグループ名" -Name "仮想マシン名"

screenshot.1489128974

次にネットワーク情報を確認したいので出力された NetworkProfile の Id を確認しておきます。

ネットワーク周りを確認する

先程の仮想マシンの詳細情報からネットワークインターフェイスのResourceIdが確認できました。このResourceIdを仕様して、リソース名と属するリソースグループ名を求めます。(仮想マシンと同じリソースグループに存在することは分かっていますが、確認の為この手順を踏んでいます。)

screenshot.1489129291

リソース名と属するリソースグループ名がわかりましたので、ネットワークIFの詳細情報を確認します。

Get-AzureRmNetworkInterface -ResourceGroupName "リソースグループ名" -Name "ネットワークIF名"

screenshot.1489129493

確認すると、IpConfigurations からパブリック IP アドレスリソースが紐付いているのがわかります。そしてそのリソースIDも分かります。
あとは仮想マシンやネットワークIFを同じ要領で、リソースグループ名を調べます。

screenshot.1489129594

こちらは Get-AzureRmなんちゃら ( Get-AzureRmPublicIpAddress ) で確認しなくてもIPアドレスがわかりました。
では接続用IPアドレスが判明したので、ネットワークセキュリティグループを確認します。

もう一度 Get-AzureRmNetworkInterface でネットワークIFを確認するとネットワークセキュリティグループが関連付けされているのが確認できます。

screenshot.1489141450

ではリソースの詳細を確認するために属するリソースグループ名を求めるところですが、実はリソースIDから確認できますので早速セキュリティルールを確認してしまいます。

screenshot.1489129810

RDPのプロトコルである、3389ポートが特定のIPアドレスのみ(32bitマスク)許可されていますので、RDPで接続できそうです。

仮想マシンに接続する

先程調べたパブリックIPアドレスでRDP接続し、ADFSサービスを起動します。

screenshot.1489142507

はい、ADFSどーん。

screenshot.1489142734

まとめ

今回はPowerShellからAzureリソースマネージャーのコマンドレットを使用してみましが、そのコマンドのほとんどがリソース名になっているもので予測することが可能で、またTab補完が使えます。勿論 get-help コマンド名 でオプションを確認したり、類似コマンドも調べられるので大概なんとかなりそうではあります。またコマンドベースで軽快に操作ができるのはAzure ポータルにはない利点かもしれません。

Be the first to comment

コメント投稿

Your email address will not be published.


*