このドキュメント ページでは、限定公開サービス アクセスを使用するプライベート IP Looker(Google Cloud コア)インスタンスを作成する方法について説明します。
プライベート IP 接続を使用すると、インターネットまたは外部 IP アドレスを使用せずにサービスに到達できます。プライベート IP 経由の接続では、インターネットを経由する必要がないため、通常はレイテンシが小さく、攻撃ベクトルが制限されます。プライベート IP 接続では、Looker(Google Cloud コア)インスタンスが Virtual Private Cloud(VPC)内の他のリソースと通信できますが、公共のインターネットからの受信通信は許可されません。
プライベート IP 接続を使用すると、VPC Service Controls などの一部の機能を使用できます。ただし、プライベート IP 接続は、一部の Looker(Google Cloud コア)機能と互換性がありません。詳細については、機能の互換性の表をご覧ください。
Looker(Google Cloud コア)は、Enterprise エディションまたは Embed エディションのインスタンスのプライベート IP をサポートしています。
必要なロールと権限
プライベート IP インスタンスを設定するには、次の IAM 権限が必要です。
- Looker(Google Cloud コア)インスタンスを作成するには、Looker 管理者(
roles/looker.Admin
)ロールが必要です。 -
割り当て 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 インスタンスを作成するときに、すでに設定されているプライベート ネットワークを使用する場合、これらの権限は必要ありません。
-
[ネットワーク] プルダウンで、使用可能なネットワークを確認します。
VPC Service Controls または顧客管理の暗号鍵(CMEK)を設定するために、追加の IAM ロールが必要になる場合もあります。詳細については、Looker(Google Cloud コア)向けの VPC Service Controls のサポートまたはLooker(Google Cloud コア)の CMEK を有効にするのドキュメント ページをご覧ください。
始める前に
- Google Cloud コンソールのプロジェクト セレクタのページで、Google Cloud プロジェクトを作成するか、Looker(Google Cloud コア)インスタンスを作成する既存のプロジェクトに移動します。
- Google Cloud コンソール でプロジェクトの Looker API を有効化します。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。
- Google Cloud コンソール でプロジェクトの Service Networking API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。
- Google Cloud コンソールでプロジェクトの Compute Engine API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。
- OAuth クライアントを設定し、認証情報を作成します。OAuth クライアントを使用すると、インスタンスの認証とアクセスを行うことができます。インスタンスに対してユーザーを認証する別の認証方法を使用している場合でも、Looker(Google Cloud コア)インスタンスを作成するには OAuth を設定する必要があります。
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 内の複数のプライベート IP インスタンス
同じ VPC 内に複数のプライベート IP インスタンスがある場合は、次の点を考慮してください。
- 複数のプライベート IP Looker(Google Cloud コア)インスタンスが同じリージョンと同じ VPC に配置されていて、リージョンで最初に作成された Looker(Google Cloud コア)インスタンスを削除する場合、プロキシ専用サブネットは、残りのインスタンスでまだ使用されているため、解放されません。削除されたインスタンスに使用したものと同じアドレス範囲(プロキシ専用サブネットの IP アドレス範囲を含む)を使用する新しいプライベート IP Looker(Google Cloud コア)インスタンスを作成しようとすると、インスタンスの作成が失敗し、「IP 範囲が不足しています」というエラーが表示されます。IP 範囲が使用されているかどうかを確認するには、サービス ネットワーキングの VPC ピアリングを確認し、インポート ルートを確認して、目的の IP 範囲を使用しているかどうかを確認します。
- 2 つ以上のプライベート IP インスタンスが同じ VPC にあり、1 つのインスタンスを削除した場合は、残りのインスタンスを再起動して、それらのインスタンスのサービス ネットワーキング接続を再接続します。
共有 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 インスタンスを作成する
Looker(Google Cloud コア)が新しいインスタンスを生成するには約 60 分かかります。
プライベート IP はインスタンスの作成時に割り当てる必要があります。インスタンスの作成後は、プライベート IP のインスタンスへの追加やインスタンスからの削除はできません。
インスタンスの作成時にプライベート IP を構成するには、次のいずれかのオプションを選択します。
コンソール
- Google Cloud コンソールでプロジェクトから Looker(Google Cloud コア)プロダクト ページに移動します。このプロジェクト内に Looker(Google Cloud コア)インスタンスをすでに作成している場合は、[インスタンス] ページが開きます。
- [インスタンスを作成] をクリックします。
- [インスタンス名] セクションで、Looker(Google Cloud コア)インスタンスの名前を入力します。インスタンス名は、作成後に Looker(Google Cloud コア)インスタンスの URL には関連付けられません。インスタンス名は、インスタンスの作成後は変更できません。
- [OAuth アプリケーション認証情報] セクションで、OAuth クライアントを設定する際に作成した OAuth クライアント ID と OAuth シークレットを入力します。
[リージョン] セクションで、Looker(Google Cloud コア)インスタンスをホストする適切なオプションをプルダウン メニューから選択します。サブスクリプション契約のリージョンと一致するリージョンを選択します。これはプロジェクトの割り当てで割り当てられているリージョンです、使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。
インスタンスの作成後にリージョンを変更することはできません。
[エディション] セクションで、[Enterprise] または [Embed] エディション オプションを選択します。エディションタイプは、インスタンスで使用可能な機能の一部に影響します。年間契約に記載されているエディション タイプと同じエディション タイプを選択し、そのエディション タイプに割り当てされていることを確認してください。
- Enterprise: 高度な BI 機能を備えた Looker(Google Cloud コア)プラットフォーム。BI と分析のさまざまなユースケースに対処できます。
- Embed: 信頼性の高い外部分析やカスタム アプリケーションを大規模にデプロイして維持するための Looker(Google Cloud コア)プラットフォーム
インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。
[インスタンスのカスタマイズ] セクションで [構成オプションを表示] をクリックし、インスタンスに合わせたカスタマイズが可能な追加設定のグループを表示します。
[接続] セクションの [インスタンス IP の割り当て] で、[プライベート IP] のみ、または [プライベート IP] と [パブリック IP] の両方を選択します。選択したネットワーク接続の種類は、インスタンスで使用可能な Looker 機能に影響します。使用できるネットワーク接続オプションは次のとおりです。
- パブリック IP: インターネットにアクセスできる外部 IP アドレスを割り当てます。
- プライベート IP: Virtual Private Cloud(VPC)でアクセス可能な、Google がホストする内部 IP アドレスを割り当てます。このアドレスを使用して、VPC にアクセスできる他のリソースから接続できます。プライベート IP は Enterprise エディションと Embed エディションでのみサポートされています。VPC Service Controls を使用する場合は、[プライベート IP] のみを選択する必要があります。
- [プライベート IP] と [パブリック IP] の両方を選択した場合、受信トラフィックはパブリック IP 経由で、送信トラフィックはプライベート IP 経由でルーティングされます。Looker(Google Cloud コア)インスタンスは、パブリック IP を使用してインターネットのアウトバウンド トラフィックを開始しません。
[プライベート IP タイプ] で [プライベート サービス アクセス(PSA)] を選択します。
[必要な 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 範囲を選択します。
[暗号化] セクションで、インスタンスで使用する暗号化のタイプを選択できます。使用できる暗号化オプションは次のとおりです。
- Google が管理する暗号鍵: このオプションはデフォルトであり、追加の構成は必要ありません。
- 顧客管理の暗号鍵(CMEK): CMEK とインスタンス作成時に構成する方法の詳細については、Looker(Google Cloud コア)で顧客管理の暗号鍵を使用するドキュメント ページをご覧ください。暗号化のタイプは、インスタンスの作成後は変更できません。
- FIPS 140-2 認証取得済み暗号化を有効にする: Looker(Google Cloud コア)での FIPS 140-2 のサポートの詳細については、Looker(Google Cloud コア)インスタンスで FIPS 140-2 レベル 1 コンプライアンスを有効にするドキュメント ページをご覧ください。
[メンテナンスの時間枠] セクションで、必要に応じて、Looker(Google Cloud コア)がメンテナンスをスケジュールする曜日と時間を指定できます。メンテナンスの時間枠は 1 時間です。デフォルトでは、[メンテナンスの時間枠] の [優先ウィンドウ] オプションは [おまかせ] に設定されます。
[メンテナンス拒否期間] セクションでは、必要に応じて Looker(Google Cloud コア)がメンテナンスをスケジュールしない日数を指定することもできます。メンテナンス拒否期間は最長 60 日間まで設定できます。任意の 2 つのメンテナンス拒否期間の間に、メンテナンスを許可する日数を少なくとも 14 日間設定する必要があります。
[作成] をクリックします。
gcloud
- CMEK を使用している場合は、Looker(Google Cloud コア)インスタンスを作成する前に、サービス アカウント、キーリング、鍵を作成する手順を行います。
gcloud looker instances create
コマンドを使用して、インスタンスを作成します。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 \ --private-ip-enabled \ --consumer-network=CONSUMER_NETWORK --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
: インスタンスのエディション。プライベート IP インスタンスの場合は、core-enterprise-annual
またはcore-embed-annual
にする必要があります。年間契約に記載されているエディション タイプと同じエディション タイプを選択し、割り当てがされていることを確認してください。インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。CONSUMER_NETWORK
: VPC ネットワークまたは共有 VPC ネットワーク。プライベート IP インスタンスを作成する場合は設定する必要があります。RESERVED_RANGE
: Google が Looker(Google Cloud コア)インスタンスのサブネットワークをプロビジョニングする VPC 内の IP アドレスの範囲。
次のフラグを含めることができます。
--private-ip-enabled
は、プライベート IP を有効にします。プライベート IP インスタンスを作成するには、このパラメータを含める必要があります。--public-ip-enabled
は、パブリック IP を有効にします。--no-public-ip-enabled
は、パブリック IP を無効にします。- Looker(Google Cloud コア)インスタンスを作成する場合は、
--async
をおすすめします。
パラメータを追加して、他のインスタンス設定を適用できます。
次のように置き換えます。[--maintenance-window-day=MAINTENANCE_WINDOW_DAY --maintenance-window-time=MAINTENANCE_WINDOW_TIME] [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME] [--kms-key=KMS_KEY_ID] [--fips-enabled]
MAINTENANCE_WINDOW_DAY
は、次のいずれかの値を設定する必要があります:friday
、monday
、saturday
、sunday
、thursday
、tuesday
、wednesday
。メンテナンスの時間枠の設定の詳細については、Looker(Google Cloud コア)のメンテナンス ポリシーを管理するドキュメント ページをご覧ください。MAINTENANCE_WINDOW_TIME
とDENY_MAINTENANCE_PERIOD_TIME
: 24 時間形式の UTC 時間(例: 13:00、17:45)にする必要があります。DENY_MAINTENANCE_PERIOD_START_DATE
とDENY_MAINTENANCE_PERIOD_END_DATE
:YYYY-MM-DD
の形式にする必要があります。KMS_KEY_ID
: 顧客管理の暗号鍵(CMEK)の設定時に作成される鍵にする必要があります。
--fips-enabled
フラグを指定して、FIPS 140-2 レベル 1 コンプライアンスを有効にできます。
インスタンスの作成中は、コンソール内の [インスタンス] ページでステータスを確認できます。Google Cloud コンソールメニューの通知アイコンをクリックして、インスタンス作成アクティビティを確認することもできます。
注: プライベート IP のみのインスタンスを作成すると、URL は [インスタンス] ページに表示されません。プライベート IP インスタンスへのアクセスを設定する方法については、次の作成後にプライベート IP インスタンスにアクセスするをご覧ください。
作成後にプライベート IP インスタンスにアクセスする
プライベート IP のみが有効になっているインスタンスを作成した場合、そのインスタンスの URL は受信されません。 インスタンスにアクセスするには、インスタンスのカスタム ドメインを構成し、そのカスタム ドメインをインスタンスの OAuth 認証情報に追加する必要があります。カスタム ドメインの設定とアクセスに使用するさまざまなプライベート IP ネットワーキング オプションについては、Looker(Google Cloud コア)プライベート IP インスタンスのカスタム ドメイン ネットワーキング オプションのドキュメント ページをご覧ください。