プライベート サービス アクセスは、Google Cloud Virtual Private Cloud(VPC)ネットワークと Google マネージドまたはサードパーティ サービス間の安全なプライベート接続です。これにより、VPC ネットワーク内の VM インスタンスは、内部 IP アドレスを使用してこれらのサービスと通信できます。トラフィックを公共のインターネットに公開する必要はありません。
始める前に
プライベート接続を確立するには、前提条件となる次の手順を行います。
- サービス プロデューサーのネットワークへの接続に使用する既存の VPC ネットワークが必要です。VM インスタンスは、この VPC ネットワークを使用してプライベート接続経由でサービスに接続する必要があります。
- Live Stream API の始める前にのページの手順に沿って、適切に構成された Google Cloud プロジェクトを作成します(または既存のプロジェクトを選択します)。
Live Stream API のプライベート サービス アクセスを有効にする
プライベート サービス アクセスを構成する一般的な手順については、Virtual Private Cloud のドキュメントをご覧ください。このページでは、このプロセスを Live Stream API に適応させます。
Service Networking API を有効にします。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud services enable servicenetworking.googleapis.com
Windows(PowerShell)
gcloud services enable servicenetworking.googleapis.com
Windows(cmd.exe)
gcloud services enable servicenetworking.googleapis.com
プライベート接続を設定するために必要な権限を取得するには、VPC ネットワークが存在する Google Cloud プロジェクトに対する Compute Engine ネットワーク管理者(
roles/compute.networkAdmin
)の IAM ロールの付与を管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。次の例に示すように、VPC ネットワークで
addresses create
コマンドを使用して名前付き IP 範囲を割り当てます。アドレス範囲とプレフィックス長(サブネット マスク)を指定するには、
addresses
フラグとprefix-length
フラグを使用します。たとえば、CIDR ブロック 192.168.0.0/13 を割り当てるには、アドレスに192.168.0.0
を、プレフィックス長に13
を指定します。後述のコマンドデータを使用する前に、次のように置き換えます。
RESERVED_RANGE_NAME
: 割り当て範囲の名前(my-allocated-range
など)。DESCRIPTION
: 範囲の説明(allocated for my-service
など)。VPC_NETWORK
: VPC ネットワークの名前(my-vpc-network
など)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows(PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --addresses=192.168.0.0 ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows(cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --addresses=192.168.0.0 ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
次のようなレスポンスが返されます。
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
プレフィックス長のみを指定するには、
prefix-length
フラグを使用します。アドレス範囲を省略すると、Google Cloud は VPC ネットワークで使用されていないアドレス範囲を自動的に選択します。次の例では、13 ビットのプレフィックス長を使用して、未使用の IP アドレス範囲を選択しています。後述のコマンドデータを使用する前に、次のように置き換えます。
RESERVED_RANGE_NAME
: 割り当て範囲の名前(my-allocated-range
など)。DESCRIPTION
: 範囲の説明(allocated for my-service
など)。VPC_NETWORK
: VPC ネットワークの名前(my-vpc-network
など)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows(PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows(cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
次のようなレスポンスが返されます。
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
上記の例では、Google へのプライベート接続を作成して、指定された VPC ネットワーク内の VM インスタンス(
my-vpc-network
など)がプライベート サービス アクセスを使用して、それをサポートする Google サービスにアクセスできるようにします。Live Stream API では、リージョンごとに CIDR/13 ブロックを割り当てる必要があります。Live Stream API を複数のリージョンで使用する予定の場合は、より大きなブロックを割り当てます。次の表は、リージョン数に応じて割り当てる推奨ブロックサイズを示しています。
リージョンの数 prefix-length
フラグの値。1 13 2 12 3 〜 4 11 5 ~ 8 10 7 ~ 16 9 サービス プロデューサー VPC ネットワークと お使いの VPC ネットワークの間にプライベート接続を作成します。
プライベート接続を作成します。
後述のコマンドデータを使用する前に、次のように置き換えます。
RESERVED_RANGE_NAME
: 前の手順で作成した割り当て範囲の名前VPC_NETWORK
: VPC ネットワークの名前PROJECT_ID
: VPC ネットワークが含まれるプロジェクトの Google Cloud プロジェクト ID
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Windows(PowerShell)
gcloud services vpc-peerings connect ` --service=servicenetworking.googleapis.com ` --ranges=RESERVED_RANGE_NAME ` --network=VPC_NETWORK ` --project=PROJECT_ID
Windows(cmd.exe)
gcloud services vpc-peerings connect ^ --service=servicenetworking.googleapis.com ^ --ranges=RESERVED_RANGE_NAME ^ --network=VPC_NETWORK ^ --project=PROJECT_ID
次のようなレスポンスが返されます。
Operation "operations/OPERATION_ID" finished successfully.
このコマンドは、長時間実行オペレーション(LRO)を作成します。
コマンドが成功した場合は、次のステップに進みます。それ以外の場合は、オペレーションのステータスを確認します。
後述のコマンドデータを使用する前に、次のように置き換えます。
OPERATION_ID
: 前のステップで返されたオペレーションの ID
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud services vpc-peerings operations describe \ --name=operations/OPERATION_ID
Windows(PowerShell)
gcloud services vpc-peerings operations describe ` --name=operations/OPERATION_ID
Windows(cmd.exe)
gcloud services vpc-peerings operations describe ^ --name=operations/OPERATION_ID
次のようなレスポンスが返されます。
Operation "operations/OPERATION_ID" finished successfully.
(省略可)VPC Service Controls を使用している場合は、作成したプライベート接続の VPC-SC を有効にする必要があります。
後述のコマンドデータを使用する前に、次のように置き換えます。
VPC_NETWORK
: VPC ネットワークの名前
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK
Windows(PowerShell)
gcloud services vpc-peerings enable-vpc-service-controls ` --service=servicenetworking.googleapis.com ` --network=VPC_NETWORK
Windows(cmd.exe)
gcloud services vpc-peerings enable-vpc-service-controls ^ --service=servicenetworking.googleapis.com ^ --network=VPC_NETWORK
次のようなレスポンスが返されます。
Operation "operations/OPERATION_ID" finished successfully.
(省略可)オンプレミス ネットワークが VPC に接続している場合、オンプレミス ホストがサービス プロデューサーのネットワークと通信できるように、ピアリング接続を構成できます。詳細については、オンプレミス ホストのトラブルシューティングをご覧ください。