본문 바로가기
클라우드 기초/AWS

[AWS] RDS 생성하기, Workbench 사용법

by 라라쇼퍼 2023. 7. 6.
반응형

RDS(relation database service) 

Amazone Aurora: 최대 15개 읽기 전용 복제본 만듬 aws 에서 mysql가지고 만든 것입니다. 

사용자가 1000명 이상 되면 db 도 이중화 필요합니다. 

 

이중화 시에는 로드 밸런스가 필요합니다. 

로드 밸런스 종류 3가지 , application, network, classic 

외부하고 통신하려면 application 로드 밸런스 써야함 그런데 이것은 인증서 필요 (https 로 들어와야함)

인증서 설치시에는 도메인 필요 

 

요즘에는 퍼블릭 존에는 bastion, alb 만 두고, 

나머지 서버들은 프라이빗 존에 둡니다. 


 

 

rds 데이터 베이스 생성-> mysql, 표준생성 선택

 

 

  • 프로덕션: 운영할때 쓰는 템플릿, 이중화 가능
  • 개발 테스트: 개발 테스트시 쓰는 템플릿, 이중화 가능
  • 프리티어: 이중화 불가

  • 다중 AZ DB 클러스터: 읽기 가능한 read replica 2개 , 이중화 (acive stanby) 만들어 줍니다. 
  • 다중 AZ DB 인스턴스: active standby만 설치합니다.
  • 단일 DB 인스턴스: 싱글 DB 만 생성합니다. 

 

이번 실습은 프리티어로 진행하겠습니다. 

 

마스터 사용자 이름은 mysql 로그인시 id 에 해당합니다.

마스터 암호는 mysql 로그인시 비밀번호 입니다. 

 

 

 

프리티어다 보니 버스터블만 가능합니다. 

 

 

마그네틱은 sata 를 의미합니다. 

 

 

DB 쿼리 편집기 로컬 설치해서 로컬에서 db 연결할 때 퍼블릭 엑세스 yes 설정해야합니다. 

 

(미리 서브넷 그룹을 프라이빗 서브넷으로 구성해놓으면 db 서브넷 그룹에서 생성한 그룹을 선택할 수 있습니다.)

https://raratech.tistory.com/50 

 

[AWS] DB 서브넷 그룹을 프라이빗 서브넷으로 설정하기

RDS 생성하기 전에 미리 DB 인스턴스가 생성될 프라이빗 서브넷 그룹을 묶어서 그룹 생성을 해놓습니다. 서브넷 그룹 정보에서 이상하게?? 맨 앞의 문자를 숫자로 하니 자꾸 에러가 떠서 이름 수

creb-akay.com

 

 

EC2 보안 그룹에 인바운드에 3306 추가되어 있어야합니다.  없다면 인바운드 규칙 편집으로 추가해줍니다. 

 

 

DB 에 적용할 보안 그룹을 선택 적용합니다. 

 

 

참고로, RDS 생성 전에 vpc 설정에서 dns 설정 두가지 다 check 되어 있어야 합니다. 

 

 

그런데 db 생성이 안되었다면,

서브넷이 단일이라면 생성이 안되고, 다른 가용 영역에 서브넷을 하나 더 만들어주면 해결됩니다. (프리티어더라도 이중화 위한 서브넷 2개는 필수인가 봅니다. )

 


MySQL Workbench 쿼리 편집기 다운로드하기 

 

aws-rds 에서 엔드 포인트 복사 

 

 

 

커넥션 네임 임의로 넣어주고

아까 복사했던 엔드 포인트를 hostname에 넣어줍니다. 

 

 

rds 로 연결되면 아래와 같은 화면이 뜹니다. 

 

 

혹은 rdb 연결 요청

 

참고로, 비밀번호 수정하는 방법

 

 

workbench 대신에 ububtu 에서 CLI 로도 직접 RDS 에 접근해보겠습니다. 

 

Ubuntu 20.04 버전 이미지 인스턴스 하나 설치하고 여기에 mysql 설치하기

https://blogshine.tistory.com/322#recentComments

 

[AWS] EC2에 MySQL 설치하기

다른 여타 어느 블로그의 글 보다 자세하게 설명 하였습니다. 도움이 될 수 있길!!! 총 3개의 글 시리즈로 작성할 것 입니다!! 1. EC2 인스턴스 만들기 (이전 글) 2. AWS의 EC2에 MySQL을 설치하고, Sequal A

blogshine.tistory.com

 

 

mysql 접속하기

mysql -u 계정 -p -h 엔드포인트 dns

rds는 ip 가 없기 때문에 hostname을 넣어야 함

mysql -u admin -p -h mysqldb.ciwbgunirzdv.ap-northeast-2.rds.amazonaws.com

 

 

 

workbench 에서는 쿼리에 명령어 입력 후 번개 모양을 누르면 똑같은 결과를 볼 수 있습니다.

 

 

데이터 베이스, 테이블 및 유저 생성

CREATE DATABASE [생성할 데이터 베이스 이름];

USE [생성할 데이터 베이스 이름];      # 생성한 데이터 베이스를 특정하는 과정

# 생성한 데이터 베이스에 TABLE 생성하기

CREATE TABLE MEMBER(
id CHAR(40) NOT NULL,
pwd CHAR(40) NOT NULL,
name CHAR(20) NOT NULL,
email CHAR(60),
PRIMARY KEY(id)
)CHARSET=utf8;

CREATE TABLE Test(ID INT, Name VARCHAR(30), ReserveDate DATE, RoomNum INT);

# 생성한 TABLE 에 USER 추가하기 

create table user(idx int, name varchar(100), age int);
insert into user values(1, 'Harry', 20);
insert into user values(2, 'James', 30);
insert into user values(3, 'July', 25);

 

ubuntu 에서도 동일한 결과 확인 

한국 시간과 다른 시간(utc)이 나와버립니다. 

시간을 맞춰줘야 합니다. 

 

이는 매우 중요한 과정이므로 따로 포스팅하겠습니다. 

 

반응형

댓글