AWS OpenSearch 기초 사용법 (AWS Elasticsearch 후속)
1. AWS OpenSearch란?
AWS OpenSearch는 로그 모니터링 및 도구이다. 사실 원래 AWS ElasticSearch로 제공되던 서비스가 최근 AWS OpenSearch로 변경된 것이다. AWS의 설명을 빌리자면 AWS OpenSearch는 Elasticsearch 7.10.2 및 Kibana 7.10.2에서 파생되었다고 한다. 그래서 그런지 설정 메뉴를 보면 아래와 같이 Elasticsearch와 OpenSearch 버전이 따로 존재한다. 각 버전을 클릭하다보면 버전에 따라 사용할 수 없는 기능들도 있으니 참고 바란다.
2. 기본 설치 방법
기본 설정 당시 어려운 부분은 없고, 네트워크 액세스에 대한 부부만 잘 선택하면 될 것으로 보인다.
네트워크 액세스는 2가지 방식이 존재한다.
- VPC 액세스: OpenSearch 서비스가 사용자가 지정한 VPC 내에 존재하는 방식으로 Security Group 으로 접근 제어가 가능하며 nginx reverse proxy, ssh tunnel, AWS VPN 등을 통한 간접 접근이 필요하다. 실제 회사에서 구축 시에는 VPC 액세스가 보안적으로 훨씬 안전할 것으로 생각된다.
- 퍼블릭: OpenSearch 서비스가 오픈 된 퍼블릭에 존재하는 상태이다. 테스트 용도 또는 사내에 구축할 필요가 없는 경우 사용하면 된다.
위와 같이 VPC 액세스로 ElasticSearch를 생성하면 엔드포인트 URL이 생성된다. 하지마 시큐리티 그룹에 아무리 본인의 IP를 넣어봐도 접근이 위에 나와있는 도메인으로 접근하더라도 접근이 불가능하다. 먼저 언급한 것처럼 VPC 액세스는 추가적인 접근 구성이 필요하다. 필자는 이번에 nginx reverse proxy를 통한 접근 구성을 해본다.
다음으로 ec2에 nginx 설치
1 sudo amazon-linux-extras install -y nginx1
2 sudo service nginx start
/etc/nginx/nginx.conf 의 server 부분에 아래 내용 추가
location / {
proxy_pass 본인의_엔드포인트_URL
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
이후 키바나, 엔드포인트 URL로 접근하면 아래와 같이 대시보드가 보인다.
캡쳐에 있는 것처럼 테스트 데이터를 Add 해보려했는데, 위 캡처처럼 elasticsearch 버전 6.5에서는 오류가 발생하고 아래 캡처처럼 6.8에서는 생성 성공했다.
여기까지 간단한 사용법을 알아봤다. 하지만 현재 IP를 제외한 다른 인증 설정은 불가능하다. 다음 포스팅을 통해 ID/PW 및 MFA를 통한 추가적인 설정을 할 수 있는 방안에 대해서 알아본다.