本頁面適用於 Apigee,但不適用於 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本節說明如何管理 Apigee 執行個體的 NAT IP。
Apigee 提供暫時 IP 和專屬 IP。在多數情況下,暫時性 IP 就足夠了。如果後端不需要 IP 許可清單,您就不需要管理 NAT IP,Apigee 會自動為出口分配臨時 IP。
如果您需要 IP 許可清單,可以保留及啟用 IP,讓 Apigee 使用靜態 IP 處理出站流量。
設定 Apigee NAT IP 佈建
如要為 Apigee 執行個體設定 NAT IP 佈建:
- 建立並填入下列環境變數:
變數
PROJECT_ID=YOUR_PROJECT_ID
ORG_ID=YOUR_ORG_ID
INSTANCE_NAME=YOUR_INSTANCE_NAME
NAT_ID=1st_NAT_IP_ID
範例
PROJECT_ID=apigee-saas-prod
ORG_ID=apigee-saas-prod
INSTANCE_NAME=prod-us-west1-instance1
NAT_ID=nat-1
其中:
- YOUR_PROJECT_ID 是您在必要條件中建立的 Cloud 專案 ID。如果不確定專案 ID,請使用 Cloud 控制台或
gcloud projects list
指令尋找。 - YOUR_ORG_ID 是您的 Apigee 機構 ID。
- YOUR_INSTANCE_NAME 是 Apigee 執行個體的名稱。
- 1st_NAT_IP_ID 是您指派給此 NAT IP 位址的名稱,例如
nat-1
。這個參數的值不得超過 20 個字元。
- YOUR_PROJECT_ID 是您在必要條件中建立的 Cloud 專案 ID。如果不確定專案 ID,請使用 Cloud 控制台或
- 使用下列指令保留 NAT IP:
-
在指令列中取得
gcloud
驗證憑證,如以下範例所示:TOKEN=$(gcloud auth print-access-token)
如要確認權杖是否已填入,請使用
echo
,如以下範例所示:echo $TOKEN
權杖應會以編碼字串的形式顯示。
如需詳細資訊,請參閱 gcloud 指令列工具總覽。
- 預留 NAT IP 的指令會傳回長時間執行作業。因此,如上所示的指令會將輸出結果指派給變數
operation_name
:operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses" \ -X POST -H "content-type:application/json" -d "{\"name\":\"${NAT_ID}\"}" | jq -r '.name')
- 執行下列要求,輪詢長時間執行的作業,直到顯示
done: true
狀態為止:curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
-
- 作業完成後,請使用下列指令啟用 NAT IP:
- 啟用 IP,並將長時間執行作業名稱指派給
operation_name
:operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}:activate" \ -X POST -H "content-type:application/json" -d "{}" | jq -r '.name')
- 輪詢長時間執行作業,直到顯示
done: true
狀態為止:curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
- 啟用 IP,並將長時間執行作業名稱指派給
- 針對需要設定的每個 NAT IP,重複執行這項程序,並使用新的 NAT IP 名稱。
正在擷取 NAT IP
使用下列指令,列出執行個體的 NAT IP:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses"
回應範例如下:
{ "natAddresses": [ { "name": "nat-1", "ipAddress": "35.203.160.18", "state": "ACTIVE" }, { "name": "nat-2", "ipAddress": "35.230.14.174", "state": "RESERVED" }, { "name": "nat-3", "state": "CREATING" } ] }
NAT IP 的狀態
CREATING
:網路位址轉譯 (NAT) IP 建立作業正在處理中。尚未準備好使用。RESERVED
:已建立網路位址轉譯 (NAT) IP,但尚未使用。這樣一來,您就能在啟用前將該 IP 位址加入許可清單。ACTIVE
:NAT IP 用於傳送輸出流量。DELETING
:系統正在刪除 NAT IP。
刪除 NAT IP
您可以使用下列指令刪除 NAT IP:
- 刪除 IP,並將輸出結果指派給「
operation_name
」。operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}" \ -X DELETE | jq -r '.name')
- 輪詢長時間執行作業,直到顯示
done: true
狀態為止。curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"