區域 ID
REGION_ID 是 Google 根據您在建立應用程式時選取的地區所指派的縮寫代碼。即使部分區域 ID 看似常用的國家/地區和省份代碼,但該代碼並不對應至國家/地區或省份。如果是 2020 年 2 月後建立的應用程式,App Engine 網址會包含 REGION_ID.r。如果是這段時間前建立的現有應用程式,網址可選擇是否包含區域 ID。
進一步瞭解區域 ID。
本節說明如何使用 Ingress 設定,限制對 App Engine 應用程式的網路存取權。在網路層級,根據預設,網際網路上的任何資源都能透過 appspot 網址或在 App Engine 中設定的自訂網域存取 App Engine 應用程式。舉例來說,appspot.com 網址可採用下列格式:SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com。
如要變更這項預設設定,請為 Ingress 指定其他設定。所有連入路徑 (包括預設 appspot.com 網址) 都會受到連入設定的限制。Ingress 是在服務層級設定。
可用的輸入設定
可用的設定如下:
| 設定 | 說明 |
|---|---|
| 內部 |
最嚴格的限制。允許來自專案虛擬私有雲網路所連資源的要求,例如:
appspot.com URL 存取您的服務,要求仍會留在 Google 網路內。
來自其他來源 (包括網際網路) 的要求,無法透過 appspot.com URL 或自訂網域連線至您的服務。系統不支援多重租戶,也就是同一專案內有多個信任網域。 |
| 內部和 Cloud Load Balancing | 允許來自下列資源的要求:
appspot.com 網址的要求會略過外部應用程式負載平衡器,因此這項設定可防止外部要求連上 appspot.com 網址。 |
| 全部 |
最寬鬆的設定。允許所有要求,包括直接從網際網路傳送至 appspot.com 網址的要求。 |
存取內部服務
請注意下列事項:
如果是來自 Shared VPC 的要求,只有在 App Engine 應用程式部署在 Shared VPC 主專案中時,流量才會視為內部流量。如果 App Engine 應用程式部署在 Shared VPC 服務專案中,只有來自應用程式所屬專案的網路流量屬於內部流量。所有其他流量 (包括來自其他 Shared VPC 的流量) 都是外部流量。
存取內部服務時,請使用服務的公開網址 (預設
appspot.com網址或在 App Engine 中設定的自訂網域),照常呼叫服務。如果要求來自 Compute Engine VM 執行個體,或在相同專案的虛擬私有雲網路中執行的其他資源,則無須進一步設定。
即使資源具有公開 IP 位址,來自相同專案中虛擬私有雲網路內資源的要求,仍會歸類為內部要求。
透過 Cloud VPN 連線至虛擬私有雲網路的地端部署資源發出的要求,會視為
internal。
查看輸入設定
控制台
前往「App Engine Services」(App Engine 服務) 頁面。
找出「Ingress」欄。針對每項服務,這個資料欄中的值會顯示 Ingress 設定,包括「全部」 (預設)、「內部 + 負載平衡」或「內部」。
gcloud
如要使用 gcloud CLI 查看服務的輸入設定,請執行下列指令:
gcloud app services describe SERVICE
將 SERVICE 改為您的服務名稱。
舉例來說,如要查看預設服務執行的輸入設定和其他資訊,請執行下列操作:
gcloud app services describe default
編輯輸入設定
控制台
前往「App Engine Services」(App Engine 服務) 頁面。
選取要編輯的服務。
按一下「編輯 Ingress 設定」。
從選單中選取所需的 Ingress 設定,然後按一下「儲存」。
gcloud
如要使用 gcloud CLI 更新服務的輸入設定,請按照下列步驟操作:
gcloud app services update SERVICE --ingress=INGRESS
更改項目:
- SERVICE:服務名稱。
- INGRESS:要套用的輸入控管。可能的值為
all、internal-only或internal-and-cloud-load-balancing。
例如:
如要更新 App Engine 應用程式的預設服務,只接受來自 Cloud Load Balancing 和相同專案中 VPC 網路的流量,請按照下列步驟操作:
gcloud app services update default --ingress=internal-and-cloud-load-balancing
如要更新名為「internal-requests」的服務,只接受來自相同專案中虛擬私有雲網路的流量,請執行下列步驟:
gcloud app services update internal-requests --ingress=internal-only