確保 API 管理可用性與可靠性
適用於:進階版
本文概述服務功能,以確保發生 Azure 中斷時,您的 API 管理 實例會繼續為 API 要求提供服務。
API 管理 為可靠且具復原性的 Azure 解決方案提供下列功能。 個別或一起使用它們來增強可用性:
可用性區域:數據中心層級中斷的復原能力
多區域部署:區域中斷的復原能力
注意
- 進階層支援可用性區域和多區域部署。
- 如需設定,請參閱將 API 管理 移轉至可用性區域支援,並在多個區域中部署 API 管理。
可用性區域
實際上,在可容忍資料中心層級失敗的 Azure 區域中,Azure 可用性區域的位置都不同。 每個區域皆由一或多個配備獨立電力、冷卻系統及網路基礎結構的資料中心所組成。 為確保復原能力,所有已啟用可用性區域的區域最少都會有 3 個不同的可用性區域。 深入了解
為支援區域中的 API 管理執行個體啟用區域備援,可為所有服務元件提供備援:閘道、管理平面與開發人員入口網站。 Azure 會自動在您選取的區域之間複寫所有服務元件。
當您在某區域中啟用區域備援時,請考慮需要散發的 API 管理縮放單位數目。 至少設定與可用性區域數目相同的單位數目,或設定多個單位,讓單位平均散發到區域之間。 例如,若您在某區域中選取 3 個可用性區域,則可能會有 3 個單位,讓每個區域都裝載一個單位。
多區域部署
透過多區域部署,您可以將區域 API 閘道新增至一或多個支援的 Azure 區域中現有的 APIM 執行個體。 多區域部署有助降低異地散發 API 取用者感知的要求延遲,且改善區域離線時的服務可用性。
只會將 APIM 執行個體的閘道元件複寫至多個區域。 執行個體的管理平面與開發人員入口網站只會裝載於「主要」區域,也就是您最初部署服務的區域。
如果想要在虛擬網路中部署 (插入) APIM 執行個體時為該執行個體設定次要位置,VNet 和子網路區域應該與您設定的次要位置相符。 如果要在主要區域中新增、移除或啟用可用性區域,或是要變更主要區域的子網路,則 APIM 執行個體的 VIP 位址將會變更。 如需詳細資訊,請參閱 Azure APIM 服務的 IP 位址。 不過,如果要新增次要區域,則主要區域的 VIP 不會變更,因為每個區域都有自己的私人 VIP。
API 與原則定義等閘道設定會在您新增的主要與次要區域之間定期同步處理。 將更新傳播至區域閘道通常需要不到 10 秒的時間。 多區域部署可在多個區域中提供 API 閘道的可用性,並在一個區域離線時提供服務可用性。
當 APIM 收到對流量管理員端點的公用 HTTP 要求 (適用於 APIM 的外部 VNet 和非網路模式) 時,系統會根據最低的延遲,將流量路由傳送至區域閘道,對於分散在不同地理位置的 API 取用者,這可降低其所經歷的延遲。 在內部 VNet 模式中,客戶必須設定自己的解決方案,以跨區域閘道路由傳送流量及負載其平衡。 如需詳細資訊,請參閱網路考量。
每個區域 (包括主要區域) 中的閘道都有遵循
https://<service-name>-<region>-01.regional.azure-api.net
URL 模式的區域 DNS 名稱,例如https://contoso-westus2-01.regional.azure-api.net
。若區域離線,則會自動在失敗區域周圍將 API 要求路由至下一個最接近的閘道。
若主要區域離線,則 API 管理管理平面與開發人員入口網站會變得無法使用,但次要區域會繼續使用最新的閘道設定來提供 API 要求的服務。
合併可用性區域與多區域部署
在區域內備援的可用性區域,加上在發生區域中斷時改善閘道可用性的多區域部署,有助於增強 APIM 執行個體的可靠性與效能。
範例:
使用可用性區域來改善多區域部署中主要區域的復原性
將縮放單位散發到可用性區域與區域,以增強區域閘道效能
SLA 考量
當您在兩個或多個可用性區域或區域中部署至少一個單位時,API 管理會提供 99.99% 的 SLA。 如需詳細資訊,請參閱定價。
注意
雖然 Azure 在雲端平台的 SLA 中持續努力實現盡可能高的復原性,但您必須為解決方案中的其他元件定義自己的目標 SLA。
後端可用性
視後端服務裝載的位置與方式而定,您可能需要在不同區域中設定備援後端,以符合服務可用性的需求。 您也可以設定後端屬性以改善後端服務的復原能力和可用性。
區域後端
您可以管理區域後端,並透過 API 管理來處理容錯移轉,以維護可用性。 例如:
在多區域部署中,使用原則透過區域閘道將要求路由至區域後端。
若特定區域中發生後端失敗,請設定原則,有條件地將要求路由傳送至不同的後端。
使用快取來減少失敗的呼叫。
如需詳細資料,請參閱部落格文章使用 Azure API 管理員的後端 API 備援 (英文)。
設定後端屬性以實現可用性
API 管理後端實體可讓您管理和套用後端屬性,以改善後端的可用性。 例如:
下一步
- 深入了解 Azure 中的可靠性
- 深入了解設計可靠的 Azure 應用程式
- 閱讀 Azure Well-Architected Framework 中的 API 管理與可靠性