AWS_Amazon Relational Database Service(RDS)
by 현생사는갓생지망생실습 2: DB 서버 구축 및 앱을 사용하여 DB와 상호 작용
RDS(Amazon Relational Database Service)
클라우드에서 관계형 데이터베이스를 더욱 간편하게 설정, 관리 및 확장할 수 있다.
시간 소모적인 데이터베이스 관리 작업을 관리하는 한편, 효율적인 비용으로 크기 조정이 가능한
용량을 제공하므로 고객은 애플리케이션과 비즈니스에 좀 더 집중할 수 있다.
Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL, MariaDB 중
원하는 것을 선택할 수 있다.
Amazon RDS 다중 AZ배포는 DB 인스턴스의 가용성 및 내구성을 높여주므로 데이터베이스
워크로드에 적합하다. 다중 AZ DB 인스턴스를 프로비저닝하면,
Amazon RDS는 기본 DB 인스턴스를 자동으로 생성하고, 다른 AZ에 있는 대기 인스턴스에
데이터를 동기식으로 복제한다.
목표
1. 고가용성을 갖춘 Amazon RDS DB 인스턴스 시작
2. 웹 서버로부터의 연결을 허용하도록 DB 인스턴스 구성
3. 웹 애플리케이션을 열고 데이터베이스와 상호 작용
실습 시나리오
↓
과제 1: RDS DB 인스턴스에 대한 VPC 보안 그룹 생성
웹 서버가 RDS DB 인스턴스에 액세스하도록 허용하는 VPC 보안 그룹을 생성한다.
AWS Management Console의 Service 메뉴에서 VPC를 클릭 후,
탐색 창에서 Security Groups > Create Security Group을 클릭한다.
Security group name : DBSecurityGroup
Description : DB Instance Security Group
VPC : My Lab VPC (이전 실습에서 구성)
설정이 완료되었다면 Create을 클릭하여 보안 그룹을 생성한다.
방금 생성한 보안 그룹을 선택한다.
Inbound Rules 탭을 선택하고 Edit을 클릭한다.
Type : MySQL/Aurora (3306)
Protocol : TCP(6)
Source : WebSecurityGroup
s를 입력하면 밑에 입력 가능한 값들이 뜬다. WebSecurityGroup을 선택한다.
DBSecurityGroup의 Inbound Rule이 잘 적용되었다.
과제 2: DB 서브넷 그룹 생성
데이터베이스에 사용할 수 있는 서브넷을 RDS에 알리는 데 사용되는 DB 서브넷 그룹을
생성한다. 각 DB 서브넷 그룹은 지정된 리전에서 두 개 이상의 가용 영역에
서브넷이 있어야 한다.
상단의 Services 메뉴에서 Amazon RDS를 선택하여 Subnet groups을 클릭한다.
Create DB Subnet Group을 클릭한다.
Name : dbgroup
Description : DB Instance Subnet Group
VPC : My Lab VPC
Availability zone : (첫 번째 가용 영역)
Subnet : (첫 번째 가용 영역의 Private Subnet)
Add subnet을 클릭하여 다른 서브넷을 DB 서브넷 그룹에 추가한다.
Availability zone : (두 번째 가용 영역)
Subnet : (두 번째 가용 영역의 Private Subnet)
서브넷이 잘 생성된 것을 확인한다.
과제 3: RDS DB 인스턴스 생성
MySQL 지원 Amazon RDS DB 인스턴스를 구성 및 시작한다.
탐색 창에서 Instances를 클릭 후, Create database를 클릭한다.
MySQL을 선택한다.
Production – MySQL을 선택한다.
DB instance class : db.t2.micro
Multi-AZ deployment – Create replica in different zone 선택
DB Instance identifier : lab-db
Master username : labuser
Master password : labpassword
Confirm password : labpassword
VPC : My Lab VPC
Subnet group : dbgroup
Public accessibility : No
VPC security groups – Choose existing VPC security groups : DBSecurityGroup
(기본 선택된 Default는 삭제한다.)
Database name : lab
Enhanced monitoring : Disable enhanced monitoring 선택
설정을 완료했다면 Create database를 클릭한다.
View DB instance details 클릭한다.
Endpoint가 Not yet available에서 위와 같이 URL 형식의 문자열로 전환될 때까지 기다린다.
Endpoint 값을 복사해 놓는다.
lab-db.cf8ekndvuich.ap-northeast-2.rds.amazonaws.com
과제 4: 데이터베이스와 상호 작용
이전 실습의 웹 서버에 배포된 PHP 웹 애플리케이션을 통해 데이터베이스와 상호 작용한다.
웹 서버에서 실행되는 웹 애플리케이션을 연다.
Services 메뉴에서 EC2를 선택하여 Instances를 클릭한다.
Web Server 1을 선택하고 Description 탭에서 IPv4의 Public IP 주소를 복사한다.
13.209.81.156
웹 애플리케이션이 웹 서버의 인스턴스 메타데이터와 함께 표시된다.
RDS 링크를 클릭한다.
Endpoint : 이전에 복사한 Endpoint를 붙여 넣는다.
Database : lab
Username : labuser
Password : labpassword
완료했다면 Submit을 클릭한다. 연결 문자열이 표시된 다음, 해당 페이지가 리디렉션된다.
(또는 here 링크를 클릭하여 강제로 리디렉션한다.)
두 개의 새 레코드가 주소 테이블에 추가되어 표시된다.
다른 연락처를 추가하여 PHP 웹 애플리케이션이 RDS DB 데이터베이스와 통신할 수 있는지
테스트한다. Add Contact를 클릭하고 Name, Phone 및 Email을 입력한 다음
Submit Query를 클릭한다.
담당자를 수정하려면, Edit를 클릭하고 원하는 필드를 수정한 다음, Submit Query를 클릭한다.
레코드를 삭제하려면 Remove를 클릭한다.
'AWS 공부기록 > 종합 실습' 카테고리의 다른 글
AWS_Auto Scaling 및 Load Balancer를 이용한 고가용성 환경 구축(2) (0) | 2019.01.02 |
---|---|
AWS_Auto Scaling 및 Load Balancer를 이용한 고가용성 환경 구축(1) (0) | 2019.01.02 |
AWS_웹 애플리케이션 배포 (0) | 2019.01.02 |
AWS_Elastic Load Balancing(ELB) 및 Auto Scaling (0) | 2019.01.02 |
AWS_VPC 구축 및 웹 서버 시작 (0) | 2018.12.27 |
블로그의 정보
현생이네
현생사는갓생지망생