プライベート 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 を使用するインスタンスへのアクセスを許可するようにプロキシ サーバーを設定する。
カスタム ドメインを構成し、インスタンスの OAuth クライアントに構成したドメインを追加します。
次の操作を行うことで、プライベート IP インスタンスをさらに構成することもできます。
- VPC Service Controls を使用している場合は、デフォルト ルートを削除します。
- メールドメイン許可リストを作成して、外部ドメインへのメールの配信を制限します。
- プライベート IP インスタンスを構成して、インターネットや外部リソースとの通信を許可または制限します。
次のステップ
- Looker(Google Cloud コア)インスタンスを作成する
- Looker(Google Cloud コア)インスタンスのカスタム ドメインを設定する
- Looker(Google Cloud コア)によるプライベート IP ネットワーキング
- Looker(Google Cloud コア)をデータベースに接続する
- Looker(Google Cloud コア)インスタンスを構成する