公開サービスを管理する

このページでは、公開サービスへのアクセス リクエストを管理する方法、公開サービスの接続設定を変更する方法、接続調整を構成する方法について説明します。

各サービス アタッチメントには、接続を自動的に受け入れるかどうかを制御する接続設定があります。

  • すべての接続を自動的に受け入れる。サービス アタッチメントは、任意のコンシューマーからのすべてのインバウンド接続リクエストを自動的に受け入れます。
  • 選択したコンシューマーからの接続を明示的に受け入れる。サービス アタッチメントは、コンシューマーがサービス アタッチメントのコンシューマー承認リストに含まれている場合にのみ、インバウンド接続リクエストを受け入れます。コンシューマーは、プロジェクト、VPC ネットワーク、個々の Private Service Connect エンドポイント(プレビュー)で指定できます。同じコンシューマーの承認リストまたは拒否リストに、異なるタイプのコンシューマーを含めることはできません。

どちらの接続設定でも、承認された接続は、受信接続をブロックする組織のポリシーによってオーバーライドされ、拒否される可能性があります。

選択したコンシューマーの接続を明示的に受け入れることをおすすめします。他の手段でコンシューマー アクセスを制御し、サービスに対して制限の緩すぎるアクセスを有効にする場合は、すべての接続を自動的に受け入れるのが適切です。

サービス公開の詳細については、サービスを公開するをご覧ください。

ロール

次の IAM ロールは、このガイドのタスクを行うために必要な権限を備えています。

公開サービスへのアクセスを管理する

明示的な承認でサービスを公開している場合は、コンシューマー リストを更新して接続を承認または拒否できます。接続を承認するには、リクエスト元のコンシューマーのプロジェクト、VPC ネットワーク、または個々の Private Service Connect エンドポイントをサービスのコンシューマー承認リストに追加します。同様に、コンシューマーの拒否リストを更新することで、接続を明示的に拒否できます。

コンシューマーが接続をリクエストする前または後に、プロジェクトまたは VPC ネットワークをコンシューマー リストに追加できます。エンドポイントの URI はエンドポイントが作成されるまでわからないため、エンドポイントは接続リクエストの後にのみ追加できます。

コンシューマー リスト内のすべての値は同じ型である必要があります。たとえば、コンシューマー プロジェクトに基づいて一部の接続を受け入れ、個々のエンドポイントに基づいて一部の接続を受け入れることはできません。同じ値を承認リストと拒否リストの両方に追加すると、そのコンシューマーからの接続リクエストは拒否されます。

デフォルトでは、コンシューマー リストの変更は新しい接続または保留中の接続にのみ影響します。接続の調整を有効にしていない限り、以前に受け入れられた接続は終了しません。

コンソール

明示的な承認でサービスへのアクセスを管理するには、既存の接続リクエストを承認または拒否するか、コンシューマーの許可リストと拒否リストを更新します。どちらの方法でも同じ結果が得られ、同じ顧客リストが更新されます。

公開サービスの詳細を表示する

  1. Google Cloud コンソールで、[Private Service Connect] ページに移動します。

    [Private Service Connect] に移動

  2. [公開サービス] タブをクリックします。

  3. 管理するサービスをクリックします。

接続リクエストを承認または拒否する

  • コンシューマー プロジェクトに基づいて接続を受け入れるようにサービスが構成されている場合、このサービスに接続しようとしたプロジェクトが [接続済みプロジェクト] セクションに表示されます。1 つ以上のプロジェクトの横にあるチェックボックスをオンにして、[プロジェクトを承認] または [プロジェクトを拒否] をクリックします。
  • 個々の Private Service Connect エンドポイントを受け入れるようにサービスが構成されている場合は、[承認待ち] をクリックして、このサービスへの接続を試みたエンドポイントを表示します。1 つ以上のエンドポイントの横にあるチェックボックスをオンにして、[エンドポイントを承認] または [エンドポイントを拒否] をクリックします。
  • VPC ネットワークに基づいてコンシューマーを受け入れるようにサービスが構成されている場合は、次のセクションで説明するように、コンシューマーの許可リストと拒否リストを更新することによってのみ、接続を承認または拒否できます。

