클라우드(AWS, Azure 또는 GCP) 또는 Kubernetes의 Couchbase 배포에 연결하기 위해 다음과 같은 형식의 다중 주소를 지원합니다. 대체 주소. 외부 애플리케이션은 이 기능을 사용하여 클러스터와 통신하지만 노드와 직접 통신하지는 않습니다. 이 설정을 사용하면 클러스터를 대신하여 인터페이스를 제공하는 라우터 또는 기타 네트워크 엔터티에 대한 내부 액세스를 허용합니다.
대체 주소를 설정할 때 다음과 같이 설정할 수도 있습니다. 대체 포트 숫자를 입력합니다. 대체 주소 설정의 가장 좋은 예는 AWS 공인 및 사설 IP 주소입니다. 각 노드에는 프라이빗 IP와 DNS가 있지만 공용 IP와 DNS 레코드도 할당할 수 있습니다. 이러한 공용 IP는 정적으로 또는 동적으로 할당할 수 있습니다.
그런 다음 클라이언트는 외부 주소 섹션에 표시된 대로 공용 호스트 및 포트에 연결합니다. 노드 서비스 아래의 정보 풀/기본/노드 서비스 나머지 엔드포인트.
AWS의 포트 포워딩 카우치베이스 인스턴스
대체 주소를 설정할 때 중요한 단계 중 하나는 포트 포워딩입니다. 대체 주소가 프로비저닝되면 외부 호스트 및 포트에서 내부 포트로의 매핑은 네트워크 관리자가 수행해야 합니다. 그러면 클라이언트는 외부 주소와 포트를 사용하여 서비스에 연결할 수 있습니다.
네트워크에 들어오면(사용자가 포트 매핑이 이루어지는 배포 내부의 외부 주소에 연결) 외부 포트가 내부 포트에 매핑되어 권한 부여에 따라 서비스에 액세스하게 됩니다. 이 작업은 AWS에서 설명된 단계를 사용하여 수행할 수 있습니다. 여기.
방화벽 외부에서 액세스할 수 있는 항목(포트 수준 액세스)에 따라 클라이언트는 해당 서비스로 쿼리를 보낼 수 있습니다. 대체 외부 주소와 포트가 프로비저닝되면 Couchbase ns_server 서비스가 REST 엔드포인트를 업데이트합니다:
1 2 3 4 5 6 7 |
풀/기본값 풀/노드 풀/기본값/버킷, 풀/기본값/버킷/<버킷-이름>, 풀/기본값/버킷/<버킷-이름>/노드 풀/기본값/b/<버킷-이름>, 풀/기본값/bs/<버킷-이름> 풀스트리밍/기본값 풀/기본값/버킷스트리밍/<버킷-이름> 풀/기본값/노드 서비스, 풀/기본값/노드 서비스 스트리밍 |
내부적으로, 카우치베이스 서비스는 새 포트에서 다시 시작할 필요가 없으며 클라이언트만 특정 호스트/포트에 대한 연결을 허용해야 합니다. 노드 서비스 속성을 외부 속성 아래에 추가합니다.
그리고 노드 서비스 REST 엔드포인트는 호스트와 포트의 매핑을 보여줍니다:
1 2 3 4 5 6 7 8 9 |
"대체 주소": { "외부": { "호스트 이름": "ec2-3-140-253-252.us-east-2.compute.amazonaws.com", "포트": { "mgmt": 8891, "mgmtSSL": 18891, "n1ql": 9000, "n1qlSSL": 19000 ... |
대체 주소 설정 단계
1 - Couchbase 클러스터를 설정하고 REST 호출 또는 CLI를 사용하여 대체 주소를 설정합니다:
1 |
$ curl -v -X PUT -u [관리자]:[비밀번호] http://[ip-주소]:8091/node/controller/setupAlternateAddresses/external [-d 호스트 이름= ] [-d = ]입니다. |
또는
1 |
$ 카우치베이스-cli 설정-대체-주소 [--클러스터 <URL>] [--사용자 이름 <사용자>] [--비밀번호 <비밀번호>] [--목록] [--set] [--제거] [--호스트 이름 <호스트>] [--포트 <포트>] |
아래 예제에서 외부 주소는 다음과 같이 됩니다. cluster.com 내부 노드의 경우 172.23.104.92. 또한 새로운 N1QL 외부 포트를 다음과 같이 설정합니다. 9000.
1 |
$ 카우치베이스-cli 설정-대체-주소 -c 172.23.104.92 -u 관리자 -p 비밀번호 --호스트 이름 클러스터.com --set --노드 172.23.104.92 --포트 n1ql=9000,n1qlSSL=19000 |
2 - 수정 /etc/hosts 에 대한 액세스를 포함하도록 cluster.com.
3 - 가상 머신의 포트 포워딩의 경우 다음 명령을 사용할 수 있습니다. 쿼리 서비스 포트에서 실행 8093.
1 |
$ iptables -A 홍보 -t nat -i eth0 -p tcp --dport 9000 -j 리디렉션 --에-포트 8093 |
그런 다음 현재 전달 설정을 나열하여 확인합니다:
1 2 3 4 |
$ iptables -L -n -t nat 체인 홍보 (정책 수락) 대상 prot opt 출처 목적지 리디렉션 tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000 redir 포트 8093 |
대체 주소 설정을 나열합니다:
1 2 3 |
$ /opt/카우치베이스/bin/카우치베이스-cli 설정-대체-주소 -c 172.23.104.92 -u 관리자 -p 비밀번호 --목록 호스트 이름 대체 주소 | 포트 (기본/대체) | capi | capiSSL | fts | ftsGRPC | ftsGRPCSSL | ftsSSL | indexAdmin | indexHttp | indexHttps | indexScan | 인덱스 스트림 캐치업 | indexStreamInit | indexStreamMaint | kv | kvSSL | mgmt | mgmtSSL | n1ql | n1qlSSL | 프로젝터 172.23.104.92 - 클러스터.com | 8092/8092 | 18092/180928094/8094 | 9130/9130 | 19130/1913018094/180949100/9100 | 9102/9102 | 19102/191029101/9101 | 9104/9104 | 9103/9103 | 9105/9105 | 11210/1121011207/112078091/8091 | 18091/180918093/8093 | 18093/180939999/9999 |
사용하려면 cbq 쿼리 도구를 사용하여 대체 주소에 액세스하려면 네트워크 구성 또는 nfcg 옵션을 외부로 설정합니다. 이렇게 하면 쿼리를 실행할 수 있습니다:
1 2 3 4 5 6 |
$ ./cbq -u 관리자 -p 비밀번호 -e ec2-***.우리-east-2.compute.amazonaws.com:9000 -ncfg 외부 연결됨 에 : http://ec2-***.us-east-2.compute.amazonaws.com:9000/. 유형 Ctrl-D 또는 \종료 에 exit. 경로 에 역사 파일 에 대한 의 shell: /root/.cbq_역사 cbq> |
Couchbase 문서를 참조하세요. 여기 더 많은 클러스터, 네트워킹 및 대체 주소 사용을 위해.