공개 IP Looker(Google Cloud 핵심 서비스) 인스턴스 만들기

이 페이지에서는 공개 IP Looker(Google Cloud 핵심 서비스) 인스턴스를 프로비저닝하는 방법을 알아봅니다.

시작하기 전에

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 만들거나 기존 프로젝트로 이동합니다.

    프로젝트 선택기로 이동

  2. Google Cloud 콘솔에서 프로젝트에 Looker API를 사용 설정합니다. API를 사용 설정할 때는 API가 사용 설정되었는지 확인하기 위해 콘솔 페이지를 새로고침해야 할 수 있습니다.

    API 사용 설정

  3. OAuth 클라이언트를 설정하고 승인 사용자 인증 정보를 만듭니다. OAuth 클라이언트를 사용하면 인스턴스를 인증하고 인스턴스에 액세스할 수 있습니다. 다른 인증 방법을 사용하여 인스턴스에 사용자를 인증하는 경우에도 Looker(Google Cloud 핵심 서비스) 인스턴스를 만들려면 OAuth를 설정해야 합니다.
  4. VPC 서비스 제어를 사용하려면 공개 IP 인스턴스 대신 비공개 IP 인스턴스를 만들어야 합니다.

필요한 역할

Looker(Google Cloud 핵심 서비스) 인스턴스를 만드는 데 필요한 권한을 얻으려면 관리자에게 인스턴스가 있는 프로젝트에 대한 Looker 관리자(roles/looker.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

고객 관리 암호화 키(CMEK)를 설정하려면 추가 IAM 역할이 필요할 수도 있습니다. 자세한 내용은 Cloud Key Management Service 문서의 IAM으로 액세스 제어 페이지를 참조하세요.

Looker(Google Cloud 핵심 서비스) 인스턴스 만들기

Looker(Google Cloud 핵심 서비스)에서 새 인스턴스를 만드는 데 약 60분이 소요됩니다.

Looker(Google Cloud 핵심 서비스) 인스턴스를 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

  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. 버전 섹션에서 조직의 요구사항에 따라 인스턴스 버전을 설정합니다. 버전 유형은 인스턴스에 사용할 수 있는 일부 기능에 영향을 미칩니다. 연간 계약에 명시된 것과 동일한 버전 유형을 선택하고 해당 버전 유형에 할당된 할당량이 있는지 확인하세요. 버전 옵션은 다음과 같습니다.

    • 표준: 사용자가 50명 미만인 소규모 조직 또는 팀을 위한 Looker(Google Cloud 핵심 서비스) 플랫폼
    • 엔터프라이즈: 다양한 내부 BI 및 분석 사용 사례를 해결하기 위한 보안 강화 기능이 포함된 Looker(Google Cloud 핵심 서비스) 플랫폼
    • 삽입: 안정적인 외부 분석 및 커스텀 애플리케이션을 대규모로 배포하고 유지보수하기 위한 Looker(Google Cloud 핵심 서비스) 플랫폼

    인스턴스를 만든 후에는 버전을 변경할 수 없습니다. 버전을 변경하려면 가져오기 및 내보내기를 사용하여 Looker(Google Cloud 핵심 서비스) 인스턴스 데이터를 다른 버전으로 구성된 새 인스턴스로 이동할 수 있습니다.

  7. 인스턴스 맞춤설정 섹션에서 구성 옵션 표시를 클릭하여 인스턴스에 맞게 맞춤설정할 수 있는 추가 설정 그룹을 표시합니다.

  8. 연결 섹션에서 공개 IP만 선택합니다. 공개 IP 연결 설정은 인터넷에 액세스할 수 있는 외부 IP 주소를 할당하며 모든 버전 유형에서 사용할 수 있습니다.

    비공개 IP만 선택하거나 공개 IP비공개 IP 모두 선택하는 경우 인스턴스 생성 중에 비공개 IP Looker(Google Cloud 핵심 서비스) 인스턴스 만들기 문서 페이지의 단계를 수행하여 네트워크 설정을 완료합니다.

  9. 암호화 섹션에서 인스턴스에 사용할 암호화 유형을 선택할 수 있습니다. 다음과 같은 암호화 옵션을 사용할 수 있습니다.

  10. 유지보수 기간 섹션에서 선택적으로 Looker(Google Cloud 핵심 서비스)가 유지보수를 예약하는 요일 및 시간을 지정할 수 있습니다. 유지보수 기간은 1시간 동안 지속됩니다. 기본적으로 유지보수 기간선호 기간 옵션은 시스템 자동 선택 기간으로 설정됩니다.

  11. 유지보수 거부 기간 섹션에서 선택적으로 Looker(Google Cloud 핵심 서비스)가 유지보수를 예약하지 않는 일 단위를 지정할 수 있습니다. 유지보수 거부 기간은 최대 60일까지 설정할 수 있습니다. 유지보수 거부 기간 2개 사이에는 유지보수가 가능한 날이 14일 이상 있어야 합니다.

  12. 만들기를 클릭합니다.

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 핵심 서비스) 인스턴스의 이름입니다. 인스턴스 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: 인스턴스의 버전입니다. 가능한 값은 core-standard-annual, core-enterprise-annual 또는 core-embed-annual입니다. 인스턴스를 만든 후에는 버전을 변경할 수 없습니다. 버전을 변경하려면 가져오기 및 내보내기를 사용하여 Looker(Google Cloud 핵심 서비스) 인스턴스 데이터를 다른 버전으로 구성된 새 인스턴스로 이동할 수 있습니다.
    • CONSUMER_NETWORK: VPC 네트워크 또는 공유 VPC입니다. 비공개 IP 인스턴스를 만드는 경우 설정해야 합니다.
    • RESERVED_RANGE: Google에서 Looker(Google Cloud 핵심 서비스) 인스턴스의 서브네트워크를 프로비저닝할 VPC 내의 IP 주소 범위입니다. 인스턴스에 비공개 IP 네트워크 연결을 사용 설정하는 경우 범위를 정의하지 마세요.

    다음 플래그도 포함합니다.

    • --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: friday, monday, saturday, sunday, thursday, tuesday, wednesday 중 하나여야 합니다. 유지보수 기간 설정에 대한 자세한 내용은 Looker(Google Cloud 핵심 서비스)의 유지보수 정책 관리 문서 페이지를 참조하세요.
    • MAINTENANCE_WINDOW_TIMEDENY_MAINTENANCE_PERIOD_TIME: UTC 시간 기준 24시간 형식이어야 합니다(예: 13:00, 17:45).
    • DENY_MAINTENANCE_PERIOD_START_DATEDENY_MAINTENANCE_PERIOD_END_DATEYYYY-MM-DD 형식이어야 합니다.
    • KMS_KEY_ID: 고객 관리 암호화 키(CMEK)를 설정할 때 생성된 키여야 합니다.

    --fips-enabled 플래그를 포함하여 FIPS 140-2 Level 1 규정 준수를 사용 설정할 수 있습니다.

