Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@sat0tabe

AzureのRM版仮想マシンにPowershell接続をする

More than 1 year has passed since last update.

はじめに

Azureの仮想マシンにPowershellDSCを使用しています。
もともとはVnet、VMともにクラシック版を使用していました。
今回は新たにノードサーバー側のみリソースマネージャー版で再構築することになりました。
構築したのは

  • クラシック仮想ネットワークにDSCサーバーを配置(既存資産)
  • クラシック仮想ネットワークにピアリングしたリソースマネージャー仮想ネットワークを構築(新規)
  • リソースマネージャー仮想ネットワークにノードサーバーを配置(新規)

でした。

しかし、WINRMの接続がなかなかうまくいきませんでした。
結果的に使用するポートがクラシックのものと違っており、使用するポートをFW、NSGともに空けていなかったからでした。
次回のために、記録として残しておこうと思います。

Azureクラシック仮想マシンにPowershell接続

クラシック版Azure仮想マシンでは作成すると最初から5986ポート(WINRM)がFWで許可されています。
またエンドポイントでも5986ポートは許可されています。
なので、仮想マシン作成後、下記コマンドを実行して完了です。


Enable-PSRemoting -Force
Set-Item wsman:\localhost\Client\TrustedHosts -Value * -Force
Set-ExecutionPolicy RemoteSigned

これでリモート接続が信頼されたので

$secPassword = ConvertTo-SecureString $Password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($UserName,$secPassword)
$cimSessionOption = New-PSSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$cimSession = New-CimSession -SessionOption $cimSessionOption -ComputerName $ComputerName -Credential $credential

を実行すると接続できるはずです。

Azureリソースマネージャー仮想マシンにPowershell接続

リソースマネージャー版では5986ポートではなく5985ポートがサーバーのFWで許可されています。
注意)私の環境ではVnetのピアリングをしているため、subnetが異なっているので別途5985ポートをFWで許可しています。
クラシックで言うエンドポイントであるNSGでは5985ポートは許可されていないので、5985ポートの許可を行ってください。
5985ポートを許可した後はクラシックとほぼ同じです。

まずはリモート接続の許可

Enable-PSRemoting -Force
Set-Item wsman:\localhost\Client\TrustedHosts -Value * -Force
Set-ExecutionPolicy RemoteSigned

そして、実際に接続してみます。

$secPassword = ConvertTo-SecureString $Password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($UserName,$secPassword)
$cimSession = New-CimSession -ComputerName $ComputerName -Credential $credential

これで接続ができると思います。
ここで注意なのですが、 New-CimSession でクラシックではUseSSLを使用していましたが、ポートが変わるのでUseSSLは使用しません。
さらにSession-optionも使用する必要がなくなりました。

おわり

リソースマネージャー版では初期設定ではpingが許可されていなかったため、Vnetの接続をずっと疑っていたのですが、なんてことはないポートが違っただけというトラップにかなりハマってしまいました。みなさんも気をつけましょう!

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
sat0tabe
フルスタックエンジニア/ソリューションアーキテクト C#/Azure/ReactNative/SQLServer/Oracle/Java/Windows/VB/Powershell

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?