コンシューマーの承認リストと拒否リストを更新する

  1. [サービスの詳細を編集] をクリックします。
  2. 省略可: 新しい接続設定を選択します。
  3. 該当する手順を完了します。追加するコンシューマーごとにこの手順を繰り返します。

    • [選択したプロジェクトの接続を受け入れる] で、[承認済みプロジェクトを追加] をクリックし、プロジェクトと接続の上限を入力します。
    • [選択したネットワークの接続を受け入れる] で、[承認済みネットワークを追加] をクリックし、プロジェクト、VPC ネットワーク、接続上限を入力します。
    • [選択したエンドポイントの接続を受け入れる] で、[承認済みエンドポイントを追加] をクリックし、プロジェクトとエンドポイントの ID を入力します。

      エンドポイントの ID は、公開されたサービスを表示し、[承認待ち] セクションで [エンドポイント ID] の値を確認することで確認できます。

gcloud

  1. 変更するサービス アタッチメントの既存の接続と保留中の接続を表示するには、gcloud beta compute service-attachments describe コマンドを使用します。

    gcloud beta compute service-attachments describe ATTACHMENT_NAME \
        --region=REGION
    

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

    • ATTACHMENT_NAME: サービス アタッチメントの名前。
    • REGION: サービス アタッチメントのリージョン。

    出力は次のようになります。保留中のコンシューマー接続がある場合は、ステータス PENDING とともに表示されます。 個々のエンドポイントの承認または拒否に使用できる Private Service Connect エンドポイントの ID ベースの URI が endpointWithId フィールドに表示されます。

    この出力例では、プロジェクト CONSUMER_PROJECT_1 が承認リストに含まれているため、ENDPOINT_1 が承認され、サービスに接続できます。プロジェクト CONSUMER_PROJECT_2 は承認リストに含まれていないため、ENDPOINT_2 は保留中です。CONSUMER_PROJECT_2 が受け入れリストに追加されると、ENDPOINT_2 のステータスが ACCEPTED に変わり、エンドポイントがサービスに接続できるようになります。

    connectedEndpoints:
    - consumerNetwork: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_1/global/networks/CONSUMER_NETWORK_1
      endpoint: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1
      endpointWithId: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/RESOURCE_ID_1
      pscConnectionId: 'ENDPOINT_1_ID'
      status: ACCEPTED
    - consumerNetwork: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_2/global/networks/CONSUMER_NETWORK_2
      endpoint: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2
      endpointWithId: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/RESOURCE_ID_2
      pscConnectionId: 'ENDPOINT_2_ID'
      status: PENDING
    connectionPreference: ACCEPT_MANUAL
    consumerAcceptLists:
    - connectionLimit: LIMIT_1
      projectIdOrNum: CONSUMER_PROJECT_1
    creationTimestamp: 'TIMESTAMP'
    description: 'DESCRIPTION'
    enableProxyProtocol: false
    fingerprint: FINGERPRINT
    id: 'ID'
    kind: compute#serviceAttachment
    name: NAME
    natSubnets:
    - https://www.googleapis.com/compute/beta/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET
    pscServiceAttachmentId:
      high: 'PSC_ATTACH_ID_HIGH'
      low: 'PSC_ATTACH_ID_LOW'
    region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION
    selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
    
  2. コンシューマー接続を承認または拒否するには、次の操作を行います。

    • プロジェクトまたは VPC ネットワークに基づいてコンシューマーを承認または拒否するには、gcloud compute service-attachments update コマンドを使用します。

      --consumer-accept-list--consumer-reject-list のいずれか、または両方を指定できます。--consumer-accept-list--consumer-reject-list には複数の値を指定できます。VPC プロジェクトまたはネットワークを含めることはできますが、プロジェクトとネットワークの両方を含めることはできません。

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2 \
          --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2
      

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

      • ATTACHMENT_NAME: サービス アタッチメントの名前。

      • REGION: サービス アタッチメントが配置されているリージョン。

      • ACCEPTED_PROJECT_OR_NETWORK_1ACCEPTED_PROJECT_OR_NETWORK_2: 受け入れるプロジェクト ID、プロジェクト名、ネットワーク URL。--consumer-accept-list は任意で、1 つ以上のプロジェクトまたはネットワークを含めることができます。両方のタイプを組み合わせることはできません。

      • LIMIT_1LIMIT_2: プロジェクトまたはネットワークの接続上限。接続上限は、このサービスに接続できるコンシューマー エンドポイントの数になります。

      • REJECTED_PROJECT_OR_NETWORK_1REJECTED_PROJECT_OR_NETWORK_2: 拒否するプロジェクト ID、プロジェクト名、ネットワーク URL。--consumer-reject-list は任意で、1 つ以上のプロジェクトまたはネットワークを含めることができます。両方のタイプを組み合わせることはできません。

    • 個々の Private Service Connect エンドポイント(プレビュー)を承認または拒否するには、gcloud beta compute service-attachments update コマンドを使用します。

      gcloud beta compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-accept-list=ACCEPTED_ENDPOINT_URI_1,ACCEPTED_ENDPOINT_URI_2 \
          --consumer-reject-list=REJECTED_ENDPOINT_URI_1,REJECTED_ENDPOINT_URI_2
      

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

      • ACCEPTED_ENDPOINT_URI_1ACCEPTED_ENDPOINT_URI_2: 受け入れる 1 つ以上の Private Service Connect エンドポイントの ID ベースの URI。Private Service Connect エンドポイントの ID ベースの URI を見つけるには、接続されたサービス アタッチメントの説明を取得して endpointWithId フィールドを確認するか、Private Service Connect エンドポイントの説明を取得して selfLinkWithId フィールドを確認します。--consumer-accept-list は任意です。

        たとえば、このセクションの冒頭の出力例にある保留中の Private Service Connect エンドポイントの ID ベースの URI は https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/RESOURCE_ID_2 です。

      • REJECTED_ENDPOINT_URI_1REJECTED_ENDPOINT_URI_2: 拒否する 1 つ以上の Private Service Connect エンドポイントの ID ベースの URI。--consumer-reject-list は任意です。

