앱 프로필 만들기 및 구성

이 페이지에서는 Bigtable 인스턴스의 애플리케이션 프로필(앱 프로필)을 만들고 관리하는 방법을 설명합니다. 또한 커스텀 앱 프로필을 사용하여 Bigtable에 연결하는 방법을 보여줍니다.

이 페이지를 읽기 전에 앱 프로필의 의미와 작동 방식을 이해해야 합니다. 특히 표준 앱 프로필(표준 컴퓨팅을 사용하도록 구성된 앱 프로필)과 Data Boost 앱 프로필(처리량이 높은 읽기 작업을 실행하기 위해 Data Boost(프리뷰) 서버리스 컴퓨팅을 사용하는 앱 프로필)의 차이점을 이해해야 합니다. Data Boost에 대한 자세한 내용과 프로비저닝된 클러스터 노드를 사용하는 컴퓨팅과의 차이점은 Data Boost 개요를 참조하세요.

표준 앱 프로필을 사용하여 복제를 구성하는 경우 Bigtable 복제 개요를 숙지하고 복제 설정 예를 검토하여 사용 사례에 가장 적합한 설정을 결정해야 합니다.

필요한 역할

앱 프로필을 생성, 구성 또는 삭제하는 데 필요한 권한을 얻으려면 관리자에게 인스턴스에 대한 Bigtable 관리자(roles/bigtable.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

앱 프로필 만들기

각 인스턴스에 대해 다양한 커스텀 앱 프로필을 생성할 수 있습니다. 커스텀 앱 프로필을 사용하여 각 애플리케이션이나 애플리케이션 내의 각 고유 기능이 인스턴스와 상호작용하는 방법을 제어합니다. 예를 들어, 배치 애플리케이션에 한 앱 프로필을 사용하여 트래픽을 단일 클러스터로 격리하고, 다른 앱 프로필을 사용하여 또 다른 애플리케이션에 고가용성을 제공할 수 있습니다.

표준 앱 프로필 만들기

표준 앱 프로필을 만들려면 다음 단계를 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.

    인스턴스 목록 열기

  2. 앱 프로필을 만들 인스턴스를 클릭합니다.

  3. 왼쪽 창에서 애플리케이션 프로필을 클릭합니다.

  4. 애플리케이션 프로필 만들기를 클릭합니다.

  5. 애플리케이션 프로필 ID를 입력합니다.

    애플리케이션 프로필 ID는 앱 프로필의 영구 식별자입니다. 애플리케이션에서 Bigtable에 연결 시 이 ID를 제공합니다.

  6. 앱 프로필에 대한 설명을 입력합니다.

  7. 클러스터 라우팅에서 단일 클러스터 라우팅 또는 멀티 클러스터 라우팅을 선택합니다. 자세히 알아보기

  8. 단일 클러스터를 선택하는 경우 다음 안내를 따르세요.

    1. 드롭다운을 사용하여 요청을 라우팅할 클러스터를 선택합니다.

    2. 단일 행 트랜잭션을 사용 설정해야 하는 경우 단일 행 트랜잭션 허용 체크박스를 선택합니다.

  9. 멀티 클러스터를 선택하는 경우 다음 안내를 따르세요.

    1. 요청을 인스턴스의 모든 클러스터로 라우팅하려면 클러스터 그룹 드롭다운에서 모든 클러스터를 선택합니다.
    2. 요청 라우팅을 인스턴스의 일부 클러스터로 제한하려면(클러스터 그룹 라우팅) 라우팅 그룹에 포함할 각 클러스터의 체크박스를 선택한 후 확인을 클릭합니다.
  10. 만들기를 클릭하여 앱 프로필을 만듭니다.

  11. 새 앱 프로필을 사용하도록 Bigtable에 연결하는 애플리케이션의 코드를 업데이트합니다.

gcloud

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. bigtable app-profiles create 명령어를 사용하여 앱 프로필을 만듭니다.

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes] \
        [--priority=PRIORITY]
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

    이 명령어에는 다음과 같은 선택적 플래그가 사용됩니다.

    • --description=DESCRIPTION: 앱 프로필에 대한 자세한 설명입니다.
    • --force: 잠재적 문제와 다른 앱 프로필과의 충돌에 대한 경고를 무시합니다.
    • --route-any: 멀티 클러스터 라우팅을 사용 설정하여 요청을 사용 가능한 모든 클러스터로 라우팅합니다.

      이 플래그를 --route-to 또는 --transactional-writes 플래그와 결합할 수 없습니다.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: 요청을 라우팅해야 하는 클러스터 목록입니다. 인스턴스의 일부 클러스터로만 요청을 라우팅하려면 이 옵션을 사용합니다.

      이 플래그를 --route-to 또는 --transactional-writes 플래그와 결합할 수 없습니다.

    • --route-to=CLUSTER_ID: 모든 요청이 라우팅되어야 하는 클러스터 ID입니다. 이 플래그는 단일 클러스터 라우팅을 사용 설정합니다.

      이 플래그를 --route-any 플래그와 결합할 수 없습니다.

    • --transactional-writes: 앱 프로필에서 단일 행 트랜잭션을 사용 설정합니다.

      이 플래그를 --route-any 또는 --restrict-to 플래그와 결합할 수 없습니다.

    • --priority=PRIORITY: 앱 프로필이 사용해야 하는 우선순위 수준입니다. 허용되는 값은 PRIORITY_HIGH, PRIORITY_MEDIUM 또는 PRIORITY_LOW입니다.

  3. 새 앱 프로필을 사용하도록 Bigtable에 연결하는 애플리케이션의 코드를 업데이트합니다.

