確保 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 取用者,這可降低其所經歷的延遲。

  • 每個區域 (包括主要區域) 中的閘道都有遵循 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 管理後端實體可讓您管理和套用後端屬性,以改善後端的可用性。 例如:

  • 將流量分散並負載平衡至 URL集區
  • 設定 斷路器規則 以套用斷路器模式,以保護後端免於太多要求

下一步