API

  1. 変更するサービス アタッチメントを記述するには、serviceAttachments.get メソッドにリクエストを送信します。

    HTTP メソッドと URL:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。
    • REGION: サービス アタッチメントのリージョン。
    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    保留中のコンシューマー接続がある場合は、ステータス PENDING とともに表示されます。個々のエンドポイントの承認または拒否に使用できる Private Service Connect エンドポイントの ID ベースの URI が endpointWithId フィールドに表示されます。

    fingerprint 値をメモします。これは次のステップで使用します。

  2. コンシューマー プロジェクトまたはネットワークを承認または拒否するには、serviceAttachments.patch メソッドにリクエストを送信します。

    プロジェクトまたは VPC ネットワークごとにコンシューマーの許可と拒否を切り替えることができますが、同じリクエストでプロジェクトとネットワークの両方を含めることはできません。

    • プロジェクトに基づいてコンシューマーを承認または拒否するには、次のリクエストを送信します。

      HTTP メソッドと URL:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      リクエストの本文(JSON):

      {
        "consumerAcceptLists": [
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_1",
            "connectionLimit": "LIMIT_1"
          },
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_2",
            "connectionLimit": "LIMIT_2"
          }
        ],
        "consumerRejectLists": [
          "REJECTED_PROJECT_1",
          "REJECTED_PROJECT_2"
        ],
        "fingerprint" : "FINGERPRINT"
      }
      

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

      • PROJECT_ID: サービス アタッチメントのプロジェクト。
      • REGION: サービス アタッチメントのリージョン。
      • ATTACHMENT_NAME: サービス アタッチメントの名前。
      • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2: 受け入れるプロジェクトのプロジェクト ID または番号。consumerAcceptList は省略可能で、1 つ以上のプロジェクトを指定できます。
      • LIMIT_1LIMIT_2: プロジェクトの接続上限。接続上限は、このサービスに接続できるコンシューマー エンドポイントの数になります。
      • REJECTED_PROJECT_1REJECTED_PROJECT_2: 拒否するプロジェクト ID またはプロジェクト数。consumerRejectList は省略可能で、1 つ以上のプロジェクトを指定できます。
      • FINGERPRINT: 前の手順で確認したサービス アタッチメントの最新のフィンガープリント。
    • VPC ネットワークに基づいてコンシューマーを承認または拒否するには、次のリクエストを送信します。

      HTTP メソッドと URL:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      リクエストの本文(JSON):

      {
        "consumerAcceptLists": [
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/network/ACCEPTED_NETWORK_1",
            "connectionLimit": "LIMIT_1"
          },
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/network/ACCEPTED_NETWORK_2",
            "connectionLimit": "LIMIT_2"
          }
        ],
        "consumerRejectLists": [
          "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1",
          "projects/REJECTED_PROJECT_ID_2/global/network/REJECTED_NETWORK_2"
        ],
        "fingerprint": "FINGERPRINT"
      }
      

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

      • ACCEPTED_PROJECT_ID_1ACCEPTED_PROJECT_ID_2: 承認するネットワークの親プロジェクトの ID。consumerAcceptLists は省略可能で、1 つ以上のネットワークを指定できます。
      • ACCEPTED_NETWORK_1ACCEPTED_NETWORK_2: 承認するネットワークの名前。
      • LIMIT_1LIMIT_2: ネットワークの接続上限。接続上限は、このサービスに接続できるコンシューマー エンドポイントの数になります。
      • REJECTED_PROJECT_ID_1REJECTED_PROJECT_ID_2: 拒否するネットワークの親プロジェクトの ID。consumerRejectLists は省略可能で、1 つ以上のネットワークを指定できます。
      • REJECTED_NETWORK_1REJECTED_NETWORK_2: 拒否するネットワークの名前。
    • 個々の Private Service Connect エンドポイント(プレビュー)に基づいてコンシューマーを承認または拒否するには、次のリクエストを送信します。

      HTTP メソッドと URL:

      PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      リクエストの本文(JSON):

      {
        "consumerAcceptLists": [
          {
            "endpointUrl": "ACCEPTED_ENDPOINT_URI_1"
          },
          {
            "endpointUrl": "ACCEPTED_ENDPOINT_URI_2"
          }
        ],
        "consumerRejectLists": [
          "REJECTED_ENDPOINT_URI_1",
          "REJECTED_ENDPOINT_URI_2"
        ],
        "fingerprint": "FINGERPRINT"
      }
      

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

      • ACCEPTED_ENDPOINT_URI_1ACCEPTED_ENDPOINT_URI_2: 受け入れる 1 つ以上の Private Service Connect エンドポイントの ID ベースの URI。Private Service Connect エンドポイントの ID ベースの URI を確認するには、接続されたサービス アタッチメントを説明して endpointWithId フィールドを確認するか、エンドポイントを説明して selfLinkWithId フィールドを確認します。ID ベースの URI の例: https://www.googleapis.com/compute/beta/projects/consumer-project/regions/us-central1/forwardingRules/1234567890

        このリストは省略可能です。

      • REJECTED_ENDPOINT_URI_1REJECTED_ENDPOINT_URI_2: 拒否する 1 つ以上の Private Service Connect エンドポイントの ID ベースの URI。このリストは省略可能です。

