Google Cloudベースのサービスが Cloud DNS を使用して Service Directory 名前空間に対してクエリを実行できるようにする Service Directory ゾーンを作成できます。
以下の手順では、Service Directory Namespace がすでに存在していることを前提としています。名前空間がない場合、まず Service Directory の構成の手順で名前空間を作成します。
Service Directory ゾーンを名前空間に接続すると、名前空間内のすべてのサービスとエンドポイントがプライベート ネットワーク上の DNS 経由で使用できるようになります。サービスとエンドポイントのすべての更新は、DNS レコードにすぐに反映されます。ただし、サービスとエンドポイントは DNS 経由では使用できません。
このタスクに必要な権限
このタスクを実行するには、次の権限または次の IAM のロールが付与されている必要があります。
権限
servicedirectory.namespaces.associatePrivateZone
ロール
servicedirectory.admin
servicedirectory.editor
制限事項
Service Directory と Cloud DNS の統合には次の制限があります。
Service Directory ゾーンを名前空間に関連付けることができるのは、ゾーンを作成するときのみです。
Service Directory ゾーンは、関連付けられている Service Directory Namespace と同じプロジェクトに存在する必要があります。
Service Directory ゾーンは、転送ゾーン、通常のプライベート ゾーン、パブリック ゾーンにもできません。
名前空間を基盤とする Service Directory ゾーンを作成する
Service Directory ゾーンを名前空間に関連付けることができるのは、ゾーンを作成するときのみです。Service Directory ゾーンは、転送ゾーン、通常のプライベート ゾーン、パブリック ゾーンにもできません。
Service Directory ゾーンはいつでも削除できます。この削除は Cloud DNS を介して行われ、関連付けられた Service Directory Namespace には影響しません。関連付けられた名前空間は、HTTP と gRPC を介して引き続き検索できます。詳細については、マネージド ゾーンを削除するをご覧ください。
ゾーンを削除しなくても、Service Directory ゾーンが参照しているサービスまたは名前空間を削除できます。削除すると、そのサービスに対する以降の DNS クエリは NXDOMAIN を返します。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-09-04 UTC。"],[],[],null,["# Configure a DNS zone\n\nYou can create a Service Directory zone that allows your\nGoogle Cloud-based services to query your Service Directory namespace\nusing Cloud DNS.\n\nThese instructions require that you already have a Service Directory\nnamespace in place. If you do not, first create a namespace using the\nprocedure in [Configuring\nService Directory](/service-directory/docs/configuring-service-directory).\n\nOnce you have attached a Service Directory zone to the namespace, all\nservices and endpoints within the namespace become available over DNS on the\nprivate network. All service and endpoint updates are immediately reflected in\ntheir DNS records. However, the service and the endpoint are not available\nover DNS.\n\n#### Permissions required for this task\n\nTo perform this task, you must have been granted the following permissions\n*or* the following IAM roles.\n\n**Permissions**\n\n- `servicedirectory.namespaces.associatePrivateZone`\n\n**Roles**\n\n- `servicedirectory.admin`\n- `servicedirectory.editor`\n| **Note:** Service visibility (*who* is authorized to look up a service) changes once a Service Directory private zone is assigned to a namespace. The network, not IAM, determines the access when responding to DNS queries. For more details, see [Roles and permissions](/dns/docs/access-control).\n\nLimitations\n-----------\n\nService Directory integration with Cloud DNS has the following\nlimitations:\n\n- You can only associate a Service Directory zone with a namespace when you create the zone.\n- A Service Directory zone must be in the same project as the Service Directory namespace that it is associated with.\n- A Service Directory zone cannot also be a forwarding zone, a regular private zone, or a public zone.\n\nCreate a Service Directory zone backed by a namespace\n-----------------------------------------------------\n\nYou can only associate a Service Directory zone with a namespace when you\ncreate the zone. A Service Directory zone cannot also be a forwarding zone,\na regular private zone, or a public zone. \n\n### Console\n\n1. Go to the Cloud DNS page in the Google Cloud console. \n [Go to Cloud DNS](https://console.cloud.google.com/net-services/dns/zones)\n2. Click **Create zone**.\n3. In the **Zone type** section, click **Private**.\n4. Enter a name for the zone.\n5. Enter a DNS name for the zone.\n6. Under **Options** , select **Use a service directory namespace**.\n7. Under **Networks**, select one or more networks that can use the Service Directory zone.\n8. Select the **Region** where the namespace that you want to link lives.\n9. Select the **Namespace** that you want to link.\n10. Click **Create**.\n\n### gcloud\n\n```\ngcloud dns managed-zones create SD_ZONE \\\n --dns-name DNS_NAME \\\n --description DESCRIPTION \\\n --visibility private \\\n --networks https://www.googleapis.com/compute/v1/projects/project_ID/global/networks/network \\\n --service-directory-namespace https://servicedirectory.googleapis.com/v1/projects/project_ID/locations/region/namespaces/namespace-name\n```\n\nReplace the following values:\n\n- \u003cvar translate=\"no\"\u003eSD_ZONE\u003c/var\u003e: the name of the Service Directory zone that you are creating.\n- \u003cvar translate=\"no\"\u003eDNS_NAME\u003c/var\u003e: the DNS name, such as `us-east1.example.com.`, for the new zone.\n- \u003cvar translate=\"no\"\u003eDESCRIPTION\u003c/var\u003e: a description of the zone, such as `this zone\n is backed by Service Directory`.\n- https://www.googleapis.com/compute/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/global/networks/\u003cvar translate=\"no\"\u003eNETWORK\u003c/var\u003e: the FQDN of the networks that can use the zone.\n- https://www.servicedirectory.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/registries/\u003cvar translate=\"no\"\u003eNAMESPACE_NAME\u003c/var\u003e: the FQDN of the namespace that you are linking.\n| **Note:** You can associate only one Service Directory zone with a given namespace, and you cannot associate a given zone with multiple namespaces. You must create the Cloud DNS zone and the Service Directory namespace in the same project.\n\nDelete the Service Directory zone\n---------------------------------\n\nAt any point, you can delete a Service Directory zone. This deletion\nhappens through Cloud DNS and has no effect on any associated\nService Directory namespaces. The associated namespace continues to be\navailable for look up through HTTP and gRPC. For more information, see\n[Delete a managed zone](/dns/docs/zones#delete_a_managed_zone).\n\nYou can [delete a\nservice](/service-directory/docs/configuring-service-directory#deleting_a_service_from_a_namespace)\nor namespace that has a Service Directory zone pointing to it without\ndeleting the zone. If you do, any further DNS queries for that service return\n`NXDOMAIN`.\n\nWhat's next\n-----------\n\n- To learn how to secure Service Directory in a service perimeter, see [Service Directory and VPC Service Controls](/service-directory/docs/securing-with-vpc-sc).\n- To get an overview of Service Directory, see the [Service Directory overview](/service-directory/docs/overview).\n- To find solutions for common issues that you might encounter when using Service Directory, see [Troubleshooting](/service-directory/docs/troubleshooting)."]]