この記事では、複数の Azure VM の管理に使用するために、Azure VM に Windows Admin Center を手動でデプロイする方法について説明します。 単一の VM を管理するには、「Azure portal で Windows Admin Center を使用する」の説明に従って、Azure portal に組み込まれている Windows Admin Center 機能を使用します。
スクリプトを使用してデプロイする
Azure Cloud Shell から実行する Deploy-WACAzVM.ps1 をダウンロードして、Azure で Windows Admin Center ゲートウェイを設定できます。 このスクリプトでは、リソース グループを含む環境全体を作成できます。
前提条件
- Azure Cloud Shell でアカウントを設定します。 Cloud Shell を初めて使用する場合は、Cloud Shell に Azure ストレージ アカウントを関連付けるか作成するように求められます。
-
PowerShell Cloud Shell で、ホーム ディレクトリに移動します。
PS Azure:\> cd ~
-
Deploy-WACAzVM.ps1
ファイルをアップロードするには、ローカル コンピューターから Cloud Shell ウィンドウの任意の場所にドラッグ アンド ドロップします。
独自の証明書を指定する場合:
- 証明書を Azure Key Vault にアップロードします。 まず、Azure portal でキー コンテナーを作成し、次に証明書をキー コンテナーにアップロードします。 または、Azure portal を使用して証明書を生成することもできます。
スクリプト パラメーター
ResourceGroupName - [文字列] VM を作成するリソース グループの名前を指定します。
名前 - [文字列] VM の名前を指定します。
資格情報 - [PSCredential] VM の資格情報を指定します。
MsiPath - [文字列] 既存の VM に Windows Admin Center を展開するときの Windows Admin Center MSI のローカル パスを指定します。 省略した場合、既定値は https://aka.ms/WACDownload のバージョンです。
VaultName - [文字列] 証明書を含むキー コンテナーの名前を指定します。
CertName - [文字列] MSI のインストールに使用する証明書の名前を指定します。
GenerateSslCert - [スイッチ] MSI が自己署名 SSL 証明書を生成する必要がある場合は True。
PortNumber - [int] Windows Admin Center サービスの ssl ポート番号を指定します。 省略した場合、既定値は 443 になります。
OpenPorts - [int[]] VM の開いているポートを指定します。
場所 - [文字列] VM の場所を指定します。
サイズ - [文字列] VM のサイズを指定します。 省略した場合、既定値は "Standard_DS1_v2" になります。
Image - [String] VM のイメージを指定します。 省略した場合、既定値は "Win2016Datacenter" になります。
VirtualNetworkName - [文字列] VM の仮想ネットワークの名前を指定します。
SubnetName - [String] VM のサブネットの名前を指定します。
SecurityGroupName - [文字列] VM のセキュリティ グループの名前を指定します。
PublicIpAddressName - [String] VM のパブリック IP アドレスの名前を指定します。
InstallWACOnly - [スイッチ] 既存の Azure VM に WAC をインストールする必要がある場合は True に設定します。
MSI を展開するための 2 つの異なるオプションと、MSI のインストールに使用される証明書があります。 MSI は、aka.ms/WACDownload からダウンロードすることも、既存の VM にデプロイする場合は、VM 上の MSI のファイルパスをローカルに指定することもできます。 証明書は、Azure Key Vault で見つかるか、MSI によって自己署名証明書が生成されます。
スクリプトの例
まず、スクリプトのパラメーターに必要な共通変数を定義します。
$ResourceGroupName = "wac-rg1"
$VirtualNetworkName = "wac-vnet"
$SecurityGroupName = "wac-nsg"
$SubnetName = "wac-subnet"
$VaultName = "wac-key-vault"
$CertName = "wac-cert"
$Location = "westus"
$PublicIpAddressName = "wac-public-ip"
$Size = "Standard_D4s_v3"
$Image = "Win2016Datacenter"
$Credential = Get-Credential
例 1: スクリプトを使用して、新しい仮想ネットワークとリソース グループ内の新しい VM に WAC ゲートウェイをデプロイします。 aka.ms/WACDownload の MSI と MSI の自己署名証明書を使用します。
$scriptParams = @{
ResourceGroupName = $ResourceGroupName
Name = "wac-vm1"
Credential = $Credential
VirtualNetworkName = $VirtualNetworkName
SubnetName = $SubnetName
GenerateSslCert = $true
}
./Deploy-WACAzVM.ps1 @scriptParams
例 2: #1 と同じですが、Azure Key Vault の証明書を使用します。
$scriptParams = @{
ResourceGroupName = $ResourceGroupName
Name = "wac-vm2"
Credential = $Credential
VirtualNetworkName = $VirtualNetworkName
SubnetName = $SubnetName
VaultName = $VaultName
CertName = $CertName
}
./Deploy-WACAzVM.ps1 @scriptParams
例 3: 既存の VM でローカル MSI を使用して WAC をデプロイする。
$MsiPath = "C:\Users\<username>\Downloads\WindowsAdminCenter<version>.msi"
$scriptParams = @{
ResourceGroupName = $ResourceGroupName
Name = "wac-vm3"
Credential = $Credential
MsiPath = $MsiPath
InstallWACOnly = $true
GenerateSslCert = $true
}
./Deploy-WACAzVM.ps1 @scriptParams
Windows Admin Center ゲートウェイを実行している VM の要件
ポート 443 (HTTPS) が開いている必要があります。 スクリプトに定義されているのと同じ変数を使用して、Azure Cloud Shell で次のコードを使用して、ネットワーク セキュリティ グループを更新できます。
$nsg = Get-AzNetworkSecurityGroup -Name $SecurityGroupName -ResourceGroupName $ResourceGroupName
$newNSG = Add-AzNetworkSecurityRuleConfig -NetworkSecurityGroup $nsg -Name ssl-rule -Description "Allow SSL" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 443
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $newNSG
マネージド Azure VM の要件
ポート 5985 (HTTP 経由の WinRM) が開いていて、アクティブなリスナーを持っている必要があります。
Azure Cloud Shell で次のコードを使用して、マネージド ノードを更新できます。
$ResourceGroupName
デプロイ スクリプトと同じ変数を使用 $Name
が、管理している VM に固有の $Credential
を使用する必要があります。
Enable-AzVMPSRemoting -ResourceGroupName $ResourceGroupName -Name $Name
Invoke-AzVMCommand -ResourceGroupName $ResourceGroupName -Name $Name -ScriptBlock {Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -RemoteAddress Any} -Credential $Credential
Invoke-AzVMCommand -ResourceGroupName $ResourceGroupName -Name $Name -ScriptBlock {winrm create winrm/config/Listener?Address=*+Transport=HTTP} -Credential $Credential
既存の Azure 仮想マシンに手動でデプロイする
目的のゲートウェイ VM に Windows Admin Center をインストールする前に、HTTPS 通信に使用する SSL 証明書をインストールするか、Windows Admin Center によって生成された自己署名証明書を使用することを選択できます。 ただし、後者のオプションを選択すると、ブラウザーから接続しようとすると警告が表示されます。 Edge でこの警告をバイパスするには、[詳細] > [Web ページに移動] をクリックするか、[詳細設定] > [Web ページ] に進む] を選択します。 テスト環境には自己署名証明書のみを使用することをお勧めします。
注
これらの手順は、Server Core のインストールではなく、デスクトップ エクスペリエンスを備えた Windows Server にインストールするための手順です。
ローカル コンピューターに Windows Admin Center をダウンロードします。
VM へのリモート デスクトップ接続を確立し、ローカル コンピューターから MSI をコピーして VM に貼り付けます。
MSI をダブルクリックしてインストールを開始し、ウィザードの指示に従います。 以下の点にご注意ください。
既定では、インストーラーは推奨ポート 443 (HTTPS) を使用します。 別のポートを選択する場合は、ファイアウォールでもそのポートを開く必要があることに注意してください。
VM に SSL 証明書を既にインストールしている場合は、必ずそのオプションを選択し、拇印を入力してください。
Windows Admin Center サービスを起動します (C:/Program Files/Windows Admin Center/sme.exeを実行します)
Windows Admin Center の展開について詳しくは、こちらをご覧ください。
HTTPS ポート アクセスを有効にするようにゲートウェイ VM を構成します。
Azure portal で VM に移動し、[ ネットワーク] を選択します。
[受信ポート規則の追加] を選択し、[サービス] で [HTTPS] を選択します。
注
既定の 443 以外のポートを選択した場合は、[サービス] で [カスタム ] を選択し、手順 3 で選択したポートを [ポート範囲] に入力します。
Azure VM にインストールされている Windows Admin Center ゲートウェイへのアクセス
この時点で、ゲートウェイ VM の DNS 名に移動して、ローカル コンピューター上の最新のブラウザー (Edge または Chrome) から Windows Admin Center にアクセスできるようになります。
注
443 以外のポートを選択した場合は、VM の https://<DNS 名に移動して Windows Admin Center にアクセスできます>:<カスタム ポート>
Windows Admin Center にアクセスしようとすると、ブラウザーによって、Windows Admin Center がインストールされている仮想マシンにアクセスするための資格情報の入力が求められます。 ここでは、仮想マシンのローカル ユーザーまたはローカル管理者グループにある資格情報を入力する必要があります。
VNet に他の VM を追加するには、ターゲット VM で PowerShell またはコマンド プロンプトで次を実行して、WinRM がターゲット VM で実行されていることを確認します。 winrm quickconfig
Azure VM にドメイン参加していない場合、VM はワークグループ内のサーバーと同様に動作するため、 ワークグループで Windows Admin Center を使用するためのアカウントを作成する必要があります。