公開サービスの接続設定を変更する

公開サービスでは、コンシューマーの自動承認と明示的な承認を切り替えることができます。この変更が既存の接続に与える影響は、サービス アタッチメントで接続の調整が有効になっているかどうかによって異なります。

接続の調整が無効になっている場合、接続設定を変更しても、既存の ACCEPTED 接続または REJECTED 接続には影響しません。

  • 自動承認から明示的な承認に切り替える場合、新しい接続が ACCEPTED になるには、コンシューマーの承認リストに含まれている必要があります。
  • 明示的な承認から自動承認に切り替えると、既存の PENDING 接続はすべて自動的に ACCEPTED になります。

接続の調整が有効になっている場合、新しい接続設定に基づいて既存の接続がすべて再評価されます。

  • 自動承認から明示的な承認に切り替えると、コンシューマーの承認リストにないコンシューマーからの既存の接続は PENDING に変更され、これらの接続は終了します。
  • 明示的な承認から自動承認に切り替えると、既存の PENDING 接続と REJECTED 接続はすべて ACCEPTED に変更されます。

サービスのコンシューマー承認リストの更新の詳細については、公開サービスへのアクセス リクエストを管理するをご覧ください。

コンソール

  1. Google Cloud コンソールで、[Private Service Connect] ページに移動します。

    [Private Service Connect] に移動

  2. [公開サービス] タブをクリックします。

  3. 更新するサービスをクリックし、[サービスの詳細を編集] をクリックします。

  4. このサービスに使用する新しい接続設定を選択します。

  5. 省略可: 明示的な承認を使用するように切り替える場合は、今すぐ承認リストにコンシューマーを追加することも、後で追加することもできます。コンシューマーを承認するには、次のいずれかを行います。追加するコンシューマーごとにこの手順を繰り返します。

    • [選択したプロジェクトの接続を受け入れる] で、[承認済みプロジェクトを追加] をクリックし、プロジェクトと接続の上限を入力します。
    • [選択したネットワークの接続を受け入れる] で、[承認済みネットワークを追加] をクリックし、プロジェクト、VPC ネットワーク、接続上限を入力します。
    • [選択したエンドポイントの接続を受け入れる] で、[承認済みエンドポイントを追加] をクリックし、プロジェクトとエンドポイントの ID を入力します。
  6. [保存] をクリックします。

