將 Azure Static Web Apps 重新放置到另一個區域
本文說明如何將 Azure Static Web Apps 資源重新放置到另一個 Azure 區域。
有各種原因讓您想要將現有的 Azure 資源從某個區域移至另一個區域。 您可能想要:
- 利用新的 Azure 區域。
- 只部署特定區域中可用的功能或服務。
- 符合內部原則和治理需求。
- 與公司合併和收購保持一致
- 符合容量規劃需求。
必要條件
準備重新放置之前,請先檢閱下列必要條件。
請確定您有權在目標區域中建立 Static Web Apps 應用程式資源。
了解是否有任何 Azure 原則區域限制套用至您的組織。
若使用 Azure Functions 提供的整合式 API 支援:
- 判斷目標區域中 Azure Functions 的可用性。
- 判斷是否使用函式 API 金鑰。 例如,您是否使用 Key Vault,或將其部署為應用程式組態檔的一部分?
- 決定目標區域中 API 支援的部署模型: 自備函式。 了解兩種模型之間的差異。
確定標準主控方案是用來裝載 Static Web Apps。 如需主控方案的詳細資訊,請參閱 Azure Static Web Apps 主控方案。
判斷重新放置的允許停機時間。
根據您的 Azure Static Web Apps 部署,在重新放置之前,可能需要在目標區域部署和設定以下相依資源:
停機
Azure Static Web 網站的重新放置會讓應用程式停機。 停機時間會受到您為 Azure Static Web 網站實作的高可用性模式所影響。 一般模式如下:
- 冷待命:工作負載資料會根據其需求定期備份。 萬一發生災害,工作負載會在新的 Azure 區域中重新部署,並還原資料。
- 暖待命:工作負載會部署在商務持續性和災害復原 (BCDR) 區域中,並以非同步或同步方式複寫資料。 發生災害時,災害復原 (DR) 區域中的部署會擴大和擴增。
- 多區域:工作負載會部署在兩個區域中,且資料會同步複寫。 這兩個區域都有可寫入的資料複本。 實作可以是主動/被動或主動/主動。
準備
使用私人端點進行部署
如果您的 Static Web Apps 是使用私人端點部署,請務必:
- 更新連線端點的主機名稱。
- 更新 DNS 私人區域或自訂 DNS 伺服器上的主機名稱 (僅適用於 Private Link)。
如需詳細資訊,請參閱在 Azure Static Web Apps 中設定私人端點。
所有其他部署
針對所有其他部署類型,請務必:
如果適用,請從新區域中的 Azure Functions 擷取新的函式 API 金鑰。
如果 Azure 函式相依於資料庫,請確定
DATABASE_CONNECTION_STRING
已更新。 此資料庫可能不在區域移轉的範圍內。更新自訂網域以指向 Static Web Apps 的新主機名稱。
如果使用 Key Vault,請在目標區域中佈建新的 Key Vault。 如果適用,請更新 Key Vault 中的函式 API 金鑰。 任何其他不儲存在程式碼或組態檔中的敏感性資料都應該儲存在此Key Vault 中
匯出範本
若要匯出包含描述 Static Web Apps 設定的 Resource Manager 範本:
登入 Azure 入口網站。
前往您的靜態 Web 應用程式。
從左側功能表中,選取位於 [自動化] 下方的 [匯出範本]。
範本可能需要一些時間才能產生。
選取 [下載]。
找出下載的
.zip
檔案,並將其開啟至您選擇的資料夾。此檔案包含
.json
檔案,內含範本和用來部署範本的指令碼。對範本進行必要的變更,例如使用目標區域更新位置。
重新放置
使用下列步驟將 Static Web Apps 重新放置到另一個區域。
如果您要使用私人端點重新放置,請遵循將 Azure Private Link 服務重新放置到另一個區域中的指導方針。
如果您已將現有的 Azure Functions 提供給 Static Web Apps,請遵循 Azure Functions 的重新放置程序。
使用您在上一節中匯出和設定的範本,重新部署 Static Web Apps。
重要
如果您並未使用自訂網域,則應用程式的 URL 會在目標區域中變更。 在此案例中,請確定使用者知道 URL 變更。
如果您使用整合式 API,請建立 Azure Functions 支援的新整合 API。
重新設定您的存放庫 (GitHub 或 Azure DevOps) 以部署至目標區域中新部署的 Static Web Apps。 使用 GitHub 動作或 Azure Pipelines 起始應用程式的部署。
使用「冷待命」部署,請務必通知用戶端有關新的 URL。 如果您使用自訂 DNS 網域,只要將 DNS 項目變更為指向目標區域即可。 使用「暖待命」部署時,負載平衡器如 Front Door 或流量管理員會處理來源區域中 Static Web Apps 到目標區域的移轉。