建立私人連線 (私人服務存取) Looker (Google Cloud Core) 執行個體

您可以設定 Looker (Google Cloud Core) 正式版或非正式版執行個體,透過私人服務連線使用私人連線。

透過私人服務存取權,Looker (Google Cloud Core) 執行個體可直接與虛擬私有雲 (VPC) 中的其他資源通訊,不必經過公用網際網路或使用外部 IP 位址。這項設定可限制攻擊向量、防止公開網際網路的傳入流量,並降低網路延遲。

私人連線可讓您使用 VPC Service Controls 等功能。不過,私人連線不支援所有 Looker (Google Cloud Core) 功能。詳情請參閱「功能相容性」表格。

Looker (Google Cloud Core) 支援企業版或嵌入版 執行個體版本的私人連線 (PSA)。

所需角色和權限

如要設定私人連線 (PSA) 執行個體,您必須具備下列 IAM 權限:

  1. 如要建立 Looker (Google Cloud Core) 執行個體,您必須具備 Looker 管理員 (roles/looker.Admin) 角色。
  2. 如要取得建立已分配 IP 位址範圍和管理私人連線所需的權限,請要求管理員授予您專案的Compute 網路管理員 (roles/compute.networkAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

    這個預先定義的角色具備建立已分配 IP 位址範圍和管理私人連線所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

    所需權限

    如要建立已分配的 IP 位址範圍及管理私人連線,必須具備下列權限:

    • 在「Network」(網路) 下拉式選單中查看可用的網路:
      • compute.addresses.list
      • compute.globalAddresses.list
      • compute.networks.list
      • compute.globalAddresses.list
    • 建立新的虛擬私有雲網路:
      • compute.addresses.create
      • compute.globalAddresses.create
      • serviceusage.services.enable
    • 分配私人 IP 範圍,並設定私人服務連線:compute.networks.addPeering

    您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

    如果您使用的是已設定的私人網路,則不需要這些權限。

您可能也需要其他 IAM 角色,才能設定 VPC Service Controls 或客戶自行管理的加密金鑰 (CMEK)。如要進一步瞭解這些功能,請參閱「VPC Service Controls 對 Looker (Google Cloud Core) 的支援」或「為 Looker (Google Cloud Core) 啟用 CMEK」說明文件頁面。

您可能也需要其他 IAM 角色,才能設定員工身分聯盟、VPC Service Controls 或客戶自行管理的加密金鑰 (CMEK)。如要進一步瞭解這些功能,請參閱「使用員工身分聯盟進行 Looker (Google Cloud Core) 使用者驗證」、「VPC Service Controls 對 Looker (Google Cloud Core) 的支援」或「為 Looker (Google Cloud Core) 啟用 CMEK」說明文件頁面。

事前準備

  1. 與銷售人員合作,確保年約已完成,且專案已分配配額。
  2. 請確認您已為 Google Cloud 專案啟用計費功能。
  3. 在 Google Cloud 控制台的專案選取器頁面中,建立 Google Cloud 專案,或前往要建立 Looker (Google Cloud Core) 執行個體的現有專案。

    前往專案選取器

  4. 在 Google Cloud 控制台中,為專案啟用 Looker API。啟用 API 時,您可能需要重新整理控制台頁面,確認 API 已啟用。

    啟用 API

  5. 在 Google Cloud 控制台中,為專案啟用 Service Networking API。啟用 API 時,您可能需要重新整理控制台頁面,確認 API 已啟用。

    啟用 API

  6. 在 Google Cloud 控制台中,為專案啟用 Compute Engine API。啟用 API 後,您可能需要重新整理控制台頁面,確認 API 已啟用。

    啟用 API

  7. 設定 OAuth 用戶端並建立授權憑證。OAuth 用戶端可讓您驗證及存取執行個體。您必須設定 OAuth,才能建立 Looker (Google Cloud Core) 執行個體,即使您使用其他驗證方式驗證執行個體使用者,也必須完成這項設定。

建立及設定虛擬私有雲網路

您必須先建立及設定虛擬私有雲 (VPC) 網路,才能建立私人連線。Looker (Google Cloud Core) 支援在同一個 VPC 中使用多個私人連線 (PSA) 執行個體,無論這些執行個體位於相同或不同區域。

  1. 在專案中建立虛擬私有雲網路。或者,如果您使用Shared VPC,而非建立新的虛擬私有雲網路,請完成下一節「在 Shared VPC 中建立執行個體」中的步驟,並完成本節中其餘的 Shared VPC 步驟。
  2. 在虛擬私有雲中分配 IPv4 IP 範圍 (CIDR 區塊),用於 Looker (Google Cloud Core) 的私人服務連線。
    • 分配範圍前,請先考量限制。
    • 設定 IP 位址範圍大小時,請注意大小下限為 /22 區塊。
    • Looker (Google Cloud Core) 支援 RFC 1918 內的所有 IPv4 範圍,該範圍指定了指派給內部 (即組織內) 使用的 IP 位址,且不會在網際網路上轉送。具體來說,這些是:
      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16
    • 如 RFC 5735 和 RFC 1112 所述,E 類 IPv4 範圍 (240.0.0.0/4) 保留供日後使用,Looker (Google Cloud Core) 不支援此範圍。
    在虛擬私有雲的某個區域中,首次建立 Looker (Google Cloud Core) 執行個體時,Looker 會建立僅限 Proxy 的子網路。僅限 Proxy 子網路會使用您在建立 Looker (Google Cloud Core) 執行個體時,預留的 /22 子網路 /26 範圍子網路。在相同虛擬私有雲和區域中,任何後續的私人連線 (PSA) Looker (Google Cloud Core) 執行個體,都會使用相同的僅限 Proxy 子網路。
  3. 使用上一個步驟中為「已指派的配置」分配的 IP 範圍,將私人服務存取連線新增至虛擬私有雲網路。
  4. 建立虛擬私有雲網路後,返回 Google Cloud 專案的「Create Looker instance」(建立 Looker 執行個體) 頁面。您可能需要重新整理頁面,系統才會辨識虛擬私有雲網路。

完成上述步驟後,請按照「建立 Looker (Google Cloud Core) 執行個體 」說明文件頁面的步驟操作,從「事前準備」一節開始,建立執行個體。

同一個虛擬私有雲中的多個私人連線執行個體

如果兩個以上的私人連線 Looker (Google Cloud Core) 執行個體位於相同區域和虛擬私有雲,而您刪除在該區域建立的第一個 Looker (Google Cloud Core) 執行個體,則僅限 Proxy 子網路不會釋出,因為其餘執行個體仍在使用該子網路。如果您嘗試建立新的私人連線 (PSA) Looker (Google Cloud Core) 執行個體,並使用與已刪除執行個體相同的位址範圍 (包含僅限 Proxy 子網路的 IP 位址範圍),執行個體建立作業就會失敗,並顯示「IP ranges exhausted」錯誤。如要確認 IP 範圍是否在使用中,請檢查 Service Networking 的虛擬私有雲對等互連,並查看匯入路徑是否使用您感興趣的 IP 範圍。

在 Shared VPC 中建立執行個體

如果您要在Shared VPC中建立 Looker (Google Cloud Core) 執行個體,請在 Shared VPC 的主機專案中完成下列步驟:

  1. 在 Google Cloud 控制台中,於 Shared VPC 的主機專案啟用 Looker API。啟用 API 後,您可能需要重新整理控制台頁面,確認 API 已啟用。

    啟用 API

  2. 使用 gcloud services identity create 指令,在 Shared VPC 的主機專案中建立服務帳戶:

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

    將 SHARED_HOST_PROJECT_ID 替換為 Shared VPC 的主專案 ID。

  3. 在 Shared VPC 的主機專案中授予服務帳戶 IAM 角色,該角色包含 compute.globalAddresses.get IAM 權限。接著,執行 add-iam-policy-binding 指令:

    gcloud projects add-iam-policy-binding SHARED_HOST_PROJECT_ID \
        --member=serviceAccount:SA_EMAIL --role=ROLE_NAME

    更改下列內容:

    • SHARED_HOST_PROJECT_ID:Shared VPC 主機專案的 ID。

    • SA_EMAIL:您在 Shared VPC 主機專案中建立的服務帳戶電子郵件地址。

    • ROLE_NAME:包含 compute.globalAddresses.get 權限的角色名稱。請使用下列其中一種格式:

      • 預先定義的角色:roles/SERVICE.IDENTIFIER
      • 專案層級的自訂角色:projects/PROJECT_ID/roles/IDENTIFIER
      • 組織層級的自訂角色:organizations/ORG_ID/roles/IDENTIFIER

      如需預先定義角色的清單,請參閱「瞭解角色」。

建立服務帳戶並授予 IAM 權限後,請稍待幾分鐘,讓系統套用服務帳戶和權限。

此外,請在共用虛擬私有雲中分配 IPv4 IP 範圍,並按照上一節「建立及設定虛擬私有雲網路」所述,將私人服務連線新增至共用虛擬私有雲。

建立私人連線執行個體

Looker (Google Cloud Core) 大約需要 60 分鐘才能產生新的執行個體。

如要建立私人連線 (PSA) 執行個體,必須使用 Google Cloud CLI 或 Terraform,並在建立執行個體時將其設定為私人連線 (PSA)。執行個體建立後,就無法新增或移除私人連線。

如要使用 Google Cloud CLI 建立私人連線 (PSA) 執行個體,請按照下列步驟操作:

  1. 如果您使用 CMEK,請先按照操作說明建立服務帳戶、金鑰環和金鑰,再建立 Looker (Google Cloud Core) 執行個體。
  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]\
    [--release-channel=RELEASE_CHANNEL]
    

    更改下列內容:

    • INSTANCE_NAME:Looker (Google Cloud Core) 執行個體的名稱,與執行個體網址無關。
    • PROJECT_ID:您要建立 Looker (Google Cloud Core) 執行個體的 Google Cloud 專案名稱。
    • OAUTH_CLIENT_ID 和 OAUTH_CLIENT_SECRET:設定 OAuth 用戶端時建立的 OAuth 用戶端 ID 和 OAuth 密鑰。建立執行個體後,請在 OAuth 用戶端的「已授權的重新導向 URI」部分輸入執行個體的網址。
    • REGION:Looker (Google Cloud Core) 執行個體所在的區域。選取與訂閱合約中區域相符的區域。如要查看可用區域,請參閱 Looker (Google Cloud Core) 位置說明文件頁面。
    • EDITION:版本、環境類型 (正式版或非正式版),以及這是否為執行個體的試用版。如果是私人連線 (PSA) 執行個體,則應為 core-enterprise-annual、core-embed-annual、nonprod-core-enterprise-annual、nonprod-core-embed-annual、core-trial-enterprise 或 core-trial-embed。請務必選擇年約中列出的版本類型,並確認您已分配配額。執行個體建立後即無法變更版本。如要變更版本,可以使用匯入和匯出功能,將 Looker (Google Cloud Core) 執行個體資料移至設定為其他版本的新執行個體。
    • CONSUMER_NETWORK:虛擬私有雲網路或 Shared VPC 網路,格式為 projects/PROJECT_ID/global/networks/NETWORK_NAME。如果您要建立私人連線 (PSA) 執行個體,就必須設定這個值。
    • RESERVED_RANGE:虛擬私有雲中的 IP 位址範圍,Google 會在該範圍內為 Looker (Google Cloud Core) 執行個體佈建子網路。
    • RELEASE_CHANNEL:執行個體的發布管道。可用值為 rapid、regular 和 no-channel。預先發布版期間的預設值為 no-channel。如未在 create 指令中加入這個旗標,系統會使用預設管道建立執行個體。這項功能為預先發布版。

    您可以加入下列標記:

    • --private-ip-enabled 會啟用私人連線 (PSA)。必須加入這個參數,才能建立私人連線 (PSA) 執行個體。
    • --public-ip-enabled 啟用公開 IP。
    • --no-public-ip-enabled 停用公開 IP。
    • 建議您在建立 Looker (Google Cloud Core) 執行個體時,使用 --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]
      [--accelerated-security-patch-enabled]
      [--no-accelerated-security-patch-enabled]
      [--fips-enabled]
      [--catalog-integration-enabled]
      [--no-catalog-integration-enabled]
    

    更改下列內容:

    • MAINTENANCE_WINDOW_DAY:必須是下列其中一項:friday、monday、saturday、sunday、thursday、tuesday、wednesday。如要進一步瞭解維護期間設定,請參閱「管理 Looker (Google Cloud Core) 的維護政策」說明文件頁面。
    • MAINTENANCE_WINDOW_TIME 和 DENY_MAINTENANCE_PERIOD_TIME:必須採用世界標準時間, 並以 24 小時制格式表示 (例如 13:00、17:45)。
    • DENY_MAINTENANCE_PERIOD_START_DATE 和 DENY_MAINTENANCE_PERIOD_END_DATE:必須採用 YYYY-MM-DD 格式。如果執行個體也註冊了 Rapid 發布管道,或是使用 Regular 發布管道搭配加速安全性修補程式 (ASP) 設定旗標,就無法設定拒絕維護期。
    • KMS_KEY_ID:必須是在設定客戶自行管理的加密金鑰 (CMEK) 時建立的金鑰。

    下列標記可啟用其他設定:

