プライベート IP 接続を使用すると、インターネットまたは外部 IP アドレスを使用せずにサービスに到達できます。プライベート IP 経由の接続はインターネットを経由しないため、通常はレイテンシが小さく、攻撃ベクトルが制限されます。プライベート IP 接続では、Looker(Google Cloud コア)インスタンスが Virtual Private Cloud(VPC)内の他のリソースと通信できるが、公共のインターネットからの受信通信は許可されません。
プライベート IP 接続は、一部の Looker(Google Cloud コア)機能と互換性がありません。詳細については、機能の互換性の表をご覧ください。
Looker(Google Cloud コア)は、次の条件を満たすインスタンスのプライベート IP をサポートしています。
- インスタンスのエディションは、Enterprise または Embed にする必要がある。
プライベート IP インスタンスを設定するには、次の IAM 権限が必要です。
- Looker 管理者
- Compute ネットワーク管理者(または Google Cloud プロジェクトのオーナーである)
始める前に
-
割り当て IP アドレス範囲の作成とプライベート接続の管理に必要な権限を取得するには、プロジェクトに対する Compute ネットワーク管理者(
roles/compute.networkAdmin
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。この事前定義ロールには、割り当て IP アドレス範囲の作成とプライベート接続の管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
割り当て IP アドレス範囲を作成し、プライベート接続を管理するには、次の権限が必要です。
-
[ネットワーク] プルダウンに、使用可能なネットワークが表示されます。
-
compute.addresses.list
-
compute.globalAddresses.list
-
compute.networks.list
-
compute.globalAddresses.list
-
-
新しい VPC ネットワークを作成します。
-
compute.addresses.create
-
compute.globalAddresses.create
-
serviceusage.services.enable
-
-
プライベート IP 範囲を割り振り、プライベート サービス アクセス接続を設定する:
compute.networks.addPeering
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Terraform または Google Cloud CLI でプライベート IP インスタンスを作成し、すでに設定されているプライベート ネットワークを使用する場合は、これらの権限は必要ありません。
-
[ネットワーク] プルダウンに、使用可能なネットワークが表示されます。
- Google Cloud コンソールでプロジェクトの Compute Engine API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。
VPC ネットワークの作成と構成
プライベート IP 接続を作成する前に、Virtual Private Cloud(VPC)ネットワークを作成して構成する必要があります。Looker(Google Cloud コア)は、同じリージョン(または異なるリージョン)にある同じ VPC で複数のプライベート IP インスタンスをサポートします。
- プロジェクトで VPC ネットワークを作成します。新しい VPC ネットワークを作成する代わりに共有 VPC を使用する場合は、セクション共有 VPC でのインスタンスの作成の手順に加えて、共有 VPC のこのセクションの残りの手順を完了します。
- Looker(Google Cloud コア)へのプライベート接続用に VPC に IPv4 IP 範囲(CIDR ブロック)を割り当てます。
- 範囲を割り当てる前に、制約を検討してください。
- IP アドレス範囲のサイズを設定する場合、最小サイズは
/22
ブロックであることに注意してください。 - Looker(Google Cloud コア)は、RFC 1918 内のすべての IPv4 範囲をサポートしています。これは、内部で(つまり、組織内で)使用するために割り振られる IP アドレスを指定し、インターネット上ではルーティングしません。具体的には次のようなものがあります。
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
- クラス E の IPv4 範囲(
240.0.0.0/4
)は、RFC 5735 と RFC 1112 に記載されているように、将来の使用のために予約されています。Looker(Google Cloud コア)ではサポートされていません。 - [割り当て] 用に前の手順で割り当てた IP 範囲を使用して、プライベート サービス アクセス接続を VPC ネットワークに追加します。
- VPC ネットワークが作成されたら、Google Cloud プロジェクトの [Looker インスタンスを作成する] ページに戻ります。VPC ネットワークが認識されるように、ページの更新が必要になる場合があります。
/22
サブネットの /26
範囲サブネットを使用します。同じ VPC と同じリージョンにある後続のプライベート IP Looker(Google Cloud コア)インスタンスは、同じプロキシ専用サブネットを使用します。
これらの手順を完了したら、Looker(Google Cloud コア)インスタンスを作成するドキュメント ページの始める前にセクションから始まる手順に沿って、インスタンスの作成を開始できます。
共有 VPC でインスタンスの作成
共有 VPC 内に Looker(Google Cloud コア)インスタンスを作成する場合は、共有 VPC のホスト プロジェクトで次の手順を行います。
- Google Cloud コンソールで、共有 VPC のホスト プロジェクトでの Looker API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。
gcloud の
services identity create
コマンドを使用して、共有 VPC のホスト プロジェクトにサービス アカウントを作成します。gcloud beta services identity create --service=looker.googleapis.com --project=SHARED_HOST_PROJECT_ID
SHARED_HOST_PROJECT_ID は、共有 VPC のホスト プロジェクトに置き換えます。
ホスト プロジェクトのサービス アカウントに
compute.globalAddresses.get
IAM 権限を付与します。
サービス アカウントを作成して IAM 権限を付与した後、サービス アカウントと権限が反映されるまで数分待ちます。
さらに、前のセクションの VPC ネットワークを作成して設定するの説明に従って、共有 VPC に IPv4 IP 範囲を割り当て、共有 VPC へのプライベート サービス アクセス接続を追加します。
インスタンス作成時のネットワーク構成
インスタンスの作成時にプライベート IP を構成するには、次のいずれかのオプションを選択します。
Console
インスタンスの作成時に [プライベート IP] のみ、または [プライベート IP] と [パブリック IP] の両方を選択した場合は、次のように構成を完了します。
- [必要な API を有効にする] ポップアップが表示されたら、Google Cloud プロジェクトで追加の API を有効にする必要があります。プライベート ネットワーク接続に必要な API を有効にするには、[すべて有効にする] をクリックします。
- [ネットワーク] プルダウンで、VPC ネットワークを選択します。プライベート IP ネットワークにはプライベート サービス アクセス接続が必要です。これにより、サービスが内部 IP アドレスを使用して排他的に通信できるようになります。プライベート IP 接続の設定の詳細については、プライベート サービス アクセスを構成するドキュメント ページをご覧ください。VPC ネットワークの作成時にプライベート サービス接続を設定していない場合は、[プライベート サービス アクセス接続は必須です] というメッセージの下にある [接続を設定] をクリックします。サイドパネルが開き、IP 範囲を割り当てて接続を作成できます。
- [割り振られている IP 範囲] で、Google が Looker(Google Cloud コア)インスタンスのサブネットワークをプロビジョニングする VPC 内の IP アドレスの範囲を選択できます。サブネットワークは、VPC ネットワーク内の他のリソースでは使用できない IP 範囲を予約します。Looker(Google Cloud コア)インスタンスを作成すると、この IP 範囲を変更できなくなります。IP 範囲の割り当てには次のオプションがあります。
- VPC のサブネットワークをプロビジョニングするために IP 範囲を自動的に割り当てるには、[自動的に割り当てられた IP 範囲を使用する] を選択します。
- プライベート サービス アクセスの設定時に定義された IP 範囲を選択します。
- 完全再生インスタンスの作成をクリック作成インスタンスを作成します。
gcloud
gcloud looker instances create INSTANCE_NAME \ --project=PROJECT_ID \ --oauth-client-id=OAUTH_CLIENT_ID \ --oauth-client-secret=OAUTH_CLIENT_SECRET \ --region=REGION \ --edition=EDITION \ --consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE [--no-public-ip-enabled] [--public-ip-enabled]
次のように置き換えます。
INSTANCE_NAME
: Looker(Google Cloud コア)インスタンスの名前。インスタンス URL に関連付けられていません。PROJECT_ID
: Looker(Google Cloud コア)インスタンスを作成する Google Cloud プロジェクトの名前。OAUTH_CLIENT_ID
とOAUTH_CLIENT_SECRET
: OAuth クライアントを設定したときに作成した OAuth クライアント ID と OAuth シークレット。インスタンスが作成されたら、OAuth クライアントの [承認済みのリダイレクト URI] セクションにインスタンスの URL を入力します。REGION
: Looker(Google Cloud コア)インスタンスがホストされるリージョン。サブスクリプション契約のリージョンと一致するリージョンを選択します。使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。EDITION
: インスタンスのエディション。有効な値はcore-standard-annual
、core-enterprise-annual
、core-embed-annual
です。インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。CONSUMER_NETWORK
: VPC ネットワークまたは共有 VPC。プライベート IP インスタンスを作成する場合は、設定する必要があります。RESERVED_RANGE
: Google が Looker(Google Cloud コア)インスタンスのサブネットワークをプロビジョニングする VPC 内の IP アドレスの範囲。インスタンスに対してプライベート IP ネットワーク接続を有効にする場合は、範囲を定義しないでください。
次のフラグを含めることができます。
--private-ip-enabled
は、プライベート IP を有効にします。--public-ip-enabled
は、パブリック IP を有効にします。--no-public-ip-enabled
は、パブリック IP を無効にします。
インスタンス作成後のインスタンス構成
プライベート IP のみが有効になっているインスタンスを作成した場合、そのインスタンスの URL は受信されません。 インスタンスにアクセスするには、インスタンスのカスタム ドメインを構成する必要があります。カスタム ドメインの設定とアクセスに使用するさまざまなプライベート IP ネットワーキング オプションについては、Looker(Google Cloud コア)プライベート IP インスタンスのカスタム ドメイン ネットワーキング オプションのドキュメント ページをご覧ください。
または、カスタム ドメインを作成し、OAuth 認証情報を更新して、パブリック IP プロキシ サーバーを設定し、プライベート IP を使用するインスタンスへの公開アクセスを許可します。
次の手順で、プライベート IP インスタンスを詳細に構成することもできます。
- VPC Service Controls を使用している場合は、デフォルト ルートを削除します。
- メールドメインの許可リストを作成して、外部ドメインへのメール配信を制限します。
- プライベート IP インスタンスを構成して、インターネットや外部リソースとの通信を許可または制限します。
次のステップ
- Looker(Google Cloud コア)によるプライベート IP ネットワーキング
- Looker(Google Cloud コア)プライベート IP インスタンスのカスタム ドメイン ネットワーキング オプション