ElasticSearchService VPC Access

2018. 10. 19. 16:15Etc../AWS

AWS ElasticSearch Service(ES) 를 Public Access가 아닌 VPC로 Access를 하는 방법에 대해서 포스팅하겠습니다.


* 구축한 환경은 아래와 같습니다.

 1. ec2 - Ubuntu

 2. MacOS 

 3. ElasticSearch Service


* 구축전 ec2 와 Elastic Search Service 가 생성되어 있어야 합니다.



* Step 

1. Ec2생성 시 적용한 pem 키를 .ssh 에 저장합니다. (optional)

$ mv my.pem .ssh/

2. Local에 ".ssh" config 에 Host를 estunnel 을 추가합니다.

Host estunnel
HostName 1.1.1.1 # ec2 public ip 주소
User ec-user # ec2 계정
IdentitiesOnly yes
IdentityFile ~/.ssh/my.pem
LocalForward 9200 vpc-test-v7asdfasdffddfdsfp22ry6qm2zn3u.ap-northeast-x.es.amazonaws.com:443 # Elasticsearch vpc endpoint 


3. 보안그룹(security group)을 설정해줍니다.


유형 

프로토콜 

포트  

Source 

SSH 

TCP 

22 

개인 아이피  

HTTPS 

TCP 

443 

Security Group ID (ex: sg-~~~) 

CUSTOM  

TCP 

9200 

개인 아이디 



4. 개인 터미널에서 아래의 명렁을 수행합니다.


ssh estunnel -N

 * 만약 위의 명령이 실행했을 때 Permission Error 가 발생하면 ec2에 Local Public key를 등록하지 않아 실행이 되지 않을 가능성이 큽니다. 

2017/07/21 - [Etc../AWS] - [EC2] EC2 다른 계정생성 후 접속방법 에서 Public key 입력 부분을 참고하시면 됩니다.

5. 위의 명령이 실행된 상태에서 브라우저를 실행하여 https://localhost:9200 에 접속하면 아래와 같은 결과가 출력됩니다.

{
  "name" : "xxxxxx",
  "cluster_name" : "123323213:test",
  "cluster_uuid" : "xxxxxxxxxx",
  "version" : {
    "number" : "6.x.x",
    "build_flavor" : "xxx",
    "build_type" : "zip",
    "build_hash" : "xxxx",
    "build_date" : "2018-08-01T07:23:36.254471Z",
    "build_snapshot" : false,
    "lucene_version" : "x.x.x",
    "minimum_wire_compatibility_version" : "x.x.0",
    "minimum_index_compatibility_version" : "x.x.0"
  },
  "tagline" : "You Know, for Search"
}



* Kibana 의 접속 URL은 https://localhost:9200/_plugin/kibana/app/kibana


'Etc.. > AWS' 카테고리의 다른 글

[EC2] EC2 다른 계정생성 후 접속방법  (0) 2017.07.21