gcloud

  • サービス アタッチメントの接続設定を ACCEPT_AUTOMATIC から ACCEPT_MANUAL に変更するには、gcloud compute service-attachments update コマンドを使用します。

    サービスに接続できるプロジェクトは、--consumer-accept-list--consumer-reject-list で制御します。承認リストと拒否リストは、接続設定の変更時に構成することも、後でリストを更新することもできます。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_MANUAL \
        [ --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2] \
        [ --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2 ]
    

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

    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    • REGION: サービス アタッチメントが配置されているリージョン。

    • ACCEPTED_PROJECT_OR_NETWORK_1ACCEPTED_PROJECT_OR_NETWORK_2: 受け入れるプロジェクト ID、プロジェクト名、ネットワーク URL。--consumer-accept-list は任意で、1 つ以上のプロジェクトまたはネットワークを含めることができます。両方のタイプを組み合わせることはできません。

    • LIMIT_1LIMIT_2: プロジェクトの接続上限。接続上限は、このサービスに接続できるコンシューマー エンドポイントの数になります。

    • REJECTED_PROJECT_OR_NETWORK_1REJECTED_PROJECT_OR_NETWORK_2: 拒否するプロジェクト ID、プロジェクト名、ネットワーク URL。--consumer-reject-list は任意で、1 つ以上のプロジェクトまたはネットワークを含めることができます。両方のタイプを組み合わせることはできません。

  • サービス アタッチメントの接続設定を ACCEPT_MANUAL から ACCEPT_AUTOMATIC に変更するには、次のコマンドを使用します。

    承認リストまたは拒否リストに値がある場合は、接続設定("")の変更時に値を空に設定します。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_AUTOMATIC \
        --consumer-accept-list="" \
        --consumer-reject-list=""
    

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

    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    • REGION: サービス アタッチメントが配置されているリージョン。

API

  1. サービス アタッチメントの fingerprint を取得するには、serviceAttachments.get メソッドにリクエストを送信します。

    HTTP メソッドと URL:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。
    • REGION: サービス アタッチメントのリージョン。
    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    fingerprint 値をメモします。これは次のステップで使用します。

  2. サービス アタッチメントの接続設定を変更するには、serviceAttachments.patch メソッドにリクエストを送信します。

    • 接続設定を ACCEPT_AUTOMATIC から ACCEPT_MANUAL に変更し、プロジェクトに基づいてコンシューマーの許可リストと拒否リストを更新するには、次のリクエストを送信します。

      HTTP メソッドと URL:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      リクエストの本文(JSON):

      {
        "connectionPreference": "ACCEPT_MANUAL",
        "consumerAcceptLists": [
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_1"
            "connectionLimit": "LIMIT_1",
          },
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_2"
            "connectionLimit": "LIMIT_2",
          }
        ],
        "consumerRejectLists": [
          "REJECTED_PROJECT_1",
          "REJECTED_PROJECT_2",
        ],
        "fingerprint" : "FINGERPRINT"
      }
      

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

      • PROJECT_ID: サービス アタッチメントのプロジェクト。
      • REGION: サービス アタッチメントのリージョン。
      • ATTACHMENT_NAME: サービス アタッチメントの名前。
      • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2: 受け入れるプロジェクトのプロジェクト ID または番号。consumerAcceptList は省略可能で、1 つ以上のプロジェクトを指定できます。
      • LIMIT_1LIMIT_2: プロジェクトの接続上限。接続上限は、このサービスに接続できるコンシューマー エンドポイントの数になります。
      • REJECTED_PROJECT_1REJECTED_PROJECT_2: 拒否するプロジェクト ID またはプロジェクト数。consumerRejectList は省略可能で、1 つ以上のプロジェクトを指定できます。
      • FINGERPRINT: 手順 1 で確認したサービス アタッチメントの最新のフィンガープリント。
    • 接続設定を ACCEPT_AUTOMATIC から ACCEPT_MANUAL に変更し、VPC ネットワークに基づいてコンシューマーの許可リストと拒否リストを更新するには、次のリクエストを送信します。

      HTTP メソッドと URL:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      リクエストの本文(JSON):

      {
        "connectionPreference": "ACCEPT_MANUAL",
        "consumerAcceptLists": [
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/networks/ACCEPTED_NETWORK_1",
            "connectionLimit": "LIMIT_1"
          },
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/networks/ACCEPTED_NETWORK_2",
            "connectionLimit": "LIMIT_2"
          }
        ],
        "consumerRejectLists": [
          "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1",
          "projects/REJECTED_PROJECT_ID_2/global/network/REJECTED_NETWORK_2"
        ],
        "fingerprint" : "FINGERPRINT"
      }
      

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

      • ACCEPTED_PROJECT_ID_1ACCEPTED_PROJECT_ID_2: 承認するネットワークの親プロジェクトの ID。consumerAcceptLists は省略可能で、1 つ以上のネットワークを指定できます。
      • ACCEPTED_NETWORK_1ACCEPTED_NETWORK_2: 承認するネットワークの名前。
      • LIMIT_1LIMIT_2: ネットワークの接続上限。接続上限は、このサービスに接続できるコンシューマー エンドポイントの数になります。
      • REJECTED_PROJECT_ID_1REJECTED_PROJECT_ID_2: 拒否するネットワークの親プロジェクトの ID。consumerRejectLists は省略可能で、1 つ以上のネットワークを指定できます。
      • REJECTED_NETWORK_1REJECTED_NETWORK_2: 拒否するネットワークの名前。
      • FINGERPRINT: 手順 1 で確認したサービス アタッチメントの最新のフィンガープリント。
  • サービス アタッチメントの接続設定を ACCEPT_MANUAL から ACCEPT_AUTOMATIC に変更するには、次のリクエストを行います。

    consumerAcceptLists フィールドまたは consumerRejectLists フィールドにコンシューマーが指定されている場合は、接続設定を ACCEPT_AUTOMATIC に変更するときに、コンシューマーを空に設定します。

    HTTP メソッドと URL:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    リクエストの本文(JSON):

    {
      "connectionPreference": "ACCEPT_AUTOMATIC",
      "consumerAcceptLists": [ ],
      "consumerRejectLists": [ ],
      "fingerprint" : "FINGERPRINT"
    }
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。

    • REGION: サービス アタッチメントのリージョン。

    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    • FINGERPRINT: 手順 1 で確認したサービス アタッチメントの最新のフィンガープリント。

