升級內部負載平衡器 - 需要輸出連線

警告

本檔已不再使用,且已由使用PowerShell升級基本負載平衡器取代

重要

Basic Load Balancer 將於 2025 年 9 月 30 日淘汰。 如需詳細資訊,請參閱官方公告。 如果您目前使用的是 Basic Load Balancer,請務必在淘汰日期之前升級至 Standard Load Balancer。

標準 Azure Load Balancer 可透過區域備援來提供更豐富的功能和高可用性。 如需 Azure Load Balancer SKU 的詳細資訊,請參閱 Azure Load Balancer SKU。 標準內部 Azure Load Balancer 不提供輸出連線能力。 本文中的 PowerShell 指令碼,會將基本負載平衡器設定移轉至標準公用負載平衡器。

升級共有四個階段:

  1. 將設定移轉至標準公用負載平衡器

  2. 將虛擬機器新增至標準公用負載平衡器後端集區

  3. 針對需要網際網路連線限制的子網路和虛擬機器,建立網路安全性群組 (NSG) 規則

本文章內容涵蓋設定移轉。 依您的特定環境,將 VM 新增至後端集區的情況可能會有所不同。 如需建議,請參閱本文後段的將 VM 新增至後端集區

升級概觀

提供可執行下列程序的 Azure PowerShell 指令碼:

  • 在您指定的資源群組和位置,建立標準公用負載平衡器。

  • 將基本內部負載平衡器的設定複製到新建立的標準公用負載平衡器。

  • 建立啟用輸出連線的輸出規則。

限制

  • 在需要輸出連線的情況下,指令碼會支援內部負載平衡器的升級。 如果不需要輸出連線,請參閱升級內部基本負載平衡器 - 不需要輸出連線

  • 標準負載平衡器具有新的公用位址。 現有基本內部負載平衡器相關聯的 IP 位址,無法移動到標準公用負載平衡器,因為 SKU 並不相同。

  • 如果是在不同區域中建立標準負載平衡器,就無法將舊區域中現有的 VM 與新建立的標準負載平衡器建立關聯。 如果要避免受到此條件約束,請務必在新區域中建立新的 VM。

  • 如果負載平衡器沒有前端 IP 設定或後端集區,執行指令碼時會發生錯誤。 請確定負載平衡器具有前端 IP 和後端集區。

  • 指令碼無法將虛擬機器擴展集從基本 Load Balancer 的後端移轉至 Standard Load Balancer 的後端。 如需此類升級,請參閱升級與虛擬機器擴展集搭配使用的基本負載平衡器,以取得指示和詳細資訊。

下載指令碼

PowerShell 資源庫下載移轉指令碼。

使用指令碼

根據本機 PowerShell 環境設定和喜好設定,有兩個選項可供選擇:

  • 如果您未安裝 Az PowerShell 模組,或不介意解除安裝 Az PowerShell 模組,請使用 Install-Script 選項來執行指令碼。

  • 如果您需要保留 Az PowerShell 模組,請下載指令碼並直接執行。

若要判斷您是否已安裝 Az PowerShell 模組,請執行 Get-InstalledModule -Name az。 如果未安裝 Az PowerShell 模組,您可以使用 Install-Script 方法。

使用 Install-Script 來安裝

若要使用此選項,您的電腦上不得安裝 Az PowerShell 模組。 如果已安裝,下列命令就會顯示錯誤。 解除安裝 Az PowerShell 模組,或者使用其他選項,手動下載指令碼並執行。

使用下列命令來執行指令碼:

Install-Script -Name AzureLBUpgrade

此命令也會安裝必要的 Az PowerShell 模組。

直接使用指令碼來安裝

如果您已安裝一些 Azure PowerShell 模組,但無法將它們解除安裝 (或不想將它們解除安裝),您可以使用指令碼下載連結中的 [手動下載] 索引標籤,以手動下載指令碼。 指令碼會以原始 nupkg 檔案形式下載。 如果要從此 nupkg 檔案安裝指令碼,請參閱手動下載套件

