이 블로그 게시물은 Windows Azure에서 Couchbase Server 호스팅에 대한 주제를 다룰 블로그 게시물 시리즈의 첫 번째 게시물입니다.
이 가이드를 따르기 위해 Windows를 실행할 필요는 없으며, Windows, Mac 또는 원격 데스크톱을 이해하거나 Windows로 원격 데스크톱을 지원하는 원격 데스크톱 앱이 있는 다른 운영 체제를 사용할 수 있습니다.
이 시리즈의 목표는 단일 노드 개발자 설정부터 여러 노드 및 장애 조치로 프로덕션 준비 설정에 이르기까지 Windows Azure 및 Couchbase 설정과 관련된 모든 단계를 이해하는 데 도움을 주는 것입니다.
이 첫 번째 글에서는 테스트 및 개발 목적으로 단일 노드 카우치베이스 서버를 설정해 보겠습니다. 다음 블로그 게시물에서는 단일 노드로 시작하는 것이 합당한 이유와 이를 통해 다음 노드의 설정 시간을 단축할 수 있는 방법에 대해 설명합니다.
따라 하려면 Azure 구독이 필요합니다. 구독이 없는 경우 Microsoft에서 무료 평가판을 받을 수 있습니다(사용료 €150 상당):
azure.microsoft.com/en-us/pricing/free-trial
Azure 구독을 사용하면 준비가 완료됩니다.
Azure에 로그인하기 전에 이 시리즈의 목표와 이 블로그 게시물에서 다룰 내용에 대해 간략히 살펴보기로 하겠습니다.
이 그림은 일련의 게시물이 끝날 때 설정이 어떻게 보일지에 대한 전체 개요를 보여줍니다.
파란색 서버는 Couchbase 노드를 나타내고 빨간색 서버는 다른 클라우드 서비스를 나타냅니다. 가상 네트워크 내의 빨간색 서버는 카우치베이스 클러스터에 대한 모든 클라이언트 요청을 처리하는 애플리케이션 서버를 나타냅니다.
이 첫 번째 블로그 게시물에서는 파란색 Couchbase 노드 하나를 만들고 클라우드 및 가상 네트워크 외부의 클라이언트가 노드에 직접 연결할 수 있도록 Azure에서 요구하는 모든 보안 설정을 설정합니다.
가상 머신 만들기
첫 번째 단계는 가상 머신을 생성하고 Couchbase Server를 설치하는 것입니다.
Azure 관리 포털에 로그인합니다:
manage.windowsazure.com
를 클릭하고 왼쪽 메뉴에서 가상 머신을 선택합니다.
왼쪽 하단의 "+" 기호를 눌러 새 가상 머신을 생성합니다:
마법사를 따라 "Windows Server 2012 R2 데이터센터"가 사전 설치된 "갤러리에서" 가상 머신을 만듭니다.
가상 머신 구성 마법사의 두 번째 부분에서 다음을 입력합니다.
가상 머신 이름. 포털 내에서 Windows Azure에서 사용할 표시 이름입니다.
사용자 이름 및 비밀번호: 원격 데스크톱을 사용하여 VM에 Couchbase를 설치해야 하므로 원격 데스크톱에 사용되는 중요한 정보입니다.
마지막으로 VM 머신 "크기"를 선택합니다. 이 블로그 게시물에서는 기본값인 "A1"을 사용하겠습니다.
'사이즈'에 따라 가격이 다르다는 점에 유의하세요.
Azure 가격 계산기를 사용하여 가격 수준을 파악할 수 있습니다:
azure.microsoft.com/ko-kr/가격 책정 계산기/?시나리오=가상 머신
다음은 사용 가능한 '크기'의 하위 집합을 보여주는 목록입니다.
가장 큰 VM(작성 시점 기준)은 32코어와 448GB RAM을 갖춘 G5입니다.
구성 마법사의 세 번째 부분에서는 DNS 이름과 지역을 선택해야 합니다.
지역: 네트워크 지연 시간을 줄이려면 현재 위치에서 가까운 지역을 선택하세요.
DNS: DNS 이름은 모든 Azure 인스턴스에 대해 고유해야 한다는 점에 유의하세요.
다른 옵션은 나중에 게시글에서 자세히 살펴보도록 하겠으니 변경하지 마세요.
네 번째이자 마지막 단계에서는 모든 설정을 기본값으로 두고 완료/체크 표시를 선택합니다.
마법사가 완료되는 순간 Azure는 새 VM을 시작하는 프로세스를 시작합니다:
로드, 프로비저닝, 시작, 실행.
가상 머신을 사용할 수 있을 때까지 걸리는 시간은 다양하지만 일반적으로 몇 분 정도 걸립니다.
VM이 준비되고 "실행 중"이면 이를 선택하고 "개요"에서 다음과 같이 "대시보드" 탭을 선택합니다:
"대시보드"에는 다음을 포함한 VM의 자세한 사용량 요약이 표시됩니다: 네트워크 트래픽, 디스크 IO, CPU 로드 등. 또한 IP, DNS 및 공인 IP와 같은 VM에 대한 세부 정보를 찾을 수 있는 곳이기도 합니다. 나중에 블로그 게시물에서 노드 클러스터를 설정할 때 이 정보를 사용하겠습니다.
현재 가상 머신은 거의 비어 있으며 아무것도 설치되어 있지 않습니다.
새 가상 머신에 카우치베이스 서버 설치
새로 만든 WM의 대시보드 탭 왼쪽 하단에 있는 '연결'을 누릅니다. 그러면 미리 구성된 원격 데스크톱 파일 다운로드가 시작됩니다. 파일을 열고 "원격 데스크톱"의 단계에 따라 VM에 로그인합니다.
가상 머신 구성
가상 머신에 로그인하면 Couchbase Server를 설치하기 전에 수행해야 하는 몇 가지 기본 설정 단계가 있습니다.
먼저 "향상된 IE 보안"을 비활성화한 다음 "Windows 방화벽"을 비활성화합니다. Windows 방화벽 비활성화는 테스트 및 개발자 환경에만 권장되며 프로덕션 환경에서는 활성화해야 합니다.
방화벽을 비활성화하는 이유는 클라이언트가 방화벽에 의해 차단되지 않고 노드에 연결할 수 있도록 하기 위해서입니다. 나중에 연결이 테스트되면 방화벽을 활성화하고 클라이언트가 노드에 성공적으로 연결하는 데 필요한 포트를 열도록 구성할 수 있습니다.
필요한 포트 목록은 여기에서 확인할 수 있습니다: http://docs.couchbase.com/admin/admin/Install/install-networkPorts.html
Windows 서버 관리자
Windows Server에 로그인할 때 '서버 관리자'가 자동으로 열리지 않으면 '서버 관리자'를 열고 왼쪽 메뉴에서 '로컬 서버'를 선택합니다.
IE 강화 보안을 비활성화하려면 'IE 강화 보안' 옵션을 선택하고 '사용자'와 '관리자' 모두에 대해 비활성화를 선택합니다.
IE 강화 보안을 비활성화하면 IE의 보안 제한이 제거되고 Couchbase 웹사이트에서 Couchbase Server를 더 쉽게 다운로드할 수 있습니다.
다음으로 Windows 방화벽 옵션 -> "Windows 방화벽 켜기 또는 끄기"를 선택하고 공용 및 개인 네트워크 모두에 대해 "끄기"를 선택하여 Windows 방화벽을 비활성화합니다.
이제 인터넷 익스플로러를 열고 카우치베이스 웹사이트로 이동하여 Windows용 카우치베이스 서버 설치 관리자를 다운로드할 준비가 되었습니다.
1) IE를 열고 http://www.couchbase.com/nosql-databases/downloads 으로 이동합니다.
2) 64비트 Windows 설치 관리자를 다운로드합니다.
3) 다운로드가 완료되면 설치를 시작합니다.
4) 설치 마법사에서 설치 경로 등의 기본값을 선택해 주세요.
설치 마법사에서 Couchbase Server의 최소 권장 코어는 4개이며 VM에는 코어가 1개만 있다고 알려줍니다. 이 부분은 추후 블로그 게시물에서 다룰 예정입니다. 현재 설정에서는 코어 1개가 허용됩니다.
Windows 호스트 파일
Couchbase 설치 관리자가 설정을 완료하는 동안 파일 탐색기를 열고 다음으로 이동합니다:
C:Windows시스템32드라이버셋 등
메모장에서 "호스트" 파일을 열고 VM의 "프라이빗 IP"를 "공용 DNS 이름"에 매핑하는 줄을 추가합니다. 모든 정보는 VM의 데스크톱 배경 이미지에서 확인할 수 있습니다:
제 경우에는 "hosts" 파일에 다음 줄을 추가했습니다(VM마다 다를 수 있음):
100.73.56.137 MYCBSERVERNODE.cloudapp.net
파일을 저장하고 메모장을 닫습니다.
카우치베이스 서버 구성
Couchbase 설치 관리자가 완료되면 "Couchbase 콘솔"을 엽니다.
"호스트 이름" 필드에 DNS 이름 뒤에 ".cloudapp.net"(MYCBSERVERNODE.cloudapp.net)을 입력합니다.
다른 모든 필드는 변경하지 않고 그대로 두고 다음을 클릭합니다.
노드에 샘플 데이터를 설치하려면 지금 설치하세요.
이 작업은 나중에 수행할 수도 있습니다. 현재 설정에서는 샘플 데이터 설치를 건너뛰겠습니다.
다음 설정 페이지에서 "노드당 RAM 할당량" = 200MB로 설정합니다. 나중에 이 값을 변경하고 이 값이 나타내는 의미와 성능에 미치는 영향에 대해 더 자세히 설명하겠습니다.
다른 모든 값은 변경하지 않은 채로 두고 다음을 클릭합니다.
알림 탭에서 필수 입력란을 채우고 다음을 선택합니다.
마지막 구성에서는 관리자 비밀번호와 사용자 아이디를 설정합니다. 이 설정에서는 사용자 아이디와 비밀번호로 '관리자'를 사용했습니다. 보다 안전한 비밀번호를 사용하고 보안을 강화하기 위해 다른 사용자 아이디를 사용하는 것이 좋습니다.
축하합니다! 이 마지막 설정이 완료되었으므로 Azure에 Couchbase Server를 성공적으로 설치했습니다.
다음 블로그 게시물에서는 공용 인터넷에서 노드에 직접 연결할 수 있도록 Azure 엔드포인트 보호(클라우드 방화벽)를 구성하겠습니다. 연결이 열려 있는지 테스트하기 위해 .NET 및 Couchbase .NET SDK를 사용하여 작은 테스트 앱을 만들겠습니다.
읽어주셔서 감사드리며, 다음 블로그 게시물에서 Azure에서 Couchbase를 프로덕션에 사용할 수 있도록 설정하는 여정을 계속 이어가겠습니다.
Martin
내 카우치베이스 클러스터 설정은 2 개의 A1 Ubuntu VM을 사용하고 있으며 각각 별도의 데이터 디스크가 있습니다. 그러나 최대 10-20개의 작업만 수행할 수 있습니다.
설정에서 어느 정도의 운영 효과를 얻었는지 공유해 주시겠어요?
테스트 및 제가 가지고 있는 Azure 설정에 대한 자세한 정보가 필요하면 알려주세요.
안녕하세요 Zev23,
A1 Windows 머신 1대에 대해 몇 가지 테스트를 실행하고 결과를 공유하겠습니다. 테스트를 설정하는 동안 현재 설정에 대해 좀 더 자세히 알려주시겠어요?
WM이 동일한 가상 네트워크에 있나요?
DNS/호스트 파일(Windows 용어, Linux에서는 어떤 의미인지 잘 모르겠음)을 설정했나요?
클러스터를 구성하는 동안 공용 또는 사설 IP를 사용했나요?
애플리케이션 서버가 클러스터와 동일한 가상 네트워크에 있나요?
또한 Couchbase에 권장되는 하드웨어는 코어 4개와 적당한 RAM 크기입니다. 제가 A1을 선택한 유일한 이유는 설정 및 구성을 위한 저렴한 WM이기 때문입니다. 즉, 프로덕션 환경에 적합한 WM 크기가 아니었습니다.
안녕하세요 Zev23,
이제 몇 가지 간단한 테스트를 실행해 보았습니다:
500 작업자 스레드(1000 쓰기 홍보 스레드) = 테스트 기간 10분.
결과: 최소 작전. 75, 최대 작전 125.
이것은 전체 쓰기입니다! 읽기가 없거나 쓰기 작업만 수행됩니다.
테스트는 내 로컬 PC에서 Azure 호스팅 단일 노드 카우치베이스 서버(A1 VM)에 대해 실행됩니다.
동일한 가상 네트워크의 애플리케이션 서버에서 실행하는 경우 네트워크 지연 시간을 최소화할 수 있습니다.
[...] 첫 번째 블로그 게시물에서 엔드포인트 구성과 [...]에 대한 연결을 테스트하기 위한 몇 가지 .NET 코드를 계속 진행하겠습니다.