從基本公用負載平衡器升級至標準公用負載平衡器
重要
Basic Load Balancer 將於 2025 年 9 月 30 日淘汰。 如需詳細資訊,請參閱官方公告。 如果您目前使用的是 Basic Load Balancer,請務必在淘汰日期之前升級至 Standard Load Balancer。
Azure Standard Load Balancer 可透過區域備援提供一組豐富的功能和高可用性。 如果要深入了解 Azure Load Balancer SKU,請參閱比較資料表。
升級分成兩個階段:
將 IP 配置方法從動態變更至靜態。
執行 PowerShell 指令碼,以完成升級和流量移轉。
升級概觀
提供可執行下列程序的 Azure PowerShell 指令碼:
使用您在基本負載平衡器的相同資源群組中所指定的位置,建立標準負載平衡器
將公用 IP 位址從基本 SKU 就地升級至標準 SKU
將基本負載平衡器的設定複製到新建立的標準負載平衡器
建立啟用輸出連線的預設輸出規則
限制
指令碼僅支援公用負載平衡器的升級。 如需升級內部基本負載平衡器,請參閱從基本內部負載平衡器升級至標準內部負載平衡器 - Azure Load Balancer以取得指示和詳細資訊
在執行指令碼之前,務必將公用 IP 位址的配置方法變更為靜態
如果負載平衡器沒有前端 IP 設定或後端集區,執行指令碼時會發生錯誤。 請確定負載平衡器具有前端 IP 和後端集區。
指令碼無法將虛擬機器擴展集從基本 Load Balancer 的後端移轉至 Standard Load Balancer 的後端。 如需此類升級,請參閱升級與虛擬機器擴展集搭配使用的基本負載平衡器,以取得指示和詳細資訊。
將公用 IP 位址的配置方法變更為靜態
以下為變更配置方法的建議步驟。
登入 Azure 入口網站。
在左側功能表中,選取 [所有資源]。 從資源清單中選取與基本負載平衡器相關聯的基本公用 IP 位址。
在基本公用 IP 位址的 [設定]中,選取 [設定]。
在 [指派] 選取 [靜態]。
選取 [儲存]。
注意
對於具有公用 IP 的虛擬機器,必須先建立標準 IP 位址。 不保證 IP 位址會相同。 將 VM 與基本 IP 解除關聯,並與新建立的標準 IP 位址建立關聯。 然後就能依照指示,將 VM 新增至標準 Azure Load Balancer 後端集區。
建立新的 VM 以新增新的標準負載平衡器至後端集區
- 如果要建立虛擬機器並與負載平衡器建立關聯,請參閱建立虛擬機器。
下載指令碼
從 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 AzurePublicLBUpgrade
此命令也會安裝必要的 Az PowerShell 模組。
直接使用指令碼來安裝
如果您已安裝一些 Azure PowerShell 模組,但無法將它解除安裝 (或不想將它解除安裝),您可以使用指令碼下載連結中的 [手動下載] 索引標籤,以手動下載指令碼。 指令碼會以原始 nupkg 檔案形式下載。 如果要從此 nupkg 檔案安裝指令碼,請參閱手動下載套件
執行指令碼:
使用
Connect-AzAccount
連線至 Azure。使用
Import-Module Az
匯入 Az PowerShell 模組。檢查必要參數:
oldRgName: [String]: Required - 此參數是您想要升級的現有基本負載平衡器的資源群組。 如果要尋找此字串值,請瀏覽至 Azure 入口網站、選取您的基本負載平衡器來源,然後選取負載平衡器的 [概觀]。 資源群組位於該頁面上。
oldLBName: [String]: Required - 此參數為您想要升級的現有基本負載平衡器名稱。
newLBName: [String]: Required - 此參數是所要建立的標準負載平衡器名稱。
使用適當的參數執行指令碼。 可能需要五到七分鐘才能完成。
範例
AzurePublicLBUpgrade.ps1 -oldRgName "test_publicUpgrade_rg" -oldLBName "LBForPublic" -newLbName "LBForUpgrade"
建立供輸出存取使用的 NAT 閘道
指令碼會建立可供啟用輸出連線的輸出規則。 建議以 Azure 虛擬網路 NAT 服務處理輸出連線。 如需 Azure 虛擬網路 NAT 的詳細資訊,請參閱什麼是 Azure 虛擬網路 NAT?
如果要建立 NAT 閘道資源並與虛擬網路的子網路建立關聯,請參閱建立 NAT 閘道。
常見問題
將設定從 v1 移轉至 v2 的 Azure PowerShell 指令碼是否有任何限制?
是。 請參閱條件約束。
升級需要多久的時間?
指令碼通常需要幾分鐘才會完成,甚至可能更耗時,視您的負載平衡器設定的複雜度而定。 因此請留意停機時間,並視需要規劃容錯移轉。
Azure PowerShell 指令碼是否也會將基本負載平衡器的流量,切換至新建立的標準負載平衡器?
是。 Azure PowerShell 指令碼會升級公用 IP 位址、將設定從基本複製到標準負載平衡器,並將虛擬機器移轉至新建立的公用標準負載平衡器。