Data Boost 앱 프로필 만들기

Data Boost 서버리스 컴퓨팅을 사용하는 앱 프로필인 Data Boost 앱 프로필을 만들려면 다음 단계를 수행합니다. 워크로드가 Data Boost와 호환되는지 확인하려면 제한사항을 검토하세요.

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. beta bigtable app-profiles create 명령어를 사용하여 앱 프로필을 만듭니다.

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.
    • CLUSTER_ID: 모든 요청이 라우팅되어야 하는 클러스터 ID입니다. 이 플래그는 단일 클러스터 라우팅을 사용 설정합니다.

커스텀 앱 프로필 연결

커스텀 앱 프로필을 만든 후에는 Bigtable에 연결할 때 애플리케이션에서 앱 프로필을 사용하도록 코드를 업데이트할 수 있습니다.

다음 예시는 앱이 Bigtable 클라이언트를 만들고 인스턴스에 연결할 때 앱 프로필을 지정하는 방법을 보여줍니다. [APP_PROFILE_ID]를 적절한 값으로 바꿉니다.

C#

var client = BigtableClient.Create(appProfileId: "[APP_PROFILE_ID]");

Go

clientConf := bigtable.ClientConfig{AppProfile:"[APP_PROFILE_ID]"}
client, err = bigtable.NewClientWithConfig(ctx, project, instance, clientConf)

HBase 자바

// If using BigtableOptions directly:
optionsBuilder.setAppProfileId("[APP_PROFILE_ID]");

// If using BigtableOptionsFactory:
configuration.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, "[APP_PROFILE_ID]");

// If using system properties, set "google.bigtable.app_profile.id" to
// "[APP_PROFILE_ID]"

// If using CloudBigtableIO for Cloud Dataflow:
config.withConfiguration(BigtableOptionsFactory.APP_PROFILE_ID_KEY,
                         "[APP_PROFILE_ID]");

Node.js

const bigtable = new Bigtable({appProfileId: '[APP_PROFILE_ID]'});

Python

from google.cloud import bigtable

client = bigtable.Client(project=project_id)
instance = client.instance(instance_id)
table = bigtable.table.Table(table_id, instance, '[APP_PROFILE_ID]')

앱 프로필 업데이트

언제든지 인스턴스의 앱 프로필을 보고 관련 설정을 업데이트할 수 있습니다. Bigtable은 예기치 않은 동작 변경을 일으킬 수 있는 업데이트를 경고합니다.

앱 프로필을 표준에서 Data Boost로 또는 Data Boost에서 표준으로 업데이트하는 방법은 앱 프로필 변환을 참조하세요.

표준 앱 프로필 업데이트

