建立公開 IP Looker (Google Cloud Core) 執行個體

本頁面說明如何佈建公開 IP Looker (Google Cloud Core) 生產或非生產執行個體

事前準備

  1. 與業務團隊合作,確保年約已完成,且專案中已分配配額
  2. 確認您已為 Google Cloud 專案啟用計費功能
  3. 在 Google Cloud 控制台的專案選取器頁面中,建立專案 Google Cloud 或前往現有專案。

    前往專案選取器

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

    啟用 API

  5. 設定 OAuth 用戶端並建立授權憑證。OAuth 用戶端可讓您驗證及存取執行個體。即使您使用其他驗證方法,將使用者驗證到執行個體中,也必須設定 OAuth 才能建立 Looker (Google Cloud Core) 執行個體。
  6. 如要使用 VPC Service Controls,請建立私人 IP 執行個體,而非公開 IP 執行個體。

必要的角色

如要取得建立 Looker (Google Cloud Core) 執行個體所需的權限,請要求管理員為您授予執行個體所在專案的 Looker 管理員 (roles/looker.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

如要設定客戶自行管理的加密金鑰 (CMEK),您可能也需要其他 IAM 角色。如要瞭解詳情,請參閱 Cloud Key Management Service 說明文件的「使用 IAM 控管存取權」頁面。

建立 Looker (Google Cloud Core) 執行個體

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

如要建立 Looker (Google Cloud Core) 執行個體,請選取下列其中一個選項:

主控台

  1. 在 Google Cloud 控制台中,從專案前往 Looker (Google Cloud Core) 產品頁面。如果您已在這個專案中建立 Looker (Google Cloud Core) 執行個體,系統會開啟「Instances」(執行個體) 頁面。

    前往 Looker (Google Cloud Core)

  2. 點選「建立執行個體」
  3. 在「Instance name」(執行個體名稱) 區段中,提供 Looker (Google Cloud Core) 執行個體的名稱。執行個體名稱不會與 Looker (Google Cloud Core) 執行個體的網址建立關聯。執行個體建立完成後,即無法變更執行個體名稱。
  4. 在「OAuth Application Credentials」(OAuth 應用程式憑證) 專區,輸入您設定 OAuth 用戶端時建立的 OAuth 用戶端 ID 和 OAuth 密鑰。
  5. 在「Region」(區域) 部分,從下拉式選單中選取適當選項,以代管 Looker (Google Cloud Core) 執行個體。選取與訂閱合約中區域相符的區域,因為會在這裡分配專案配額。如需可用區域清單,請參閱「Looker (Google Cloud Core) 位置」說明文件頁面。執行個體建立後即無法變更區域。
  6. 在「版本」專區中,根據貴機構需求設定執行個體版本。版本類型會影響執行個體可用的功能。請務必選擇與年約中列出的版本類型相同,並確認您已為該版本類型分配配額。可選擇的方案如下:

    • Standard:Looker (Google Cloud Core) 平台,適合使用者不到 50 人的小型機構或團隊
    • 企業版:具備強化版安全防護功能的 Looker (Google Cloud Core) 平台,適用於多種內部商業智慧 (BI) 和數據分析用途
    • 嵌入:Looker (Google Cloud Core) 平台,適合大規模部署及維護可靠的外部數據分析和自訂應用程式
    • 非正式版:如要建立暫存和測試環境,請選取其中一個非正式版。詳情請參閱非正式環境執行個體說明文件。

    執行個體建立後即無法變更版本。如要變更版本,可以透過匯入及匯出功能,將 Looker (Google Cloud Core) 執行個體資料移至以不同版本設定的新執行個體。

  7. 在「自訂執行個體」部分中,按一下「顯示設定選項」,即可顯示一組可供自訂的執行個體其他設定。

  8. 在「連線」部分,僅選取「公開 IP」。公開 IP 連線設定會指派可透過網際網路存取的外部 IP 位址,適用於所有版本類型。

  9. 如果您要建立 EnterpriseEmbed 版例項,會看到「加密」部分。在「Encryption」(加密) 區段中,您可以選取要在執行個體上使用的加密類型。可用的加密選項如下:

  10. 在「維護期間」部分,您可以選擇指定 Looker (Google Cloud Core) 排定維護作業的星期幾和時間。維護期間為一小時。「維護期間」的「偏好期間」選項預設為「任何期間」

  11. 在「拒絕維護期」部分,您可以選擇指定一段時間,讓 Looker (Google Cloud Core) 不會安排維護作業。拒絕維護期的上限為 60 天。在任兩個拒絕維護期之間,至少須有 14 天的空檔,讓系統能執行維護作業。

  12. 在「Gemini in Looker」部分,您可以選擇為 Looker (Google Cloud Core) 執行個體啟用 Gemini in Looker 功能。如要啟用 Gemini in Looker,請依序選取「Gemini」和「信任的測試人員」功能。啟用「信任的測試人員」功能後,使用者就能存取 Gemini in Looker 的「信任的測試人員」功能。如要存取非公開的「信任的測試人員」功能,請透過 Gemini in Looker 預先發布版表單,分別為每位使用者提出申請。您必須啟用這項設定,才能在正式發布前預覽期間使用 Gemini。(選用) 選取「信任的測試人員」資料使用。啟用這項設定後,即表示您同意 Google 依據 Gemini for Google Cloud 「信任的測試人員」計畫條款使用您的資料。如要為 Looker (Google Cloud Core) 執行個體停用 Gemini,請清除「Gemini」Gemini設定。

  13. 點選「建立」

gcloud

  1. 如果使用 CMEK,請先建立 Looker 服務帳戶,然後按照操作說明設定 CMEK。
  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 \
    [--consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE]
    [--no-public-ip-enabled]
    [--public-ip-enabled]
    [--async]
    

    更改下列內容:

    • 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:執行個體的版本和環境類型 (實際工作環境或非實際工作環境)。可能的值為 core-standard-annualcore-enterprise-annualcore-embed-annualnonprod-core-standard-annualnonprod-core-enterprise-annualnonprod-core-embed-annual。執行個體建立後即無法變更版本。如要變更版本,可以透過匯入及匯出功能,將 Looker (Google Cloud Core) 執行個體資料移至以不同版本設定的新執行個體。
    • CONSUMER_NETWORK您的虛擬私有雲網路或共用虛擬私有雲。如要建立私人 IP 執行個體,就必須設定這個值。
    • RESERVED_RANGE:Google 會在虛擬私有雲中佈建子網路,供 Looker (Google Cloud Core) 執行個體使用,這個子網路的 IP 位址範圍。如果您要為執行個體啟用私人 IP 網路連線,請勿定義範圍。

    也請加入下列旗標:

    • --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 級規範

Terraform

使用下列 Terraform 資源,佈建具有基本功能的 Standard Looker (Google Cloud Core) 執行個體:

# Creates a Standard edition Looker (Google Cloud core) instance with basic functionality enabled.
resource "google_looker_instance" "main" {
  name             = "my-instance"
  platform_edition = "LOOKER_CORE_STANDARD"
  region           = "us-central1"
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
}

使用下列 Terraform 資源佈建 Standard Looker (Google Cloud Core) 執行個體,並套用其他設定:

# Creates a Standard edition Looker (Google Cloud core) instance with full functionality enabled.

resource "google_looker_instance" "main" {
  name              = "my-instance"
  platform_edition  = "LOOKER_CORE_STANDARD"
  region            = "us-central1"
  public_ip_enabled = true
  admin_settings {
    allowed_email_domains = ["google.com"]
  }
  // User metadata config is only available when platform edition is LOOKER_CORE_STANDARD.
  user_metadata {
    additional_developer_user_count = 10
    additional_standard_user_count  = 10
    additional_viewer_user_count    = 10
  }
  maintenance_window {
    day_of_week = "THURSDAY"
    start_time {
      hours   = 22
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  deny_maintenance_period {
    start_date {
      year  = 2050
      month = 1
      day   = 1
    }
    end_date {
      year  = 2050
      month = 2
      day   = 1
    }
    time {
      hours   = 10
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
}

使用下列 Terraform 資源,佈建採用私人網路連線企業版 Looker (Google Cloud Core) 執行個體:

# Creates an Enterprise edition Looker (Google Cloud core) instance with full, Private IP functionality.
resource "google_looker_instance" "main" {
  name               = "my-instance"
  platform_edition   = "LOOKER_CORE_ENTERPRISE_ANNUAL"
  region             = "us-central1"
  private_ip_enabled = true
  public_ip_enabled  = false
  reserved_range     = google_compute_global_address.main.name
  consumer_network   = data.google_compute_network.main.id
  admin_settings {
    allowed_email_domains = ["google.com"]
  }
  encryption_config {
    kms_key_name = google_kms_crypto_key.main.id
  }
  maintenance_window {
    day_of_week = "THURSDAY"
    start_time {
      hours   = 22
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  deny_maintenance_period {
    start_date {
      year  = 2050
      month = 1
      day   = 1
    }
    end_date {
      year  = 2050
      month = 2
      day   = 1
    }
    time {
      hours   = 10
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
  depends_on = [
    google_service_networking_connection.main,
    google_kms_crypto_key.main
  ]
}

resource "google_kms_key_ring" "main" {
  name     = "keyring-example"
  location = "us-central1"
}

resource "google_kms_crypto_key" "main" {
  name     = "crypto-key-example"
  key_ring = google_kms_key_ring.main.id
}

resource "google_service_networking_connection" "main" {
  network                 = data.google_compute_network.main.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.main.name]
}

resource "google_compute_global_address" "main" {
  name          = "looker-range"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 20
  network       = data.google_compute_network.main.id
}

data "google_project" "main" {}

data "google_compute_network" "main" {
  name = "default"
}

resource "google_kms_crypto_key_iam_member" "main" {
  crypto_key_id = google_kms_crypto_key.main.id
  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
  member        = "serviceAccount:service-${data.google_project.main.number}@gcp-sa-looker.iam.gserviceaccount.com"
}

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

執行個體建立作業啟動後,即無法暫停或終止。Terraform 資源佈建成功後,終端機會列印下列訊息:

Creation complete after XmXs [id=projects/PROJECT-ID/locations/REGION/instances/my-instance-randomly-generated-name]

Apply complete! Resources: X added, X changed, X destroyed.

如要查看新執行個體的狀態 (系統會隨機指派名稱),請前往主控台的「Instances」頁面。

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

建立公開 IP 執行個體後,執行個體的公開網址會顯示在「Instances」(執行個體) 頁面的「Instance URL」(執行個體網址) 欄中。

建立執行個體後,請在先前建立的 OAuth 用戶端中設定已授權的重新導向 URI

建立執行個體並完成 OAuth 設定後,前往「執行個體」頁面,即可查看執行個體網址。

後續步驟