プライベート IP Looker(Google Cloud コア)インスタンスを作成する

このドキュメント ページでは、限定公開サービス アクセスを使用するプライベート 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 権限が必要です。

  1. Looker(Google Cloud コア)インスタンスを作成するには、Looker 管理者roles/looker.Admin)ロールが必要です。
  2. 割り当て 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 を有効にするのドキュメント ページをご覧ください。

始める前に

  1. Google Cloud コンソールのプロジェクト セレクタのページで、Google Cloud プロジェクトを作成するか、Looker(Google Cloud コア)インスタンスを作成する既存のプロジェクトに移動します。

    プロジェクト セレクタに移動

  2. Google Cloud コンソール でプロジェクトの Looker API を有効化します。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  3. Google Cloud コンソール でプロジェクトの Service Networking API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  4. Google Cloud コンソールでプロジェクトの Compute Engine API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  5. OAuth クライアントを設定し、認可認証情報を作成します。OAuth クライアントを使用すると、インスタンスの認証とアクセスを行うことができます。インスタンスに対してユーザーを認証する別の認証方法を使用している場合でも、Looker(Google Cloud コア)インスタンスを作成するには OAuth を設定する必要があります。

VPC ネットワークの作成と構成

プライベート IP 接続を作成するには、まず Virtual Private Cloud(VPC)ネットワークを作成して構成する必要があります。Looker(Google Cloud コア)は、同じ VPC 内の複数のプライベート IP インスタンス(同じリージョンまたは異なるリージョン)をサポートしています。

  1. プロジェクトに VPC ネットワークを作成する。新しい VPC ネットワークを作成する代わりに共有 VPC を使用する場合は、セクション共有 VPC でのインスタンスの作成の手順に加えて、共有 VPC のこのセクションの残りの手順を完了します。
  2. 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 5735RFC 1112 に記載されているとおり、将来の使用のために予約されています。Looker(Google Cloud コア)ではサポートされていません。
    VPC 内のリージョンで Looker(Google Cloud コア)インスタンスが初めて作成される場合、Looker はプロキシ専用サブネットを作成します。プロキシ専用サブネットは、Looker(Google Cloud コア)インスタンスの作成時に予約した /22 サブネットの /26 範囲サブネットを使用します。同じ VPC と同じリージョンにある後続のプライベート IP Looker(Google Cloud コア)インスタンスは、同じプロキシ専用サブネットを使用します。
  3. [割り当て] 用に前の手順で割り当てた IP 範囲を使用して、プライベート サービス アクセス接続を VPC ネットワークに追加します。
  4. VPC ネットワークが作成されたら、Google Cloud プロジェクトの [Looker インスタンスを作成する] ページに戻ります。VPC ネットワークが認識されるように、ページの更新が必要になる場合があります。

これらの手順を完了したら、Looker(Google Cloud コア)インスタンスを作成するドキュメント ページの始める前にセクションから始まる手順に沿って、インスタンスの作成を開始できます。

同じ VPC 内の複数のプライベート IP インスタンス

複数のプライベート IP Looker(Google Cloud コア)インスタンスが同じリージョンと同じ VPC に配置されていて、リージョンで最初に作成された Looker(Google Cloud コア)インスタンスを削除する場合、プロキシ専用サブネットは、残りのインスタンスでまだ使用されているため、解放されません。削除されたインスタンスに使用したものと同じアドレス範囲(プロキシ専用サブネットの IP アドレス範囲を含む)を使用する新しいプライベート IP Looker(Google Cloud コア)インスタンスを作成しようとすると、インスタンスの作成が失敗し、「IP 範囲が不足しています」というエラーが表示されます。IP 範囲が使用されているかどうかを確認するには、サービス ネットワーキングの VPC ピアリングを確認し、インポート ルートを確認して、目的の IP 範囲を使用しているかどうかを確認します。

共有 VPC でインスタンスを作成する

共有 VPC 内に Looker(Google Cloud コア)インスタンスを作成する場合は、共有 VPC のホスト プロジェクトで次の手順を完了します。

  1. Google Cloud コンソールで、共有 VPC のホスト プロジェクトでの Looker API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  2. gcloud services identity create コマンドを使用して、共有 VPC のホスト プロジェクトにサービス アカウントを作成します。

    gcloud beta services identity create --service=looker.googleapis.com --project=SHARED_HOST_PROJECT_ID
    

    SHARED_HOST_PROJECT_ID は、共有 VPC のホスト プロジェクトに置き換えます。

  3. ホスト プロジェクトのサービス アカウントに compute.globalAddresses.get IAM 権限を付与します。

サービス アカウントを作成して IAM 権限を付与した後、サービス アカウントと権限が反映されるまで数分待ちます。

さらに、前のセクションの VPC ネットワークを作成して設定するの説明に従って、共有 VPC に IPv4 IP 範囲を割り当て、共有 VPC へのプライベート サービス アクセス接続を追加します。

プライベート IP インスタンスを作成する

Looker(Google Cloud コア)が新しいインスタンスを生成するには約 60 分かかります。

プライベート IP はインスタンスの作成時に割り当てる必要があります。インスタンスの作成後は、プライベート IP のインスタンスへの追加やインスタンスからの削除はできません。

インスタンスの作成時にプライベート IP を構成するには、次のいずれかのオプションを選択します。

