원격 클러스터 정보 API
원격 클러스터 정보 API (Remote Cluster Information API)
로컬 클러스터에 구성된 모든 원격 OpenSearch 클러스터의 연결 세부 정보를 알고 싶으시죠? 원격 클러스터 정보 API가 그 정보를 가져와요. 연결 상태를 확인하고, 연결 모드(sniff 또는 proxy)를 검사하고, 교차 클러스터 검색 구성의 타임아웃 설정을 검토할 때 유용해요.
출처: 문서
본문
1.0에서 도입
원격 클러스터 정보 API는 로컬 클러스터에 구성된 모든 원격 OpenSearch 클러스터의 연결 세부 정보를 검색해요. 이 API를 사용해 연결 상태를 확인하고, 연결 모드(sniff 또는 proxy)를 검사하고, 교차 클러스터 검색 구성의 타임아웃 설정을 검토할 수 있어요.
응답은 _cluster/settings 호출보다 더 많은 세부 정보를 제공해요. _cluster/settings는 클러스터 alias와 seed 노드 주소만 반환해요. 이 API는 추가로 활성 연결 수, 연결 모드, 교차 클러스터 검색 중 사용할 수 없는 클러스터를 건너뛰는지 여부도 보고해요.
엔드포인트
GET /_remote/info
예시 요청
다음 예시는 구성된 모든 원격 클러스터에 대한 정보를 검색해요.
GET /_remote/info
예시 응답
원격 클러스터가 구성되지 않았을 때 응답은 빈 객체예요.
{ }
하나 이상의 원격 클러스터가 sniff 모드로 구성됐을 때 응답은 클러스터 alias를 키로 한 연결 세부 정보를 포함해요.
{
"opensearch-cluster2": {
"connected": true,
"mode": "sniff",
"seeds": [
"172.28.0.2:9300"
],
"num_nodes_connected": 1,
"max_connections_per_cluster": 3,
"initial_connect_timeout": "30s",
"skip_unavailable": false
}
}
원격 클러스터가 proxy 모드로 구성됐을 때 응답은 seed 노드 정보 대신 proxy 관련 필드를 포함해요.
{
"opensearch-cluster3": {
"connected": true,
"mode": "proxy",
"proxy_address": "192.168.1.50:9443",
"num_proxy_sockets_connected": 5,
"max_proxy_socket_connections": 18,
"initial_connect_timeout": "30s",
"skip_unavailable": true
}
}
응답 본문 필드
응답은 각 키가 원격 클러스터 alias인 JSON 객체예요. 다음 표는 각 클러스터 항목 내의 필드를 설명해요.
| Field | Data type | Description |
|---|---|---|
| connected | Boolean | 원격 클러스터에 활성 연결이 하나 이상 존재하는지 여부를 나타내요. |
| mode | String | 원격 클러스터에 대해 구성된 연결 모드예요. 유효한 값은 sniff(seed 주소를 통해 노드를 발견)와 proxy(단일 proxy 주소로 모든 요청을 라우팅)예요. |
| initial_connect_timeout | String | 원격 클러스터에 초기 연결을 설정하는 타임아웃 기간이에요. |
| skip_unavailable | Boolean | 교차 클러스터 검색 요청 중 원격 클러스터에 연결할 수 없을 때 건너뛰는지 여부를 나타내요. true면 검색이 사용 가능한 클러스터의 결과만 반환해요. false면 이 클러스터를 사용할 수 없을 때 전체 검색 요청이 실패해요. |
다음 필드는 mode가 sniff일 때만 나타나요.
| Field | Data type | Description |
|---|---|---|
| seeds | Array of strings | 원격 클러스터에서 노드를 발견하는 데 사용되는 초기 seed transport 주소예요. |
| num_nodes_connected | Integer | 로컬 클러스터가 현재 열린 연결을 유지하는 원격 클러스터의 노드 수예요. |
| max_connections_per_cluster | Integer | 로컬 클러스터가 원격 클러스터에 유지하는 최대 연결 수예요. |
다음 필드는 mode가 proxy일 때만 나타나요.
| Field | Data type | Description |
|---|---|---|
| proxy_address | String | 원격 클러스터에 대한 모든 연결이 라우팅되는 주소(호스트와 포트)예요. |
| num_proxy_sockets_connected | Integer | proxy 주소에 현재 열린 소켓 연결 수예요. |
| max_proxy_socket_connections | Integer | proxy 주소에 허용되는 최대 소켓 연결 수예요. |
더 알아보기 (Learn more)
- 원격 클러스터 설정 방법과 교차 클러스터 검색은 Cross-cluster search 문서에서 다뤄요.
sniff와proxy모드의 차이를 이해하면 구성 선택에 도움이 돼요.