Azure Active Directory Domain Services を PowerShell で構築する
Azure Active Directory Domain Services (Azure AD DS または AADDS)
AADDSって構築後にDNSの設定をしないとドメイン参加できないので、構築後のAADDSリソースの概要をAzure Portalから見るとDNSを構成するボタンが表示されています。
今回、それをPowerShellでやる場合のメモです。
そもそもとしてのAzure AD DS の構築方法としては以下があります。
- Azure Portal で構築する
- Azure PowerShell で構築する
- Azure Resource Manager (ARM) で構築する
Azure Portal で構築する
PowerShell での構築方法
ARM テンプレートでの構築方法
今回は2つ目のPowerShellで構築していたのですがAADDS構築後に通常だとAzure Portalから操作する部分があり、そこも自動化したくて考慮点を調べました。
考慮点
- Custom DNS をVNetへ設定しなければならない
- Network Security Group をSubnetへ設定しなければならない
AADDS構築後に以下の画像のようにDNS構成をするボタンが概要ページに出てきますが、ここでカスタムDNSやNSGの設定をしてくれています。
PowerShell での追加設定の仕方
Custmom DNS をVNetへ設定する
- 既存の構築用に使ったNew-AzVirtualNetworkの最後尾にDnsServerを追加して適用する。
【構築時のコマンド】
PS> $VNet = New-AzVirtualNetwork ` -ResourceGroupName <ResourceGroupName> ` -Location <AzureLocation> ` -Name <VNetName> ` -AddressPrefix 0.0.0.0/0 ` -Subnet <SubnetName> PS> $VNet | Set-AzVirtualNetwork
【適用するコマンド】
PS> $VNet = New-AzVirtualNetwork ` -ResourceGroupName <ResourceGroupName> ` -Location <AzureLocation> ` -Name <VNetName> ` -AddressPrefix 0.0.0.0/0 ` -Subnet <SubnetName> ` -DnsServer 0.0.0.4,0.0.0.5 PS> $VNet | Set-AzVirtualNetwork
上記設定まで完了すると以下のように変化します。 NSGを設定しろ的な感じですね。
Network Security Group (NSG) をSubnetへ設定する
- VNetの情報取得
PS> $VNet = Get-AzVirtualNetwork -Name <VNetName> -ResourceGroupName <ResourceGroupName>
- サブネットの情報取得
PS> $Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name <SubnetName>
- Network Security Group (NSG) の情報取得
PS> $Nsg = Get-Az NetworkSecurityGroup -ResourceGroupName <ResourceGroupName> -Name <NSGName>
- Subnetへ適用するNSGのコンフィグ設定
PS> $Subnet.NetworkSecurityGroup = $Nsg
- VNetへのコンフィグ適用
PS> Set-AzVirtualNetwork -VirtualNetwork $VNet
まとめると以下になります。
PS> $VNet = Get-AzVirtualNetwork -Name <VNetName> -ResourceGroupName <ResourceGroupName> PS> $Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name <SubnetName> PS> $Nsg = Get-Az NetworkSecurityGroup -ResourceGroupName <ResourceGroupName> -Name <NSGName> PS> $Subnet.NetworkSecurityGroup = $Nsg PS> Set-AzVirtualNetwork -VirtualNetwork $VNet
完了するとPortalのボタンで設定したものと同じようになります。
上記で問題なくドメイン参加まで行けましたので、PowerShellで全部組みたい方(少数派デスヨネ)に参考になれば。