앱 프로필 구성

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

이 페이지를 읽기 전에 앱 프로필의 의미와 작동 방식을 이해해야 합니다. 앱 프로필을 사용하여 복제를 구성하는 경우 Cloud Bigtable 복제 개요를 숙지하고 복제 설정 예시를 검토하여 사용 사례에 가장 적합한 설정을 결정해야 합니다.

커스텀 앱 프로필 만들기

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

커스텀 앱 프로필을 만들려면 다음 단계를 따르세요.

Console

  1. Cloud Console에서 Cloud Bigtable 인스턴스 목록을 엽니다.

    인스턴스 목록 열기

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

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

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

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

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

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

  7. 클러스터 라우팅 아래에서 클러스터 ID를 선택하여 단일 클러스터 라우팅을 사용하거나, 모든 클러스터를 선택하여 멀티 클러스터 라우팅을 사용합니다. 자세히 알아보기

  8. 단일 행 트랜잭션을 사용 설정해야 하는 경우 단일 행 트랜잭션 아래에서 단일 행 트랜잭션 허용 체크박스를 선택합니다. 자세히 알아보기

    단일 행 트랜잭션을 사용 설정하려면 단일 클러스터 라우팅을 사용해야 합니다.

  9. 만들기를 클릭하여 앱 프로필을 만듭니다.

  10. 새 앱 프로필을 사용하도록 Cloud 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] \
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    다음 값을 제공합니다.

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

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

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

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

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

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

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

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

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

커스텀 앱 프로필 연결

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

다음 예시는 앱이 Cloud 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)

HappyBase

HappyBase 클라이언트 라이브러리는 커스텀 앱 프로필을 지원하지 않습니다. 이 클라이언트 라이브러리는 항상 기본 앱 프로필을 사용합니다.

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]')

앱 프로필 업데이트하기

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

기존 앱 프로필을 보거나 업데이트하려면 다음 안내를 따르세요.

Console

  1. Cloud Console에서 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] \
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    다음 값을 제공합니다.

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

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

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

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

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

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

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

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

커스텀 앱 프로필 삭제하기

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

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

Console

  1. Cloud Console에서 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: 잠재적 문제와 다른 앱 프로필과의 충돌에 대한 경고를 무시합니다.