DEVOPS/CLOUD

[AWS] RDS 실습

연듀 2022. 11. 5. 13:38

 

이렇게 VPC 안에 두개의 가용영역을 둬 각각 public, private subnet을 두고자 한다.

 

 

리전은 버지니아 북부

 

 

VPC를 생성한다. 

 

 

가용영역 a에 public subnet 생성

 

 

가용영역 b에 public subnet 생성, 가용영역 a에 private subnet 생성

 

가용영역 b에 private subnet 생성

 

 

네개의 서브넷을 생성한다. 

 

 

 

 

인터넷 게이트웨이를 생성한다.

 

 

인터넷 게이트웨이를 VPC에 연결한다. 

 

 

 

private 서브넷을 선택해 NAT 게이트웨이를 두개 생성한다.

 

 

 

 

라우팅 테이블을 확인해보면 자동으로 생성된 것을 볼 수 있다.

현재는 로컬만 활성화되어있는데, 인터넷 게이트와 연결이 되어야 외부와의 접속이 가능해진다.

서브넷 연결도 해줘야한다.

 

 

 

 

퍼블릭 서브넷 두개를 선택해 연결한다.

 

 

두개의 서브넷에서 외부로 나가는 모든것은 인터넷게이트웨이를 통하도록한다. 

 

 

 

이제 private 서브넷을 위한 라우팅 테이블을 만든다. 

 

 

 

private subnet1을 선택한다.

 

 

 

대상은 nat 게이트웨이1을 선택한다.

 

 

 

 

 

private2 라우팅 테이블 생성

 

private subnet 2 선택

 

 

라우팅 편집 - nat 게이트웨이2를 대상으로 선택

 

 

 

이렇게 public subnet을 연결한 라우팅 테이블(인터넷게이트웨이에 연결) 1개,

private subnet 들을 연결한 라우팅 테이블(nat 게이트웨이에 연결) 2개

총 3개의 라우팅 테이블이 만들어졌다. 

 

 

 

웹서버를 위한 보안 그룹을 생성한다. 

 

 

 

 

db server를 위한 보안 그룹도 생성한다.

이 때 웹서버에서 디비서버에 접속할 수 있도록 소스를 아까 생성한 보안그룹으로 선택한다.  

 

 

 

 

 

DB subnet 그룹 생성

 

RDS -  서브넷 그룹

 

 

 

두개의 가용영역과 두개의 private 서브넷을 선택한다.

 

 

 

 

 

Web Server 만들기

 

 

인스턴스 생성

 

 

 

키 페어 파일이 있는 디렉토리에서 Git Bash를 실행한 후 아래 명령어를 실행해 연결한다.

 

 

 ssh -i "[키페어].pem" ec2-user@[IP주소]

 

sudo yum update -y

sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2

sudo yum install -y httpd

sudo systemctl start httpd 

sudo systemctl enable httpd

sudo systemctl is-enabled httpd

 

 

/var/www 아래 html의 소유권 변경

/var/www 아래 inc 폴더 생성 및 소유권 변경

/var/www/inc 폴더에 dbinfo.inc 파일 작성

 

 

 

<?php
define('DB_SERVER', 'endpoint');
define('DB_USERNAME', 'tutorial_user');
define('DB_PASSWORD', 'master password');
define('DB_DATABASE', 'sample');
?>

 

 

 

 

RDS 인스턴스 생성

 

 

템플릿은 프리티어선택 

데이터베이스 생성

 

 

 

 

 

 

 

 

php 파일 작성

 

 

dbinfo.inc 수정

 

 

 

 

 

 

퍼블릭 IP 주소/SamplePage.php 접속시

화면이 뜬다.