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

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

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

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

このページでは、.endpoints.PROJECT_ID.cloud.goog をドメイン名として使用するように Cloud Endpoints API を構成する方法を説明します。このページの構成手順は、OpenAPI を使用し、Compute Engine、Kubernetes Engine、Kubernetes で実行されている API に適用できます。.endpoints.PROJECT_ID.cloud.goog ドメイン名は、App Engine で実行されている API ではサポートされていません。App Engine の API に対しては、PROJECT_ID.appspot.com を Endpoints サービス名として使用することをおすすめします。App Engine に API をデプロイすると、PROJECT_ID.appspot.com という形式の名前を持つ DNS エントリが自動的に作成されます。

.cloud.goog ドメインは Google によって管理され、GCP ユーザーによって共有されます。GCP プロジェクトにはグローバルに一意のプロジェクト 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 サービス名として使用する Cloud Endpoints API の DNS を構成する方法について説明します([PROJECT_ID] は Google Cloud Platform(GCP)プロジェクト ID です)。便宜上、この手順では OpenAPI 構成ファイルを openapi.yaml と呼んでいます。

DNS を構成するには:

  1. openapi.yaml を開き、次のスニペットに示すように、x-google-endpoints フィールドをファイルに追加します。
        swagger: "2.0"
        host: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
        x-google-endpoints:
        - name: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
          target: "[IP_ADDRESS]"
    

    通常、host フィールドと x-google-endpoints.name フィールドは、同じになるように構成します。OpenAPI 仕様をデプロイすると、host フィールドに指定されたテキストが Endpoints サービスの名前として使用されます。

  2. [API_NAME] を実際の API の名前(bookstoremy-cool-api など)に置き換えます。
  3. [PROJECT_ID] は実際の GCP プロジェクト ID に置き換えます。
  4. [IP_ADDRESS] を IPv4 アドレスで置き換えます。

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

  5. 以下のコマンドを使用して、新しい OpenAPI 仕様をサービス管理にデプロイします。
    gcloud endpoints services deploy openapi.yaml
    

たとえば、openapi.yaml ファイルで以下のコマンドを指定します。

    swagger: "2.0"
    host: "my-cool-api.endpoints.my-project-id.cloud.goog"
    x-google-endpoints:
    - name: "my-cool-api.endpoints.my-project-id.cloud.goog"
      target: "192.0.2.1"

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

OpenAPI を使用した Cloud Endpoints
ご不明な点がありましたら、Google のサポートページをご覧ください。