Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

AWS EC2 를 통한 Document DB 접속방법 및 간단한 테스트 본문

MongoDB, AWS DocumentDB/아키텍처 및 내부 구조

AWS EC2 를 통한 Document DB 접속방법 및 간단한 테스트

`O` 2025. 5. 23. 16:54
728x90
반응형

이 페이지에서는 AWS 서비스중 MongoDB 기반의 서비스인 DocumentDB 를 EC2에서 접속하는 방법 및 간단한 테스트에 대하여 다룬다.

또한 이 페이지는 이전 게시글과 연관된 사항이 있으니 해당 사항에 대해서 먼저 참조하면 좋다.

 

[+] 2025.05.13 - [MongoDB, AWS DocumentDB/아키텍처 및 내부 구조] - MongoDB 를 공부하기 위해 필요한 기본 용어 및 데이터 예시

 

또한, 이 내용은 O'REILLY 사의 저서 '몽고DB 완벽가이드' 의 내용이 일부 포함되어 있다.

이 게시글은 DocumentDB 에서 MongoDB 접속 및 테스트를 다루는데 이 부분은 MongoDB 와 거의 동일하며, 필자는 이후 DocumentDB 내용도 동시에 다룰 예정이기에 MongoDB 기본 접속 테스트또한 여기서 수행한다.

 

 

DocumentDB 접속 설정 방법 (UI 기준)

 

- DocumentDB 의 Cluster 생성 메뉴는 RDS & Aurora 서비스와 동일하므로 이는 간략하게 설명한다.

(DocumentDB -> 좌측메뉴 Clusters -> 다음 화면에서 우측 상단에 Create 클릭

 

- Create 메뉴로 들어오면 화면 하단에서 show advanced settings 를 on 으로 한다.

이는 생성 시, 상세 옵션도 설정하기 위함이다.

 

출처 :본인 테스트

 

- 다시 화면 상단에서 보면 Cluster Type 을 고를 수 있다. 이는 각각 provisioned, MongoDB sharding 을 응용한 cluster 로 보면된다. 본인 테스트에서는 instance-based cluster 를 선택한다.

 

출처 :본인 테스트

 

- Instance Based Cluster 를 선택하면 instance class 를 선택할 수 있다. 기본적으로는 free trial instance class 가 설정된다.

 

출처 :본인 테스트

 

- 여기서 사용자가 기존에 DocumentDB 에 연결할 EC2 를 설정 할 수 있다.이 때, Don't connect to an EC2 ~  옵션을 먼저 선택해서 아래에 있는 VPC 설정을 해 줘야한다. 이 글을 작성하는 기준으로 Connect to 를 선택하면 VPC 가 고정되어 선택할 수가 없으므로 참고하자. 그래서 Don't 항목 설정으로 먼저 사용할 VPC 를 선택 후, 다시 Connect 옵션을 선택 해 해당 VPC 에서 사용할 EC2 를 고르면 된다.

 

출처 :본인 테스트

 

출처 :본인 테스트

 

- 처음 DocumentDB 를 쓸 때 사용할 user 를 만들 수 있다. Secrets Manager 및 Self Managed 중 하나를 선택할 수 있으며

여기서 필자는 Self Managed 를 사용한다. (이 과정은 RDS, Aurora Cluster Master User 생성과 유사하다.)

 

출처 :본인 테스트

 

- 이와 같은 설정을 통해 Create Cluster 를 선택하면 아래와 같이 Cluster 를 만들 수 있다.

 

출처 :본인 테스트

 

- 이제 EC2 로 넘어와서 설정해야 할 사항들을 확인 하면 이와 같다. 먼저 Mongo Shell 및 기타 사항을 설치 및 설정해야하는데 이는 아래의 공식 Document 에 있는 'MongoDB 쉘 설치' 내용대로 따르면 된다. 

 

[+] https://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/connect-ec2-manual.html

 

- 이에 따라 먼저 repository 설정 및 mongsh 를 yum 으로 설치한다.

 

출처 :본인 테스트

 

- 그 후, 다시 Document 메뉴에 있는 Cluster 또는 Instance 에 들어가면 자동으로 해당 과정 화면을 보여준다.

 

출처 :본인 테스트

 

- 위의 내용을 참고 후 pem file 을 받는다. DocumentDB 는 접속시 CA 인증서를 통한 TLS 접속을 필수로 요구한다.

그렇기에 이 때 사용 할 CA 를 받는 것이다.

 

출처 :본인 테스트

 

- 그 후 위에서 mongo shell 명령어를 그대로 가져와서 입력한다. 단, password 항목은 아래 테스트와 같이 공란으로 비워서 기재하고 따로 입력한다. 접속이 되서 아래의 화면들로 넘어오면 접속이 성공적으로 된 것이다.

 

출처 :본인 테스트

 

- 이제 여기서 사용자는 명령어를 입력 해 볼 수 있는데 Mongo Shell 은 JavaScript 해석기이기도 해서 사용자가 JavaScript 로 간단한 명령어 또는 Factorial 등의 다중 구문을 작성 해 볼 수 있다. 필자는 JavaScript 에 익숙치 않으므로 매우 간단한 예시만 아래와 같이 남긴다.

 

출처 :본인 테스트

 

- 이제 여기서 사용자는 간단하게 DB 사용 및 CRUD 를 사용 해 볼 수 있다. 아래 예시는 video db 생성 및 video 라는 db 에 movies 라는 collection 을 만든다.

 

※ RDB 에 익숙하다면 두 요소들은 create 로 만드는 것을 먼저 생각하지만 MongoDB 는 use, 단순 collection 이름 표기등으로 각각의 요소를 생성 할 수 있다. 참고로 collectiondb.createCollection(name, options) 로도 만들 수 있다.

 

[+] https://www.mongodb.com/ko-kr/docs/manual/reference/method/db.createCollection/

 

출처 :본인 테스트

 

- 이후에는 아래와 같이 insert 를 해 볼 수 있다. 단순 document 를 작성해 볼 수도 있으나, 아래 예시처럼 movie 라는 지역 객체 (local variable) 을 생성하여 insert (InsertONE  명령어) 를 할수도 있으니 참고하자.

 

※ 필자가 아래 화면에서 movie 에 어떤 document 를 명시했는지 공유를 못했는데 해당 document 은 find 를 통해 나오는 tile, director, year 조합의 document 다.

 

출처 :본인 테스트

 

- Insert 를 해봤다면, update 도 해 볼 수 있다. 해당내용은 title 조건에 부합하는 document 에 review field 를 추가한다.

 

RDS 에서는 column add 를 alter 로 표기해야 하나 MongoDB 는 update 로 가능하다.

 

출처 :본인 테스트

 

- Delete 도 해 볼 수 있는데 delete 는 위의 update 와 유사하게 조건부에 맞는 field 를 통해 삭제 해 볼 수 있다.

 

출처 :본인 테스트

 

728x90
반응형
Comments