您可以创建一个 Service Directory 区域,以允许您的 Google Cloud-based 服务使用 Cloud DNS 查询您的 Service Directory 命名空间 。
这些说明要求您已拥有 Service Directory 命名空间。如果没有,请先按照 配置 Service Directory 中的步骤创建命名空间。
将 Service Directory 区域附加到命名空间后,命名空间中的所有服务和端点都可通过专用网络上的 DNS 访问。所有服务和端点更新都会立即反映在其 DNS 记录中。但是,服务和端点无法通过 DNS 访问。
限制
Service Directory 与 Cloud DNS 集成具有以下限制:
- 您只能在创建 Service Directory 区域时将其与命名空间关联。
- Service Directory 区域必须与所关联的 Service Directory 命名空间位于同一项目中。
- Service Directory 区域不能同时是转发区域、常规专用区域或公共区域。
创建由命名空间支持的 Service Directory 区域
您只能在创建 Service Directory 区域时将其与命名空间关联。Service Directory 区域不能同时是转发区域、常规专用区域或公共区域。
控制台
- 在 Google Cloud 控制台中,打开 Cloud DNS 页面。
找到 Cloud DNS - 点击创建区域 。
- 在区域类型 部分中,点击专用 。
- 输入区域的名称。
- 输入区域的 DNS 名称。
- 在选项下,选择使用 Service Directory 命名空间。
- 在网络下,选择一个或多个可以使用 Service Directory 区域的网络。
- 选择要关联的命名空间所在的区域 。
- 选择要关联的命名空间 。
- 点击创建 。
gcloud
gcloud dns managed-zones create SD_ZONE \ --dns-name DNS_NAME \ --description DESCRIPTION \ --visibility private \ --networks https://www.googleapis.com/compute/v1/projects/project_ID/global/networks/network \ --service-directory-namespace https://servicedirectory.googleapis.com/v1/projects/project_ID/locations/region/namespaces/namespace-name
替换以下值:
SD_ZONE:您要创建的 Service Directory 区域的名称。DNS_NAME:新区域的 DNS 名称,例如us-east1.example.com.。DESCRIPTION:区域的说明,例如this zone is backed by Service Directory。- https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK: 可以使用该区域的网络的 FQDN。
- https://www.servicedirectory.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/registries/NAMESPACE_NAME: 您要关联的命名空间的 FQDN。
删除 Service Directory 区域
您可以随时删除 Service Directory 区域。此删除操作通过 Cloud DNS 进行,不会影响任何关联的 Service Directory 命名空间。关联的命名空间仍可通过 HTTP 和 gRPC 进行查找。如需了解详情,请参阅 删除代管式区域。
您可以删除
指向 Service Directory 区域的服务
或命名空间,而无需
删除该区域。如果您这样做,则对该服务的任何进一步 DNS
查询都会返回 NXDOMAIN。
后续步骤
- 如需了解如何在服务 边界内保护 Service Directory,请参阅 Service Directory 和 VPC Service Controls。
- 如需大致了解 Service Directory,请参阅 Service Directory 概览。
- 如需查找您在使用 Service Directory 时可能会遇到的常见问题的解决方案,请参阅 问题排查。