일반적인 경험은 다음과 같습니다. 애플리케이션을 개발할 때 네트워크 연결 오류가 발생할 수 있습니다. 특히 로컬 컴퓨터 SDK에서 원격 클러스터로 연결하는 경우 더욱 그렇습니다.

SDK가 연결되지 않나요? 애플리케이션이 서버에 연결할 수 있지만 노드 또는 앱과 앱 사이의 네트워크 연결 또는 IP 주소와 관련된 오류가 발생하는 상황이 발생할 수 있습니다. 카우치베이스 SDK.

이 문서에서는 이러한 오류를 해결하고 수정하는 방법에 대해 설명합니다. 아래에서 안내하는 예는 초기 조건을 보여주기 위해 Azure에서 클러스터를 만드는 것이지만 다른 설치에도 적용할 수 있습니다.

오류를 재현하기 위해 각 단계를 진행하겠습니다. 먼저 다음을 설치합니다. 카우치베이스 를 실행하여 오류가 어떻게 나타나는지 확인한 다음, 대체 주소를 업데이트하고 마지막으로 SDK Doctor를 다시 실행하여 성공적인 응답을 확인합니다.

그럼 자세히 알아보겠습니다.

Azure에 Couchbase 클러스터 설치하기

다음은 Azure에 Couchbase 클러스터를 설치하는 단계입니다.

  1. 로그인 마이크로소프트 애저 마켓플레이스
  2. 카우치베이스 검색
  3. 카우치베이스 서버 및 동기화 게이트웨이 선택
  4. 지금 받기를 클릭하세요.
  5. BYOL 선택
  6. 계속을 클릭합니다.
  7. 만들기를 클릭합니다.
  8. 양식 작성
  9. 관리자: asdf88495 < 적절히 업데이트하세요.
  10. 비밀번호: Password1!@#$ < 적절히 업데이트하세요.
  11. 적절하게 구성 양식을 작성하세요.
  12. 만들기를 클릭합니다.

모든 단계를 완료하면 프로세스가 실행되고 다음과 같이 표시됩니다:

Azure completed process after adding Couchbase

방화벽 규칙 업데이트

로컬 컴퓨터가 원격 Azure 클러스터에 연결할 수 있도록 방화벽 규칙을 업데이트해야 할 수 있습니다. 단계는 다음과 같습니다:

1. 리소스 그룹으로 이동

2. 가상 머신 스케일 세트를 클릭합니다.

Microsoft Azure virtual machine scale set

3. 네트워킹을 클릭합니다.

Couchbase on Azure Networking option

4. 인바운드 포트 규칙 추가를 클릭합니다.

Azure add inbound port rule button

5. 로컬 네트워크 정보를 사용하도록 구성을 업데이트합니다. 경고: 이 데모의 목적은 매우 개방적이므로 방화벽을 구성할 때 보안 지침을 따라야 합니다.

Local network firewall configuration

카우치베이스가 실행 중인지 확인

다음 주요 단계는 Couchbase가 제대로 작동하는지 확인하는 것입니다. 방법은 다음과 같습니다:

1. 인스턴스로 이동하여 IP 주소를 얻고 Couchbase 제어판에 연결합니다.

Couchbase control panel using IP address

2. 서버 중 하나의 IP 주소를 가져옵니다.

Couchbase server IP address

3. 이 예제에서 로그인은 다음과 같습니다. http://40.80.151.197:8091/ui/index.html.

4. 위의 "Azure에 Couchbase 클러스터 설치" 섹션에서 관리자 계정을 만드는 데 사용한 정보로 로그인합니다. 여기에서 Azure에서 클러스터를 만들고 양식을 작성했습니다.

5. Couchbase에서 이 데모에 사용할 샘플 데이터를 추가합니다. 카우치베이스의 샘플 버킷에서 데이터를 추가하기 위한 Couchbase 설명서의 지침을 참조하세요..

SDK 닥터 소개

Couchbase SDK 닥터는 Couchbase 클러스터의 애플리케이션 서버 측 연결 문제를 진단하는 도구입니다. 이 도구는 카우치베이스 서버 클러스터를 생성한 다음 연결 상태를 보고하여 난해한 네트워크 문제를 해결하는 데 도움이 되는 진단 정보를 제공합니다.