接続の調整を構成する

既存のサービス アタッチメントの接続の調整を有効または無効にできます。

コンソール

  1. Google Cloud コンソールで、[Private Service Connect] ページに移動します。

    [Private Service Connect] に移動

  2. [公開サービス] タブをクリックします。

  3. 更新するサービスをクリックし、[サービスの詳細を編集] をクリックします。

  4. [接続調整を有効にする] チェックボックスをオンまたはオフにして、[保存] をクリックします。

gcloud

  • 接続の調整を有効にするには、service-attachments update コマンドを使用します。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --reconcile-connections
    

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

    • ATTACHMENT_NAME: サービス アタッチメントの名前。
    • REGION: サービス アタッチメントのリージョン。
  • 接続の調整を無効にするには、次のコマンドを使用します。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --no-reconcile-connections
    

API

  1. サービス アタッチメントの fingerprint を取得するには、serviceAttachments.get メソッドにリクエストを送信します。

    HTTP メソッドと URL:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。
    • REGION: サービス アタッチメントのリージョン。
    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    fingerprint 値をメモします。これは次のステップで使用します。

  2. リクエストを serviceAttachments.patch メソッドに送信します。

    HTTP メソッドと URL:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    リクエストの本文(JSON):

    {
      "reconcileConnections": RECONCILIATION,
      "fingerprint": "FINGERPRINT"
    }
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。
    • REGION: サービス アタッチメントのリージョン。
    • ATTACHMENT_NAME: サービス アタッチメントの名前。
    • RECONCILIATION: 接続の調整を有効にするかどうか。true または false を指定できます。
    • FINGERPRINT: 前の手順で確認したサービス アタッチメントの最新のフィンガープリント。

公開したサービスに対してサブネットの追加または削除を行う

公開サービスを編集して、Private Service Connect サブネットを追加できます。

たとえば、既存のサービスで利用可能な IP アドレスを増やす必要があるとします。アドレスを追加するには、次のいずれかを行います。

同様に、公開サービスを編集して Private Service Connect サブネットを削除できます。ただし、Private Service Connect の SNAT の実行にサブネットの IP アドレスのいずれかが使用されている場合、サブネットの削除は失敗します。

