ゾーンの Cloud DNS クラスタ スコープ ゾーンを構成する

このページでは、Cloud DNS を使用してゾーンの Google Kubernetes Engine(GKE)クラスタ スコープ ゾーンを構成する方法について説明します。

Cloud DNS を使用してゾーンの GKE クラスタ スコープ DNS ゾーンを構成するには、まず既存の限定公開 DNS ゾーンを選択するか、特定の GKE クラスタを接続する新しい限定公開 DNS ゾーンを作成します。次に、GKE クラスタの名前を参照するように DNS ゾーンを構成します。

ゾーンの Cloud DNS ゾーンの概要については、ゾーンの Cloud DNS ゾーンをご覧ください。スコープの詳細については、スコープと階層をご覧ください。

ゾーンの GKE クラスタのゾーン限定公開ゾーンを作成する

Cloud DNS を使用してゾーンの GKE クラスタに新しいマネージド ゾーン限定公開ゾーンを作成するには、次の手順に従います。

gcloud

gcloud beta dns managed-zones create コマンドを実行します。

gcloud beta dns managed-zones create NAME \
    --description=DESCRIPTION \
    --visibility=private \
    --gkeclusters=GKE_CLUSTER \
    --location=LOCATION

次のように置き換えます。

  • NAME: ゾーンの名前
  • DESCRIPTION: ゾーンの説明
  • GKE_CLUSTER: GKE クラスタの完全修飾されたリソースパス(例: projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION: GKE クラスタのロケーション。具体的には、クラスタが配置されている Google Cloud ゾーンus-east1-a など)。

API

managedZones.create メソッドを使用して、POST リクエストを送信します。

POST https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/managedZones
{

"name": "NAME",
"description": "DESCRIPTION",
"dnsName": "DNS_NAME",
"visibility": "private"
"privateVisibilityConfig": {
    "kind": "dns#managedZonePrivateVisibilityConfig",
    "gkeClusters": [{
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_2
        },
        ....
    ]
  }
}

次のように置き換えます。

  • PROJECT_ID: マネージド ゾーンを作成したプロジェクトの ID
  • NAME: ゾーンの名前
  • DESCRIPTION: ゾーンの説明
  • DNS_NAME: ゾーンの DNS サフィックス(例: example.private
  • GKE_CLUSTER_NAME_1GKE_CLUSTER_NAME_2: GKE クラスタの完全修飾されたリソースパス(例: projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION: GKE クラスタのロケーション。具体的には、クラスタが配置されている Google Cloud ゾーンus-east1-a など)。

ゾーンの GKE クラスタに Cloud DNS 限定公開ゾーンへのクエリを許可する

ゾーンの GKE クラスタに既存の Cloud DNS 限定公開ゾーンへのクエリを許可するには、次の操作を行います。

gcloud

gcloud beta dns managed-zones update コマンドを実行します。

gcloud beta dns managed-zones update NAME \
    --gkeclusters=GKE_CLUSTER  \
    --location=LOCATION

次のように置き換えます。

  • NAME: ゾーンの名前(例: my-zone
  • GKE_CLUSTER: GKE クラスタの完全修飾されたリソースパス(例: projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION: GKE クラスタのロケーション。具体的には、クラスタが配置されている Google Cloud ゾーンus-east1-a など)。マネージド ゾーンはこの Google Cloud ゾーンにのみ表示されます。

API

managedZones.patch メソッドを使用して、PATCH リクエストを送信します。

PATCH https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/managedZones/NAME
{
"privateVisibilityConfig": {
    "gkeClusters": [{
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_2
        },
        ....
    ]
  }
}

次のように置き換えます。

  • PROJECT_ID: マネージド ゾーンを作成したプロジェクトの ID
  • NAME: ゾーンの名前(例: my-zone
  • GKE_CLUSTER_NAME_1GKE_CLUSTER_NAME_2: GKE クラスタの完全修飾されたリソースパス(例: projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION: GKE クラスタのロケーション。具体的には、クラスタが配置されている Google Cloud ゾーンus-east1-a など)。マネージド ゾーンはこの Google Cloud ゾーンにのみ表示されます。

ゾーンの GKE クラスタがゾーンのレスポンス ポリシーをクエリするように構成する

ゾーンの GKE クラスタがゾーンのレスポンス ポリシーをクエリするように構成するには、次の手順に従います。

gcloud

gcloud beta dns response-policies create コマンドを実行します。

gcloud beta dns response-policies create NAME \
    --description=DESCRIPTION \
    --gkeclusters=GKE_CLUSTER  \
    --location=LOCATION

次のように置き換えます。

  • NAME: レスポンス ポリシーの名前(例: my-response-policy
  • DESCRIPTION: レスポンス ポリシーの説明(例: my-response-policy-for-gke-5
  • GKE_CLUSTER: GKE クラスタの完全修飾されたリソースパス(例: projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION: GKE クラスタのロケーション。具体的には、クラスタが配置されている Google Cloud ゾーンus-east1-a など)。マネージド ゾーンはこの Google Cloud ゾーンにのみ表示されます。

API

responsePolicies.create メソッドを使用して、POST リクエストを送信します。

POST https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/responsePolicies
{
  "responsePolicyName": "NAME",
  "description": "DESCRIPTION",
  "gkeClusters": [
    {
      "kind": "dns#responsePolicyGKECluster",
      "gkeClusterName": "GKE_CLUSTER"
    },
  ]
}

次のように置き換えます。

  • NAME: レスポンス ポリシーの名前(例: my-response-policy
  • DESCRIPTION: レスポンス ポリシーの説明(例: my-response-policy-for-gke-5
  • GKE_CLUSTER: GKE クラスタの完全修飾されたリソースパス(例: projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION: GKE クラスタのロケーション。具体的には、クラスタが配置されている Google Cloud ゾーンus-east1-a など)。マネージド ゾーンはこの Google Cloud ゾーンにのみ表示されます。

次のステップ