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

本頁說明如何建立使用私人服務存取 (PSA) 的私人連線 (PSA) Looker (Google Cloud Core) 生產或非生產執行個體

私人連線可讓服務連線,不必經過網際網路或使用外部 IP 位址。由於私人連線不會經過網際網路,因此通常延遲時間較短,且攻擊媒介有限。私人連線可讓 Looker (Google Cloud Core) 執行個體與虛擬私有雲 (VPC) 中的其他資源通訊,但不允許來自公開網際網路的連入通訊。

私人連線可啟用部分功能,例如 VPC Service Controls。不過,私人連線不支援部分 Looker (Google Cloud Core) 功能。詳情請參閱功能相容性表。

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

必要角色和權限

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

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

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

    所需權限

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

    • 在「網路」下拉式選單中查看可用的網路:
      • 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」說明文件頁面。

事前準備

  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. 在專案中建立虛擬私有雲網路。或者,如果您使用共用虛擬私有雲,而不是建立新的虛擬私有雲網路,請完成下一節「在共用虛擬私有雲中建立執行個體」中的步驟,並完成本節中其餘的共用虛擬私有雲步驟。
  2. 在虛擬私有雲中分配 IPv4 IP 範圍 (CIDR 區塊),供私人服務存取連線連至 Looker (Google Cloud Core)。
    • 分配範圍前,請先考量限制
    • 設定 IP 位址範圍大小時,請注意最小大小為 /22 區塊。
    • Looker (Google Cloud 核心) 支援 RFC 1918 中的所有 IPv4 範圍,該 RFC 指定指派給內部 (即機構內) 使用的 IP 位址,且不會在網際網路上路由。具體來說,這些是下列項目:
      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16
    • RFC 5735RFC 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 專案中的「建立 Looker 執行個體」頁面。您可能需要重新整理頁面,系統才會辨識虛擬私有雲網路。

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

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

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

在共用虛擬私有雲中建立執行個體

如果您要在共用虛擬私有雲中建立 Looker (Google Cloud Core) 執行個體,請在共用虛擬私有雲的主機專案中完成下列步驟:

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

    啟用 API

  2. 在共用虛擬私有雲的主機專案中,使用 gcloud services identity create 指令建立服務帳戶

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

    SHARED_HOST_PROJECT_ID 替換為共用虛擬私有雲的主專案。

  3. 在主專案中授予服務帳戶 compute.globalAddresses.get IAM 權限。

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

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

建立私人連線執行個體

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

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

如要使用 Google Cloud CLI 建立私人連線 (私人服務存取) 執行個體,請執行下列步驟:

  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]
    

    更改下列內容:

    • INSTANCE_NAME:Looker (Google Cloud Core) 執行個體的名稱,與執行個體網址無關。
    • PROJECT_ID:您要在其中建立 Looker (Google Cloud Core) 執行個體的 Google Cloud 專案名稱。
    • OAUTH_CLIENT_IDOAUTH_CLIENT_SECRET:您設定 OAuth 用戶端時建立的 OAuth 用戶端 ID 和 OAuth 密鑰。建立執行個體後,請在 OAuth 用戶端的「已授權的重新導向 URI」部分輸入執行個體的網址
    • REGION:Looker (Google Cloud Core) 執行個體的代管區域。選取與訂閱合約中區域相符的區域。如需可用區域清單,請參閱「Looker (Google Cloud Core) 位置」說明文件頁面。
    • EDITION:執行個體的版本和環境類型 (實際工作環境或非實際工作環境)。如果是私人連線 (PSA) 執行個體,則應為 core-enterprise-annualcore-embed-annualnonprod-core-enterprise-annualnonprod-core-embed-annual。請務必選擇與年約中列出的版本類型相同,並已分配配額。執行個體建立後即無法變更版本。如要變更版本,可以透過匯入及匯出功能,將 Looker (Google Cloud Core) 執行個體資料移至以不同版本設定的新執行個體。
    • CONSUMER_NETWORK您的虛擬私有雲網路或共用虛擬私有雲網路。如果您要建立私人連線 (PSA) 執行個體,就必須設定這個值。
    • RESERVED_RANGE:Google 會在虛擬私有雲中佈建子網路,供 Looker (Google Cloud Core) 執行個體使用,這個子網路的 IP 位址範圍。

    您可以加入下列旗標:

    • --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]
    [--fips-enabled]
    
    取代下列項目:

    • MAINTENANCE_WINDOW_DAY:必須是下列其中一個值:fridaymondaysaturdaysundaythursdaytuesdaywednesday。如要進一步瞭解維護時段設定,請參閱「管理 Looker (Google Cloud Core) 的維護政策」說明文件頁面。
    • MAINTENANCE_WINDOW_TIMEDENY_MAINTENANCE_PERIOD_TIME:必須採用世界標準時間,並以 24 小時制格式表示 (例如 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 控制台選單中的通知圖示,查看執行個體建立活動。

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

在建立私人連線 (PSA) 執行個體後存取該執行個體

如果您建立的執行個體僅啟用私人連線 (PSA),則不會收到執行個體的網址。如要存取執行個體,您必須為執行個體設定自訂網域,並將該自訂網域新增至執行個體的 OAuth 憑證。如要瞭解設定及存取自訂網域的不同私人連線網路選項,請參閱「Looker (Google Cloud Core) 私人連線執行個體的自訂網域網路選項」說明文件頁面。

後續步驟