サブネット構成を変更した場合は、新しいサブネットからのリクエストがバックエンド VM に到達できるように、ファイアウォール ルールを更新します。

コンソール

  1. Google Cloud コンソールで、[Private Service Connect] ページに移動します。

    [Private Service Connect] に移動

  2. [公開サービス] タブをクリックします。

  3. 更新するサービスをクリックし、[サービスの詳細を編集] をクリックします。

  4. このサービスに使用するサブネットを変更します。

    新しいサブネットを追加する場合は、次の方法で作成します。

    1. [新しいサブネットの予約] をクリックします。
    2. サブネットの名前説明(省略可)を入力します。
    3. サブネットのリージョンを選択します。
    4. サブネットに使用する IP 範囲を入力し、[追加] をクリックします。
  5. [保存] をクリックします。

gcloud

このサービス アタッチメントで使用されている Private Service Connect サブネットを更新するには、gcloud compute service-attachments update コマンドを使用します。

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --nat-subnets=PSC_SUBNET_LIST

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

  • ATTACHMENT_NAME: サービス アタッチメントの名前。

  • REGION: サービス アタッチメントが配置されているリージョン。

  • PSC_SUBNET_LIST: このサービス アタッチメントで使用する 1 つ以上のサブネットのカンマ区切りリスト。

API

  1. サービス アタッチメントの fingerprint を取得するには、serviceAttachments.get メソッドにリクエストを送信します。

    HTTP メソッドと URL:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。
    • REGION: サービス アタッチメントのリージョン。
    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    fingerprint 値をメモします。これは次のステップで使用します。

  2. このサービス アタッチメントで使用されている Private Service Connect サブネットを更新するには、serviceAttachments.patch メソッドにリクエストを送信します。

    HTTP メソッドと URL:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    リクエストの本文(JSON):

    {
      "natSubnets": [
      "PSC_SUBNET1_URI",
      "PSC_SUBNET2_URI"
      ],
      "fingerprint": "FINGERPRINT"
    }
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。

    • REGION: サービス アタッチメントのリージョン。

    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    • PSC_SUBNET1_URIPSC_SUBNET2_URI: このサービス アタッチメントで使用するサブネットの URI。1 つまたは複数のサブネットを指定できます。

    • FINGERPRINT: 前の手順で確認したサービス アタッチメントの最新のフィンガープリント。

公開サービスの伝播接続の上限を更新する

サービス アタッチメントの伝播接続の上限を更新できます。上限を引き上げると、 Google Cloud は保留中の伝播接続を作成できるかどうかを自動的に確認します。上限を引き下げても、既存の伝播接続は影響を受けません。ただし、新しい上限に達すると、削除または拒否された伝播接続の再確立がブロックされる可能性があります。

コンソール

  1. Google Cloud コンソールで、[Private Service Connect] ページに移動します。

    [Private Service Connect] に移動

  2. [公開サービス] タブをクリックします。

  3. 更新するサービスをクリックし、[サービスの詳細を編集] をクリックします。

  4. [詳細構成] をクリックします。

  5. 新しい NCC 伝播接続数の上限を入力します。

gcloud

gcloud compute service-attachments update コマンドを使用します。

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --propagated-connection-limit=LIMIT

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

  • ATTACHMENT_NAME: サービス アタッチメントの名前。

  • REGION: サービス アタッチメントが配置されているリージョン。

  • LIMIT: 伝播接続上限の新しい値。

API

  1. サービス アタッチメントの fingerprint を取得するには、serviceAttachments.get メソッドにリクエストを送信します。

    HTTP メソッドと URL:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。
    • REGION: サービス アタッチメントのリージョン。
    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    fingerprint 値をメモします。これは次のステップで使用します。

  2. リクエストを serviceAttachments.patch メソッドに送信します。

    HTTP メソッドと URL:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    リクエストの本文(JSON):

    {
      "propagatedConnectionLimit": LIMIT,
      "fingerprint": "FINGERPRINT"
    }
    

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

    • PROJECT_ID: サービス アタッチメントのプロジェクト。

    • REGION: サービス アタッチメントのリージョン。

    • ATTACHMENT_NAME: サービス アタッチメントの名前。

    • LIMIT: 伝播接続上限の新しい値。

    • FINGERPRINT: 前の手順で確認したサービス アタッチメントの最新のフィンガープリント。