無停機時間重建 Apigee 執行個體

本頁內容適用於 Apigee,但不適用於 Apigee Hybrid

查看 Apigee Edge 說明文件。

本文說明如何重建 Apigee 執行個體,而不必擔心 API 管理服務停機或資料遺失。

簡介

2022 年 1 月 25 日前建立的 Apigee 執行個體,網際網路通訊協定 (IP) 位址空間不足,無法讓 Apigee 工作負載擴充,以處理不斷增加的 API 流量,也無法讓您在執行個體中新增超過 10 個環境。

Apigee 已在 2022 年 1 月 24 日推出強化功能,解決這個問題。這項強化功能可減少虛擬私有雲網路與 Apigee 建立對等互連所需的 IP 範圍,並使用私用公開 IP (PUPI),讓工作負載擴充至更高上限。

需要採取的行動

如果您是在 2022 年 1 月 25 日前建立 Apigee 執行個體,建議您按照本文說明,將其換成新的執行個體。如未重新建立舊版執行個體,您可能會遇到擴縮問題,且可新增至執行個體的環境數量仍會限制為 10 個。此外,您的執行個體可能無法再定期更新,進而影響 API 服務。

判斷執行個體的建立日期

如要判斷 Apigee 執行個體的建立日期,請按照下列步驟操作:

  1. 列出機構中所有 Apigee 執行個體的詳細資料:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
    
    curl -i -X GET -H "$AUTH" \
    "https://apigee.googleapis.com/v1/organizations/PROJECT_ID/instances"

    其中:

    • AUTH 是含有不記名權杖的驗證標頭。請務必將 gcloud 的預設專案設為 PROJECT_ID
    • PROJECT_ID 是您在佈建 Apigee 時建立的 Cloud 專案 ID。

    輸出範例:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "host": "10.117.200.2",
          "port": "443",
          "createdAt": "1642698826000",
          "lastModifiedAt": "1655745226000",
          "diskEncryptionKeyName": "projects/myproject/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key",
          "state": "ACTIVE",
          "peeringCidrRange": "SLASH_22",
          "runtimeVersion": "1-8-0-apigee-33",
          "ipRange": "10.117.200.0/22,10.81.174.192/28",
          "consumerAcceptList": [
            "myproject"
          ],
          "serviceAttachment": "projects/z11f28c6f3104980e-tp/regions/us-west1/serviceAttachments/apigee-us-west1-lbko"
        }
      ]
    }
  2. 針對每個執行個體,解碼 Unix 時間戳記以取得日期,然後檢查 createdAt 欄位的值。
    • 如果執行個體是在 2022 年 1 月 25 日當天或之後建立,則無須再採取任何動作。
    • 如果執行個體是在 2022 年 1 月 25 日前建立,建議您按照本文所述更換執行個體。

關於重建程序

如要重新建立執行個體,且期間不會發生停機或資料遺失的情況,請先在新的 (擴充) 區域中建立新的執行個體,然後將 API 流量導向該執行個體。接著,您可以排空現有執行個體,然後刪除,並在與刪除的執行個體相同的區域中重新建立執行個體。

Apigee 提供了一組指令碼,可執行所有必要步驟,重新建立及設定執行個體。本文件稍後會提供指令碼的連結。

必要條件

開始執行個體重建步驟前:

  • 您必須熟悉 Apigee 執行個體的建立方式。重建執行個體的步驟取決於您是否瞭解原始執行個體的設定詳細資料。
  • 您必須有權在至少兩個區域佈建 Apigee。如果不確定自己是否有足夠的授權,請按照步驟在新區域中建立執行個體。如果沒有適當的授權,嘗試操作會失敗並顯示限制錯誤。在這種情況下,請與 Apigee 支援團隊聯絡,取得暫時例外狀況,以提高區域限制。如果您已獲得兩個以上區域的授權,建議您申請臨時例外狀況,以免在重建程序期間,以減少的執行個體執行正式工作負載。
  • 專案中必須有足夠空間,才能容納 /22/28 區塊的額外 IP 範圍,以便建立新執行個體。另請參閱「網路大小」。執行個體重建完成後,您可以在刪除額外區域時釋出這些範圍。請注意,/22 區塊可由您設定。您可以選擇 Apigee 要使用的 /28 區塊,或是不選擇,由 Apigee 從任何可用區塊自動指派。

重新建立執行個體

Apigee 提供了一組指令碼,可執行重建執行個體所需的所有步驟。

  1. 請務必符合必要條件
  2. 從 GitHub 下載指令碼
  3. 按照 Git 存放區 README 檔案中的步驟建立新執行個體。
  4. 重新設定北向和南向連線,指向新的 Apigee 執行個體。 請參閱「關於北向變更」和「關於南向變更」。

關於北向異動

北向是指外部或內部用戶端透過負載平衡器傳輸至 Apigee 的 API 流量。刪除並重新建立執行個體後,新執行個體的北向 IP 位址和 Private Service Connect (PSC) 服務連結 ID 會變更。

提供的指令碼會為您重新設定負載平衡器的後端。如果執行個體的網路路由是透過代管執行個體群組 (MIG) 設定,提供的指令碼會重新建立 MIG,將流量 Proxy 至 Apigee 端點,並將 MIG 附加為現有後端服務的後端。如果路由是透過 Private Service Connect (PSC) 設定,指令碼會重新建立網路端點群組 (NEG) 至 Apigee 的服務端點連結,並將新的 NEG 做為後端附加至現有的後端服務。

請注意,您不必變更與舊例項相關聯的任何環境群組中的主機名稱記錄。

南向變更

南向是指從 Apigee 到 API Proxy 目標服務的 API 流量。

刪除並重新建立執行個體時,系統會釋出所有專屬的南向 NAT IP 位址。因此,您必須為 NAT 保留並啟用新的 IP 位址,並重新設定目標端點的防火牆/允許清單。如有需要,其中一個提供的指令碼會為您處理這項 NAT 重新設定作業。