本節將詳細說明 Apigee API Hub for Private Cloud 連接器的設定步驟,包括網路、驗證和機構專屬設定。
網路和驗證設定
- 允許連接埠:Apigee API Hub for Private Cloud 連接器必須連線至管理伺服器,才能取得必要的 API 中繼資料,因此連接器必須能連線至管理伺服器的連接埠 8080 和 443。
- 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
- 用於產生權杖的服務帳戶:建立專門用於產生權杖的新服務帳戶。這個服務帳戶必須具備
- 管理 API 驗證 (UAPIM_MGMT_AUTH):Apigee API Hub for Private Cloud 連接器需要憑證,才能呼叫 Apigee Management API。為確保安全和自動化,請在 Apigee 中使用機器使用者,而非真人使用者。
在 Apigee 中建立機器使用者:
- 建立使用者:
- 在 Apigee 控制台中,建立機器使用者 (或系統使用者)。如要進一步瞭解使用者和角色,請參閱「自動產生權杖」。
- 指派電子郵件地址 (用於識別) 和說明名稱 (例如
uapim-connector-user
)。
- 指派角色:將下列角色指派給機器使用者:
- Apigee API 管理員:這個角色可存取管理 API,讓 Apigee API Hub for Private Cloud 連接器與 Apigee 的管理系統互動 (例如擷取中繼資料或管理 API 設定)。
- 建立使用者:
產生 Base64 編碼的憑證:
- 為機器使用者產生使用者名稱/密碼組合。
- 以 Base64 編碼憑證:
echo -n 'username:password' | base64
- 使用 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 設定
conf_http_client_service_jetty.proxy.enabled=true
conf_http_client_service_jetty.proxy.host=
conf_http_client_service_jetty.proxy.port=
conf_http_client_service_jetty.proxy.user=
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