안녕하세요 여러분,

저는 신입사원이지만 Couchbase의 오랜 팬입니다. 먼저 간단한 소개를 하겠습니다:

저는 Couchbase의 제품 관리 담당자인 Cihan Biyikoglu입니다. 전생에는 여러 데이터베이스 플랫폼에서 일했고, 현재는 Couchbase Server #4에서 일하고 있습니다! 전생에는 SQL Azure 및 SQL Server, Informix 및 Illustra에서 일했습니다. 지난 10년 동안에는 SaaS, PaaS, IaaS 솔루션과 플랫폼을 만드는 데도 많은 시간을 보냈습니다.

적절하게도 첫 번째 포스팅은 Azure 가상 머신에 Couchbase를 배포하는 데 중점을 두고 시작하려고 했습니다. 이 글은 Azure에서 환경을 실행하기 위한 단계별 가이드입니다.

참고로, Azure에서 Couchbase 클러스터 배포를 자동화하려는 경우 github 프로젝트에 새로운 게시물과 스크립트가 있습니다. 여기.

Azure의 Couchbase를 위한 자동화된 배포

https://github.com/couchbaselabs/couchbase-azure

빠르고 쉬운 단일 노드 구성으로 Azure의 Couchbase Server 사용

단일 노드 카우치베이스 서버를 시작하고 실행하는 것은 매우 간단합니다. 사실 이 모든 과정을 생략하고 간단히 Azure 마켓플레이스 이미지 를 사용하세요. 간단한 단일 노드 배포를 직접 구축하려는 경우 다음 단계를 따르세요:

  1. 가상 머신을 생성합니다: 이 예에서는 Windows Server를 사용하겠습니다. 전체 지침을 확인할 수 있습니다. 여기.
  2. 카우치베이스 서버를 설치합니다: VM에서 브라우저를 엽니다, 다운로드 카우치베이스 서버 및 설치 로 설정합니다.
    1. 노드와의 통신을 허용하려면 노드에 있는 Windows 방화벽의 포트에 액세스합니다.
  3. Couchbase를 구성합니다: 바탕화면에서 Couchbase 아이콘을 두 번 클릭합니다. 구성 카우치베이스(기본 옵션 사용)

완료되었습니다! 단일 노드 배포만 있으면 Couchbase Server를 사용하는 데 필요한 모든 것이 완료됩니다...

Azure의 Couchbase Server를 사용한 프로덕션 구성

Couchbase Server로 보다 강력한 프로덕션 등급 배포를 계획하고 있다면 계속 읽어보세요...

Azure에 멀티노드를 배포하는 경우 몇 가지 최적화를 더 수행해야 합니다. 미션 크리티컬 앱의 경우 지역 장애 또는 데이터 센터 장애에 대한 복원력을 갖추는 것도 중요하며, 전 세계에 퍼져 있는 사용자에게 더 낮은 지연 시간을 제공하는 것도 중요합니다(즉, 유럽에 있는 고객은 Azure의 유럽 데이터 센터를, 미국에 있는 고객은 미국 기반 데이터 센터를 통해 데이터 액세스를 할 수 있습니다). 따라서 많은 고객이 프로덕션 환경에서 XDCR(교차 데이터센터 복제)을 사용하여 데이터를 복제하는 2개 이상의 Couchbase Server 클러스터를 설정합니다.

Windows Azure에서 Couchbase Server를 사용하여 프로덕션 등급 환경을 설정하는 방법을 살펴보겠습니다:

  1. 가상 네트워크를 설정합니다: 의 주요 기능은 Couchbase 클러스터 내 통신에 개인 IP를 사용하는 것입니다. 이것이 왜 유익한지 아래에서 자세히 설명합니다.
  2. VM 이미지를 캡처합니다: 이렇게 하면 각 노드에 대해 위의 '2단계'를 반복해서 수행하지 않아도 됩니다.
  3. VM 이미지를 사용하여 노드를 생성합니다: 클러스터에 원하는 만큼의 노드를 반복합니다.
  4. Couchbase 클러스터를 구성합니다: 클러스터를 형성하는 간단한 단계.
  5. 선택 사항, XDCR 구성 프로덕션 배포를 위한 지리적 배포, 가용성 및 재해 복구 기능을 제공합니다.

