輸入設定

區域 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 設定

控制台

  1. 前往「App Engine Services」(App Engine 服務) 頁面。

    前往「Services」(服務) 頁面

  2. 找出「Ingress」欄。針對每項服務,這個欄中的值會顯示「所有」 (預設)、「內部 + 負載平衡」或「內部」等入口設定。

gcloud

如要使用 gcloud CLI 查看服務的入口設定,請按照下列步驟操作:

gcloud app services describe SERVICE

SERVICE 改為您的服務名稱。

例如,如要查看預設服務執行作業的入口設定和其他資訊,請執行下列操作:

gcloud app services describe default

編輯輸入設定

控制台

  1. 前往「App Engine Services」(App Engine 服務) 頁面。

    前往「Services」(服務) 頁面

  2. 選取要編輯的服務。

  3. 按一下「編輯入站設定」

  4. 從選單中選取所需的入口設定,然後按一下「儲存」

gcloud

如要使用 gcloud CLI 更新服務的入口設定,請按照下列步驟操作:

gcloud app services update SERVICE --ingress=INGRESS

取代:

  • SERVICE:服務名稱。
  • INGRESS:要套用的輸入控管。只能設為 allinternal-onlyinternal-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