使用 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 地址,可以将其删除。

显示 Azure Bastion 体系结构的示意图。

在本文中,你将创建一个虚拟网络(如果还没有)、使用 CLI 部署 Azure Bastion,并连接到 VM。 还可通过使用以下其他方法来部署 Bastion:

注意

支持将 Azure Bastion 和 Azure 专用 DNS 区域一起使用。 但存在一些限制。 有关详细信息,请参阅 Bastion 常见问题解答

开始之前

Azure 订阅

确保拥有 Azure 订阅。 如果还没有 Azure 订阅,可以激活 MSDN 订户权益或注册试用版订阅

Azure CLI

部署 Bastion

本部分帮助你使用 Azure CLI 来部署 Azure Bastion。

重要

小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  1. 如果还没有虚拟网络,可使用 az group createaz network vnet create 创建资源组和虚拟网络。

    az group create --name TestRG1 --location chinaeast2
    
    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
    
  2. 使用 az network vnet subnet create 创建将要部署 Bastion 的子网。 所创建的子网必须名为 AzureBastionSubnet。 此子网是专为 Azure Bastion 资源保留的。 如果还没有名称值为 AzureBastionSubnet 的子网,将无法部署 Bastion。

    • 可以创建的最小的子网 AzureBastionSubnet 大小为 /26。 建议创建 /26 或更大的大小以适应主机缩放。
    • 创建不包含任何路由表或委托的 AzureBastionSubnet。
    • 如果使用 AzureBastionSubnet 上的网络安全组,请参阅使用 NSG 一文。
    az network vnet subnet create --name AzureBastionSubnet --resource-group TestRG1 --vnet-name VNet1 --address-prefix 10.1.1.0/26
    
  3. 为 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 chinaeast2
    
  4. 使用 az network bastion create 为虚拟网络创建新的 Azure Bastion 资源。 创建和部署 Bastion 资源大约需要 10 分钟。

    以下示例使用基本 SKU 层部署 Bastion。 SKU 可确定 Bastion 部署支持的功能。 还可使用标准 SKU 进行部署。 如果未在命令中指定 SKU,则 SKU 默认为标准。 有关详细信息,请参阅 Bastion SKU

    az network bastion create --name VNet1-bastion --public-ip-address VNet1-ip --resource-group TestRG1 --vnet-name VNet1 --location chinaeast2 --sku Basic
    

连接到 VM

如果虚拟子网中还没有 VM,则可以使用快速入门:创建 Windows VM快速入门:创建 Linux VM 来创建 VM

可以使用以下任一文章或以下部分中的步骤来帮助你连接到 VM。 有些连接类型需要 Bastion 标准 SKU

使用门户连接

以下步骤将引导你使用 Azure 门户完成一种类型的连接。

  1. Azure 门户中,转到要连接到的虚拟机。

  2. 在页面顶部,选择“连接”->“Bastion”,以转到“Bastion”页面。 还可以使用左侧菜单以转到“Bastion”页面。

  3. Bastion 页面上的可用选项取决于 Bastion SKU 层。 如果正在使用基本 SKU,可以使用 RDP 和端口 3389 连接到 Windows 计算机,使用 SSH 和端口 22 连接到 Linux 计算机。 没有用于更改端口号或协议的选项。 但是,可以通过展开“连接设置”更改 RDP 的键盘语言。

    Bastion 连接页面的屏幕截图。

    如果使用标准 SKU,有更多的连接协议和端口选项可用。 展开“连接设置”以查看选项。 通常,除非为 VM 配置了不同的设置,否则使用 RDP 和端口 3389 连接到 Windows 计算机,使用 SSH 和端口 22 连接到 Linux 计算机。

    已展开连接设置的屏幕截图。

  4. 从下拉列表选择“身份验证类型”。 协议确定可用的身份验证类型。 填写所需的身份验证值。

    显示身份验证类型下拉列表的屏幕截图。

  5. 若要在新浏览器选项卡中打开 VM 会话,请保持选中“在新浏览器选项卡中打开”。

  6. 单击“连接”以连接到 VM。

  7. 通过 Bastion 到此虚拟机的连接将使用端口 443 和 Bastion 服务在 Azure 门户中(通过 HTML5)直接打开。

    • 进行连接时,VM 的桌面看起来将与示例屏幕截图有所不同。

    • 连接到 VM 时,使用键盘快捷键可能不会产生与本地计算机上的快捷键相同的行为。 例如,从 Windows 客户端连接到 Windows VM 时,CTRL+ALT+END 是本地计算机上 CTRL+ALT+Delete 的键盘快捷方式。 若要在连接到 Windows VM 时从 Mac 上执行此操作,键盘快捷方式为 Fn+CTRL+ALT+Backspace。

      使用端口 443 连接的屏幕截图。

启用音频输出

可以为 VM 启用远程音频输出。 有些 VM 会自动启用此设置,而有些 VM 则要求手动启用音频设置。 这些设置是在 VM 本身上更改的。 Bastion 部署不需要任何特殊的配置设置来启用远程音频输出。

注意

音频输出占用 Internet 连接上的带宽。

在 Windows VM 上启用远程音频输出:

  1. 连接到 VM 后,在工具栏右下角将出现一个音频按钮。
  2. 右键单击音频按钮,然后选择“声音”。
  3. 此时会出现一个弹出窗口,询问你是否要启用 Windows 音频服务。 选择“是”。 可以在“声音首选项”中配置更多音频选项。
  4. 若要验证声音输出,请将鼠标悬停在工具栏的音频按钮上。

删除 VM 公共 IP 地址

Azure Bastion 不使用公共 IP 地址来连接到客户端 VM。 如果 VM 不需要公共 IP 地址,可以取消与公共 IP 地址的关联。 请参阅将公共 IP 地址与 Azure VM 取消关联

后续步骤