Skip to main content

OpenSearch Dashboard 외부 접근 (nginx)

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

개요

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

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

이를 통해 브라우저에서 nginx 서버 주소로 접속하여 OpenSearch 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://dashboards;

# 헤더 설정 추가 (로그인 및 리다이렉트 정상 작동 보장)
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 dashboards: Advanced Managed Search에서 제공하는 OpenSearch Dashboards 엔드포인트 지정
  • listen 8080: 외부에서 접속할 nginx 포트
  • proxy_pass: 요청을 OpenSearch Dashboards로 전달

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

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

sudo nginx -s reload

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

OpenSearch UI 접속

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

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

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

보안 및 운영 유의사항

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

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

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