AlloyDB 인스턴스를 확장하여 변화하는 워크로드 요구사항에 맞게 클러스터의 용량과 성능을 조정할 수 있습니다. 확장하면 비용을 관리하고 트래픽 급증을 쉽게 처리할 수 있습니다.
다음과 같이 여러 가지 방법으로 AlloyDB 인스턴스를 확장할 수 있습니다.
| 확장 유형 | 방법 | 자동화 | 기본 인스턴스 | 읽기 풀 인스턴스 |
|---|---|---|---|---|
| 수직 | 머신 유형 변경 | 수동 | 지원됨 | 지원됨 |
| 수평 | 노드 수 변경 | 수동 및 자동 | 지원되지 않음 | 지원됨 |
시작하기 전에
- 사용 중인 Google Cloud 프로젝트가 AlloyDB에 액세스할 수 있도록 사용 설정되어 있어야 합니다.
- 사용 중인 Google Cloud 프로젝트에 다음 IAM 역할 중 하나가 있어야 합니다.
roles/alloydb.admin(AlloyDB 관리자가 사전 정의한 IAM 역할)roles/owner(소유자 기본 IAM 역할)roles/editor(편집자 기본 IAM 역할)
이러한 역할이 없는 경우 조직 관리자에게 문의하여 액세스 권한을 요청하세요.
수동 확장
이 섹션에서는 AlloyDB 인스턴스를 수동으로 확장하는 방법을 설명합니다. 예를 들어 머신 유형을 변경하여 인스턴스를 수직으로 확장하고 노드 수를 변경하여 읽기 풀 인스턴스를 수평으로 확장할 수 있습니다.
인스턴스의 머신 유형 확장
인스턴스의 머신 유형을 변경하여 기본 인스턴스와 읽기 풀 인스턴스 모두 수직으로 확장할 수 있습니다. 이렇게 하면 vCPU와 RAM이 수정됩니다.
콘솔
Google Cloud 콘솔에서 클러스터 페이지로 이동합니다.
리소스 이름 열에서 클러스터를 클릭합니다.
개요 페이지에서 클러스터 내 인스턴스 섹션으로 이동한 뒤 기본 인스턴스 수정 또는 읽기 풀 수정을 클릭합니다.
다음 머신 시리즈 중 하나를 선택합니다.
- C4A: Google Axion 기반 머신 시리즈로, 프리뷰에서 사용할 수 있습니다.
- N2: 기본 x86 기반 머신 시리즈입니다.
- C4: Intel Xeon 스케일러블 프로세서 및 Titanium 기반 머신 시리즈입니다.
머신 유형을 선택합니다.
- C4A는 1, 4, 8, 16, 32, 48, 64, 72 머신 유형 또는 형태를 지원합니다.
- N2는 2, 4, 8, 16, 32, 64, 96, 128 머신 유형 또는 형태를 지원합니다.
C4는 4, 8, 16, 24, 32, 48, 96, 144, 192, 288 머신 유형 또는 형태를 지원합니다.
C4A Axion 기반 머신 시리즈, 특히 1 vCPU 머신 유형 사용과 관련된 고려사항은 C4A Axion 기반 머신 시리즈 사용 시 고려사항을 참고하세요.
인스턴스 업데이트 또는 읽기 풀 업데이트를 클릭합니다.
gcloud
gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.
gcloud alloydb instances
update 명령어를 사용하여 기본 인스턴스의 머신 유형을 변경합니다.
gcloud alloydb instances update INSTANCE_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID다음을 바꿉니다.
INSTANCE_ID: 업데이트할 인스턴스의 IDCPU_COUNT: 인스턴스에 필요한 N2 vCPU 수. 기본값은 N2입니다. 유효한 값은 다음과 같습니다.2: 2 vCPU, 16GB RAM4: vCPU 4개, 32GB RAM8: vCPU 8개, 64GB RAM16: vCPU 16개, 128GB RAM32: vCPU 32개, 256GB RAM64: vCPU 64개, 512GB RAM96: vCPU 96개, 768GB RAM128: vCPU 128개, 864GB RAM
MACHINE_TYPE: (선택사항) 지원되는 머신 유형 목록(예:n2-highmem-4,c4-highmem-4-lssd,c4a-highmem-4-lssd)에서 선택합니다. 자세한 내용은 AlloyDB 머신 유형 선택을 참고하세요.MACHINE_TYPE과CPU_COUNT를 함께 사용하는 경우CPU_COUNT및MACHINE_TYPE의 값이 일치해야 합니다. 그렇지 않으면 오류가 발생합니다.REGION_ID: 인스턴스가 배치된 리전CLUSTER_ID: 인스턴스가 배치된 클러스터의 IDPROJECT_ID: 클러스터가 배치된 프로젝트의 ID
명령어가 invalid cluster state MAINTENANCE 구문이 포함된 오류 메시지를 반환하면 클러스터에서 정기 유지보수가 진행 중인 것입니다. 이 경우 인스턴스 재구성이 일시적으로 허용되지 않습니다.
클러스터가 READY 상태로 돌아간 후 명령어를 다시 실행합니다.
클러스터 상태를 확인하려면 클러스터 세부정보 보기를 참고하세요.
머신 유형 업데이트 가속화
머신 유형을 더 빠르게 업데이트하려면 gcloud beta alloydb instances update 명령어와 함께 FORCE_APPLY 옵션을 사용하세요.
gcloud beta alloydb instances update INSTANCE_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
--update-mode=FORCE_APPLY인스턴스에 약 1분의 다운타임이 발생합니다.
인스턴스의 머신 유형이 10~15분 후에 변경됩니다.
읽기 풀 인스턴스의 노드 수 확장
AlloyDB를 사용하면 인스턴스 수준의 다운타임 없이 읽기 풀 인스턴스에서 노드 수를 확장할 수 있습니다. 노드 수를 늘려도 클라이언트 연결은 영향을 받지 않습니다.
노드 수를 줄이는 경우 종료되는 노드에 연결된 클라이언트는 인스턴스 엔드포인트를 사용하여 다른 노드에 다시 연결할 수 있습니다.
콘솔
Google Cloud 콘솔에서 클러스터 페이지로 이동합니다.
리소스 이름 열에서 클러스터를 클릭합니다.
개요 페이지에서 클러스터의 인스턴스 섹션으로 이동하여 읽기 풀 수정을 클릭합니다.
노드 수 필드에 노드 수를 입력합니다.
읽기 풀 업데이트를 클릭합니다.
gcloud
gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.
gcloud alloydb instances
update 명령어를 사용하여 읽기 풀 인스턴스의 노드 수를 변경합니다.
gcloud alloydb instances update INSTANCE_ID \
--read-pool-node-count=NODE_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_IDINSTANCE_ID: 읽기 풀 인스턴스의 IDNODE_COUNT: 읽기 풀 인스턴스의 노드 수.1~20사이(포함)의 숫자를 지정하세요. 클러스터의 모든 읽기 풀 인스턴스에 걸쳐 노드를 20개 넘게 지정할 수 없습니다.REGION_ID: 인스턴스가 배치된 리전CLUSTER_ID: 인스턴스가 위치한 클러스터의 IDPROJECT_ID: 클러스터가 배치된 프로젝트의 ID
명령어가 invalid cluster state MAINTENANCE 구문이 포함된 오류 메시지를 반환하면 클러스터에서 정기 유지보수가 진행 중인 것입니다. 이 경우 인스턴스 재구성이 일시적으로 허용되지 않습니다.
클러스터가 READY 상태로 돌아간 후 명령어를 다시 실행합니다. 클러스터 상태를 확인하려면 클러스터 세부정보 보기를 참고하세요.
읽기 풀 인스턴스 자동 확장
AlloyDB 읽기 풀 자동 확장을 사용하면 실시간 리소스 사용량에 따라 읽기 노드 수를 자동으로 적응적으로 변경할 수 있습니다. 이를 통해 사용량 변화에 대처하고 비용을 절감할 수 있습니다.
다음 정책을 사용하여 자동 확장 기능을 구성할 수 있습니다.
- CPU 사용률 기반: 목표 CPU 사용률에 따라 노드 수를 확장합니다.
- 일정 기반: 지정된 시간 동안 노드 수를 최소 개수로 조정합니다.
이러한 정책을 함께 사용할 수 있습니다. 여러 정책이 활성 상태인 경우 자동 확장 처리는 가장 많은 수의 노드를 권장하는 정책을 선택합니다.
제한사항
읽기 풀 자동 확장 처리에는 다음과 같은 제한사항이 있습니다.
- 장기 연결의 부하 분산: 트래픽을 균등하게 분산하고 자동 확장으로 추가된 용량을 최대한 활용하려면 새 클라이언트 연결을 만드는 것이 좋습니다. 자동 확장 처리기는 새 노드를 추가할 때 기존의 장기 연결을 종료하지 않으므로 이러한 연결의 트래픽은 새로 추가된 노드로 라우팅되지 않습니다.
- 새 노드의 캐시 워밍: 자동 확장 처리에서 새 노드를 추가하면 캐시를 워밍하고 최대 쿼리 성능에 도달하는 데 몇 분 정도 걸릴 수 있습니다.
- 대규모 쿼리 동작: 매우 큰 읽기 쿼리를 실행하는 동안 자동 확장 조정이 지연될 수 있습니다.
새 읽기 풀 인스턴스에서 자동 확장 사용 설정
CPU 기반 정책, 일정 기반 정책 또는 둘 다를 사용하여 읽기 풀 인스턴스를 만들 때 자동 확장을 사용 설정하고 구성할 수 있습니다.
CPU 기반 정책으로 읽기 풀 인스턴스 만들기
타겟 CPU 사용률을 기반으로 하는 자동 확장 정책을 사용하여 읽기 풀 인스턴스를 만들려면 다음 명령어를 실행하세요.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--read-pool-node-count=NODE_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--enable-autoscaler \
--autoscaler-max-node-count=MAX_NODE_COUNT \
--autoscaler-target-cpu-usage=TARGET_CPU_USAGE다음을 바꿉니다.
INSTANCE_ID: 읽기 풀 인스턴스의 IDREAD_POOL: 인스턴스 유형 지정NODE_COUNT: 읽기 풀 인스턴스의 노드 수.1~20사이(포함)의 숫자를 지정하세요. 클러스터의 모든 읽기 풀 인스턴스에 걸쳐 노드를 20개 넘게 지정할 수 없습니다.REGION_ID:: 인스턴스가 배치된 리전CLUSTER_ID: 인스턴스가 배치된 클러스터의 IDPROJECT_ID: 클러스터가 배치된 프로젝트의 IDMAX_NODE_COUNT: 자동 확장 처리에서 읽기 풀 인스턴스에 만들 수 있는 최대 노드 수. 단일 클러스터의 모든 읽기 풀 인스턴스에 걸쳐 노드 수가 20개를 초과할 수 없습니다.TARGET_CPU_USAGE: 읽기 풀 인스턴스의 대상 CPU 사용률로, 0.0~1.0 사이의 십진수로 표현됩니다. 예를 들어 70%는 0.7입니다.
일정 기반 정책으로 읽기 풀 인스턴스 만들기
특정 시간대의 최소 노드 수를 정의하는 일정 기반 자동 확장 정책으로 읽기 풀 인스턴스를 만들려면 다음 명령어를 실행하세요.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--read-pool-node-count=NODE_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--enable-autoscaler \
--autoscaler-max-node-count=MAX_NODE_COUNT \
--autoscaler-set-schedule=SCHEDULE_NAME \
--autoscaler-schedule-cron-exp=CRON_EXPRESSION \
--autoscaler-schedule-duration-seconds=DURATION_SECONDS \
--autoscaler-schedule-time-zone=TIME_ZONE \
--autoscaler-schedule-min-node-count=MIN_NODE_COUNT \
--autoscaler-schedule-description="DESCRIPTION"다음을 바꿉니다.
MAX_NODE_COUNT: 자동 확장 처리에서 읽기 풀 인스턴스에 만들 수 있는 최대 노드 수. 단일 클러스터의 모든 읽기 풀 인스턴스에 걸쳐 노드 수가 20개를 초과할 수 없습니다.SCHEDULE_NAME: 확장 일정의 고유 이름CRON_EXPRESSION: 확장 이벤트의 시작 시간을 지정하는 cron 형식의 일정DURATION_SECONDS: 일정이 시작된 후 활성 상태로 유지되는 시간(초). 이 기간이 지나면 인스턴스는 다른 정책 또는 원래 구성에 따라 결정된 노드 수로 축소됩니다.TIME_ZONE: 일정의 선택적 시간대. 예를 들면America/Los_Angeles입니다.MIN_NODE_COUNT: 일정이 활성 상태일 때 자동 확장 처리가 읽기 풀 인스턴스를 확장하는 최소 노드 수DESCRIPTION: 일정에 대한 텍스트 설명(선택사항)
CPU 및 일정 기반 정책으로 읽기 풀 인스턴스 만들기
CPU 기반 자동 확장 정책과 일정 기반 자동 확장 정책이 모두 있는 읽기 풀 인스턴스를 만들려면 다음 명령어를 실행합니다.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--read-pool-node-count=NODE_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--enable-autoscaler \
--autoscaler-max-node-count=MAX_NODE_COUNT \
--autoscaler-target-cpu-usage=TARGET_CPU_USAGE \
--autoscaler-set-schedule=SCHEDULE_NAME \
--autoscaler-schedule-cron-exp=CRON_EXPRESSION \
--autoscaler-schedule-duration-seconds=DURATION_SECONDS \
--autoscaler-schedule-time-zone=TIME_ZONE \
--autoscaler-schedule-min-node-count=MIN_NODE_COUNT \
--autoscaler-schedule-description="DESCRIPTION"TARGET_CPU_USAGE를 읽기 풀 인스턴스의 타겟 CPU 사용률로 바꿉니다. 0.0~1.0 사이의 십진수 값으로 표현됩니다.
이 명령어에 사용된 자리표시자에 대한 설명은 CPU 기반 정책으로 읽기 풀 인스턴스 만들기 및 일정 기반 정책으로 읽기 풀 인스턴스 만들기 정책을 참고하세요.
기존 읽기 풀 인스턴스에서 자동 확장 사용 설정 또는 업데이트
기존 읽기 풀 인스턴스에서 자동 확장 설정을 사용 설정, 사용 중지 또는 수정할 수 있습니다.
기존 인스턴스에서 처음으로 자동 확장을 사용 설정하거나 기존 정책을 업데이트하려면 gcloud alloydb instances update 명령어를 사용합니다. 예를 들어 대상 CPU 사용률을 업데이트하려면 다음을 실행합니다.
gcloud alloydb instances update INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--autoscaler-target-cpu-usage=NEW_TARGET_CPU_USAGENEW_TARGET_CPU_USAGE를 읽기 풀 인스턴스에 설정할 새 타겟 CPU 사용률로 바꿉니다. 0.0~1.0 사이의 십진수 값으로 표현됩니다.
기존 구성에 두 번째 일정을 추가하려면 새 일정 이름으로 업데이트 명령어를 실행합니다. 일정 이름이 이미 있는 경우 이 명령어는 기존 일정을 업데이트합니다. 그렇지 않으면 새 일정이 생성됩니다.
gcloud alloydb instances update INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--autoscaler-set-schedule=NEW_SCHEDULE_NAME \
--autoscaler-schedule-cron-exp=CRON_EXPRESSION \
--autoscaler-schedule-duration-seconds=DURATION_SECONDS \
--autoscaler-schedule-min-node-count=MIN_NODE_COUNTNEW_SCHEDULE_NAME을 신규 또는 업데이트된 확장 일정의 고유 이름으로 바꿉니다. 제공된 이름이 기존 일정과 일치하면 명령어가 해당 일정의 설정을 업데이트합니다. 이름이 없으면 명령어는 이 이름으로 새 일정을 만듭니다.
자동 확장 정책 평가 방법
여러 자동 확장 정책이 활성화되어 있으면 자동 확장 처리는 각 정책을 평가하고 가장 많은 수의 노드를 권장하는 정책을 선택합니다.
예를 들어 다음 두 가지 정책이 포함된 구성을 고려해 보세요.
- 목표 사용률이 60% 인 CPU 기반 정책
- 평일 오전 8시부터 오후 5시까지 최소 3개의 노드가 필요한 일정 기반 정책
정오에 CPU 사용률이 80%인 평일인 경우 CPU 기반 정책에서는 노드를 4개로 확장하도록 권장하는 반면 일정 기반 정책에서는 3개로 확장하도록 권장할 수 있습니다. 자동 확장 처리기가 인스턴스를 4개 노드로 확장합니다.
자동 확장 사용 중지
자동 확장을 사용 중지하려면 no-enable-autoscaler 플래그를 사용합니다. 이렇게 하면 자동 확장이 사용 설정되기 전의 원래 노드 수로 읽기 풀이 재설정됩니다.
gcloud alloydb instances update INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--no-enable-autoscaler