このページでは、Cloud Run サービスまたはジョブから共有 VPC ネットワークに下り(送信)トラフィックを送信し、内部 IP アドレスを持つ Compute Engine VM インスタンス、Memorystore インスタンス、その他のリソースへのアクセスを許可する方法について説明します。
組織で共有 VPC を使用していない場合は、標準 VPC ネットワークにトラフィックを送信するをご覧ください。
構成方法の比較
共有 VPC ネットワークへの接続は、さまざまな方法で構成できます。
ダイレクト VPC 下り(外向き)
サーバーレス VPC アクセス コネクタを必要とせずに、ダイレクト VPC 下り(外向き)を使用して、共有 VPC ネットワークにトラフィックを送信できます。コネクタのない下り(外向き)トラフィックを設定するには、ダイレクト VPC 下り(外向き)と共有 VPC ネットワークをご覧ください。
サーバーレス VPC アクセス コネクタ
サーバーレス VPC アクセス コネクタを使用する必要がある場合は、ネットワークにアクセスする必要がある Cloud Run リソースを含む共有 VPC サービス プロジェクトでコネクタを設定するか、共有 VPC ホスト プロジェクトで共有コネクタを設定できます。どちらの方法にも利点があります。
サービス プロジェクト
共有 VPC サービス プロジェクトでコネクタを作成するメリットは、次のとおりです。
- 分離: 各コネクタには専用の帯域幅があり、他のサービス プロジェクトでのコネクタの帯域幅の使用による影響を受けません。これは、トラフィックが急増するサービスの場合や、各サービス プロジェクトが他のサービス プロジェクトのコネクタ使用による影響を受けないようにする必要がある場合に適しています。
- チャージバック: コネクタで発生した料金は、そのコネクタを含むサービス プロジェクトに関連付けられます。これにより、チャージバックが容易になります。
- セキュリティ: 「最小権限の原則」に従うことができます。コネクタには、アクセスする必要がある共有 VPC ネットワーク内のリソースへのアクセス権を付与する必要があります。サービス プロジェクトでコネクタを作成すると、ファイアウォール ルールを使用して、プロジェクト内のサービスがアクセスできるものを制限できます。
- チームの独立性: ホスト プロジェクト管理者への依存が軽減されます。サービス プロジェクトに関連付けられたコネクタをチームで作成して管理できます。Compute Engine セキュリティ管理者ロールや、有効にされたホスト プロジェクトの
compute.firewalls.create
権限を含むカスタム Identity and Access Management(IAM)ロールが付与されたユーザーは、引き続きコネクタのファイアウォール ルールを管理する必要があります。
サービス プロジェクトにコネクタを設定する場合は、サービス プロジェクトでコネクタを構成するをご覧ください。
ホスト プロジェクト
共有 VPC ホスト プロジェクトでコネクタを作成するメリットは、次のとおりです。
- 一元化されたネットワーク管理: ホスト プロジェクトでネットワーク構成リソースを一元化する共有 VPC モデルと連携します。
- IP アドレス空間: より多くの IP アドレス空間を保持します。コネクタは各インスタンスに IP アドレスを必要とするため、コネクタの数が少なくなり(各コネクタのインスタンスも少なくなり)、使用される IP アドレスも少なくなります。これは、IP アドレスの不足が懸念される場合に役立ちます。
- メンテナンス: 作成した各コネクタを複数のサービス プロジェクトで使用できるため、メンテナンスの時間を短縮できます。これは、メンテナンスのオーバーヘッドが懸念される場合に役立ちます。
- アイドル時間の費用: コネクタのアイドル時間と関連費用を削減できます。コネクタは、トラフィックを処理していない場合でも料金が発生します(料金を参照)。コネクタの数を少なくすると、コネクタのタイプとインスタンスの数によっては、トラフィックを処理していない場合に課金対象となるリソースの量を削減できます。この方法は、ユースケースに多数のサービスが関わっており、サービスが頻繁には使用されていない場合、費用対効果が高いことがよくあります。
ホスト プロジェクトにコネクタを設定する場合は、ホスト プロジェクトでのコネクタの構成をご覧ください。