이번에 회사의 새로운 아이템을 프로토타입으로 만들 일이 생겼는데 회사에서 주로 사용하는 툴에 익숙해질 겸 가볍게 NCP와 mongoDB 를 사용해서 구성해보기로 했습니다.
- Naver Cloud Playform - 처음 만져봄.
- mongoDB - select 문도 할 줄 모름.
목표
- 머신러닝으로 돌린 데이터를 mongoDB 에 적재합니다.
- 이미 운영 중인 AWS EC2 서버에서 NCP로 연결합니다.
NCP - Cloud DB for MongoDB 구성
AWS 가 아닌 NCP를 사용한 이유는 크레디트를 투자받았기 때문입니다.
퀵스타트 가이드가 잘 돼있어서, 캡처보다는 한 작업들을 서술형으로 작성합니다.
항목 | Dev | Prod | Dev(계획) | Prod(계획) |
서버 구성 | Stand Alone | Stand Alone | Stand Alone | Replica Set |
VPC | Public | Public | Private | Private |
Sub User | O | O | O | O |
- 이미 사용하고 있던 AWS EC2를 사용하기로 했기에 APP 서버는 따로 구성하지 않았습니다.
하지만 이 경우 VPC를 public으로 생성할 수밖에 없었습니다. - sharding 은 아니더라도 arbiter를 포함한 replica set을 구성하려고 했으나, NCP에서는 public 구성의 경우 stand alone 만이 지원되었습니다.
이미 운영 중인 EC2를 옮기거나, 별도 운영은 공수가 크다고 판단되어 stand alone으로 구성하게 되었습니다. - public VPC를 생성하고, ACG (AWS의 보안 그룹)의 inbound 규칙을 회사 IP와 변경한 포트로 적용했습니다.
Cloud DB for MongoDB 는 나온 지 얼마 안 되어서인지 지원되지 않는 서비스가 있어 아쉬웠지만, 퀵스타트가 잘 돼있어서 구성은 생각보다 쉽게 되었습니다. (대신 비용은..)
후속 작업은 블로그에 쓰기보다는 내부 지식 공유도 겸하기 위해서 docker를 통한 세팅과 튜토리얼을 만들어 봤습니다.
새로 시작하는 아이템이라서 애정도 가고, 잘돼서 mongoDB 를 좀 더 적극적으로 써봤으면 좋겠습니다!
https://github.com/Hyune-c/mongodb
'Study' 카테고리의 다른 글
String 을 잘 써보자 (0) | 2021.10.16 |
---|---|
@Component vs @Configuration (0) | 2021.09.25 |
API Versioning 전략 (0) | 2021.04.14 |
토끼책을 읽고 - 메시지를 믿을 수 있을까? (2) (0) | 2021.03.08 |
토끼책을 읽고 - 메시지를 믿을 수 있을까? (1) (0) | 2021.03.08 |