자세한 내용을 살펴보겠습니다.

#1 가상 네트워크를 설정합니다: 

여기에는 Couchbase에 특별한 것이 없습니다. 가상 네트워크는 제어할 수 있는 프라이빗 IP를 제공하며, Couchbase 노드 간에 통신할 수 있는 더 짧은 경로를 제공합니다. 공용 IP 주소를 사용하여 노드 간에 통신할 수 있지만, 이는 통신이 Azure 데이터 센터의 에지로 이동해야 한다는 것을 의미합니다.

  1. 가상 네트워크의 이름을 입력합니다 : CB_VN_WESTUS를 클릭하고 새 선호도 그룹 이름을 지정합니다: CBWESTUS
  2. DNS 서버 또는 포인트 투 사이트 구성 옵션 제공 건너뛰기
  3. 다음 서브넷 설정을 지정합니다.

#2 VM 이미지 캡처:

VM 이미지 캡처는 Couchbase 바이너리 및 방화벽 구성으로 Couchbase Server 클러스터의 모든 노드에 스탬프를 찍는 간단한 지름길입니다. 이렇게 하려면

  1. Windows Azure에서 VM 만들기 - 여기서는 Windows Server를 예로 들어보겠습니다.
    1. 최신 최고의 Windows Server 선택
    2. 가상 머신의 이름을 지정합니다: couchbase01. VM 크기와 관리자 사용자 이름 및 비밀번호를 지정합니다.
  2. VM에서 브라우저를 엽니다, 다운로드 카우치베이스 서버 및 설치 (경고 팝업을 방지하려면 "IE 향상된 보안 구성"을 끄십시오).
  3. 노드와의 통신을 허용하려면  노드에 있는 Windows 방화벽의 포트에 액세스합니다.
  1. 이미지 캡처 준비하기: 명령줄에서 "%windir%system32sysprepsysprep.exe /shutdown /oobe /일반화
  2. VM이 종료되면 Windows Azure 관리 포털을 사용하여 이미지를 캡처합니다. (포털의 하단 창에서 삭제 바로 옆)

#3 VM 이미지를 사용하여 노드를 생성합니다:

생성한 VM 이미지를 사용하여 카우치베이스 배포에 사용할 노드를 생성합니다.

  1. #2 단계에서 캡처한 이미지로 VM을 생성합니다.
    1. 가상 머신의 이름을 지정합니다: couchbase01. VM 크기와 관리자 사용자 이름 및 비밀번호를 지정합니다.
    2. 가상 네트워크를 선택합니다: CB_VN_WESTUS
  2. 더 많은 노드를 만들려면 1단계를 반복합니다.

#4 새 디스크를 마운트하여 스토리지 용량을 확보하세요:

OS 드라이브는 30GB 용량으로 제공되므로 드라이브를 추가로 마운트하지 않으면 곧 스토리지 용량이 부족해집니다. 다양한 VM 크기로 다양한 수의 드라이브를 마운트할 수 있습니다. 또한 여러 드라이브를 RAID 구성으로 쉽게 구성할 수 있습니다. 다음은 도달하기 위한 단계.

#5 카우치베이스 클러스터를 구성합니다:

이 단계에서는 클러스터를 초기화하고 노드를 함께 묶습니다.

  1. 바탕화면에서 Couchbase 아이콘을 두 번 클릭합니다. 구성 카우치베이스 서버
    1. 여기에서는 사설 IP(10.0.0.x 주소)를 사용해야 합니다.
    2. 또한 Couchbase에서 데이터 및 인덱스 스토리지의 저장 위치를 선택할 때 저장 용량이 더 큰 #4 단계의 마운트된 드라이브를 사용해야 한다는 점을 잊지 마세요.
  2. Couchbase 웹 콘솔에서 "서버 노드"를 클릭하고 "서버 추가"를 클릭하여 나머지 노드를 추가합니다(여기에서도 사설 IP - 10.0.0.x 사용).
  3. 모든 노드 추가가 완료되면 '재조정'을 클릭하여 노드 구성을 완료합니다.

