끄적끄적 아무기록

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 ConsoleService 메뉴에서 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을 선택한다.






DBSecurityGroupInbound 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 클릭한다.




EndpointNot yet available에서 위와 같이 URL 형식의 문자열로 전환될 때까지 기다린다.

Endpoint 값을 복사해 놓는다.

lab-db.cf8ekndvuich.ap-northeast-2.rds.amazonaws.com




과제 4: 데이터베이스와 상호 작용


이전 실습의 웹 서버에 배포된 PHP 웹 애플리케이션을 통해 데이터베이스와 상호 작용한다.

웹 서버에서 실행되는 웹 애플리케이션을 연다.



Services 메뉴에서 EC2를 선택하여 Instances를 클릭한다.

Web Server 1을 선택하고 Description 탭에서 IPv4Public 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를 클릭한다.



반응형

블로그의 정보

현생이네

현생사는갓생지망생

활동하기