2019-10-5 TIL DocumentDB의 혼란
DocumentDB
- AWS제공하는 DocumentDB를 사용하기로 했다. DocumentDB를 사용하고 클러스트를 만들었는데, 접속이 잘안됬다. 이유를 찾아보니 여러가지 이유들이 있었따.
- DocumentDB는 노트북이나 로컬개발환경에서 직접 연결을 할 경우 실패한다. 가상사설클라우드(VPC)전용이고 퍼블릭 엔드포인트는 지원 안한다.
- 리전간연결 : EC2리전과 DocumentDB리전이 다를경우 실패
- 다른 VPC에서 연결 : 클러스트가 배포된 VPC가 아닌 다른 VPC에서 접속하면 안된다. 나도 여기서 안됬다. EC2에서 접속하려고할때 VPC와 DocumentDB의 기본 VPC가 안맞아서 1시간동안 해맸다.
- 보안그룹 인바운드 : 27017포트를 열어줘야된다.
//Tutorial
nc -zv cluster-endpoint port
// 실제
nc -zv test-db.cluster-xxxxx.ap-northeast-2.docdb.amazonaws.com 27017
Connection to test-db.cluster-xxxxx.ap-northeast-2.docdb.amazonaws.com 27017 port [tcp/*] succeeded!
- 위 사항들을 다 체크를 하고 다음 명령어를 입력하니 연결을 테스트 할 수 있었다. 나의 경우 이렇게 안하고 mongo shell을 사용하여 pem키와 함께 클러스터 연결하기를 시도했었는데, 잘 안되다가 뒤늦게 방법을 찾았다.
오늘의 느낀점
- 네트워크에 대한 개념이 너무 없다. 위의 이유에 대해서 밤까지 내린 결론은 VPC의 설정이였다. default로 되어있는줄 알았던 VPC를 public access를 가능하게 만들어야되는데, vpc를 만들고 sub이더넷을 만들고 internet gateway를 만들어야되는데? 무슨 IP이런 부분을 잘 모르겠다. 차근차근 네트워크의 개념부터 익히고 VPC설정하고 DocumentDB를 사용하도록 해봐야겠다.
Written on October 5, 2019