Azure Bastion 如何運作?

已完成

Azure Bastion 部署是以虛擬網路或對等互連虛擬網路為依據。 不是以訂閱、帳戶或虛擬機器 (VM) 為依據。 您在虛擬網路中佈建 Azure Bastion 服務後,即可為位於相同虛擬網路中的所有 VM 提供 RDP 或 SSH 體驗。

下圖顯示透過入口網站連線時 Azure Bastion 的運作方式概觀:

  1. 您在 Azure 入口網站中連線至 VM:在 Azure 入口網站中,於 VM 概觀頁面上,選取 [連線]>[Bastion]>[使用堡壘],然後輸入您的 VM 認證。
  2. 瀏覽器連線至 Azure Bastion 主機:瀏覽器會使用傳輸層安全性 (TLS) 和 Azure Bastion 主機的公用 IP,透過網際網路連線到 Azure Bastion 主機。 Azure 閘道管理員會管理經由連接埠 443 或 4443 從入口網站到 Azure Bastion 服務的連線。
  3. Bastion 使用 RDP 或 SSH 連線至 VM:Azure Bastion 會另行部署在虛擬網路內稱為 AzureBastionSubnet 的子網路中。 您會在部署 Azure Bastion 時建立此子網路。 該子網路可以有具有 /26 子網路遮罩或更大的位址空間。 請不要將其他 Azure 資源部署到這個子網路中,或是變更子網路名稱。
  4. Bastion 會將 VM 串流至瀏覽器:Azure Bastion 會使用自動串流到本機裝置的 HTML5 型 Web 用戶端。 Azure Bastion 服務會使用自訂通訊協定來封裝工作階段資訊。 此套件會透過 TLS 傳輸。

驗證 Azure Bastion 是否可配合網路安全性群組運作

如果您尚未針對您的組織部署及設定特定的網路安全性群組,則不需要執行任何動作。 Azure Bastion 使用和 VM 一起建立的預設網路安全性群組。

如有針對組織設定的網路安全性群組,請驗證 Azure Bastion 可透過 RDP 或 SSH 連線到 VM。 建議您新增輸入規則,以允許從 Azure Bastion 子網路 IP 位址範圍到您 VM 的 RDP 和 SSH 連線。

為使 Azure Bastion 得以運作,網路安全性群組必須允許下列流量:

方向 允許
傳入 從 Azure Bastion 子網路 IP 位址範圍到您 VM 子網路的 RDP 和 SSH 連線。
傳入 從網際網路經由連接埠 443 到 Azure Bastion 公用 IP 的 TCP 存取。
傳入 從 Azure 閘道管理員經由連接埠 443 或 4443 的 TCP 存取。 Azure 閘道管理員會管理入口網站到 Azure Bastion 服務的連線。
輸出 連接埠 443 上來自 Azure 平台的 TCP 存取。 此流量是用於診斷記錄。

在 Azure 入口網站中部署 Azure Bastion 主機

您需要有虛擬網路才可部署 Azure Bastion。 您可使用現有的虛擬網路,或在建立虛擬網路時部署 Azure Bastion。 請在虛擬網路中建立名為 AzureBastionSubnet 的子網路。 如果 VM 位於相同或對等互連的虛擬網路中,則可在連線到該 VM 時選取 [Azure Bastion],以在 Azure 入口網站中完成部署。

下列兩節會說明與 Azure 入口網站中每個 Azure Bastion 部署選項有關的步驟。 您還不需要完成這些步驟中的任何一個;您將在下一個練習中執行。

在建立虛擬網路時啟用 Azure Bastion

如果還沒有想要用於 Azure Bastion 的虛擬網路,請建立虛擬網路,並在 [安全性] 索引標籤上啟用 Azure Bastion。

Screenshot of the Security tab that allows you to enable and configure the Azure Bastion host in the workflow for creating a virtual network.

  1. 選取 [啟用] 並輸入 Azure Bastion 主機的名稱。
  2. 新增具有 /26 或更大之子網路遮罩的子網路位址。
  3. 如果您尚未有想要使用的公用 IP 位址,請選取 [建立新的]
  4. 建立虛擬網路後,將 VM 新增至此虛擬網路,或使用 VM 將此虛擬網路對應至虛擬網路。

