카우치베이스 서버

Google Cloud Platform에서 고가용성을 위한 Couchbase 배포 - 1부

구글 클라우드 플랫폼(GCP)은 클라우드 컴퓨팅 플랫폼의 시장 출시에서 AWS와 Azure에 비해 눈에 띄게 뒤처져 있었습니다. 그럼에도 불구하고 GCP의 성장률은 AWS보다 더 높았는데, 이는 기업들이 AWS와 Azure에 비해 GCP가 제공하는 몇 가지 이점을 고려하기 시작했기 때문입니다. 예를 들어, GCP만이 기본적으로 동일한 프라이빗 네트워크에서 전 세계 여러 지역의 리소스를 실행할 수 있습니다. 즉, VPN을 통해 지역을 연결할 필요가 없으며 글로벌 트래픽이 공용 인터넷에 닿지 않습니다.

더 많은 잠재 고객과 Couchbase 고객이 GCP를 탐색하고 사용하는 것을 보고 있습니다. GCP에서 Couchbase를 시작하는 데 도움이 되는 훌륭한 Couchbase 문서가 있습니다:

고가용성 모범 사례

위의 참고 자료가 클러스터를 시작하고 실행하는 데 도움이 되겠지만, Couchbase Server를 설치할 때마다 기본적으로 제공되는 서버 그룹 인식 기능 및 XDCR(교차 데이터 센터) 기능을 활용하여 GCP에서 Couchbase 클러스터에 고가용성 모범 사례를 적용하는 몇 가지 기본 사항을 다루는 것이 도움이 될 것이라고 생각했습니다. 

서버 그룹 인식 는 특정 서비스를 위한 노드를 서버 그룹에 분산 배치할 수 있도록 Couchbase 서비스 이중화 기능을 제공하여 가용성을 향상시킵니다. 특히 그룹 정의를 통해 대규모 인프라 장애로부터 클러스터를 보호합니다. 자세히 알아보기 여기.

XDCR 는 소스 버킷과 대상 버킷 간에 데이터를 복제합니다. 버킷은 서로 다른 클러스터와 다른 데이터 센터에 위치할 수 있으므로 데이터 센터 장애로부터 보호하고 전 세계에 분산된 미션 크리티컬 애플리케이션을 위한 고성능 데이터 액세스를 제공합니다. XDCR에 대해 자세히 알아보세요. 여기.

고가용성 배포를 위한 단계

2부로 구성된 블로그의 1부에서는 GCP 마켓플레이스를 통해 생성된 GCE 클러스터에서 서버 그룹 인식을 구현하는 방법을 다룹니다. 2부에서는 액티브/패시브 HA를 위한 Google Cloud Platform GCE- XDCR에서 고가용성을 위한 Couchbase 배포를 다룹니다.

다음은 이와 관련된 높은 수준의 단계이며 아래에서 자세히 설명합니다:

  1. 에서 다룬 Couchbase Server BYOL 옵션의 기본 템플릿을 변경하여 7노드 클러스터를 배포합니다.GCP 마켓플레이스를 사용하여 카우치베이스 서버 배포하기"
  2. 7개의 노드 각각에 할당된 영역을 캡처합니다.
  3. 매트릭스를 생성하여 각 서비스의 노드가 지역 클러스터에서 사용할 수 있는 GCP 영역에 걸쳐 분할되도록 합니다.
  4. 템플릿이 이전 단계에서 생성한 매트릭스에 따라 모든 노드에 모든 서비스를 배치하므로 각 노드에서 하나의 Couchbase 서비스만 실행되도록 각 노드를 제거했다가 다시 추가합니다.
  5. 카우치베이스 서버 관리 UI에서 각 GCP 영역에 해당하는 서버 그룹을 생성하고 3단계의 매트릭스에 따라 각 노드에 그룹을 할당합니다.

1단계

의 지침을 따르세요. GCP 마켓플레이스를 사용하여 카우치베이스 서버 배포하기을 클릭하지만 아래 스크린샷에 표시된 위치에서 "카우치베이스 서버 노드 수"를 "3"에서 "7"로, 그리고 카우치베이스 동기화 게이트웨이 노드 수 를 "2"에서 "0"으로 변경합니다.