이 시점에서 버킷을 생성하고 작업 부하를 버킷으로 전송할 준비가 되었습니다.

#6 선택 사항으로, 다중 지역 배포를 위한 데이터센터 간 복제를 구성합니다:

미션 크리티컬 앱의 경우, 지역 장애 또는 데이터센터 장애에 대한 복원력을 갖추거나 전 세계에 퍼져 있는 사용자에게 짧은 지연 시간을 제공하는 것이 중요합니다. 따라서 많은 고객이 가용성 및/또는 재해 복구를 높이고 다른 지역에 있는 사용자의 지연 시간을 낮추기 위해 XDCR(교차 데이터센터 복제)로 데이터를 복제하는 두 번째 Couchbase 클러스터를 설정합니다. XDCR은 유연한 복제 체계를 위해 다양한 토폴로지를 지원하며, XDCR에 대해 자세히 알아보세요. 여기. 간단한 단방향 토폴로지를 설정하려면 다음과 같이 하세요;

  1. 두 번째 클러스터 설정: Azure에서 다른 지역을 선택하고 1~4단계를 반복하여 해당 지역에 다른 클러스터를 만들면 됩니다.
  2. 두 번째 클러스터와 기본 클러스터에 버킷을 만듭니다. 구성 원격 클러스터를 참조하기 위해 정규화된 노드 이름을 사용하는 XDCR.

보안 참고: 엔드포인트와 Azure를 보호하는 것도 중요합니다. 여기에서 도움말을 제공합니다.. 이를 Couchbase Server와 함께 사용하여 앱에서 Couchbase로의 통신을 제한하거나 XDCR을 사용하여 Couchbase 클러스터 간의 통신을 제한할 수도 있습니다.

지금까지 Windows Azure에서 Couchbase를 설정하는 방법에 대해 간략하게 살펴보았습니다. 모든 피드백을 기다리겠습니다.

-시한 비이코글루

작성자

게시자 Cihan Biyikoglu, 제품 관리 이사, Couchbase

Cihan Biyikoglu는 Couchbase의 제품 관리 디렉터로, Couchbase Server 제품을 담당하고 있습니다. Cihan은 빅 데이터 애호가로서 20년 이상의 경험을 Redis Labs의 제품 팀에 제공하고 있습니다. Cihan은 C/C++ 개발자로 경력을 시작했습니다.

댓글 하나

  1. Cihan - Windows Azure를 위한 또 다른 NoSQL 옵션을 보여 주셔서 감사합니다.

    이제 인스턴스의 고정 IP 주소를 지정할 수 있으므로 호스트 파일에서 노드/IP 할당을 간소화할 수 있습니다.

    http://windowsitpro.com/window

    다른 지역에 두 번째 클러스터를 만들면 공용 IP 주소를 통해서만 액세스할 수 있습니다. 두 클러스터가 통신할 수 있지만 다른 사람은 들어올 수 없도록 Couchbase 엔드포인트에 ACL을 설정할 수 있습니다.

    http://msdn.microsoft.com/en-u

    1. 시한 비이코글루 3월 11, 2014에서 11:09 오후

      훌륭한 팁입니다. 고마워요!

      이를 반영하기 위해 몇 가지 코너를 수정했습니다.

  2. 아르만도 레스트레포 4월 30, 2015에서 8:01 오후

    가상 머신에 카우치베이스 클러스터를 설정하되 애플리케이션 서버용 가상 머신을 사용하지 않고 Azure 앱 서비스에서 액세스하는 방법이 있나요?

  3. [...] 단계별: Windows Azure 가상 머신에서 Couchbase를 사용한 프로덕션 배포 [...] [...

댓글 남기기