일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- python
- Crawling
- React
- Express
- OOAD
- sequelize
- linux
- wireshark
- Network
- AWS
- css
- typeorm
- mongoose
- TypeScript
- node.js
- DATABASE
- HTML
- MongoDB
- S3
- macos
- docker
- Android
- OS
- Kotlin
- algorithm
- postman
- Util
- ubuntu
- mysql
- Scheduling
- Today
- Total
Seongwon Lim
[AWS] Amazon RDS 생성 및 Mysql Workbench를 이용하여 연결하기 본문
What is RDS?
Amazon Relational Database Service(RDS)를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장을 제공하는 서비스이다.
하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하면서 비용 효율적이고 크기 조정 가능한 용량을 제공하며, 사용자가 애플리케이션에 집중하여 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원한다.
Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database 및 SQL Server를 비롯한 6개의 데이터베이스 엔진을 제공하며 사용자는 본인이 원하는 데이터베이스 엔진을 선택하여 사용할 수 있다.
RDS 생성하기
AWS 관리 콘솔에서 RDS를 입력 후 RDS 콘솔로 이동한다.
좌측 메뉴의 데이터베이스 메뉴로 들어간 뒤 화면에 보이는 데이터베이스 생성 을 클릭한다.
생성 방식은 표준 생성 으로 설정했고 엔진은 Mysql을 사용하였다.
템플릿은 프리 티어 옵션을 선택하여 요금이 발생하는 일이 없도록 한다.
설정 옵션에서는 식별자(데이터베이스 이름)를 정의하고 마스터 계정 정보를 정의한다.
이후 외부에서 해당 데이터베이스에 접속하기 위해서는 사용자 이름과 암호를 알고 있어야 한다.
인스턴스 유형은 버스터블 클래스의 db.t2.micro 옵션을 선택한다.
스토리지와 가용 및 내구성 옵션은 따로 건드리지 않고 넘어갔다. 사용자 요구사항에 맞게 스토리지 크기를 조절해도 무방하다.
연결 정보는 다음과 같이 구성했다. 퍼블릭 액세스는 예 로 바꾸어 외부에서 데이터베이스에 접근을 허용할 수 있도록 했다.
데이터베이스 인증은 암호 인증 으로 선택 후 데이터베이스 생성 을 클릭하여 RDS를 생성한다.
데이터베이스 생성 시 일정 시간이 소요될 수 있으며 데이터베이스 상태가 사용 가능 으로 바뀔 때까지 기다린다.
Mysql Workbench를 이용하여 데이터베이스 연결하기
Mysql Workbench란?
MySQL 워크벤치(MySQL Workbench)는 SQL 개발과 관리, 데이터베이스 설계, 생성 그리고 유지를 위한 단일 개발 통합 환경을 제공하는 비주얼 데이터베이스 설계 도구이다.
위 링크에서 사용자의 운영체제에 알맞은 Workbench를 다운받을 수 있다.
Workbench 사용하기
워크벤치를 실행하면 위와 같은 화면이 나온다. MySQL Connections 옆에 + 버튼을 클릭하면 데이터베이스 연결을 위한 셋업 환경 팝업창이 나타난다.
- Connection Name : RDS 생성 시 정의한 데이터베이스 이름 (필자는 db-rds-example로 정의했다.)
- Connection Method : 연결 방식을 선택하는 부분으로 TCP/IP를 선택한다.
- Hostname 은 접속하고자 하는 데이터베이스의 주소(IP)를 적는 부분이다.
Hostname에 들어갈 값은 RDS 콘솔에서 생성한 데이터베이스 이름을 클릭하면 데이터베이스 상세 페이지로 이동한다.
연결 & 보안 탭에서 엔드포인트 및 포트 부분의 엔드포인트 값을 복사한다. 해당 주소가 Hostname에 들어갈 값이다.
Port는 RDS 생성 시 정의한 포트번호 3306을 적는다. Username은 데이터베이스 접속을 위한 사용자 아이디로 이것 또한 RDS 생성 시 정의한 admin 을 적는다.
외부 접속을 위한 인바운드 규칙 수정하기
외부에서 데이터베이스에 접근하기 위해서는 인바운드 규칙을 수정해야 한다.
이전과 똑같이 데이터베이스 이름을 클릭하여 상세 페이지로 이동 후 연결 & 보안 탭에서 보안 그룹 규칙 메뉴로 이동한다.
CIDR/IP - Outbound 유형의 보안 그룹을 클릭하면 새로운 페이지가 나온다.
아래에 있는 인바운드 규칙 탭에서 인바운드 규칙 편집 버튼을 클릭한다.
편집 창으로 들어온 후 위와 같이 규칙을 추가하고 규칙 저장 을 클릭한다.
0.0.0.0/0 주소는 외부의 모든 IP주소에서 데이터베이스에 접근하도록 해준다.
Setup New Connection 화면
위와 같이 구성이 되었으면 Store in Keychain 버튼을 클릭하여 데이터베이스 생성 시 정의한 암호를 입력한다.
Test Connection 을 클릭하여 연결이 정상적으로 되는 지 테스트 할 수 있다. 결과는 다음과 같다.
이제 OK 버튼을 눌러 사용자가 생성한 RDS에 접속할 수 있다.
이와 같이 db-rds-example 이름의 데이터베이스가 생성된 것을 확인할 수 있으며 클릭 시 접속할 수 있다.
접속이 성공적으로 이루어졌다.
터미널을 이용하여 DB에 접근하기
- 접속 방법 : mysql -h endpoint -P 3306 -u mymasteruser -p
- endpoint : DB 인스턴스의 DNS 이름 입력. 이전에 복사한 엔드포인트 주소를 입력한다.
- mymasteruser : 마스터 사용자 이름 입력
터미널을 통해 위 명령어를 알맞게 입력하면 데이터베이스 연결을 위한 암호를 요구한다. 이 때 암호는 RDS 생성 시 정의한 마스터 암호를 입력하면 된다. 연결 결과는 다음과 같다.
출처
'AWS' 카테고리의 다른 글
[AWS] EC2에 Node.js 서버 배포하기 (0) | 2022.05.10 |
---|---|
[AWS] S3 버킷 생성 및 업로드 예제 (0) | 2022.05.10 |