本页面介绍如何使用集成功能,通过全球外部 HTTP(S) 负载均衡器快速为您的 Cloud Run 服务设置自定义网域映射(如果您尚未设置全球外部 HTTP(S) 负载均衡器)。
限制
存在以下限制:
- 此集成将始终创建新的全球外部 HTTP(S) 负载均衡器。如果您想使用现有的全球外部 HTTP(S) 负载均衡器,而不是使用集成,请参阅使用 Cloud Run 设置全球外部 HTTP(S) 负载均衡器。
- 目前,您只能在
us-central1
区域中使用此功能。对于所有其他区域,请参阅使用 Cloud Run 设置全球外部 HTTP(S) 负载均衡器。 - 您必须拥有模拟 Compute Engine 默认服务帐号的权限 (
iam.serviceAccounts.actAs
)。
价格
您需要为集成中使用的各个资源(例如全球外部 HTTP(S) 负载均衡器)付费。
开始前须知
- 确保您要将自定义网域映射到的 Cloud Run 服务已部署。
- 确保您拥有要对映射到 Cloud Run 服务的网域进行 DNS 更改所需的权限。
映射具有全球外部 HTTP(S) 负载均衡器的自定义网域
您可以使用控制台或命令行映射自定义网域。请注意,SSL 证书预配和网域开始将 HTTPS 流量路由到您的 Cloud Run 服务最多可能需要一个小时。
控制台
在服务列表中点击要在此集成中使用的服务。
点击 Integrations(集成)标签。
点击添加集成。
点击自定义网域 - Google Cloud 负载均衡。
在网域文本框中输入网域。
在路径文本框中输入您使用的网域路径。
在服务文本框中输入要映射到此自定义网域的服务名称。
如果您要映射其他网域,请点击添加一项,然后重复上述步骤以根据需要将网域映射到服务。
如果系统提示您启用 API 列表,请点击启用并等待 API 启用。
在资源下,记下将因此集成而创建的新资源。
点击提交,然后等待集成和资源创建:
- 完成后,系统会创建一个表,其中包含您需要配置的 DNS 记录:使用此表更新 DNS 提供商的 DNS 记录。
- 在 DNS 提供商处更新 DNS 后,系统最长可能需要 45 分钟来预配 SSL 证书并开始将流量路由到您的服务。
命令行
更新到最新的 Google Cloud CLI:
gcloud components update
创建集成:
gcloud beta run integrations create \ --type=custom-domains \ --parameters='set-mapping=DOMAIN:SERVICE'
替换
- 将 DOMAIN 替换为您的自定义网域,例如
example.com
或subdomain.example.com
- 还可以包含路径,例如
example.com/subpath/*
- 还可以包含路径,例如
- 将 SERVICE 替换为您的 Cloud Run 服务的名称。
- 将 DOMAIN 替换为您的自定义网域,例如
等待大约 2 到 5 分钟,在此期间,系统会创建完全配置的负载均衡器。该过程完成后,系统会显示以下消息:
[custom-domains] integration [custom-domains] has been created successfully. To complete the process, please ensure the following DNS records are configured for the domains: NAME TTL TYPE DATA DOMAIN 3600 A IP_ADDRESS It can take up to an hour for the SSL certificate to be provisioned.
您可以使用
gcloud beta run integrations describe
来查看状态。使用显示的 IP_ADDRESS 值在您的 DNS 提供商处更新您的 DNS 记录。在 DNS 提供商处更新 DNS 后,系统最长可能需要 45 分钟来预配 SSL 证书并开始将流量路由到您的服务。
查看具有负载均衡器集成的自定义网域
如需查看使用 Cloud Run 服务的负载均衡器集成的自定义网域的当前状态,请执行以下操作:
控制台
在服务列表中点击要在此集成中使用的服务。
点击 Integrations(集成)标签。
找到使用您感兴趣的负载均衡器集成的自定义网域,然后点击查看详细信息。
命令行
使用以下命令获取可用集成的列表:
gcloud beta run integrations list
使用返回列表中的名称显示其详细信息:
gcloud beta run integrations describe INTEGRATION_NAME
将 INTEGRATION_NAME 替换为使用负载均衡器集成的自定义网域的名称。
删除具有负载均衡器集成的自定义网域
如果删除集成,则系统还会删除与该集成关联的所有 Google Cloud 资源,但不会删除 Cloud Run 服务。
如需从 Cloud Run 服务中删除使用负载均衡器集成的自定义网域,请执行以下操作:
控制台
点击要从中删除集成的服务。
点击 Integrations(集成)标签。
找到使用您感兴趣的负载均衡器集成的自定义网域,点击集成右侧的省略号图标,然后点击删除。
命令行
使用以下命令获取可用集成的列表:
gcloud alpha run integrations list
使用返回列表中的名称删除集成:
gcloud alpha run integrations delete INTEGRATION_NAME
将 INTEGRATION_NAME 替换为使用负载均衡器集成的自定义网域的名称。