輸入設定

區域 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 是在服務層級設定。

可用的輸入設定

可用的設定如下:

設定 說明
內部 最嚴格的限制。允許來自專案虛擬私有雲網路所連資源的要求,例如:
  • 同一專案中的 VM,包括 Compute Engine VM。
  • Shared VPC 當 App Engine 應用程式部署在 Shared VPC 主專案中時,請參閱「存取內部服務」。
即使這些來源透過 appspot.com URL 存取您的服務,要求仍會留在 Google 網路內。 來自其他來源 (包括網際網路) 的要求,無法透過 appspot.com URL 或自訂網域連線至您的服務。系統不支援多重租戶,也就是同一專案內有多個信任網域。
內部和 Cloud Load Balancing 允許來自下列資源的要求:
  • 限制較嚴格的內部設定允許的資源
  • 外部應用程式負載平衡器
使用「內部和 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

查看輸入設定

控制台

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

    前往「Services」(服務) 頁面

  2. 找出「Ingress」欄。針對每項服務,這個資料欄中的值會顯示 Ingress 設定,包括「全部」 (預設)、「內部 + 負載平衡」或「內部」

gcloud

如要使用 gcloud CLI 查看服務的輸入設定,請執行下列指令:

gcloud app services describe SERVICE

SERVICE 改為您的服務名稱。

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

gcloud app services describe default

編輯輸入設定

控制台

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

    前往「Services」(服務) 頁面

  2. 選取要編輯的服務。

  3. 按一下「編輯 Ingress 設定」

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

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