cloud.goog ドメインでの DNS の構成

API がデプロイされた後、API のユーザーは、IP アドレスではなくドメイン名を使って API にアクセスする必要があります。次のことが可能です。

  • ドメイン名として .endpoints.PROJECT_ID.cloud.goog を構成します(PROJECT_ID は実際の Google Cloud プロジェクト ID)。
  • 独自のドメイン名(例: example.com)を登録します。これには以下の手順が必要です。
    • DNS ネームサーバーを構成する(または Cloud DNS を使用する)。
    • レジストリ アドレスを更新する。
    • DNS レコードを作成し、維持する。

    すでに DNS インフラストラクチャがある場合や、独自のドメイン名を登録する場合は、独自のドメイン名から API を提供するで詳細をご覧ください。

このページでは、ドメイン名として .endpoints.PROJECT_ID.cloud.goog を使用するように Cloud Endpoints API を構成する方法について説明します。このページの構成手順は、gRPC を使用し、Compute Engine、Kubernetes Engine、Kubernetes で実行されている API に適用できます。

.cloud.goog ドメインは Google が管理し、Google Cloud のお客様と共有します。Google Cloud プロジェクトには必ずグローバルに一意のプロジェクト ID が割り当てられるので、.endpoints.PROJECT_ID.cloud.goog 形式のドメイン名は一意になり、API のドメイン名として使用できます。.endpoints.PROJECT_ID.cloud.goog ドメイン名の構成はオプションです。必要に応じて、独自のドメイン名を登録できます。

前提条件

このページでは、Cloud Endpoints API をすでに作成して Compute Engine、Google Kubernetes Engine、Kubernetes にデプロイ済みであることを前提としています。テスト用の API が必要な場合は、サンプル API の構成およびデプロイ方法を示すチュートリアルのいずれかを使用してください。

DNS の構成

以下の手順では、.endpoints.PROJECT_ID.cloud.goog を Endpoints サービス名として使用する Endpoints API の DNS を構成します。便宜上、この手順では gRPC サービス構成ファイルを service.yaml とします。

DNS を構成するには:

  1. service.yaml を開きます。次のコード スニペットに示すように、endpoints フィールドをファイルに追加します。
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    通常、name フィールドと endpoints.name フィールドは同じです。

  2. API_NAME は API の名前(bookstoremy-cool-api など)で置き換えます。
  3. IP_ADDRESS を IPv4 アドレスに置き換えます。IP アドレスは文字列であり、引用符で囲む必要があります。

    Endpoints API サービスを Compute Engine 仮想マシン インスタンスにデプロイする場合は、その仮想マシンの外部 IP アドレスを使用できます。また、ロードバランサの背後にある仮想マシン インスタンス(または GKE ポッド)のグループでコードを実行する場合、ロードバランサの IP アドレスを使用できます。

  4. 次のコマンドを使用して、更新した gRPC 構成ファイルを Service Management にデプロイします。
    gcloud endpoints services deploy service.yaml service.pb
    

たとえば、service.yaml ファイルで次のように指定されているとします。

type: google.api.Service
name: my-cool-api.endpoints.my-project-id.cloud.goog
endpoints:
- name: my-cool-api.endpoints.my-project-id.cloud.goog
  target: "192.0.2.1"

前述の gcloud コマンドで service.yaml ファイルをデプロイすると、Service Management はターゲット IP アドレス 192.0.2.1 に解決される DNS A レコード my-cool-api.endpoints.my-project-id.cloud.goog を作成します。新しい DNS 構成が反映されるまでに数分かかる場合があります。

次のステップ