仅允许内部流量用于云端点后面的云功能
Allowing internal traffic only for cloud function behind cloud endpoints
我目前正在云端点 (ESPv2) 后面设置一系列云功能。
我已经通过仅允许来自云 运行 服务(如 )的经过身份验证的流量来保护云功能。
我想知道是否可以 select“仅限内部流量”作为入口设置。我试过了,但是当我启用它时我只收到 403。
此选项应“仅允许来自同一项目或 VPC 的流量”。云运行服务在默认VPC中,功能和服务在同一个项目中。
编辑:
功能有效,可在此处获得:
https://europe-west1-iota-beta-296214.cloudfunctions.net/api-keys
通过 ESPv2(云 运行)访问它 returns 使用 VPC 连接器时出现 503(如果没有连接器,它会工作)
https://functions.getiota.fr/auth/jwks
Cloud 运行 映像是在 google's tutorial using a specific service account and VPC Connector (see CLI doc)
之后构建的
这是我的端点服务配置文件的摘录:
...
host: functions.getiota.fr
schemes:
- https
produces:
- application/json
paths:
/auth/jwks:
get:
summary: Get the JSON web key set for authentication
operationId: jwks
x-google-backend:
address: https://europe-west1-iota-beta-296214.cloudfunctions.net/api-keys
protocol: h2
...
使用解决方法编辑 2:
遵循以下答案后,如果 ESPv2 部署在云 运行 和 --set-env-vars=ESPv2_ARGS=--backend_dns_lookup_family=v4only
上,一切正常。此选项描述为 here。
我在 ESPv2 的 github 上关注了这个问题:https://github.com/GoogleCloudPlatform/esp-v2/issues/423
为此,您需要添加一个serverless VPC Connector to your Cloud Run instance that host ESPv2, and to route all the egress traffic to this connector。
gcloud beta run services update <SERVICE ESPv2> \
--vpc-connector projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME> \
--vpc-egress all
注意:连接器必须与云 运行 服务位于同一区域。检查 the supported region
我目前正在云端点 (ESPv2) 后面设置一系列云功能。
我已经通过仅允许来自云 运行 服务(如
我想知道是否可以 select“仅限内部流量”作为入口设置。我试过了,但是当我启用它时我只收到 403。
此选项应“仅允许来自同一项目或 VPC 的流量”。云运行服务在默认VPC中,功能和服务在同一个项目中。
编辑:
功能有效,可在此处获得: https://europe-west1-iota-beta-296214.cloudfunctions.net/api-keys
通过 ESPv2(云 运行)访问它 returns 使用 VPC 连接器时出现 503(如果没有连接器,它会工作) https://functions.getiota.fr/auth/jwks
Cloud 运行 映像是在 google's tutorial using a specific service account and VPC Connector (see CLI doc)
之后构建的这是我的端点服务配置文件的摘录:
...
host: functions.getiota.fr
schemes:
- https
produces:
- application/json
paths:
/auth/jwks:
get:
summary: Get the JSON web key set for authentication
operationId: jwks
x-google-backend:
address: https://europe-west1-iota-beta-296214.cloudfunctions.net/api-keys
protocol: h2
...
使用解决方法编辑 2:
遵循以下答案后,如果 ESPv2 部署在云 运行 和 --set-env-vars=ESPv2_ARGS=--backend_dns_lookup_family=v4only
上,一切正常。此选项描述为 here。
我在 ESPv2 的 github 上关注了这个问题:https://github.com/GoogleCloudPlatform/esp-v2/issues/423
为此,您需要添加一个serverless VPC Connector to your Cloud Run instance that host ESPv2, and to route all the egress traffic to this connector。
gcloud beta run services update <SERVICE ESPv2> \
--vpc-connector projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME> \
--vpc-egress all
注意:连接器必须与云 运行 服务位于同一区域。检查 the supported region