你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 部署 Bastion
本文介绍如何使用 Azure CLI 来部署 Azure Bastion。 Azure Bastion 是为你维护的 PaaS 服务,而不是在你的 VM 上安装并由你自己维护的堡垒主机。 Azure Bastion 部署是按虚拟网络进行的,而不是按订阅/帐户或虚拟机部署。 有关 Azure Bastion 的详细信息,请参阅什么是 Azure Bastion?
在将 Bastion 部署到虚拟网络后,即可通过专用 IP 地址连接到你的 VM。 同一虚拟网络中的所有 VM 都可以获得此无缝 RDP/SSH 体验。 如果 VM 具有你不需要其来执行任何其它操作的公共 IP 地址,可以将其删除。
在本文中,你将创建一个虚拟网络(如果还没有)、使用 CLI 部署 Azure Bastion,并连接到 VM。 还可通过使用以下其他方法来部署 Bastion:
备注
支持将 Azure Bastion 和 Azure 专用 DNS 区域一起使用。 但存在一些限制。 有关详细信息,请参阅 Bastion 常见问题解答。
确保拥有 Azure 订阅。 如果还没有 Azure 订阅,可以激活 MSDN 订户权益或注册获取免费帐户。
本文使用 Azure CLI。 若要运行命令,可使用 Azure Cloud Shell。 Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。
若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以在单独的浏览器标签页中转到 https://shell.azure.com 启动 Cloud Shell,并切换左下角的下拉列表以反映 Bash 或 PowerShell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
本部分帮助你使用 Azure CLI 来部署 Azure Bastion。
重要
小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价和 SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。
如果还没有虚拟网络,可使用 az group create 和 az network vnet create 创建资源组和虚拟网络。
az group create --name TestRG1 --location eastus
az network vnet create --resource-group TestRG1 --name VNet1 --address-prefix 10.1.0.0/16 --subnet-name default --subnet-prefix 10.1.0.0/24
使用 az network vnet subnet create 创建将要部署 Bastion 的子网。 所创建的子网必须名为 AzureBastionSubnet。 此子网是专为 Azure Bastion 资源保留的。 如果还没有名称值为 AzureBastionSubnet 的子网,将无法部署 Bastion。
- 可以创建的最小的子网 AzureBastionSubnet 大小为 /26。 建议创建 /26 或更大的大小以适应主机缩放。
- 有关缩放的详细信息,请参阅配置设置 - 主机缩放。
- 有关设置的详细信息,请参阅配置设置 - AzureBastionSubnet。
- 创建不包含任何路由表或委托的 AzureBastionSubnet。
- 如果使用 AzureBastionSubnet 上的网络安全组,请参阅使用 NSG 一文。
az network vnet subnet create --name AzureBastionSubnet --resource-group TestRG1 --vnet-name VNet1 --address-prefix 10.1.1.0/26
- 可以创建的最小的子网 AzureBastionSubnet 大小为 /26。 建议创建 /26 或更大的大小以适应主机缩放。
为 Azure Bastion 创建一个公共 IP 地址。 此公共 IP 是将在其上访问 RDP/SSH(通过端口 443)的 Bastion 资源的公共 IP 地址。 公共 IP 地址必须与要创建的 Bastion 资源位于同一区域。 出于此原因,请特别注意所指定的
--location
值。az network public-ip create --resource-group TestRG1 --name VNet1-ip --sku Standard --location eastus
使用 az network bastion create 为虚拟网络创建新的 Azure Bastion 资源。 创建和部署 Bastion 资源大约需要 10 分钟。
以下示例使用基本 SKU 层部署 Bastion。 还可以使用其他 SKU 进行部署。 SKU 可确定 Bastion 部署支持的功能。 如果未在命令中指定 SKU,则 SKU 默认为标准。 有关详细信息,请参阅 Bastion SKU。
az network bastion create --name VNet1-bastion --public-ip-address VNet1-ip --resource-group TestRG1 --vnet-name VNet1 --location eastus --sku Basic
如果虚拟子网中还没有 VM,则可以使用快速入门:创建 Windows VM 或快速入门:创建 Linux VM 来创建 VM
可以使用以下任一文章或以下部分中的步骤来帮助你连接到 VM。 某些连接类型需要 Bastion 标准或更高的 SKU。
- 连接到 Windows VM
- 连接到 Linux VM
- 连接到规模集
- 通过 IP 地址进行连接
- 从本地客户端连接
以下步骤将引导你使用 Azure 门户完成一种类型的连接。
在 Azure 门户中,转到要连接的虚拟机。
在窗格顶部,选择“连接”>“Bastion”,转到“Bastion”窗格。 还可以使用左侧菜单转到“Bastion”窗格。
Bastion 窗格中提供的选项取决于 Bastion SKU。 如果使用基本 SKU,请使用 RDP 和端口 3389 连接到 Windows 计算机。 对于基本 SKU,还可以使用 SSH 和端口 22 连接到 Linux 计算机。 没有用于更改端口号或协议的选项。 但是,可以通过展开“连接设置”更改 RDP 的键盘语言。
如果使用标准 SKU,有更多的连接协议和端口选项可用。 展开“连接设置”以查看选项。 通常,除非为 VM 配置了不同的设置,否则使用 RDP 和端口 3389 连接到 Windows 计算机。 使用 SSH 和端口 22 连接到 Linux 计算机。
对于“身份验证类型”,请从下拉列表中进行选择。 协议确定可用的身份验证类型。 填写所需的身份验证值。
若要在新浏览器选项卡中打开 VM 会话,请保持选中“在新浏览器选项卡中打开”。
选择“连接”以连接到 VM。
使用端口 443 和 Bastion 服务确认直接在 Azure 门户中(通过 HTML5)打开与虚拟机的连接。
备注
进行连接时,VM 的桌面看起来将与示例屏幕截图有所不同。
连接到 VM 时,使用键盘快捷键可能不会产生与本地计算机上的快捷键相同的行为。 例如,从 Windows 客户端连接到 Windows VM 时,CTRL+ALT+END 是本地计算机上 CTRL+ALT+Delete 的键盘快捷方式。 要在连接到 Windows VM 时从 Mac 执行此操作,键盘快捷方式为 fn+control+option+delete。
可以为 VM 启用远程音频输出。 有些 VM 会自动启用此设置,而有些 VM 则要求手动启用音频设置。 这些设置是在 VM 本身上更改的。 Bastion 部署不需要任何特殊的配置设置来启用远程音频输出。
备注
音频输出会使用 Internet 连接上的带宽。
在 Windows VM 上启用远程音频输出:
- 连接到 VM 后,工具栏右下角会显示一个音频按钮。 右键单击音频按钮,然后选择“声音”。
- 弹出消息询问是否要启用 Windows 音频服务。 选择是。 可以在“声音首选项”中配置更多音频选项。
- 要验证声音输出,请将鼠标悬停在工具栏的音频按钮上。
Azure Bastion 不使用公共 IP 地址来连接到客户端 VM。 如果 VM 不需要公共 IP 地址,可以取消与公共 IP 地址的关联。 请参阅将公共 IP 地址与 Azure VM 取消关联。
- 若要在 Azure Bastion 子网中使用网络安全组,请参阅使用 NSG。
- 若要了解 VNet 对等互连,请参阅 VNet 对等互连和 Azure Bastion。