기본 시작 템플릿을 변경하고 있지만, 이 템플릿을 사용하면 GCE Couchbase 엔진을 시작하고 실행하는 데 많은 시간을 절약할 수 있습니다. 워크로드 요구 사항이 있는 특정 사용 사례의 경우, Couchbase 솔루션 엔지니어와 협력하여 Couchbase 클러스터가 요구 사항 및 SLA에 적합한 크기인지 확인하는 것이 가장 좋습니다.

GCP Couchbase 마켓플레이스 템플릿으로 클러스터를 시작한 후, 아래 예시와 같이 모든 노드가 하나의 서버 그룹에 있고 모두 6개의 Couchbase 서비스를 모두 실행하고 있는 것을 확인할 수 있습니다. 이 연습에서는 각각 데이터, 쿼리 또는 인덱스 서비스만 실행하도록 노드를 재구성하겠습니다.

2단계

하나의 서비스가 할당된 노드를 제거하고 다시 추가하기 전에, 시작 시 각 노드가 어떤 GCE 영역에 할당되었는지 확인해야 합니다. 이 작업은 GCP 콘솔의 "VM 인스턴스' 보기를 클릭하면 아래와 같이 표시됩니다:


3단계

그런 다음 아래 표와 같이 각 노드를 하나의 특정 서비스에 다음과 같이 할당할 계획입니다:

IP 주소 영역 서비스
10.142.0.23 us-east-c 데이터
10.142.0.24 us-east-c 색인
10.142.0.25 us-east-c 쿼리
10.142.0.26 us-east-d 색인
10.142.0.27 us-east-d 데이터
10.142.0.28 us-east-b 데이터
10.142.0.29 us-east-b 쿼리

4단계 

클러스터에서 노드를 제거하는 방법에 대한 지침은 다음과 같습니다. 여기. 실행 중인 클러스터에 노드를 다시 추가하려면  여기. 노드당 하나의 서비스로 노드를 제거했다가 다시 추가하면 "서버" UI 보기:

모든 노드는 기본적으로 '그룹 1' 그룹에 속해 있습니다.

5단계

이제 Couchbase 클러스터의 노드를 GCP 영역에 해당하는 그룹에 할당합니다.

서비스 화면에서 "그룹

그런 다음 "그룹 추가". "us-east1-b" 및 "us-east1-c"를 추가합니다.

3단계에서 만든 매트릭스에 따라 각 서비스의 노드를 그룹별로 균등하게 분할합니다. 인덱스와 쿼리는 각 노드의 맨 오른쪽에 있는 "이동 대상"을 클릭하고 그룹을 선택하면 두 그룹에만 속하게 됩니다. 이동하려는 각 노드에 대한 새 대상 그룹을 선택한 후 "변경 사항 적용"을 클릭합니다. 그런 다음 그룹 1의 이름을 "us-east1-d"로 변경할 수 있습니다.

그룹 재할당 후 아래와 같이 노드 GCP 영역 위치에 해당하는 세 개의 그룹이 생깁니다:

결론

이제 GCE에서 Couchbase 클러스터에 대한 서버 그룹 인식을 완전히 구현하고 노드 간에 서비스를 분리하고 별도의 GCP 가용성 영역에 할당하여 노드 및 서비스 수준에서 클러스터 내결함성을 확보함으로써 Couchbase의 다차원 확장 기능을 활용했습니다. 이렇게 하면 데이터 복제본 구현과 함께 글로벌 보조 및 FTS 인덱스를 통해 GCP 가용성 영역이 중단되는 경우 전체 서비스를 이중화할 수 있습니다.

이 블로그의 2부에서는 클라우드 리전 또는 데이터 센터 장애로부터 Couchbase Server 클러스터를 보호하는 방법을 다룹니다. Connect 사용자 컨퍼런스에서 다음 세션도 확인해 보세요, 복제 준비 - XDCR을 통한 주요 배포 시 해야 할 일과 하지 말아야 할 일.

다음 리소스를 읽고 GCP에서 Couchbase를 시작하는 데 도움이 되는 후속 조치를 따르세요:

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Jenn Lewis

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.