リージョン エンドポイントとマルチリージョン エンドポイントには、インターネット経由で公開アクセスするか、Virtual Private Cloud 内からプライベート アクセスできます。このドキュメントでは、エンドポイントに公開でアクセスする方法について説明します。
公共のインターネットからリージョン エンドポイントにアクセスすると、トラフィックは Google Cloud スタンダード ティア ネットワーキング経由でルーティングされます。TLS 終端を含む接続は、宛先リージョン内で処理されます。
API への公共のインターネット アクセスを構成する
リージョン API エンドポイントへのパブリック インターネット アクセスを構成する手順は次のとおりです。
ロール
リージョン エンドポイントの作成に必要な権限を取得するには、VPC ネットワークに対する次の IAM ロールを付与するよう管理者に依頼してください。
- Compute ネットワーク管理者のロール (
roles/compute.networkAdmin) - DNS 管理者のロール (
roles/dns.admin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
始める前に
Google Cloud CLI をインストールします。インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
$ gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
Compute Engine、Network Connectivity Center、Cloud DNS の各 API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。エンドポイントを介してアクセスするターゲット サービスの API を有効にします。たとえば、
spanner.me-central2.rep.googleapis.comにアクセスする場合は、Cloud Spanner API を有効にします。下り(外向き)ファイアウォール ルールでエンドポイントへのトラフィックが許可されていることを確認します。VPC ネットワークのデフォルトのファイアウォール構成には暗黙の下り(外向き)許可ルールが含まれ、このトラフィックが許可されます。トラフィックをブロックする優先度の高い下り(外向き)ルールがないことを確認します。
エンドポイントを特定する
ワークロードに必要なサービスと特定のリージョンまたはマルチリージョンを特定します。
リージョン エンドポイントの形式は
SERVICE.REGION.rep.googleapis.comです。マルチリージョン エンドポイントの形式は
SERVICE.MULTI_REGION.rep.googleapis.comです。
DNS 構成を変更する
ハイブリッド構成でよくあるように、環境が限定公開 DNS ゾーンを使用して googleapis.com のパブリック DNS をオーバーライドする場合は、次の手順を行います。
DNS 構成を更新して
rep.googleapis.comを除外します。詳しくは、レコードの追加、更新、削除をご覧ください。DNS ゾーンの設定を変更して、
rep.googleapis.comサブドメインを除外します。これらのクエリをパブリック DNS リゾルバに転送します。詳細については、ゾーンの作成、変更、削除をご覧ください。
Google Cloud CLI を構成する
特定のサービスのデフォルトの API エンドポイントをオーバーライドするには、Google Cloud CLI を使用します。次の例では、gcloud config set コマンドを使用して、us-central1 の Cloud Storage のオーバーライドと europe-west1 の Compute Engine のオーバーライドを設定します。
# Set an override for Cloud Storage in us-central1.
gcloud config set api_endpoint_overrides/storage https://storage.us-central1.rep.googleapis.com/
# Set an override for Compute Engine in europe-west1.
gcloud config set api_endpoint_overrides/compute https://compute.europe-west1.rep.googleapis.com/compute/v1/
オーバーライドを設定すると、そのサービスの gcloud CLI コマンドはリージョン エンドポイントを使用します。デフォルトのグローバル エンドポイントの使用に戻すには、gcloud config unset コマンドを使用します。
gcloud config unset api_endpoint_overrides/SERVICE
クライアント SDK を更新する
ほとんどの Google Cloud クライアント ライブラリでは、クライアントの初期化時にカスタム エンドポイントを指定できます。
Python
api_endpoint で client_options を使用します。
from google.cloud import SERVICE
from google.api_core.client_options import ClientOptions
options = ClientOptions(api_endpoint='https://SERVICE.REGION.rep.googleapis.com')
SERVICE_client = SERVICE.Client(client_options=options, project='PROJECT_ID')
# ... use SERVICE_client as usual
次のように置き換えます。
SERVICE: サービスの名前REGION: エンドポイントのリージョンPROJECT_ID: Google Cloudの ID
Go
クライアントの作成時に option.WithEndpoint を使用します。
client, err := SERVICE.NewClient(ctx, projID,
option.WithEndpoint("https://SERVICE-my-endpoint.REGION.rep.googleapis.com"), // Override endpoint
次のように置き換えます。
SERVICE: サービスの名前REGION: エンドポイントのリージョン
.NET
クライアント ビルダーで Endpoint を構成します。
Java
サービス設定ビルダーで setEndpoint を使用します。
次の例では、Java を使用して Cloud Vision API のエンドポイントに接続します。
ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
.setEndpoint("https://vision.REGION.rep.googleapis.com")
.build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);
リファレンス ドキュメント
次のステップ
- バックエンド経由でリージョンの Google API にアクセスする。
- Google Cloud サポートされているリージョン サービス エンドポイントをご覧ください。