AWS RDS는 사용자가 관계형 데이터베이스를 손쉽게 생성하고 관리할 수 있도록 도와주는 강력한 도구이다. 사용자는 AWS 회원가입을 통해 RDS를 이용할 수 있으며, MySQL 등 다양한 엔진을 선택하여 데이터베이스를 생성할 수 있다. AWS RDS는 자동 백업, 손쉬운 확장성, 보안 설정 등 다양한 기능을 제공하며, 이러한 기능들은 사용자가 데이터베이스를 보다 효율적으로 관리할 수 있도록 지원한다. 퍼블릭 엑세스를 설정하면 외부에서 데이터베이스에 접속할 수 있으며, 보안 그룹 및 포트 설정을 통해 접속 권한을 관리할 수 있다. 또한, 데이터베이스의 상태를 실시간으로 모니터링하고 관리 콘솔을 통해 손쉽게 조작할 수 있다.
- 회원가입 시작: AWS 회원가입 페이지로 이동하여 회원가입을 시작한다.
- 개인 가입: 개인으로 가입을 진행한다.
- 결제정보 입력: 프리티어를 사용할 예정이지만, 카드 정보를 입력해야 한다. 결제는 카드 체크를 위해 시도되며, 곧 승인취소된다.
- 문자 인증: 문자로 받은 코드를 입력하여 인증을 완료한다.
- 무료 버전 선택: 프리티어 옵션을 선택하여 무료로 서비스를 이용할 수 있다.
- 서비스 선택: AWS 관리 콘솔에서 서비스 > RDS를 선택한다.
- 데이터베이스 생성: 대시보드에서 데이터베이스 생성을 선택한다.
- 표준 생성 방식: 표준 생성 방식을 선택하여 데이터베이스를 생성한다.
- 엔진 유형 선택: MySQL 등 사용자가 원하는 엔진 유형을 선택한다.
- 템플릿 선택: 프리티어 템플릿을 선택하여 무료로 서비스를 이용할 수 있다.
- 기본 설정: MySQL 접근 계정 정보를 설정한다.
- DB 인스턴스 클래스: db.t2.micro와 같은 프리티어로 사용 가능한 클래스를 선택한다.
- 스토리지 자동 조절: 비용 문제로 스토리지 자동 조절을 비활성화할 수 있다.
- 가용성 및 내구성: 기본 설정을 사용한다.
- 퍼블릭 엑세스: 외부에서 접속할 수 있도록 퍼블릭 엑세스를 설정한다.
- 보안 그룹 및 포트: 기본 설정을 유지한다.
- 데이터베이스 인증: 암호 인증을 선택한다.
- 자동백업: 비용 문제로 자동 백업을 비활성화할 수 있다.
- 삭제 방지: 실수로 삭제되는 것을 방지하기 위해 삭제 방지를 활성화한다.
- 요금 주의: 사용 시간과 용량을 확인하여 750시간과 20GB까지 무료로 사용할 수 있다.
- 데이터베이스 생성: 데이터베이스 생성을 완료한다.
- 데이터베이스 상태 확인: 데이터베이스 생성 후 상태를 확인하고, 모니터링한다.
- DB 식별자 선택: 서비스 > RDS > 데이터베이스에서 DB 식별자를 선택한다.
- 연결 & 보안: 선택된 데이터베이스 페이지에서 연결 & 보안을 선택한다.
- VPC 보안 그룹 선택: 보안 그룹 페이지에서 보안 그룹 ID를 선택한다.
- 인바운드 규칙 편집: 보안 그룹 ID 페이지에서 인바운드 규칙을 편집하여 MySQL/Aurora 유형을 선택한다.
- 규칙 추가 및 저장: 소스를 AnywhereIPv4로 설정하고 규칙을 추가하여 저장한다.
- 엔드포인트 및 포트 확인: 서비스 > RDS > 데이터베이스에서 DB 식별자를 선택하고, 연결 & 보안에서 엔드포인트 및 포트를 확인한다.
- 터미널 실행: 터미널을 실행하여 다음 명령어를 입력한다.
% mysql -h <엔드포인트> -P <포트> -u <마스터 사용자 이름> -p
- 데이터베이스 및 사용자 목록 확인: 접속 후 데이터베이스 및 사용자 목록을 확인한다.
- 데이터베이스 중지: 서비스 > RDS > 데이터베이스에서 database-1을 체크하고, 작업에서 중지를 선택한다. 스냅샷 옵션은 비용 문제로 선택하지 않을 수 있다.
- 데이터베이스 상태 확인: 데이터베이스 상태를 확인하여 중지됨을 확인한다.
- 데이터베이스 시작: 중지된 데이터베이스를 다시 시작하기 위해 database-1을 선택하고, 작업에서 시작을 선택한다.
- 상태 확인: 데이터베이스 상태가 사용 가능으로 변경됨을 확인한다.
- AWS 회원가입: AWS에 회원가입을 하고, 결제정보를 입력해야 한다.
- RDS 인스턴스 생성: AWS 관리 콘솔에서 RDS 서비스를 선택하고, MySQL 엔진을 설정하여 데이터베이스를 생성한다.
- 기본 설정: 접근 계정 정보와 DB 인스턴스 클래스를 설정하고, 스토리지 자동 조절을 비활성화한다.
- 보안 설정: 퍼블릭 엑세스를 설정하고, 보안 그룹 및 포트를 설정하여 접속 권한을 관리한다.
- 백업 및 유지보수: 자동 백업을 비활성화하고, 삭제 방지를 활성화한다.
- 비용 관리: 사용 시간과 용량을 확인하여 무료로 사용할 수 있는 범위를 관리한다.
- 데이터베이스 상태 확인: 데이터베이스 생성 후 상태를 확인하고, 모니터링한다.
- 외부 접속 설정: VPC 보안 그룹을 설정하고, 인바운드 규칙을 편집하여 외부 접속을 설정한다.
- MySQL RDS 접속: 터미널을 통해 MySQL 데이터베이스에 접속한다.
- 데이터베이스 중지 및 시작: 필요 시 데이터베이스를 중지하고, 다시 시작할 수 있다.
[D]: 다이어그램 생성
[A]: 기사로 변환
[E]: 요약 확장
[Q]: 인용문 추출
[T]: 테이블 작성
[C]: 플래시카드 생성
[Z]: 퀴즈 생성
먼저 AWS 콘솔에 로그인하여 RDS 인스턴스의 엔드포인트, 포트 번호, 사용자 이름을 확인한다. 다음과 같은 정보가 필요하다.
MySQL Workbench가 설치되어 있지 않다면 MySQL Workbench 다운로드 페이지에서 다운로드하여 설치한다. 설치 후 실행한다.
MySQL Workbench를 실행한 후, 홈 화면에서 'MySQL Connections' 섹션의 오른쪽 상단에 있는 '➕' 아이콘을 클릭하여 새로운 연결을 생성한다.
'Setup New Connection' 창이 나타나면, 아래와 같이 입력한다.:
MyRDSConnection
)3306
입니다)Test Connection 버튼을 클릭하여 연결이 정상적으로 되는지 확인한다. 연결이 성공하면 'Connection parameters are correct'라는 메시지가 표시된다. 만약 연결이 실패한다면 엔드포인트, 포트, 사용자 이름, 비밀번호가 올바른지 다시 확인한다.
show databases;
# 시스템 데이터 베이스들만 생성되어 있음
# 원격으로 AWS RDS에 접속하는 것 성공
use mysql;
select host, user from user;
# 외부에서 접근가능한 admin이 보인다.
# 데이터베이스 추가하기
CREATE DATABASE testbase DEFAULT CHARACTER SET utf8mb4;
SHOW DATABASES;
# 유저 추가하기
CREATE USER 'kim'@'%' IDENTIFIED BY 'testbase';
# 이 명령어는 비밀번호가 testbase인 kim이라는 이름의 사용자를 생성하고,
# 이 사용자는 모든 호스트에서 MySQL 서버에 접속할 수 있도록 허용한다.
# '%': 호스트를 나타낸다. @'%'는 이 사용자가 모든 호스트에서 접속할 수 있도록 허용한다는 의미이다.
# 예를 들어, 특정 IP 주소나 도메인을 지정할 수도 있다.
# 예: 'kim'@'localhost'는 로컬 호스트에서만 접속할 수 있는 사용자이다.
select host, user from user;
# 신규 사용자에게 권한 부여하기
SHOW GRANTS FOR 'kim'@'%';
# 현재 권한: GRANT USAGE ON *.* TO `kim`@`%`
GRANT ALL ON testbase.* to 'kim'@'%';
SHOW GRANTS FOR 'kim'@'%';
# 권한 변경: GRANT ALL PRIVILEGES ON `testbase`.* TO `kim`@`%`