共用方式為


設定雲端服務的多個VIP

這很重要

Azure Load Balancer 支援兩種不同類型:基本和標準。 本文討論基本負載平衡器。 如需 Standard Load Balancer 的詳細資訊,請參閱 Standard Load Balancer 概觀

您可以使用 Azure 提供的 IP 位址,透過公用因特網存取 Azure 雲端服務。 此公用IP位址稱為VIP(虛擬IP),因為它已連結至 Azure 負載平衡器,而不是雲端服務內的虛擬機 (VM) 實例。 您可以使用單一 VIP 來存取雲端服務內的任何 VM 實例。

不過,在某些情況下,您可能需要多個 VIP 作為相同雲端服務的進入點。 例如,您的雲端服務可能會使用預設埠 443 來裝載多個需要 SSL 連線的網站,因為每個網站都裝載給不同的客戶或租使用者。 在此案例中,您必須針對每個網站有不同的公用IP位址。 下圖說明典型的多租戶網頁託管,其需要在相同公用埠上配置多個 SSL 憑證。

多重VIP SSL案例

在上述範例中,所有 VIP 都會使用相同的公用埠 (443),並將流量重新導向至裝載所有網站之雲端服務內部 IP 位址的唯一私人埠上的一或多個負載平衡 VM。

備註

另一個需要使用多個 VIP 的情況是在同一組虛擬機上裝載多個 SQL AlwaysOn 可用性群組接聽程式。

VIP 預設為動態,這表示指派給雲端服務的實際IP位址可能會隨著時間而變更。 若要防止這種情況發生,您可以為服務保留VIP。 若要深入瞭解保留的 VIP,請參閱 保留公用 IP

備註

如需VIP和保留IP定價的相關信息,請參閱 IP位址定價

您可以使用 PowerShell 來驗證雲端服務所使用的 VIP,以及新增和移除 VIP、將 VIP 與端點產生關聯,以及在特定 VIP 上設定負載平衡。

局限性

目前,多重VIP功能僅限於下列案例:

  • 僅限 IaaS。 您只能針對包含 VM 的雲端服務啟用多重 VIP。 您無法在 PaaS 情境中搭配角色實例使用多重 VIP。
  • PowerShell 僅限於。 您只能使用PowerShell管理多重VIP。

這些限制是暫時性的,隨時可能會變更。 請務必重新流覽此頁面,以確認未來的變更。

如何將VIP新增至雲端服務

若要將VIP新增至您的服務,請執行下列PowerShell命令:

Add-AzureVirtualIP -VirtualIPName Vip3 -ServiceName myService

這個指令會顯示類似下列範例的結果:

OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
Add-AzureVirtualIP   4bd7b638-d2e7-216f-ba38-5221233d70ce Succeeded

如何從雲端服務移除VIP

若要移除上述範例中新增至您服務的VIP,請執行下列PowerShell命令:

Remove-AzureVirtualIP -VirtualIPName Vip3 -ServiceName myService

這很重要

如果 VIP 沒有與其相關聯的端點,則您只能移除該 VIP。

如何從雲端服務擷取VIP資訊

若要擷取與雲端服務相關聯的VIP,請執行下列PowerShell腳本:

$deployment = Get-AzureDeployment -ServiceName myService
$deployment.VirtualIPs

文稿會顯示類似下列範例的結果:

Address         : 191.238.74.148
IsDnsProgrammed : True
Name            : Vip1
ReservedIPName  :
ExtensionData   :

Address         :
IsDnsProgrammed :
Name            : Vip2
ReservedIPName  :
ExtensionData   :

Address         :
IsDnsProgrammed :
Name            : Vip3
ReservedIPName  :
ExtensionData   :

在此範例中,雲端服務有 3 個 VIP:

  • Vip1 是預設 VIP,您知道因為 IsDnsProgrammedName 的值設定為 true。
  • Vip2Vip3 不會使用,因為它們沒有任何 IP 位址。 只有在您將端點與 VIP 連結時,才會使用它們。

備註

當額外的VIP與端點相關聯後,您的訂用帳戶才會被收取相關費用。 如需定價的詳細資訊,請參閱 IP位址定價

如何將VIP與端點產生關聯

若要將雲端服務上的VIP與端點產生關聯,請執行下列PowerShell命令:

Get-AzureVM -ServiceName myService -Name myVM1 |
    Add-AzureEndpoint -Name myEndpoint -Protocol tcp -LocalPort 8080 -PublicPort 80 -VirtualIPName Vip2 |
    Update-AzureVM

此命令會在埠 80上建立名為 Vip2 的端點,並將它連結到名為 myService 的雲端服務中的 VM myVM1,使用 TCP 在埠 8080上連結。

若要驗證組態,請執行下列 PowerShell 命令:

$deployment = Get-AzureDeployment -ServiceName myService
$deployment.VirtualIPs

輸出的結果看起來會像以下範例:

Address         : 191.238.74.148
IsDnsProgrammed : True
Name            : Vip1
ReservedIPName  :
ExtensionData   :

Address         : 191.238.74.13
IsDnsProgrammed :
Name            : Vip2
ReservedIPName  :
ExtensionData   :

Address         :
IsDnsProgrammed :
Name            : Vip3
ReservedIPName  :
ExtensionData   :

如何在特定VIP上啟用負載平衡

您可以建立單一 VIP 與多個虛擬機的關聯,以進行負載平衡。 例如,您有名為 myService 的雲端服務,以及名為 myVM1 的兩部 虛擬機,myVM2。 您的雲端服務有多個 VIP,其中一個名稱為 Vip2。 如果您想要確保埠 81Vip2 上的所有流量在 myVM1 與埠 myVM2之間保持平衡,請執行下列 PowerShell 腳本:

Get-AzureVM -ServiceName myService -Name myVM1 |
    Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet -Protocol tcp -LocalPort 8181 -PublicPort 81 -VirtualIPName Vip2 -DefaultProbe |
    Update-AzureVM

Get-AzureVM -ServiceName myService -Name myVM2 |
    Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet -Protocol tcp -LocalPort 8181 -PublicPort 81 -VirtualIPName Vip2  -DefaultProbe |
    Update-AzureVM

您也可以更新負載平衡器以使用不同的VIP。 例如,如果您執行下列 PowerShell 命令,您會將負載平衡集變更為使用名為 Vip1 的 VIP:

Set-AzureLoadBalancedEndpoint -ServiceName myService -LBSetName myLBSet -VirtualIPName Vip1

後續步驟

Azure Load Balance 的 Azure 監視器記錄

因特網對向負載平衡器概觀

開始使用因特網對向負載平衡器

虛擬網路概觀

保留的IP REST API