區域 ID
REGION_ID 是 Google 根據您在建立應用程式時選取的地區所指派的簡寫代碼。雖然某些區域 ID 可能看起來與常用的國家/地區代碼相似,但此代碼並非對應國家/地區或省份。如果是 2020 年 2 月後建立的應用程式,App Engine 網址會包含 REGION_ID.r。如果是在此日期之前建立的現有應用程式,網址中則可選擇加入地區 ID。
進一步瞭解區域 ID。
本節說明如何使用入口設定限制對 App Engine 應用程式的網路存取權。在網路層級,根據預設,網路上的任何資源都能透過 appspot URL 或在 App Engine 中設定的自訂網域存取您的 App Engine 應用程式。例如,appspot.com 網址可以採用下列格式:SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com。
您可以指定不同的入口設定來變更這項預設設定。所有入口路徑 (包括預設 appspot.com 網址) 都會遵循入口設定。Ingress 是在服務層級設定。
可用的輸入設定
可用的設定如下:
| 設定 | 說明 |
|---|---|
| 內部 |
最嚴格。允許來自已連結至專案虛擬私有雲網路的資源的請求,例如:
來自這些來源的要求會留在 Google 網路內,即使是透過 appspot.com URL 存取您的服務也是如此。來自其他來源 (包括網際網路) 的要求無法透過 appspot.com 網址或自訂網域存取您的服務。系統不支援多租戶模式,也就是在同一個專案中有多個信任網域。 |
| 內部和雲端負載平衡 | 允許來自下列資源的要求:
appspot.com 網址的請求會略過外部應用程式負載平衡器,因此這項設定可防止外部要求存取 appspot.com 網址。 |
| 全部 |
最寬鬆。允許所有要求,包括直接從網際網路傳送至 appspot.com 網址的要求。 |
存取內部服務
請考量以下因素:
對於共用虛擬私有雲的請求,只有在共用虛擬私有雲主機專案中部署 App Engine 應用程式時,流量才會視為內部流量。如果 App Engine 應用程式是部署在共用虛擬私有雲服務專案中,則只有應用程式專案擁有的網路流量才會歸類為內部流量。所有其他流量 (包括其他共用虛擬私有雲的流量) 都屬於外部流量。
存取內部服務時,請按照平常的方式呼叫這些服務,也就是使用其公開網址 (預設
appspot.com網址或在 App Engine 中設定的自訂網域)。如果要求來自 Compute Engine VM 執行個體或在同一個專案的 虛擬私人雲端網路中執行的其他資源,則不需要進一步設定。
即使資源的來源有公開 IP 位址,同個專案中虛擬私人雲端網路中的資源要求仍會歸類為內部要求。
透過 Cloud VPN 連線至 VPC 網路的內部部署資源所提出的要求,會視為
internal。
查看 ingress 設定
控制台
前往「App Engine Services」(App Engine 服務) 頁面。
找出「Ingress」欄。針對每項服務,這個欄中的值會顯示「所有」 (預設)、「內部 + 負載平衡」或「內部」等入口設定。
gcloud
如要使用 gcloud CLI 查看服務的入口設定,請按照下列步驟操作:
gcloud app services describe SERVICE
將 SERVICE 改為您的服務名稱。
例如,如要查看預設服務執行作業的入口設定和其他資訊,請執行下列操作:
gcloud app services describe default
編輯輸入設定
控制台
前往「App Engine Services」(App Engine 服務) 頁面。
選取要編輯的服務。
按一下「編輯入站設定」。
從選單中選取所需的入口設定,然後按一下「儲存」。
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