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`@`%`