AD DS 可以在 Azure 虚拟机(VM)上运行,其方式与许多本地实例中的运行方式相同。 本文将指导你使用 Azure 门户和 Azure CLI 在 Azure 可用性集中的两个新域控制器上部署新的 AD DS 林。 许多客户在创建实验室或准备在 Azure 中部署域控制器时发现本指南很有用。
组件
- 用于放置所有内容的资源组。
- Azure 虚拟网络、子网、网络安全组和允许 RDP 访问 VM 的规则。
- 一个 Azure 虚拟机可用性集,用于放置两个 Active Directory 域服务 (AD DS) 域控制器。
- 运行 AD DS 和 DNS 的两个 Azure 虚拟机。
未涵盖的项目
- 从本地位置创建站点到站点 VPN 连接
- 保护 Azure 中的网络流量
- 设计站点拓扑
- 规划操作主机角色放置
- 部署 Microsoft Entra Connect 以将标识同步到 Microsoft Entra ID
生成测试环境
我们使用 Azure 门户 和 Azure CLI 来创建环境。
Azure CLI 用于通过命令行或脚本创建和管理 Azure 资源。 本教程详细介绍了如何使用 Azure CLI 部署运行 Windows Server 2019 的虚拟机。 部署完成后,我们将连接到服务器并安装 AD DS。
如果没有 Azure 订阅,请在开始之前 创建免费帐户。
使用 Azure CLI
以下脚本自动执行生成两个 Windows Server 2019 VM 的过程,以便为 Azure 中的新 Active Directory 林生成域控制器。 管理员可以修改以下变量以符合他们的需求,然后作为一个操作来完成。 该脚本创建必要的资源组、为远程桌面设置流量规则的网络安全组、虚拟网络和子网以及可用性组。 然后为每个 VM 构建一个 20 GB 的数据磁盘,并禁用缓存,以便在该磁盘上安装 AD DS。
可以直接从 Azure 门户运行以下脚本。 如果选择在本地安装并使用 CLI,本快速入门要求运行 Azure CLI 2.0.4 或更高版本。 运行 az --version
查找版本。 如果需要安装或升级,请参阅 安装 Azure CLI 2.0。
变量名称 | 目的 |
---|---|
管理员用户名 | 要在每个 VM 上配置为本地管理员的用户名。 |
管理员密码 | 明文密码,在每个 VM 上配置为本地管理员密码。 |
资源组名称 | 要用于资源组的名称。 不应复制现有名称。 |
位置 | 要部署到的 Azure 位置名称。 使用 az account list-locations 列出当前订阅支持的区域。 |
VNet名称 | 分配 Azure 虚拟网络的名称不应复制现有名称。 |
VNet地址 | 要用于 Azure 网络的 IP 范围。 不应复制现有范围。 |
子网名称 (SubnetName) | 用于分配 IP 子网的名称。 不应复制现有名称。 |
子网地址 | 域控制器的子网地址。 应是 VNet 内的子网。 |
可用性集 | 域控制器虚拟机将加入的可用性集的名称。 |
VMSize | 部署位置提供的标准 Azure VM 大小。 |
DataDiskSize (数据磁盘大小) | AD DS 安装的数据磁盘的大小(以 GB 为单位)。 |
域控制器 1 | 第一个域控制器的名称。 |
DC1IP的 | 第一个域控制器的 IP 地址。 |
域控制器 2 | 第二个域控制器的名称。 |
DC2IP的 | 第二个域控制器的 IP 地址。 |
#Add lines for AdminUsername and AdminPassword, and update based on your organizational requirements
Location=westus2
ResourceGroupName=ADonAzureVMs
NetworkSecurityGroup=NSG-DomainControllers
VNetName=VNet-AzureVMsWestUS2
VNetAddress=10.10.0.0/16
SubnetName=Subnet-AzureDCsWestUS2
SubnetAddress=10.10.10.0/24
AvailabilitySet=DomainControllers
VMSize=Standard_DS1_v2
DataDiskSize=20
DomainController1=AZDC01
DC1IP=10.10.10.11
DomainController2=AZDC02
DC2IP=10.10.10.12
# Create a resource group.
az group create --name $ResourceGroupName \
--___location $Location
# Create a network security group
az network nsg create --name $NetworkSecurityGroup \
--resource-group $ResourceGroupName \
--___location $Location
# Create a network security group rule for port 3389.
az network nsg rule create --name PermitRDP \
--nsg-name $NetworkSecurityGroup \
--priority 1000 \
--resource-group $ResourceGroupName \
--access Allow \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--direction Inbound \
--destination-port-ranges 3389
# Create a virtual network.
az network vnet create --name $VNetName \
--resource-group $ResourceGroupName \
--address-prefixes $VNetAddress \
--___location $Location \
# Create a subnet
az network vnet subnet create --address-prefix $SubnetAddress \
--name $SubnetName \
--resource-group $ResourceGroupName \
--vnet-name $VNetName \
--network-security-group $NetworkSecurityGroup
# Create an availability set.
az vm availability-set create --name $AvailabilitySet \
--resource-group $ResourceGroupName \
--___location $Location
# Create two virtual machines.
az vm create \
--resource-group $ResourceGroupName \
--availability-set $AvailabilitySet \
--name $DomainController1 \
--size $VMSize \
--image Win2019Datacenter \
--admin-username $AdminUsername \
--admin-password $AdminPassword \
--data-disk-sizes-gb $DataDiskSize \
--data-disk-caching None \
--nsg $NetworkSecurityGroup \
--private-ip-address $DC1IP \
--no-wait
az vm create \
--resource-group $ResourceGroupName \
--availability-set $AvailabilitySet \
--name $DomainController2 \
--size $VMSize \
--image Win2019Datacenter \
--admin-username $AdminUsername \
--admin-password $AdminPassword \
--data-disk-sizes-gb $DataDiskSize \
--data-disk-caching None \
--nsg $NetworkSecurityGroup \
--private-ip-address $DC2IP
DNS 和 Active Directory
如果作为此过程的一部分创建的 Azure 虚拟机将是现有本地 Active Directory 基础结构的扩展,则必须更改虚拟网络上的 DNS 设置,以在部署之前包括本地 DNS 服务器。 此步骤对于允许 Azure 中新创建的域控制器解析本地资源并允许进行复制非常重要。 有关 DNS、Azure 以及如何配置设置的详细信息,请参阅使用自己的 DNS 服务器的名称解析部分。
在 Azure 中提升新域控制器后,需要将其设置为虚拟网络的主 DNS 服务器和辅助 DNS 服务器,任何本地 DNS 服务器都将降级到第三级及更高版本。 VM 将继续使用其当前的 DNS 设置,直到重启。 有关更改 DNS 服务器的详细信息,请参阅 创建、更改或删除虚拟网络一文。
有关将本地网络扩展到 Azure 的信息,请参阅 创建站点到站点 VPN 连接一文。
配置 VM 并安装 Active Directory 域服务
脚本完成后,浏览到 Azure 门户,然后浏览到虚拟机。
配置第一个域控制器
使用脚本中提供的凭据连接到 AZDC01。
- 初始化数据磁盘并将其格式化为 F:
- 打开“开始”菜单并浏览到 计算机管理
- 浏览到存储>磁盘管理
- 将磁盘初始化为 MBR
- 创建新的简单卷并分配驱动器号 F: 如果需要,可以提供卷标签
- 使用服务器管理器安装 Active Directory 域服务
- 将域控制器提升为新林中的第一个域控制器
- 请在“域控制器选项”页上勾选域名系统(DNS)服务器和全局目录(GC)
- 根据组织要求指定目录服务还原模式密码
- 将路径从 C: 更改为指向在系统提示输入位置时创建的 F: 驱动器
- 查看向导中所做的选择,然后选择 下一步
注意
先决条件检查将警告你物理网络适配器没有分配静态 IP 地址(es),可以安全地忽略此地址,因为静态 IP 是在 Azure 虚拟网络中分配的。
- 选择 安装
向导完成安装过程后,VM 将重新启动。
VM 完成重新启动后,请使用之前使用的凭据重新登录,但这次是你创建的域的成员。
注意
升级到域控制器后的第一次登录可能需要的时间比正常时间长,这是正常的。 抢一杯茶、咖啡、水或其他选择的饮料。
Azure 虚拟网络现在支持 IPv6,但如果希望将 VM 设置为首选 IPv4 而不是 IPv6,有关如何完成此任务的信息,请参阅知识库文章 有关在 Windows 中为高级用户配置 IPv6的指南。
配置 DNS
在 Azure 中提升第一台服务器后,服务器需要设置为虚拟网络的主 DNS 服务器和辅助 DNS 服务器,任何本地 DNS 服务器都将降级到第三级及更高版本。 有关更改 DNS 服务器的详细信息,请参阅 创建、更改或删除虚拟网络一文。
配置第二个域控制器
使用脚本中提供的凭据连接到 AZDC02。
- 初始化数据磁盘并将其格式化为 F:
- 打开“开始”菜单并浏览到 计算机管理
- 浏览到存储>磁盘管理
- 将磁盘初始化为 MBR
- 创建新的简单卷并分配驱动器号 F:(如果需要,可以提供卷标签)
- 使用服务器管理器安装 Active Directory 域服务
- 提升域控制器
- 将域控制器添加到现有域 - CONTOSO.com
- 提供凭据以执行操作
- 将路径从 C: 更改为指向在系统提示输入位置时创建的 F: 驱动器
- 确保在“域控制器选项”页上检查域名系统(DNS)服务器和全局目录(GC)
- 根据组织要求指定目录服务还原模式密码
- 查看向导中所做的选择,然后选择 下一步
注意
先决条件检查将警告你没有为物理网络适配器分配静态 IP 地址。 可以安全地忽略此问题,因为 Azure 虚拟网络中分配了静态 IP。
- 选择 安装
向导完成安装过程后,VM 将重新启动。
VM 完成重启后,请使用以前使用的凭据重新登录,但这次是 CONTOSO.com 域的成员
Azure 虚拟网络现在支持 IPv6,但如果希望将 VM 设置为首选 IPv4 而不是 IPv6,有关如何完成此任务的信息,请参阅知识库文章 有关在 Windows 中为高级用户配置 IPv6 的指南。
总结
此时,环境有一对域控制器,我们配置了 Azure 虚拟网络,以便可将其他服务器添加到环境中。 此时应完成 Active Directory 域服务的安装后任务,例如配置站点和服务、审核、备份和保护内置管理员帐户。
删除环境
若要删除环境,完成测试后,可以删除上面创建的资源组。 此步骤删除属于该资源组的所有组件。
使用 Azure 门户删除
在 Azure 门户中,浏览到 资源组 并选择我们创建的资源组(在此示例中为 ADonAzureVM),然后选择 删除资源组。 在删除资源组中包含的所有资源之前,该过程会要求确认。
使用 Azure CLI 删除
在 Azure CLI 中运行以下命令:
az group delete --name ADonAzureVMs