라벨이 Database인 게시물 표시

[AWS] Elastic Beanstalk 데이터베이스 연동 for Node js

이미지
안녕하세요. 남산돈가스 입니다.

지난 번에 이어서 Elastic Beanstalk에 대한 포스팅을 조금 더 이어가보려고 합니다.

저번 포스팅에서는 eb cli를 이용하여 로컬 작업환경에서 유연하게 eb를 컨트롤하는 법을 알아 보았습니다.

이번 포스팅에서는 Elastic Beanstalk 환경에서 데이터베이스(RDS)를 생성하고, 직접 연동하는 법을 소개 해드리려고 합니다.


연동 예제는 Node js기반으로 설명하고, Node js 에서의 DB 접속은 sequelize 라는 npm 모듈을 이용하여 설명드리겠습니다.

먼저, 지난 포스팅에서 이용했던 eb create 라는 명령어를 이용해 새로운 환경을 만들겠습니다.


eb create 명령어를 이용하여 "eb-express-staging"이라는 환경을 새로 생성하였습니다.
콘솔로 이동해보니, 환경이 정상적으로 생성 된 것을 아래와 같이 확인하실 수 있습니다.
새로 생성한 환경을 선택하고 왼쪽 탭에 구성으로 가보면, "eb-express-staging" 환경의 구성정보를 확인하실 수 있습니다. 
그 중에서 하단에 데이터베이스 항목을 보시면 설정 없이 비어있는 것을 확인하실 수 있습니다. 데이터베이스를 생성하고 연동하기 위하여 데이터베이스 영역 밑 '수정'을 클릭합니다.


데이터베이스 수정페이지에선, 현재 생성되거나, 설정되어있는 DB가 없는 경우 새로 생성할 수 있습니다. DB 엔진, 버전, 인스턴스 종류, 용량, username, password 등 기본적인 정보를 입력한 뒤 적용을 선택합니다.
적용을 누르고, 대략 10~15분이 지나면 새로운 DB가 생성 된 것을 확인하실 수 있습니다.

 이렇게 생성 된 DB는 실제 RDS 콘솔에서도 확인하실 수 있습니다. Elastic Beanstalk 콘솔에서 기본적으로 생성한 정보들 이외에도 상세 설정 정보들은 RDS 콘솔에서 변경이 가능합니다.

이제 실제 EB 환경에서 설치 된 DB 접속을 해보겠습니다.
예제로 생성한 eb…

AWS RDS Mysql 설치하기

이미지
AWS에서는 클라우드 상에 관계형 데이터베이스를 쉽게 설치하고 운영할 수 있는 서비스를 제공합니다. 이를 AWS RDS(Relational Database Service) 라고 합니다.

 기존의 로컬이나 물리적인 서버에 데이터베이스를 구축하려고하면 설치부터 셋팅까지 상당한 시간이 소요되기 마련이지만, AWS에서는 콘솔이나 CLI를 이용하여 5~10분만에 Database를 구축할 수 있습니다.

오늘은 이렇게 Database를 AWS에서 설치하는 과정을 포스팅하려고합니다. DB는 Mysql을 설치하고 이 DB의 스펙은 AWS에서 제공하는 프리티어 기준으로 설명드리겠습니다.

먼저 AWS Management Console에 로그인합니다.


최근에 AWS Console이 한글화되었으므로 한글 콘솔에서 설치를 진행해보겠습니다.

AWS Services에 RDS를 검색하고 접속해봅니다.



기존 DB인스턴스가 존재하지 않다면 위와 같은 화면이 보여질 것입니다. 지금 시작을 눌러 설치를 시작해보겠습니다.


 DB엔진을 선택하는 화면인데 저희는 MySQL을 선택합니다.

DB 세부 정보를 지정하는 화면입니다. RDS 프리 티어가 지원되는 옵션만 표시하기를 체크하면 DB인스턴스에 대한 기본 설정이 자동으로 셋팅됩니다. 하단의 DB 인스턴스 식별자와 접속 사용자의 계정정보를 입력합니다.


다음 단계로 넘어가면 DB 고급 설정부분입니다.


VPC  : 기본 VPC서브넷그룹 : default퍼블릭 액세스 가능 : 예가용 영역 :기본 설정 없음VPC 보안 그룹 : default데이터베이스 이름 : (최초 DB설치 시 생성되는 DB이름)데이터베이스 포트 : 3306 ( MySQL 기본)DB 파라미터 그룹 : default옵션 그룹 : default 위의 작성한 설정들은 AWS에서 기본으로 제공하는 설정들만으로 적용한 내용입니다. 위 상태로 DB인스턴스를 생성하면 DB 접속정보와 계정, 비밀번호만 알 수 있다면 어떤 곳에서든지 접속이 가능합니다. 그러므로 네트워크와 보안설정을 다르게 하고싶으면 VPC…