본문 바로가기

기타/AWS

AWS RDS

Amazon Relational Database Service(RDS)

클릭 몇 번으로 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장.

우리 컴퓨터 내에 데이터베이스를 관리하는 것이 아니라, 아마존에서 직접 관리해주는 서비스라고 한다. 이를 사용하는 이유는 아마존에서 데이터베이스를 관리해주기 때문에 유실이나 유출을 방지 할 수 있다는 점이라고 한다.

 

사용 방법은 다음과 같다.

 

1. aws의 서비스인 RDS에 들어간 후 데이터베이스 생성을 클릭한다.

 

2. 엔진을 선택하고, RDS 프리 티어에 적용되는 옵션만 사용에 체크한다.

만약 프리 티어에 체크하지 않는다면 과금이 발생한다. 

3. 사양을 선택한다. 이 때, DB 인스턴스 클래스는 DB를 설치할 컴퓨터의 사양, 스토리지 유형과 할당된 스토리지는 저장공간의 특성 및 용량이다.

다중 AZ 배포를 체크할 경우에는 다른 지역에 있는 여러대의 컴퓨터에 복제본을 생성하여, 안전에 대비할 수 있게 한다.

< 다중 AZ 배포는 다른 Availability Zone에 복제품을 생성한다. >

4. 이후 DB 인스턴스 식별자(데이터베이스의 이름), 사용자 이름, 암호를 입력한다.

5. VPC 및 퍼블릭 엑세스 가능성 여부를 선택한다.

이때 VPC를 이해하기 위해 아래의 그림을 보자.

VPC는 그림처럼 RDS DB를 VPC에 넣어두고 아마존이 허락한 접속 방법 외에는 외부에서 접근하지 못하도록 한 어떤 그룹이다. 그런데 VPC에는 사용자가 지정한 EC2역시 들어갈 수 있기 때문에, 백엔드 개발 앱과 같이 연결해서 사용할 수 있게 된다. 이렇게 보안을 강화해 사용하고 싶다면 퍼블릭 엑세스 가능성을 없애면 되고, EC2를 사용하지 않고 외부에서 DB를 컨트롤 하고 싶다면 퍼블릭 액세스 가능성을 열어두면 된다.

 

6. 데이터베이스 이름을 정한다.

 

이 때, 데이터베이스는 DB인스턴스 안에 있는 데이터베이스들을 말한다.

MYSQL로 예를 들면 CREATE DATABASES; 로 생성되는 데이터베이스와 같다.

 

7. 모니터링 여부 결정

확장 모니터링을 사용하면 DB의 여러 상태를 확인 할 수있다.

 

8. 나머지 설정 체크

로그 내보내기는 특정 로그를 받는것, 유지관리는 DB의 업그레이드를 관리하는 것 삭제 방지는 말 그대로 DB의 삭제를 막는 것이다.

 

이제 접속 해볼 수 있다.

 

첫번째로는 EC2로 접근하지 않을 것이기 때문에

퍼블릭 엑세스를 가능하게 체크해야 한다.

< console>

이때 mysql -h(   DB인스턴스의 엔드포인트    ) -u(유저아이디) -p(패스워드) 순으로 입력한다.

엔드포인트는 데이터베이스 설정에 바로 나와있다.

그런데 이때 Database Server에 Security gruop에 Mysql Client가 접속하기 위해선 한가지 더 설정 해주어야 하는데,

 

인바운드와 아웃바운드이다.

인바운드는 클라이언트가 데이터베이스에게 요청을

아웃바운드는 데이터베이스가 클라이언트에게 응답을 하는 규칙을 말한다.

보안 그룹을 클릭 한 후에

인바운드를 편집한다. 이때 유형은 MYSQL(Client) ip는 내 아이피 혹은 전체로 지정한다.

 

두번째는 EC2를 통해서 접속해보자.

이 때, 먼저 인바운드 규칙을 모두 없애고 퍼블릭 엑세스를 차단시킨다.

 

그리고 EC2를 실행하고 SSH를 통해서 원격 제어하여, mysql을 실행시켜 rds DB에 접속하자.

< EC2 우분투OS 실행 >
EC2 보안 그룹
RDS 보안 그룹

그리고 RDS에 다시 인바운드 규칙을 생성한다.

이때, EC2의 아이피를 정해 줄수 도 있지만,  EC2의 보안그룹 ID를 이용하는것을 추천하고 있다.

< EC2 컴퓨터에서 mysql 실행 > 

 

'기타 > AWS' 카테고리의 다른 글

AWS EC2  (0) 2019.06.04
AWS SDK 사용하기  (0) 2019.05.24
AWS S3  (0) 2019.05.24