將子網路新增到現有的虛擬網路並佈建 Azure Bastion 資源

在您現有的虛擬網路上,新增名為 AzureBastionSubnet 的子網路。

Screenshot of the page for adding a subnet, where the subnet name is AzureBastionSubnet.

若要佈建 Azure Bastion,在入口網站的 VM 上,選取 [連線]>[Bastion]>[手動設定]。 輸入 Azure Bastion 資源的名稱、選取子網路、建立公用 IP 等。 在 Azure Bastion 部署完畢之後,您即可連線到 VM。

Screenshot of the Create a Bastion page with fields filled out by default, like Azure Bastion resource name, subnet, and create public IP address.

使用 Azure PowerShell 或 Azure CLI 來部署 Azure Bastion

如果想要使用 Azure PowerShell 或 Azure CLI 來部署 Azure Bastion,請執行命令以建立下列資源:

  • 子網路
  • 公用 IP
  • Azure Bastion 資源

下列各節會提供可用來部署 Azure Bastion 的範例。

使用 Azure PowerShell 部署 Azure Bastion

  1. 使用 cmdlet 建立 Azure Bastion 子網路,然後使用 New-AzVirtualNetworkSubnetConfig 將該子網路新增至現有虛擬網路中。Add-AzVirtualNetworkSubnetConfig 例如,下列命令會假設您已經有虛擬網路:

    $subnetName = "AzureBastionSubnet"
    $virtualNetwork = MyVirtualNetwork
    $addressPrefix = "10.0.2.0/24"
    $subnet = New-AzVirtualNetworkSubnetConfig ` 
    -Name $subnetName ` 
    -AddressPrefix $addressPrefix `
    
    Add-AzVirtualNetworkSubnetConfig ` 
    -Name $subnetName `
    -VirtualNetwork $virtualNetwork `
    -AddressPrefix $addressprefix
    
  2. 為 Azure Bastion 建立公用 IP 位址。 Azure Bastion 會使用此公用 IP 位址,透過連接埠 443 進行 RDP/SSH 連線。 此公用 IP 位址必須和 Azure Bastion 資源位於相同區域。

    $publicip = New-AzPublicIpAddress `
    -ResourceGroupName "myBastionRG" `
    -name "myPublicIP" `
    -location "westus2" `
    -AllocationMethod Static `
    -Sku Standard
    
  3. 在虛擬網路的 AzureBastionSubnet 子網路中建立 Azure Bastion 資源。

    $bastion = New-AzBastion `
    -ResourceGroupName "myBastionRG" `
    -Name "myBastion" `
    -PublicIpAddress $publicip `
    -VirtualNetwork $virtualNetwork
    

使用 Azure CLI 部署 Azure Bastion

  1. 建立 Azure Bastion 子網路:

    az network vnet subnet create \
      --resource-group myBastionRG \
      --vnet-name MyVirtualNetwork \
      --name AzureBastionSubnet \
      --address-prefixes 10.0.2.0/24
    
  2. 為 Azure Bastion 建立公用 IP 位址:

    az network public-ip create \
      --resource-group MyResourceGroup \
      --name MyPublicIp \
      --sku Standard \
      --location westus2
    
  3. 建立 Azure Bastion 資源:

    az network bastion create \
      --name MyBastion \
      --public-ip-address MyPublicIp \
      --resource-group MyResourceGroup \
      --vnet-name MyVnet \
      --location westus2
    

使用 Azure Bastion 連線到 VM

在所需資源就位後,您應該能夠連線到位於相同虛擬網路或對等互連虛擬網路中的 VM。 在 Azure 入口網站中,於該 VM 上選取 [Bastion] 並輸入您的認證。

Screenshot of the Connect using Azure Bastion page with prompt for username and authentication type.

在下一個單元中,您將逐步完成現有虛擬網路的 Azure Bastion 部署。