Amazon Relational Database Service(RDS)
클릭 몇 번으로 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장.
우리 컴퓨터 내에 데이터베이스를 관리하는 것이 아니라, 아마존에서 직접 관리해주는 서비스라고 한다. 이를 사용하는 이유는 아마존에서 데이터베이스를 관리해주기 때문에 유실이나 유출을 방지 할 수 있다는 점이라고 한다.
사용 방법은 다음과 같다.
1. aws의 서비스인 RDS에 들어간 후 데이터베이스 생성을 클릭한다.
2. 엔진을 선택하고, RDS 프리 티어에 적용되는 옵션만 사용에 체크한다.
만약 프리 티어에 체크하지 않는다면 과금이 발생한다.
3. 사양을 선택한다. 이 때, DB 인스턴스 클래스는 DB를 설치할 컴퓨터의 사양, 스토리지 유형과 할당된 스토리지는 저장공간의 특성 및 용량이다.
다중 AZ 배포를 체크할 경우에는 다른 지역에 있는 여러대의 컴퓨터에 복제본을 생성하여, 안전에 대비할 수 있게 한다.
4. 이후 DB 인스턴스 식별자(데이터베이스의 이름), 사용자 이름, 암호를 입력한다.
5. VPC 및 퍼블릭 엑세스 가능성 여부를 선택한다.
이때 VPC를 이해하기 위해 아래의 그림을 보자.
VPC는 그림처럼 RDS DB를 VPC에 넣어두고 아마존이 허락한 접속 방법 외에는 외부에서 접근하지 못하도록 한 어떤 그룹이다. 그런데 VPC에는 사용자가 지정한 EC2역시 들어갈 수 있기 때문에, 백엔드 개발 앱과 같이 연결해서 사용할 수 있게 된다. 이렇게 보안을 강화해 사용하고 싶다면 퍼블릭 엑세스 가능성을 없애면 되고, EC2를 사용하지 않고 외부에서 DB를 컨트롤 하고 싶다면 퍼블릭 액세스 가능성을 열어두면 된다.
6. 데이터베이스 이름을 정한다.
이 때, 데이터베이스는 DB인스턴스 안에 있는 데이터베이스들을 말한다.
MYSQL로 예를 들면 CREATE DATABASES; 로 생성되는 데이터베이스와 같다.
7. 모니터링 여부 결정
확장 모니터링을 사용하면 DB의 여러 상태를 확인 할 수있다.
8. 나머지 설정 체크
로그 내보내기는 특정 로그를 받는것, 유지관리는 DB의 업그레이드를 관리하는 것 삭제 방지는 말 그대로 DB의 삭제를 막는 것이다.
이제 접속 해볼 수 있다.
첫번째로는 EC2로 접근하지 않을 것이기 때문에
퍼블릭 엑세스를 가능하게 체크해야 한다.
이때 mysql -h( DB인스턴스의 엔드포인트 ) -u(유저아이디) -p(패스워드) 순으로 입력한다.
엔드포인트는 데이터베이스 설정에 바로 나와있다.
그런데 이때 Database Server에 Security gruop에 Mysql Client가 접속하기 위해선 한가지 더 설정 해주어야 하는데,
인바운드와 아웃바운드이다.
인바운드는 클라이언트가 데이터베이스에게 요청을
아웃바운드는 데이터베이스가 클라이언트에게 응답을 하는 규칙을 말한다.
보안 그룹을 클릭 한 후에
인바운드를 편집한다. 이때 유형은 MYSQL(Client) ip는 내 아이피 혹은 전체로 지정한다.
두번째는 EC2를 통해서 접속해보자.
이 때, 먼저 인바운드 규칙을 모두 없애고 퍼블릭 엑세스를 차단시킨다.
그리고 EC2를 실행하고 SSH를 통해서 원격 제어하여, mysql을 실행시켜 rds DB에 접속하자.
그리고 RDS에 다시 인바운드 규칙을 생성한다.
이때, EC2의 아이피를 정해 줄수 도 있지만, EC2의 보안그룹 ID를 이용하는것을 추천하고 있다.
'기타 > AWS' 카테고리의 다른 글
AWS EC2 (0) | 2019.06.04 |
---|---|
AWS SDK 사용하기 (0) | 2019.05.24 |
AWS S3 (0) | 2019.05.24 |