본문 바로가기
DB

[AWS] EC2에 mongoDB 설치하고 외부 연동해서 Python에서 사용하기

by 디토20 2022. 5. 10.
반응형

 

[AWS] EC2에 mongoDB 설치하고 외부 연동해서 Python에서 사용하기

 

 

 

1.EC2 생성

 

ec2 이름을 적고 Quick Start에서 Ubuntu 클릭

Ubuntu 20.04 선택

 

 

 

 

인스턴스 유형은 프리티어 중 원하는 용량을 선택하고, 새 키페어를 생성해줍니다.

 

 

키페어의 이름을 적고 pem으로 키페어 생성 후 잘 저장해 둡니다.

 

 

위에서 만든 키페어 선택인스턴스 시작을 눌러 EC2 생성을 완료해줍니다.

 

 

 

 

2. EC2에 mongoDB 설치

 

생성한 EC2에 위에서 저장해둔 pem키를 이용해 ssh 접속을 합니다.

 

저는 윈도우 사용자라 아래를 참고했습니다.

https://wookim789.tistory.com/34

 

2.1. SSH 접속

EC2에 접속한 후

sudo su

입력 해서 root 권한으로 변경

 

2.2 MongoDB public GPG key 가져오기

아래의 명령어를 실행하여 MongoDB public GPG key를 가져옵니다.

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

그럼 아래와 같은 OK를 받을 수 있습니다,

 

2.3 MongoDB를 위한 List 파일을 만들기

MongoDB를 위한 List 파일을 만들기 위해 아래의 명령어를 실행합니다.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

그럼 위와같이 에코가 한번 실행된 후 특별한 응답이 없지만, 정상적으로 완료가 된것입니다.

 

 

2.4 MongoDB 설치 후 실행

apt-get update
apt-get install -y mongodb-org

apt-get update로 로컬 패키지를 업데이트 해준 후 mongodb를 설치해줍니다.

 

그 후 몽고 디비를 실행 시켜본 뒤, 잘 실행 되었는지 확인합니다.

systemctl start mongod # 실행
systemctl status mongod # 실행 상태 확인

위와 같이 active가 떠있다면 정상적으로 실행된 것입니다.

 

 

 

 

3. MongoDB 외부 접속

3.1. AWS EC2 포트 열기

EC2의 보안에서 보안 그룹을 눌러줍니다.

 

인바운드 규칙 편집을 눌러줍니다.

 

 

규칙 추가를 누르고 위와같이 입력 후 (mongoDB 기본 포트 번호 : 27017) 저장해서 mongoDB를 외부에서 접근할 수 있게 AWS EC2포트를 열어줍니다.

 

 

3.2. mongoDB 외부 접속 오픈

위에서 AWS EC2의 포트는 열어주었지만 아직 mongoDB는 내부에서만 접속을 허용하고 있습니다.

vi /etc/mongod.conf

위에서 켜 두었던 SSH 접속창에 해당 커맨드를 입력해줍니다.

i 를 눌러 수정 모드로 변경

bindIp를 위와같이 수정해주고, security의 주석을 풀어 아래와 같이 내용을 추가해 줍니다.

ecs키를 누른 후, :wq 커맨드를 입력해 수정창을 빠져나옵니다.

 

 

 

3.3. 외부 접속을 위한 사용자 계정생성

mongo

위에서 켜 두었던SSH 접속창에 mongo를 입력해서 mongoDB로 들어갑니다.

 

 

# admin 계정 접속
use admin

# 외부 접속용 계정 생성
db.createUser({user: "input", pwd: "input", roles:["root"]});

admin 계정으로 접속해서 사용자 계정을 생성해줍니다.

input 자리에 본인이 원하는 IDPassword를 넣어서 생성해주면 됩니다.

 

 

#mongoDB 나오기
exit

#mongoDB 재시작
service mongod restart

 

이후 mongoDB를 빠져나와 재시작을 해주면 외부에서 사용이 가능합니다.

 

 

 

 

4. Python에서 사용하기

 

python에서는 위와같은 방법으로 AWS EC2의 mongoDB와 연결이 가능합니다.

'client = MongoClient('mongodb://[USER_NAME]:[PASSWORD]@'+[HOST], [PORT])'

 

 

 

 

 

 

 

 

 

 

참고

https://dong5854.tistory.com/12

 

https://parkjh7764.tistory.com/48

 

 

728x90
반응형

댓글