設定 Apigee API Hub 的 Private Cloud 連接器

本節將詳細說明 Apigee API Hub for Private Cloud 連接器的設定步驟,包括網路、驗證和機構專屬設定。

網路和驗證設定

  1. 允許連接埠:Apigee API Hub for Private Cloud 連接器必須連線至管理伺服器,才能取得必要的 API 中繼資料,因此連接器必須能連線至管理伺服器的連接埠 8080 和 443。
  2. Google Cloud Platform 服務的憑證式驗證:Private Cloud 適用的 Apigee API Hub 連接器會與 Google Cloud 服務通訊,並需要權杖進行驗證。這是透過服務帳戶金鑰建立模擬權杖來達成。

    • 用於產生權杖的服務帳戶:建立專門用於產生權杖的新服務帳戶。這個服務帳戶必須具備 Token Creator 角色。
    • 產生及下載服務帳戶金鑰
      • 按照「建立服務帳戶金鑰」一文中的步驟,為權杖產生服務帳戶產生 JSON 金鑰。
      • 下載這個金鑰檔案 (例如下載到 Apigee API Hub for Private Cloud 連接器 VM 的 /opt/apigee/keys/uapim.key)。
    • 設定 GOOGLE_APPLICATION_CREDENTIALS:啟動 Apigee API Hub for Private Cloud 連接器時,您需要透過環境變數提供這個檔案的路徑:
      export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
  3. 管理 API 驗證 (UAPIM_MGMT_AUTH):Apigee API Hub for Private Cloud 連接器需要憑證,才能呼叫 Apigee Management API。為確保安全和自動化,請在 Apigee 中使用機器使用者,而非真人使用者。

    在 Apigee 中建立機器使用者:

    1. 建立使用者
      • 在 Apigee 控制台中,建立機器使用者 (或系統使用者)。如要進一步瞭解使用者和角色,請參閱「自動產生權杖」。
      • 指派電子郵件地址 (用於識別) 和說明名稱 (例如uapim-connector-user)。
    2. 指派角色:將下列角色指派給機器使用者:
      • Apigee API 管理員:這個角色可存取管理 API,讓 Apigee API Hub for Private Cloud 連接器與 Apigee 的管理系統互動 (例如擷取中繼資料或管理 API 設定)。

產生 Base64 編碼的憑證:

  1. 為機器使用者產生使用者名稱/密碼組合。
  2. 以 Base64 編碼憑證:echo -n 'username:password' | base64
  3. 使用 Base64 編碼值設定 $UAPIM_MGMT_AUTH 環境變數:
    export UAPIM_MGMT_AUTH=USERNAME_PASSWORD

    其中 USERNAME_PASSWORD 是使用者名稱和密碼配對的 Base64 編碼值。

    啟動 Apigee API Hub for Private Cloud 連接器前,請務必設定這個環境變數。

設定 Apigee API Hub 的 Private Cloud 連接器

開啟設定檔 /opt/apigee/customer/application/uapim-connector.properties,指定要將資料上傳至 API 中心的 Apigee 機構。您可能有多個外掛程式例項或多個 API 中心例項。

  conf_uapim.settings.json={\
    "connectorConfig" : { \
      "org1" : { \
        "runtimeDataPubsub" : "", \
        "metadataPubsub":"", \
        "serviceAccount": "mysa1@in.myfirstProject",\
        "pluginInstanceId":"aaaa" \
      },\
      "org2" : { \
        "runtimeDataPubsub" : "", \
        "metadataPubsub":"",\
        "serviceAccount": "mysa2@in.mySecondProject",\
        "pluginInstanceId":"bbbbb", \
      } 
    },
    "runtimeDataPath":"/the/nfs/mounted/path", \    
    "managementServer": "hostname"
  } 

設定 JSON 說明

  • connectorConfig 區段
    • 這是對應,每個鍵都是 Apigee 機構名稱 (例如 org1、org2)。
    • 每個機構項目都包含下列欄位,這些欄位是在外掛程式建立步驟中取得:
      • runtimeDataPubsub:這個機構的執行階段 (分析) 資料 Pub/Sub 主題。
      • metadataPubsub:這個機構的 API 中繼資料 Pub/Sub 主題。
      • serviceAccount:用於驗證的服務帳戶 (例如 mysa1@in.myfirstProject.iam.gserviceaccount.com),可將資料寫入這個機構的 Pub/Sub。
      • pluginInstanceId:與這個機構相關聯的外掛程式專屬執行個體 ID。
  • runtimeDataPath 區段:提供 NFS 掛接的路徑,訊息處理器會將 Analytics (AX) 資料寫入該路徑。這必須與訊息處理器上設定的路徑相同。
  • managementServer 區段:Apigee 管理伺服器網址的主機名稱或 IP 位址。
  • 環境變數 UAPIM_MGMT_AUTH:這個環境變數是從外部設定,包含存取管理伺服器的 Base64 編碼 username:password

新增轉送 Proxy 設定

在同一個 /opt/apigee/customer/application/uapim-connector.properties 檔案中新增轉送 Proxy 設定

  1. conf_http_client_service_jetty.proxy.enabled=true
  2. conf_http_client_service_jetty.proxy.host=
  3. conf_http_client_service_jetty.proxy.port=
  4. conf_http_client_service_jetty.proxy.user=
  5. conf_http_client_service_jetty.proxy.password=

連接器必須連線至下列外部來源,才能正常運作:

  • pubsub.googleapis.com:443
  • oauth2.googleapis.com:443
  • iamcredentials.googleapis.com:443

如果連接器無法直接連線至外部來源,但可透過轉送 Proxy 連線,使用者就必須透過下列設定提供轉送 Proxy 設定,並確保上述外部來源已加入允許清單。

啟動 Private Cloud Connector 適用的 Apigee API 中心

設定所有設定後,請使用 Apigee 服務指令啟動 Apigee API Hub for Private Cloud 連接器:

apigee-service edge-uapim-connector start