인스턴스 만들기
Bigtable 인스턴스는 Bigtable 클러스터의 컨테이너입니다. 클러스터가 두 개 이상 있는 인스턴스는 복제를 사용합니다. 최대 8개의 리전에 클러스터를 만들 수 있으며, 각 리전에 있는 클러스터 수는 영역 수만큼 만들 수 있습니다.
이 페이지에서는 인스턴스를 만드는 방법을 설명합니다. 이 페이지를 읽기 전에 Bigtable 개요를 숙지해야 합니다. 인스턴스, 클러스터, 노드의 개요도 읽어야 합니다.
시작하기 전에
환경을 준비합니다.
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 다음 명령어를 실행하여
cbt
CLI를 설치합니다.gcloud components install cbt
구성을 계획합니다.
선택 사항: 복제를 사용 설정하려는 경우 다음을 수행하세요.
- 잠시 시간을 내어 복제 개요를 읽어봅니다.
- 복제 사용 사례를 확인합니다.
- 사용 사례와 애플리케이션 및 트래픽의 위치에 따라 인스턴스를 배치할 리전을 결정합니다.
- 애플리케이션 프로필을 사용하여 수신 요청을 라우팅하는 방법을 결정합니다.
선택 사항: 기본 Google 관리 암호화 대신 고객 관리 암호화 키 (CMEK)를 사용하려면 새 인스턴스를 만들기 전에 CMEK 사용 인스턴스 만들기의 작업을 완료하고 CMEK 키 ID를 준비합니다. CMEK 보호를 생성된 후에는 인스턴스에 추가할 수 없으며 인스턴스가 생성된 후에는 CMEK 키를 수정하거나 바꿀 수 없습니다.
인스턴스 만들기
Bigtable 인스턴스를 만들려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.
인스턴스의 이름을 입력합니다.
인스턴스 식별을 위해 Google Cloud 콘솔에 이 이름이 표시됩니다.
인스턴스 ID를 입력합니다.
인스턴스 ID는 인스턴스의 영구 식별자입니다.
계속을 클릭합니다.
클러스터에 SSD 디스크를 사용할지 HDD 디스크를 사용할지 선택합니다. 대부분의 경우 SSD가 가장 좋습니다. 이 선택은 되돌릴 수 없습니다. 자세히 알아보기
계속을 클릭합니다.
첫 번째 클러스터의 클러스터 ID를 입력합니다.
클러스터 ID는 클러스터의 영구 식별자입니다.
첫 번째 클러스터가 실행될 리전 및 영역을 선택합니다.
선택사항: 항상 노드 2개 단위로 확장되도록 클러스터를 구성하려면 노드 2배 확장 사용 설정을 선택합니다. 일부 영역에서는 노드 2배 확장이 지원되지 않습니다. 자세한 내용은 노드 확장 계수를 참고하세요.
클러스터의 노드 확장 모드를 선택합니다. 대부분의 경우 자동 확장을 선택해야 합니다. 확장 안내는 자동 확장을 참조하세요.
- 수동 노드 할당에 첫 번째 클러스터의 Bigtable 노드 수를 입력합니다. 얼마나 많은 노드가 필요한지 잘 모르겠으면 기본값을 사용합니다. 이후에 노드를 더 추가할 수 있습니다.
- 자동 확장에 다음 값을 입력합니다.
- 최소 노드 수
- 최대 노드 수
- CPU 사용률 목표
- 스토리지 사용률 목표
선택사항: 기본 Google 관리 암호화 대신 CMEK로 인스턴스를 보호하려면 다음을 완료합니다.
- 암호화 옵션 표시를 클릭합니다.
- 고객 관리 암호화 키(CMEK) 옆의 라디오 버튼을 선택합니다.
- 클러스터에 사용할 CMEK 키의 리소스 이름을 선택하거나 입력합니다. 이 작업은 나중에 추가할 수 없습니다.
- CMEK 키의 서비스 계정에 권한을 부여하라는 메시지가 표시되면 권한 부여를 클릭합니다. 이 작업을 완료하려면 사용자 계정에 Cloud KMS 관리자 역할을 부여해야 합니다.
- 저장을 클릭합니다.
선택사항: 지금 복제를 사용 설정하려면 다음 추가 단계를 완료하세요.
- 고급 옵션 표시를 클릭합니다.
- 클러스터 추가를 클릭하고 클러스터의 설정을 입력한 다음 추가를 클릭합니다. 이 단계를 반복하여 인스턴스에 추가 클러스터를 만듭니다. 클러스터를 추가하여 복제를 사용 설정할 수도 있습니다.
리전의 각 영역에는 클러스터가 하나만 포함될 수 있습니다. 클러스터 추가 버튼을 사용할 수 없는 경우 첫 번째 클러스터의 영역을 변경합니다.
클러스터가 7개 이상인 인스턴스를 만들려면 먼저 클러스터가 6개 있는 인스턴스를 만든 후 인스턴스에 클러스터를 추가합니다.
만들기를 클릭하여 인스턴스를 만듭니다.
기본 앱 프로필에서 복제 설정을 검토하여 복제 사용 사례에 적합한지 확인합니다. 기본 앱 프로필을 업데이트하거나 커스텀 앱 프로필을 생성해야 할 수도 있습니다.
gcloud
bigtable instances create
명령어를 사용하여 인스턴스를 만듭니다.gcloud bigtable instances create INSTANCE_ID \ --display-name=DISPLAY_NAME \ [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ nodes=NODES] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ autoscaling-min-nodes=AUTOSCALING_MIN_NODES, \ autoscaling-max-nodes=AUTOSCALING_MAX_NODES, \ autoscaling-cpu-target=AUTOSCALING_CPU_TARGET, \ autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET, \ kms-key=KMS_KEY] \ [--node-scaling-factor=NODE_SCALING_FACTOR]
다음을 바꿉니다.
INSTANCE_ID
: 인스턴스의 영구 식별자입니다.DISPLAY_NAME
: Google Cloud 콘솔에서 인스턴스를 식별하는, 인간이 읽을 수 있는 이름CLUSTER_ID
: 클러스터의 영구 식별자입니다.CLUSTER_ZONE
: 클러스터가 실행되는 영역
--cluster-config
플래그를 사용하여 인스턴스에 클러스터를 최소 한 개 이상 구성해야 합니다. 클러스터가 여러 개 있는 인스턴스를 만들려면 각 클러스터에--cluster-config
플래그를 반복합니다.수동 노드 할당의 경우
--cluster-config
플래그에nodes
를 설정하는 것은 선택사항입니다. 값이 설정되지 않은 경우 Bigtable은 데이터 공간을 기반으로 클러스터에 노드를 자동으로 할당하고 스토리지 사용률을 50%로 최적화합니다. 노드의 자동 할당은 가격 책정에 영향을 미칩니다. 클러스터의 노드 수를 제어하려면 클러스터에 원하는 노드 수로NODES
를 바꿉니다. 노드 자세히 알아보기대부분의 경우 수동 노드 할당 대신 자동 확장을 선택합니다. 자동 확장의 경우
--cluster-config
플래그에autoscaling-
옵션을 제공하고(autoscaling-storage-target
은 선택사항)nodes
를 사용하지 않습니다. 자동 확장 설정의 값을 선택하는 방법에 대한 안내는 자동 확장을 참조하세요.cluster-config
옵션 키를 바꿉니다.AUTOSCALING_MIN_NODES
: 클러스터의 최소 노드 수입니다.AUTOSCALING_MAX_NODES
: 클러스터의 최대 노드 수입니다.AUTOSCALING_CPU_TARGET
: 클러스터의 대상 CPU 사용률입니다. 이 값은 10~80 사이여야 합니다.AUTOSCALING_STORAGE_TARGET
: (선택사항) Bigtable이 노드를 추가하거나 제거하여 유지하는 스토리지 사용률 목표(GiB)입니다.KMS_KEY: 클러스터의 CMEK 키입니다.
KMS_KEY 값은 다음 형식이어야 합니다.
projects/PROJECT/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY
다음을 바꿉니다.
- PROJECT: 프로젝트의 영구 식별자
- LOCATION: 클러스터의 위치
- KEYRING: 키가 포함된 키링의 이름
- KEY: 키의 이름
다음은 그 예시입니다.
projects/examplestore.com:dev/locations/us-east1/keyRings/devt-cmek-2/cryptoKeys/key2
인스턴스가 CMEK로 보호되는 경우 각 클러스터는 CMEK 키와 동일한 리전에 있어야 합니다. CMEK로 이미 보호되는 인스턴스에만 CMEK 클러스터를 추가할 수 있습니다. 자세히 알아보기
이 명령어에는 다음과 같은 선택적 플래그가 사용됩니다.
--cluster-storage-type=CLUSTER_STORAGE_TYPE
: 인스턴스에 사용할 스토리지 유형입니다. 기본값은SSD
입니다. 대부분의 경우, 기본값이 가장 좋습니다. 이 선택은 되돌릴 수 없습니다. 자세히 알아보기--project=PROJECT
: 현재 프로젝트와 다른 경우 클러스터를 만들 프로젝트입니다.--node-scaling-factor=NODE_SCALING_FACTOR
: 2배 노드 확장을 사용 설정하는 플래그입니다. 이 기능은 수동 확장과 자동 확장 모두에서 사용 설정할 수 있습니다. 허용되는 값은node-scaling-factor-2x
또는node-scaling-factor-1x
입니다.
2배 노드 확장에 사용할 수 없는 Bigtable 영역 목록을 보려면 노드 확장 계수 제한사항을 참고하세요.
기본 앱 프로필에서 복제 설정을 검토하여 복제 사용 사례에 적합한지 확인합니다. 기본 앱 프로필을 업데이트하거나 커스텀 앱 프로필을 생성해야 할 수도 있습니다.
cbt
먼저 단일 클러스터로 인스턴스를 만듭니다.
createinstance
명령어를 사용하여 인스턴스를 만듭니다.cbt createinstance INSTANCE_ID \ DISPLAY_NAME \ CLUSTER_ID \ CLUSTER_ZONE \ CLUSTER_NUM_NODES \ CLUSTER_STORAGE_TYPE
다음을 제공합니다.
INSTANCE_ID
: 인스턴스의 영구 식별자입니다.DISPLAY_NAME
: Google Cloud 콘솔에서 인스턴스를 식별하는, 인간이 읽을 수 있는 이름CLUSTER_ID
: 클러스터의 영구 식별자입니다.CLUSTER_ZONE
: 클러스터가 실행되는 영역CLUSTER_NUM_NODES
: 이 필드는 선택사항입니다. 값이 설정되지 않은 경우 Bigtable은 데이터 공간을 기반으로 노드를 자동으로 할당하고 스토리지 사용률을 50%로 최적화합니다. 클러스터의 노드 수를 제어하려면CLUSTER_NUM_NODES
값을 업데이트합니다. 노드 수가 0이 아닌 값으로 설정되었는지 확인합니다. 노드 자세히 알아보기CLUSTER_STORAGE_TYPE
: 클러스터에 사용할 저장소의 유형입니다. 인스턴스의 각 클러스터가 동일한 스토리지 유형을 사용해야 합니다.SSD
및HDD
값을 사용합니다. 대부분의 경우SSD
가 가장 좋습니다. 이 선택은 되돌릴 수 없습니다. 자세히 알아보기
복제를 사용 설정하려면
createcluster
명령어를 사용하여 클러스터를 추가합니다.cbt -instance=INSTANCE_ID \ createcluster CLUSTER_ID \ ZONE \ NUM_NODES \ STORAGE_TYPE
다음을 제공합니다.
INSTANCE_ID
: 방금 만든 인스턴스의 영구 식별자입니다.CLUSTER_ID
: 클러스터의 영구 식별자입니다.ZONE
: 클러스터가 실행되는 영역리전의 각 영역에는 클러스터가 하나만 포함될 수 있습니다. 예를 들어 인스턴스에
us-east1-b
에 클러스터가 있는 경우 동일한 리전의 다른 영역(예:us-east1-c
) 또는 별도의 리전의 영역(예:europe-west2-a
)에 클러스터를 추가할 수 있습니다.NUM_NODES
: 이 필드는 선택사항입니다. 값이 설정되지 않은 경우 Bigtable은 데이터 공간을 기반으로 노드를 자동으로 할당하고 스토리지 사용률을 50%로 최적화합니다. 클러스터의 노드 수를 제어하려면NUM_NODES
값을 업데이트합니다. 노드 수가 0이 아닌 값으로 설정되었는지 확인합니다.대다수의 경우 한 인스턴스에 있는 각 클러스터는 노드 수가 동일해야 하지만 예외가 있습니다. 노드 및 복제 알아보기
STORAGE_TYPE
: 클러스터에 사용할 저장소의 유형입니다. 인스턴스의 각 클러스터가 동일한 스토리지 유형을 사용해야 합니다.SSD
및HDD
값을 사용합니다.
(선택사항) 기본 앱 프로필에서 복제 설정을 검토하여 복제 사용 사례에 적합한지 확인합니다. 기본 앱 프로필을 업데이트하거나 커스텀 앱 프로필을 생성해야 할 수도 있습니다.
C++
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Bigtable용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Bigtable 클라이언트 라이브러리를 참조하세요.
Bigtable에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 단계
- Bigtable에서 인스턴스, 클러스터, 노드를 사용하는 방법에 대해 알아보세요.
- Bigtable 복제에 대해 알아보세요.
- 복제용 기본 앱 프로필을 검토 및 업데이트하고, 필요에 따라 커스텀 앱 프로필을 만드세요.
- 기존 인스턴스를 수정하는 방법을 알아보세요.