다음은 다음과 같습니다. 카우치베이스 서버에서 SDK Doctor를 사용하기 위한 전체 지침을 확인하세요..

1. SDK Doctor를 실행하여 오류 발견하기

위의 지침(Couchbase 클러스터의 IP 주소를 수집한 곳)에 따라 클러스터의 다른 노드 각각에 대한 IP 주소도 가져옵니다. 이 IP 주소는 SDK Doctor의 연결 문자열에 사용됩니다.

아래 명령은 샘플 데이터 버킷 이름과 함께 클러스터에 있는 노드의 IP 주소를 사용합니다. 자신의 클러스터 IP와 설치한 특정 샘플 버킷에 따라 이 정보를 업데이트해야 합니다.

이제 SDK Doctor를 실행합니다.

특히 노드/클러스터/VM과 동일한 네트워크가 아닌 로컬 컴퓨터에서 SDK Doctor를 실행하는 경우 아래에서 볼 수 있듯이 여러 가지 오류 메시지가 표시될 수 있습니다. 다음과 같은 오류 그리고 연결에 실패했습니다. 메시지를 확인합니다. IP 주소는 40 또는 13이 아닌 내부 10 주소입니다.

아래 코드 샘플을 더블클릭해야 전체 출력을 확인할 수 있습니다(디바이스에 따라 다름).

카우치베이스 대체 주소 사용

카우치베이스 서버를 사용하면 개별 클러스터 노드에 대체 주소를 할당하고 해당 노드에서 실행 중인 모든 서비스에 대체 포트 번호를 할당할 수 있습니다.

대체 주소와 포트 번호를 할당하면 CLI와 REST API를 통해 클러스터의 노드에 직접 연결할 수 없는 외부 애플리케이션과의 통신을 용이하게 할 수 있습니다. 그러나 노드를 대신하여 외부에 표시되는 주소를 제공하는 라우터 또는 기타 네트워크 엔터티에 액세스할 수 있습니다.

자세히 알아보기 대체 주소 사용에 대한 자세한 내용은 카우치베이스 문서를 참조하세요..

카우치베이스 대체 주소 추가

Couchbase 클러스터의 대체 주소를 업데이트하기 위한 REST 호출이 있습니다. (자세한 내용은 여기를 참조하세요, REST API로 대체 주소를 관리하는 방법에 대한 Couchbase 문서를 확인하세요..)

다음으로 클러스터의 각 IP 주소에 대한 대체 주소를 업데이트해야 합니다. 이렇게 하면 내부를 지정한 IP 주소에 매핑합니다.

아래에서 볼 수 있듯이 200개의 응답을 받아야 합니다.

다른 호스트에 대해서도 이와 같이 명령을 반복합니다:

2. SDK Doctor를 실행하여 성공 확인

이제 SDK Doctor를 다시 실행하여 성공 여부를 확인합니다. 아래와 같은 화면이 표시됩니다:

아래 코드 샘플을 더블클릭해야 전체 출력을 확인할 수 있습니다(디바이스에 따라 다름).

성공!

결론

클라우드에서 Couchbase 클러스터에 연결하면 많은 이점이 있습니다. 하지만 때로는 다양한 네트워크 및 보안 요구 사항으로 인해 시스템의 원격 및 분산 특성으로 인해 앱 SDK와 Couchbase 클러스터 간에 복잡한 문제가 발생할 수 있습니다.

카우치베이스 SDK 닥터 및 대체 주소를 사용하면 발생하는 모든 문제를 쉽게 해결하고 연결 문제를 즉시 해결할 수 있습니다.

카우치베이스 서버를 직접 사용해 볼 준비가 되셨나요? >?카우치베이스 7을 직접 사용해 보세요.

 

작성자

게시자 데이비드 엘리엇, 솔루션 엔지니어

카우치베이스의 솔루션 엔지니어, 모든 일에 능통하고 일부 분야에서는 대가입니다.

댓글 남기기