Azure Bastion 如何運作?
Azure Bastion 部署是以虛擬網路或對等互連虛擬網路為依據。 不是以訂閱、帳戶或虛擬機器 (VM) 為依據。 您在虛擬網路中佈建 Azure Bastion 服務後,即可為位於相同虛擬網路中的所有 VM 提供 RDP 或 SSH 體驗。
下圖顯示透過入口網站連線時 Azure Bastion 的運作方式概觀:
- 您在 Azure 入口網站中連線至 VM:在 Azure 入口網站中,於 VM 概觀頁面上,選取 [連線]>[Bastion]>[使用堡壘],然後輸入您的 VM 認證。
- 瀏覽器連線至 Azure Bastion 主機:瀏覽器會使用傳輸層安全性 (TLS) 和 Azure Bastion 主機的公用 IP,透過網際網路連線到 Azure Bastion 主機。 Azure 閘道管理員會管理經由連接埠 443 或 4443 從入口網站到 Azure Bastion 服務的連線。
- Bastion 使用 RDP 或 SSH 連線至 VM:Azure Bastion 會另行部署在虛擬網路內稱為 AzureBastionSubnet 的子網路中。 您會在部署 Azure Bastion 時建立此子網路。 該子網路可以有具有 /26 子網路遮罩或更大的位址空間。 請不要將其他 Azure 資源部署到這個子網路中,或是變更子網路名稱。
- 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。
- 選取 [啟用] 並輸入 Azure Bastion 主機的名稱。
- 新增具有 /26 或更大之子網路遮罩的子網路位址。
- 如果您尚未有想要使用的公用 IP 位址,請選取 [建立新的]。
- 建立虛擬網路後,將 VM 新增至此虛擬網路,或使用 VM 將此虛擬網路對應至虛擬網路。
將子網路新增到現有的虛擬網路並佈建 Azure Bastion 資源
在您現有的虛擬網路上,新增名為 AzureBastionSubnet 的子網路。
若要佈建 Azure Bastion,在入口網站的 VM 上,選取 [連線]>[Bastion]>[手動設定]。 輸入 Azure Bastion 資源的名稱、選取子網路、建立公用 IP 等。 在 Azure Bastion 部署完畢之後,您即可連線到 VM。
使用 Azure PowerShell 或 Azure CLI 來部署 Azure Bastion
如果想要使用 Azure PowerShell 或 Azure CLI 來部署 Azure Bastion,請執行命令以建立下列資源:
- 子網路
- 公用 IP
- Azure Bastion 資源
下列各節會提供可用來部署 Azure Bastion 的範例。
使用 Azure PowerShell 部署 Azure Bastion
使用 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
為 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
在虛擬網路的 AzureBastionSubnet 子網路中建立 Azure Bastion 資源。
$bastion = New-AzBastion ` -ResourceGroupName "myBastionRG" ` -Name "myBastion" ` -PublicIpAddress $publicip ` -VirtualNetwork $virtualNetwork
使用 Azure CLI 部署 Azure Bastion
建立 Azure Bastion 子網路:
az network vnet subnet create \ --resource-group myBastionRG \ --vnet-name MyVirtualNetwork \ --name AzureBastionSubnet \ --address-prefixes 10.0.2.0/24
為 Azure Bastion 建立公用 IP 位址:
az network public-ip create \ --resource-group MyResourceGroup \ --name MyPublicIp \ --sku Standard \ --location westus2
建立 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] 並輸入您的認證。
在下一個單元中,您將逐步完成現有虛擬網路的 Azure Bastion 部署。