표준 앱 프로필을 업데이트하려면 다음 단계를 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.

    인스턴스 목록 열기

  2. 애플리케이션 프로필 열에서 보거나 업데이트하려는 앱 프로필을 클릭합니다.

    편집하려는 앱 프로필이 보이지 않으면 인스턴스 이름을 클릭한 다음 왼쪽 창에서 애플리케이션 프로필을 클릭하여 전체 목록을 볼 수 있습니다.

  3. 필요에 따라 설정을 업데이트한 다음 저장을 클릭하거나 취소를 클릭하여 저장하지 않고 종료합니다.

gcloud

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. 앱 프로필 ID를 모르면 bigtable app-profiles list 명령어를 사용하여 인스턴스의 앱 프로필 목록을 확인합니다.

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID를 인스턴스의 영구 식별자로 바꿉니다.

  3. (선택사항) bigtable app-profiles describe 명령어를 사용하여 앱 프로필 설정을 확인합니다.

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.
  4. bigtable app-profiles update 명령어를 사용하여 앱 프로필 설정을 업데이트합니다.

    gcloud bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

    이 명령어에는 다음과 같은 선택적 플래그가 사용됩니다.

    • --description=DESCRIPTION: 앱 프로필에 대한 자세한 설명입니다.
    • --force: 잠재적 문제와 다른 앱 프로필과의 충돌에 대한 경고를 무시합니다.
    • --route-any: 멀티 클러스터 라우팅을 사용 설정하여 요청을 사용 가능한 모든 클러스터로 라우팅합니다.

      이 플래그를 --route-to 또는 --transactional-writes 플래그와 결합할 수 없습니다.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: 요청을 라우팅해야 하는 클러스터 목록입니다. 인스턴스의 일부 클러스터로만 요청을 라우팅하려면 이 옵션을 사용합니다.

      이 플래그를 --route-to 또는 --transactional-writes 플래그와 결합할 수 없습니다.

    • --route-to=CLUSTER_ID: 모든 요청이 라우팅되어야 하는 클러스터 ID입니다. 이 플래그는 단일 클러스터 라우팅을 사용 설정합니다.

      이 플래그를 --route-any 플래그와 결합할 수 없습니다.

    • --transactional-writes: 앱 프로필에서 단일 행 트랜잭션을 사용 설정합니다.

      이 플래그를 --route-any 플래그와 결합할 수 없습니다.

    • --priority=PRIORITY: 앱 프로필이 사용하는 우선순위 수준입니다. 허용되는 값은 PRIORITY_HIGH, PRIORITY_MEDIUM 또는 PRIORITY_LOW입니다.

Data Boost 앱 프로필 업데이트

Data Boost 앱 프로필이 읽는 클러스터를 업데이트하려면 다음 단계를 수행합니다.

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. 앱 프로필 ID를 모르면 bigtable app-profiles list 명령어를 사용하여 인스턴스의 앱 프로필 목록을 확인합니다.

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID를 인스턴스의 영구 식별자로 바꿉니다.

  3. (선택사항) bigtable app-profiles describe 명령어를 사용하여 앱 프로필 설정을 확인합니다.

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.
  4. beta bigtable app-profiles update 명령어를 사용하여 앱 프로필 설정을 업데이트합니다.

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --route-to=CLUSTER_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.
    • CLUSTER_ID: 읽을 새 클러스터의 ID입니다.

앱 프로필 변환

표준 앱 프로필을 Data Boost 앱 프로필로 변환하거나 Data Boost 앱 프로필을 표준 앱 프로필로 변환할 수 있습니다. 앱 프로필을 변환하려면 먼저 앱 프로필 변경 안내를 검토하세요.

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. 앱 프로필 ID를 모르면 bigtable app-profiles list 명령어를 사용하여 인스턴스의 앱 프로필 목록을 확인합니다.

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID를 인스턴스의 영구 식별자로 바꿉니다.

  3. (선택사항) bigtable app-profiles describe 명령어를 사용하여 앱 프로필 설정을 확인합니다.

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.
  4. beta bigtable app-profiles update 명령어를 사용하여 표준에서 Data Boost로 앱 프로필을 변환합니다.

    gcloud bigtable app-profile-update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.
    • CLUSTER_ID: 모든 요청이 라우팅되어야 하는 클러스터 ID입니다. 이 플래그는 단일 클러스터 라우팅을 사용 설정합니다.