執行指令碼:

  1. 使用 Connect-AzAccount 連線至 Azure。

  2. 使用 Import-Module Az 匯入 Az PowerShell 模組。

  3. 檢查必要參數:

    • oldRgName: [String]: Required - 此參數是您想要升級的現有基本負載平衡器的資源群組。 如果要尋找此字串值,請瀏覽至 Azure 入口網站、選取您的基本負載平衡器來源,然後選取負載平衡器的 [概觀]。 資源群組位於該頁面上。

    • oldLBName: [String]: Required - 此參數是您想要升級的現有基本負載平衡器的名稱。

    • newrgName: [String]: Required - 此參數是建立標準負載平衡器的資源群組。 可以是全新的資源群組或現有的資源群組。 如果選擇現有的資源群組,請注意負載平衡器的名稱在資源群組間不得重複。

    • newrgName: [String]: Required - 此參數是建立標準負載平衡器的位置。 建議您選擇與基本負載平衡器相同的位置,以確保現有資源具關聯性。

    • newLBName: [String]: Required - 此參數是所要建立的標準負載平衡器名稱。

  4. 使用適當的參數執行指令碼。 可能需要五到七分鐘才能完成。

    範例

    AzureLBUpgrade.ps1 -oldRgName "test_publicUpgrade_rg" -oldLBName "LBForPublic" -newRgName "test_userInput3_rg" -newLocation "centralus" -newLbName "LBForUpgrade"
    

將 VM 新增至標準負載平衡器後端集區

請確認指令碼是否已成功建立新的標準公用負載平衡器,並使用與您的基本內部負載平衡器完全相同的設定。 您可以在 Azure 入口網站確認設定。

務必透過標準負載平衡器傳送少量流量作為手動測試。

下列案例說明如何將 VM 新增至新建立的標準公用負載平衡器後端集區,以及針對每個案例的建議:

  • 將現有的 VM 從舊的基本內部負載平衡器後端集區移至新的標準公用負載平衡器後端集區

    1. 登入 Azure 入口網站

    2. 在左側功能表中,選取 [所有資源]。 從資源清單中選取新的標準負載平衡器

    3. 在負載平衡器的 [設定] 頁面中,選取 [後端集區]

    4. 選取與基本負載平衡器後端集區相符合的後端集區。

    5. 選取 [虛擬機器]

    6. 選取與基本負載平衡器相符合的 VM。

    7. 選取 [儲存]

    注意

    對於具有公用 IP 的虛擬機器,必須先建立標準 IP 位址。 不保證 IP 位址會相同。 將 VM 與基本 IP 解除關聯,並與新建立的標準 IP 位址建立關聯。 然後就能依照指示,將 VM 新增至標準 Azure Load Balancer 後端集區。

  • 建立新的 VM 將新標準公用負載平衡器新增至後端集區

    • 如果要建立虛擬機器並與負載平衡器建立關聯,請參閱建立虛擬機器

建立供輸出存取使用的 NAT 閘道

指令碼會建立可供啟用輸出連線的輸出規則。 Azure NAT 閘道是輸入連線的建議服務。 如需 Azure NAT 閘道的詳細資訊,請參閱什麼是 Azure NAT 閘道?

如果要建立 NAT 閘道資源並與虛擬網路的子網路建立關聯,請參閱建立 NAT 閘道

針對需要網際網路連線限制的子網路和虛擬機器,建立網路安全性群組 (NSG) 規則

如需關於建立網路安全性群組和限制網際網路流量的詳細資訊,請參閱建立、變更或刪除 Azure 網路安全性群組

常見問題

將設定從 v1 移轉至 v2 的 Azure PowerShell 指令碼是否有任何限制?

是。 請參閱條件約束

Azure PowerShell 指令碼是否也會將基本負載平衡器的流量切換至新建立的標準負載平衡器?

否。 Azure PowerShell 指令碼只會移轉設定。 實際流量移轉是您的責任並在您的掌控之中。

下一步

深入了解 Azure Load Balancer