Terraform

다음 Terraform 리소스를 사용하여 기본 기능으로 표준 Looker(Google Cloud 핵심 서비스) 인스턴스를 프로비저닝하세요.

# 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 리소스를 사용하여 추가 설정이 적용된 엔터프라이즈 Looker(Google Cloud 핵심 서비스) 인스턴스를 프로비저닝하세요.

# 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 핵심 서비스) 인스턴스를 프로비저닝하세요.

# 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.

무작위로 생성된 이름이 할당되는 새 인스턴스의 상태를 보려면 콘솔의 인스턴스 페이지로 이동합니다.

인스턴스가 생성되는 동안 콘솔 내의 인스턴스 페이지에서 상태를 확인할 수 있습니다. Google Cloud 콘솔 메뉴에서 알림 아이콘을 클릭하여 인스턴스 생성 활동을 확인할 수도 있습니다.

공개 IP 인스턴스가 생성되면 인스턴스의 공개 URL이 인스턴스 페이지의 인스턴스 URL 열에 표시됩니다.

인스턴스가 생성되면 OAuth 클라이언트의 승인된 리디렉션 URI 섹션에 인스턴스의 URL을 입력합니다.

인스턴스가 생성되고 OAuth 설정을 완료한 후에는 인스턴스 페이지에 표시되는 인스턴스 URL로 이동하여 인스턴스를 볼 수 있습니다.

다음 단계