建立執行個體時,您可以在控制台的「Instances」(執行個體) 頁面查看狀態。您也可以按一下 Google Cloud 控制台選單中的通知圖示,查看執行個體建立活動。

如果您在設定執行個體時選擇混合式連線,可以透過執行個體的網址設定傳入存取權。您可以在 Google Cloud 控制台的「Instances」(執行個體) 頁面找到該網址。如果您設定了自訂網域,則可在執行個體詳細資料頁面的「Custom domain」(自訂網域) 分頁找到該網址。您可以設定 IP 許可清單,將傳入連線限制為來自特定 IP 位址的流量。

如果您建立的執行個體僅使用私人連線 (PSA),「執行個體」頁面不會顯示網址。如要進一步瞭解如何設定私人連線 (PSA) 執行個體的存取權,請參閱下方的「在建立後存取私人服務連線執行個體」一節。

建立後存取私人服務連線執行個體

如果建立的執行個體僅啟用私人連線,您不會收到執行個體的網址。如要存取執行個體,您必須為執行個體設定自訂網域,並將該自訂網域新增至執行個體的 OAuth 憑證。請按照「使用私人服務連線存取 Looker (Google Cloud Core) 執行個體」說明文件頁面的指示,建立及存取自訂網域。

如果您建立的執行個體採用混合式網路設定,請按照「為使用公開連線的 Looker (Google Cloud Core) 執行個體設定自訂網域」說明文件頁面的指示,建立及存取自訂網域。

疑難排解執行個體建立問題

如需疑難排解說明,請參閱「排解 Looker (Google Cloud Core) 執行個體建立失敗問題」說明文件頁面。

後續步驟