앱 프로필을 표준에서 Data Boost로 변환

앱 프로필을 표준(컴퓨팅을 위한 프로비저닝된 노드)에서 Data Boost 서버리스 컴퓨팅으로 업데이트하기 전에 Data Boost 자격요건 측정항목을 확인합니다.

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. 앱 프로필 ID를 모르면 bigtable app-profiles list 명령어를 사용하여 인스턴스의 앱 프로필 목록을 확인합니다.

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID를 인스턴스의 영구 식별자로 바꿉니다.

  3. (선택사항) bigtable app-profiles describe 명령어를 사용하여 앱 프로필 설정을 확인합니다.

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

앱 프로필을 Data Boost에서 표준으로 변환

앱 프로필을 Data Boost(서버리스 컴퓨팅)에서 표준(컴퓨팅을 위한 프로비저닝된 노드)을 사용하도록 변경하려면 다음 단계를 따르세요.

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. 앱 프로필 ID를 모르면 bigtable app-profiles list 명령어를 사용하여 인스턴스의 앱 프로필 목록을 확인합니다.

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID를 인스턴스의 영구 식별자로 바꿉니다.

  3. (선택사항) bigtable app-profiles describe 명령어를 사용하여 앱 프로필 설정을 확인합니다.

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. beta bigtable app-profiles update 명령어를 사용하여 앱 프로필을 변환합니다.

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --standard \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

다음을 제공합니다.

  • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
  • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

이 명령어에는 다음과 같은 선택적 플래그가 사용됩니다.

  • --route-any: 멀티 클러스터 라우팅을 사용 설정하여 요청을 사용 가능한 모든 클러스터로 라우팅합니다.

    이 플래그를 --route-to 또는 --transactional-writes 플래그와 결합할 수 없습니다.

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: 요청을 라우팅해야 하는 클러스터 목록입니다. 인스턴스의 일부 클러스터로만 요청을 라우팅하려면 이 옵션을 사용합니다.

    이 플래그를 --route-to 또는 --transactional-writes 플래그와 결합할 수 없습니다.

  • --route-to=CLUSTER_ID: 모든 요청이 라우팅되어야 하는 클러스터 ID입니다. 이 플래그는 단일 클러스터 라우팅을 사용 설정합니다.

    이 플래그를 --route-any 플래그와 결합할 수 없습니다.

  • --transactional-writes: 앱 프로필에서 단일 행 트랜잭션을 사용 설정합니다.

    이 플래그를 --route-any 또는 --restrict-to 플래그와 결합할 수 없습니다.

앱 프로필 삭제

인스턴스의 커스텀 앱 프로필을 삭제할 수 있지만 기본 앱 프로필은 삭제할 수 없습니다.

커스텀 앱 프로필을 삭제하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.

    인스턴스 목록 열기

  2. 삭제하려는 앱 프로필이 들어 있는 인스턴스를 클릭합니다.

  3. 왼쪽 창에서 애플리케이션 프로필을 클릭합니다.

  4. 작업 더보기 메뉴 을 열고 애플리케이션 프로필 삭제를 클릭합니다. 확인 대화상자가 나타납니다.

  5. 확인 대화상자의 지침을 따르고 삭제를 클릭합니다.

gcloud

  1. 인스턴스 ID를 모르면 bigtable instances list 명령어를 사용하여 프로젝트 인스턴스 목록을 확인합니다.

    gcloud bigtable instances list
    
  2. 앱 프로필 ID를 모르면 bigtable app-profiles list 명령어를 사용하여 인스턴스의 앱 프로필 목록을 확인합니다.

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID를 인스턴스의 영구 식별자로 바꿉니다.

  3. bigtable app-profiles delete 명령어를 사용하여 앱 프로필을 삭제합니다.

    gcloud bigtable app-profiles delete APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--force]
    

    다음을 제공합니다.

    • APP_PROFILE_ID: 앱 프로필의 영구 식별자입니다.
    • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

    이 명령어에는 다음과 같은 선택적 플래그가 사용됩니다.

    --force: 잠재적 문제와 다른 앱 프로필과의 충돌에 대한 경고를 무시합니다.