본문으로 건너뛰기

OpenSearch 및 OpenSearch Dashboard에 Proxy를 통한 Public 접근 (nginx)

Advanced Managed Search에서는 OpenSearch 및 OpenSearch Dashboards를 통해 웹 UI 기반으로 데이터 탐색, 검색, 시각화 및 관리 작업을 수행할 수 있습니다.
다만, OpenSearch 및 OpenSearch Dashboards URL은 VPC 내부 Private 엔드포인트로 제공되기 때문에 외부 네트워크에서 직접 접근할 수 없습니다. 외부에서 UI에 접근하려면 프록시 역할을 수행하는 중간 서버 구성이 필요합니다.
이 페이지에서는 nginx를 활용하여 OpenSearch 및 OpenSearch Dashboards에 외부에서 접근하는 방법을 설명합니다.

개요

Advanced Managed Search에서 제공하는 OpenSearch 및 OpenSearch Dashboards URL은 VPC 내부 네트워크에서만 접근 가능한 Private IP 기반 엔드포인트입니다.
외부에서 OpenSearch UI에 접근하려면 다음과 같은 구성이 필요합니다.

  • Public 네트워크에 접근 가능한 VM 인스턴스 생성
  • 해당 VM에 nginx 설치
  • nginx를 통해 OpenSearch 및 OpenSearch Dashboards 엔드포인트로 프록시 연결

이를 통해 브라우저에서 nginx 서버 주소로 접속하여 OpenSearch 및 OpenSearch Dashboards UI를 사용할 수 있습니다.

nginx 설치 및 설정 방법

1. nginx 설치

nginx를 설치할 VM 인스턴스에 접속한 후 아래 명령어를 실행합니다.

sudo apt-get update
sudo apt-get install nginx

2. nginx 설정 파일 구성

nginx 설정 파일을 생성하거나 수정합니다.

sudo vi /etc/nginx/conf.d/opensearch.conf

아래 예시와 같이 OpenSearch Dashboards 엔드포인트를 upstream으로 설정합니다.

upstream dashboards {
server e9e155c8-de2a-4099-84bc-29f6cf89f566-cbt.advanced-managed-search.kr-central-2.kakaocloud.com:443;
}

server {
listen 8080;

location / {
proxy_pass https://opensearch;

# 헤더 설정 추가 (로그인 및 리다이렉트 정상 작동 보장)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

설정 설명

  • upstream opensearch: Advanced Managed Search에서 제공하는 OpenSearch 엔드포인트 지정
  • listen 8080: 외부에서 접속할 nginx 포트
  • proxy_pass: 요청을 OpenSearch로 전달

3. nginx 설정 테스트 및 재로드

설정 파일 작성 후 nginx 설정을 테스트하고 적용합니다.

sudo nginx -s reload

설정에 오류가 없으면 nignx가 정상적으로 재로드됩니다.

OpenSearch 접속

nginx 설정이 완료되면 터미널에서 다음 주소로 접속합니다.

curl -X GET http://<nginx-VM-Public-IP>:8080 -u 'admin:[password]'

클러스터 생성 시 설정한 마스터 사용자 계정으로 호출하면, OpenSearch Status 응답이 표시됩니다.

OpenSearch UI 접속

nginx 설정이 완료되면 브라우저에서 다음 주소로 접속합니다.

http://<nginx-VM-Public-IP>:8080

접속 후 OpenSearch Dashboards 로그인 화면이 표시되며, 클러스터 생성 시 설정한 마스터 사용자 계정으로 로그인할 수 있습니다.

보안 및 운영 유의사항

  • nginx VM 접근은 보안 그룹을 통해 허용된 IP로 제한하는 것을 권장합니다.
  • 운영 환경에서는 HTTPS 구성 및 인증서 적용을 고려하시기 바랍니다.
  • 프록시 서버 장애 시 UI 접근이 불가능하므로, 운영 환경에서는 가용성 구성을 함께 고려해야 합니다.
정보

네트워크 보안 설정 외부 접속을 위해서는 다음 두 가지 설정이 반드시 선행되어야 합니다.

  1. VM 인스턴스 보안 그룹: 인바운드 규칙에 8080 포트가 허용되어 있어야 합니다.
  2. Advanced Managed Search 클러스터 보안 그룹: Nginx VM의 Private IP가 OpenSearch 클러스터의 443 포트로 접근할 수 있도록 허용되어야 합니다.