複数のサーバーを管理するために Azure に Windows Admin Center を手動でデプロイする
この記事では、複数の Azure VM の管理に使用するために、Windows Admin Center を Azure VM に手動でデプロイする方法について紹介します。 1 つの VM を管理するには、Azure portal の Windows Admin Center を使用する方法に関する記事を参照して、Azure portal に組み込まれている Windows Admin Center 機能を使用します。
スクリプトを使用したデプロイ
Deploy-WACAzVM.ps 1 をダウンロードしてAzure Cloud Shell から実行し、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 ポータルでキー Vault を作成し、証明書をキー Vault にアップロードします。 または、Azure portal を使用して証明書を生成することもできます。
スクリプト パラメーター
ResourceGroupName - [String] VM が作成されるリソース グループの名前を指定します。
Name -[String] VM の名前を指定します。
Credential -[PSCredential] VM の資格情報を指定します。
MsiPath - [String] Windows 管理センターを既存の VM にデプロイするときに、Windows 管理センター MSI のローカル パスを指定します。 省略した場合、既定値は https://aka.ms/WACDownload からのバージョンです。
VaultName - [String] 証明書を含むキーVaultの名前を指定します。
Certname - [String] MSI のインストールに使用する証明書の名前を指定します。
GenerateSslCert - [Switch] MSI が自己署名 SSL 証明書を生成する必要がある場合は True を指定します。
PortNumber - [int] Windows Admin Center サービスの SSL ポート番号を指定します。 省略した場合、既定値は 443 です。
OpenPorts - [int[]] VM の開いているポートを指定します。
Location - [String] VM の場所を指定します。
Location - [String] VM の サイズを指定します。 省略した場合、既定値は "Standard_DS1_v2" です。
Image - [String] VM のイメージを指定します。 省略した場合、既定値は「Win2016Datacenter」です。
VirtualNetworkName - [String] VM の仮想ネットワークの名前を指定します。
SubnetName - [String] VM のサブネットの名前を指定します。
SecurityGroupName - [String] VM のセキュリティ グループの名前を指定します。
PublicIpAddressName - [String] VM のパブリック IP アドレスの名前を指定します。
InstallWACOnly - [Switch] は、既存の Azure VM に WAC をインストールする必要がある場合は True に設定します。
デプロイするMSIと、MSIのインストールに使用する証明書には、2つの異なるオプションがあります。 MSI は aka.ms/WACDownload からダウンロードすることも、既存の VM にデプロイする場合は、VM 上でローカルに MSI の filepath を指定できます。 証明書は 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 管理センター ゲートウェイを実行する 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 (WinRM over HTTP) が開いていて、アクティブなリスナーがいること。
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 管理センターをインストールする前に、HTTPS 通信に使用する SSL 証明書をインストールするか、Windows Admin Center によって生成された自己署名証明書を使用するように選択することができます。 ただし、後者を選択した場合は、ブラウザから接続しようとすると警告が表示されます。 Azure Stack Edge で [詳細] > [Webページに移動] をクリックするか、Chromeで [詳細] > [ [Webページ] に進む] を選択すると、この警告を回避できます。 テスト環境では自己署名証明書のみを使用することをお勧めします。
注意
この手順は、Server Core インストールではなく、デスクトップエクスペリエンスを備えた Windows Server にインストールするためのものです。
Download 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 名に移動することで、ローカルコンピュータ上の最新のブラウザ (Azure Stream Analitics on Lot Edge またはChrome) から Windows Admin Center にアクセスできるようになります。
注意
443以外のポートを選択した場合は、VM>の https ://< DNS 名:<カスタム ポート>に移動することで Windows Admin Center にアクセスできます。
Windows 管理センターにアクセスしようとすると、Windows 管理センターがインストールされている仮想マシンにアクセスするための資格情報を求めるメッセージがブラウザに表示されます。 ここでは、仮想マシンのローカル ユーザーまたはローカルの管理者グループにある資格情報を入力する必要があります。
VNet に他の VM を追加するには、PowerShell で次のコマンドを実行するか、ターゲット VM でコマンド プロンプトを実行して、WinRM がターゲット VM で実行されていることを確認します。winrm quickconfig
Azure VM をドメインに参加させていない場合、VM はワークグループのサーバーのように動作するため、ワークグループで Windows Admin Center を使用してアカウントを作成する必要があります。