コンソール

  1. Google Cloud コンソールでプロジェクトから Looker(Google Cloud コア)プロダクト ページに移動します。このプロジェクト内に Looker(Google Cloud コア)インスタンスをすでに作成している場合は、[インスタンス] ページが開きます。

    Looker(Google Cloud コア)に移動

  2. [インスタンスを作成] をクリックします。
  3. [インスタンス名] セクションで、Looker(Google Cloud コア)インスタンスの名前を入力します。インスタンス名は、作成後に Looker(Google Cloud コア)インスタンスの URL には関連付けられません。インスタンス名は、インスタンスの作成後は変更できません。
  4. [OAuth アプリケーション認証情報] セクションで、OAuth クライアントを設定する際に作成した OAuth クライアント ID と OAuth シークレットを入力します。
  5. [リージョン] セクションで、Looker(Google Cloud コア)インスタンスをホストする適切なオプションをプルダウン メニューから選択します。サブスクリプション契約のリージョンと一致するリージョンを選択します。これはプロジェクトの割り当てで割り当てられているリージョンです、使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。

    インスタンスの作成後にリージョンを変更することはできません。

  6. [エディション] セクションで、Enterprise エディションまたは Embed エディションのオプションを選択します。エディションタイプは、インスタンスで使用可能な機能の一部に影響します。年間契約に記載されているエディション タイプと同じエディション タイプを選択し、そのエディション タイプに割り当てされていることを確認してください。

    • Enterprise: 高度な BI 機能を備えた Looker(Google Cloud コア)プラットフォーム。BI と分析のさまざまなユースケースに対処できます。
    • Embed: 信頼性の高い外部分析やカスタム アプリケーションを大規模にデプロイして維持するための Looker(Google Cloud コア)プラットフォーム

    インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。

  7. [インスタンスのカスタマイズ] セクションで [構成オプションを表示] をクリックし、インスタンスに合わせたカスタマイズが可能な追加設定のグループを表示します。

  8. [接続] セクションの [インスタンス 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 を使用してインターネットのアウトバウンド トラフィックを開始しません。
  9. [プライベート IP タイプ] で [プライベート サービス アクセス(PSA)] を選択します。

  10. [必要な API を有効にする] ポップアップが表示されたら、Google Cloud プロジェクトで追加の API を有効にする必要があります。プライベート ネットワーク接続に必要な API を有効にするには、[すべて有効にする] をクリックします。

  11. [ネットワーク] プルダウンで、VPC ネットワークを選択します。プライベート IP ネットワークにはプライベート サービス アクセス接続が必要です。これにより、サービスが内部 IP アドレスを使用して排他的に通信できるようになります。プライベート IP 接続の設定の詳細については、プライベート サービス アクセスを構成するドキュメント ページをご覧ください。VPC ネットワークの作成時にプライベート サービス接続を設定していない場合は、[プライベート サービス アクセス接続は必須です] というメッセージの下にある [接続を設定] をクリックします。サイドパネルが開き、IP 範囲を割り当てて接続を作成できます。

  12. [割り振られている IP 範囲] で、Google が Looker(Google Cloud コア)インスタンスのサブネットワークをプロビジョニングする VPC 内の IP 範囲を選択します。サブネットワークは、VPC ネットワーク内の他のリソースでは使用できない IP 範囲を予約します。Looker(Google Cloud コア)インスタンスを作成すると、この IP 範囲を変更できなくなります。IP 範囲の割り当てには次のオプションがあります。

    • VPC のサブネットワークをプロビジョニングするために IP 範囲を自動的に割り当てるには、[自動的に割り当てられた IP 範囲を使用する] を選択します。
    • プライベート サービス アクセスの設定時に定義された IP 範囲を選択します。
  13. [暗号化] セクションで、インスタンスで使用する暗号化のタイプを選択できます。使用できる暗号化オプションは次のとおりです。

  14. [メンテナンスの時間枠] セクションで、必要に応じて、Looker(Google Cloud コア)がメンテナンスをスケジュールする曜日と時間を指定できます。メンテナンスの時間枠は 1 時間です。デフォルトでは、[メンテナンスの時間枠] の [優先ウィンドウ] オプションは [おまかせ] に設定されます。

  15. [メンテナンス拒否期間] セクションでは、必要に応じて Looker(Google Cloud コア)がメンテナンスをスケジュールしない日数を指定することもできます。メンテナンス拒否期間は最長 60 日間まで設定できます。任意の 2 つのメンテナンス拒否期間の間に、メンテナンスを許可する日数を少なくとも 14 日間設定する必要があります。

  16. [作成] をクリックします。

gcloud

  1. CMEK を使用している場合は、Looker(Google Cloud コア)インスタンスを作成する前に、サービス アカウント、キーリング、鍵を作成する手順を行います。
  2. 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_IDOAUTH_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 をおすすめします。
  3. パラメータを追加して、他のインスタンス設定を適用できます。

    [--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 は、次のいずれかの値を設定する必要があります: fridaymondaysaturdaysundaythursdaytuesdaywednesday。メンテナンスの時間枠の設定の詳細については、Looker(Google Cloud コア)のメンテナンス ポリシーを管理するドキュメント ページをご覧ください。
    • MAINTENANCE_WINDOW_TIMEDENY_MAINTENANCE_PERIOD_TIME: 24 時間形式の UTC 時間(例: 13:00、17:45)にする必要があります。
    • DENY_MAINTENANCE_PERIOD_START_DATEDENY_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 インスタンスのカスタム ドメイン ネットワーキング オプションのドキュメント ページをご覧ください。

次のステップ