본문 바로가기
코딩/SQL

AWS RDS

by 미생22 2023. 2. 21.
728x90

1. AWS RDS 가입

Amazon Relational Database Service의 약자로 AWS에서 제공하는 관계형 데이터베이스 서비스.

Cloud 상에 Database를 구축해보자.

 

아래 주소로 가서 회원가입을 한다.

http://portal.aws.amazon.com/billing/signup#/start 

 

참고로 회원가입 중 카드정보를 입력하라고 뜨는데,

프리티어를 사용할 예정이지만, 카드 정보를 넣어야 가입이 완료되므로 입력해준다.

결제는 카드체크를 위해서 시도 되며 곧 승인취소 된다.

 

참고로, 회원가입에 쓴 메일은 90일동안 사용하지 않으면 자동 계정 폐쇄되며, 같은 메일로 재가입은 안되니,

메일이 100개가 아닌이상 90일마다 계정을 활성화시켜주자...

2. AWS RDS 생성

AWS 관리 콘솔로 이동한다. 우리는 이 상단에 서비스 버튼을 자주 사용할 것이다. 서비스 버튼을 눌러보자.

AWS가 제공하는 모든 서비스가 보인다. 여기서 RDS에 들어간다.

맨 처음에는 데이터베이스를 생성한다.

표준 생성을 하고, 엔진 유형은 쓰고있는 언어를 클릭해준다. 필자는 MySQL을 쓰고있으므로 이 친구를 선택하겠다

MySQL 버전은 최신 버전을 선택해준다.

 

템플릿은 꼭 프리티어를 선택해준다. 무료버전을 사용할 것이기 때문에 꼭 프리티어를 클릭해준다.

DB인스턴스 식별자는 그대로 해주겠다.

마스터 사용자이름은 로컬에서 root와 같은 계정으로, root 혹은 admin으로 쓸 것이다.

마스터 암호는 root의 비밀번호를 잊어먹으면 안되듯이 절대 잊어버리면 안된다!

 

인스턴스 구성에서 t3.micro로 되어있을 텐데, 강의에 맞춰 t2.micro로 변경해준다.

 

스토리지는 자동조정 활성화 체크를 꼭 풀어준다.

스토리지가 넘어가면 과금이 될 수 있으므로!

다음으로 퍼블릭 액세스 기능을 설정할 거다. 외부에서 RDS에 접근하지 않으면 퍼블릭 액세스를 설정하지 않아도 되지만, 강의에서는 외부에서 접근할 예정이므로 퍼블릭 액세스를 활성화해줘야한다.

 

연결정보는 다 디폴트값으로 해준다.  단지 퍼블릭 액세스만 예를 눌러준다.

그 이후로 디폴트 값으로 쭉 넘어간다.

그리고 추가구성에서 초기 데이터베이스는 생성하지 않는 걸로 해보겠다.

그리고 백업에 자동백업을 비활성화 시켜준다.

 

AWS에서는 자동백업을 스냅샷이라고 하는데 활성화 해주면 용량이 빨리 차기 때문에 비활성화 시켜두는 편이 좋다.

삭제 방지는 활성화 시키도록 하겠다.

이렇게 했을 때 프리티어로 750시간 20GB까지는 무료로 사용이 가능하다.

최종 데이터베이스 생성 버튼을 눌러준다.

저 새로고침을 눌러 파란 창이 초록색으로 변하면서 데이터베이스 생성 완료라고 뜨면 생성이 끝난 것이다.

꼭 맨 오른쪽의 상태가 생성중이 아닌, 사용가능으로 바뀌어야 한다.

3. AWS RDS 외부 접속 설정

외부에서 접근하기 위한 설정을 하겠다. 생성해둔 database-1을 클릭하면 상세페이지로 들어간다.

연결&보안 탭의 보안에서 활성화된 부분을 클릭해 보안그룹으로 들어간다.

디폴트로 생성된 보안그룹 정보가 있다. 이걸 클릭해서 보안그룹정보로 들어간다.

이 보안그룹엔 이러한 보안규칙들이 들어있다라고 하는 인바운드 아웃바운드 규칙이 들어있다.

여기서 규칙편집을 들어간다.

규칙을 추가하도록 하겠다.

- 유형 : MySQL/Aurora

- 소스 : AnywhereIPv4

 

아래 규칙추가 버튼을 누른 뒤 아래와 같이 유형을 MySQL/Aurora, 소스를 Anywhere-IPv4로 설정해주고 규칙저장해준다.

이렇게하고 규칙저장을 눌러준다.

그러면 아래와 같이 2개의 규칙이 설정되어있다.

여기까지 설정했으면, 외부에서 접속할 수 있는 상태가 된 것이다.

4. MySQL RDS 접속

명령 프롬프트에서 local로 MySQL을 들어가는 방법은

C:\Users\username>mysql -u root -p'password' 였다.

(password)가 노출되는 건이 꺼려지면, -p에서 enter를 쳐서 *로 표시되게 password를 입력하면 된다.

외부접속을 하는 방법은

C:\Users\username>mysql -h "endpoint주소" -P 3306 -u admin -p'password'

여기서 -h는 host의 약자로 쌍따옴표"를 하고 endpoint주소를 써줘야한다.

-P는 port의 약자로 처음 RDS에서 database-1을 만들 때 포트 주소를 3306으로 했기 때문에 -P 3306이라고 쓰는 것이고,

-u user는 생성 시 admin으로 설정했기에 admin을 써준다.

 

endpoint 주소는 AWS RDS에서 해당 데이터베이스 이름(database-1)을 누르면 나오는 페이지에서 찾을 수 있다.

찾을 수 있다.

이렇게하면 외부에서 AWS RDS에 접속이 가능하다. database-1에서 admin이라는 유저가 있는지 확인해보자.

show databases;

use mysql;

show tables;

select host, user from user;

%로 되어있는 host는 외부에서 접속이 가능한 host라는 뜻이고 user이름이 admin으로 되어있는 걸 확인할 수 있다.

5. MySQL RDS 중지

 

중지할 데이터베이스를 체크한다.

작업 버튼 내부가 활성화 되었을 테니 중지를 클릭해준다.

참고로 삭제를 누르면 수정에서 삭제 보호 옵션 활성화 해제를 시켜주라는 경고 문구가 나온다.

(생성 시 삭제 보호 옵션을 활성화 시켜줬기 때문이다. 데이터베이스 수정으로 들어가 해제를 해야 삭제할 수 있다.)

일시적으로 중지를 누르면 이런 창이 뜬다. 스냅샷을 저장하지 않고 일시적으로 중지한다.

위의 승인은 체크해주는 편이 좋다.

그러면 아래 그림과 같이 중지중이라는 표시가 뜬다. 10분정도 지나면 중지됨으로 바뀐다.

중지 시키는 이유는 혹시모를 과금을 막기위해서이다.

다시 시작하는 방법은 데이터베이스 이름을 클릭(database-1)해 들어가서 나오는 작업 버튼에서 '시작'을 눌러야 다시 시작된다.

그러면 상태가 시작중으로 바뀌고, 약 5분이 지나면 사용가능으로 바뀐다.

사용에 시간제한이 있기 때문에 AWS RDS를 사용할때 다시 시작하고 사용하지 않을 때 다시 중지시키는 편이 좋다.

728x90