WEB, RDS 연동 실습
Tutorial: Create a web server and an Amazon RDS DB instance
자습서: 웹 서버 및 Amazon RDS DB 인스턴스 생성
AWS RDS Userguide의 해당 부분의 실습을 실제로 진행한 기록을 정리하였습니다.
해당 문서는 다음 링크를 클릭하면 확인가능합니다
영어링크 한국어링크
실습 시 유의할 점
- 실습 진행 시 제시된 설정값을 준수하거나 정확히 이해하기
- 첫번째 실습 시도시에 오류에 막혀서 진행이 불가능하였음
- 가이드에서는 tutorial_user라고 제시된 설정값을 간단히 dbuser 같은 방식으로 입력함
- 나중에 설정파일에 입력된 값과 실제 사용자명값이 일치하지 않아서 발생한것같음.
-
이 문서를 진행하기 전에 자습서: DB 인스턴스에 사용할 Amazon VPC 생성 의 내용을 수행하기
- EC2, VPC Dashboard 구버전으로 전환하기
- 교재나 가이드의 경우 구버전의 패널에서 실습이 진행된다. 신버전에서 찾아서 설정할 수 있으면 좋지만 예제를 정확히 따라하고 싶다면 신버전을 끄고 진행하는편이 좋다
- 좌측 상단의 New VPC Experience의 토글 버튼을 눌러 사용을 비활성화 할 수 있다.
실습 목표
- PHP가 설치된 Apache 웹 서버 구축 및 MySQL 데이터베이스 생성
- 웹 서버는 Amazon Linux 를 사용하는 EC2 인스턴스에서 실행, DB 서버는 MySQL 데이터베이스를 사용하는 MySQL DB 인스턴스
- EC2 인스턴스와 DB 인스턴스 모두 Virtual Private Cloud(VPC)에서 실행
실습 절차
- DB 인스턴스를 생성할때 지정해야할 VPC, 서브넷, 보안그룹을 생성.
- 또한 그것들은 웹서버를 호스트할 EC2 인스턴스를 생성할 때에도 지정해야함.
- VPC, 서브넷들, 보안그룹들은 DB 인스턴스와 웹서버의 통신 시 필요.
- VPC가 설정되고 나면, DB 인스턴스 생성 및 웹 서버 구축.
- DB 인스턴스의 Endpoint를 사용하여 웹서버가 DB 인스턴스와 연결.
- 자습서: DB 인스턴스에 사용할 Amazon VPC 생성의 작업을 완료합니다.
이 자습서(RDS)를 시작하기 전에 퍼블릭 및 프라이빗 서브넷과 해당 보안 그룹이 있는 VPC가 있는지 확인합니다.
없는 경우 자습서에서 다음 작업을 완료하십시오.
a. 프라이빗 서브넷과 퍼블릭 서브넷을 포함하는 VPC 생성
b. 추가 서브넷 생성
c. 퍼블릭 웹 서버에 대해 VPC 보안 그룹 생성
d. 프라이빗 DB 인스턴스에 대한 VPC 보안 그룹 생성
e. DB 서브넷 그룹 만들기 - DB 인스턴스 생성
- EC2 인스턴스 생성 및 웹 서버 설치
모든 실습이 마무리 되고 난뒤의 모습은 다음 그림과 같다
공용 인터넷이 아닌 웹 서버에서만 DB 인스턴스를 사용할 수 있어야 하므로 퍼블릭 및 프라이빗 서브넷이 모두 있는 VPC를 생성합니다.
퍼블릭 서브넷에서 웹 서버를 호스팅하므로 웹 서버에서 퍼블릭 인터넷에 액세스할 수 있습니다.
DB 인스턴스는 프라이빗 서브넷에서 호스팅됩니다.
동일한 VPC에서 호스팅되므로 웹 서버에서는 DB 인스턴스에 연결할 수 있지만, 퍼블릭 인터넷에서는 DB 인스턴스에 액세스할 수 없어 보다 강화된 보안이 가능합니다.
1. VPC 생성 절차
프라이빗 서브넷과 퍼블릭 서브넷을 포함하는 VPC 생성
- 사전에 EC2 메뉴나 VPC 메뉴에서 Elastic IP를 설정해야한다.
- 프라이빗 서브넷과 퍼블릭 서브넷을 포함하는 VPC 생성 메뉴를 활성화하려면 New VPC Experience 기능을 꺼야한다.
-
끄는 방법은 ‘실습 시 유의할 점’ 부분 참고 바람
- 자세한 설정값 입력 방법은 설명 문서 참고
추가 서브넷 생성
특이사항 없었음
퍼블릭 웹 서버에 대한 VPC 보안 그룹 생성
ssh의 ip설정값은 사용자 pc의 ip값을 입력하도록 권장되나 실습시에는 0.0.0.0/0 입력해도 무방할듯
별도의 아웃바운드 규칙 생성 X
프라이빗 DB 인스턴스에 대한 VPC 보안 그룹 생성
인바운드 규칙의 소스 값으로 위의 tutorial-securitygroup을 지정
DB 서브넷 그룹 만들기
튜토리얼대로 프라이빗 서브넷의 AZ와 프라이빗 서브넷만 선택
2. DB 인스턴스 생성
설정페이지가 길지만 대부분은 간단한 값 입력 또는 건드릴것 없는 기본 값임
- 마스터 사용자 이름과 비밀번호(123123123)는 나중에 설정입력에 필요하므로 반드시 기억해둘것
- vpc 보안그룹에 기본값 대신 dbsecgrp. 보안그룹 설정
3. EC2 인스턴스 생성 및 웹서버 설치
EC2 생성
- Amazon Linux 2를 선택해야함 (아마존리눅스1 으로는 진행 불가)
- 보안그룹에 secgrp.
PHP와 APACHE 웹 서버 생성
- exit 커맨드 입력시 원래 putty가 꺼짐. 재접속하면 됨
- 진행 완료 후 web server instance의 퍼블릭 IPv4 DNS 의 값으로 접속시 Apache test page 출력됨
APACHE 웹 서버와 DB 인스턴스의 연결
- vi 에디터로 입력한 설정값은 하단 링크의 페이지 참조
- 2 에서 설정한 마스터암호와 비밀번호 입력 필수
- 모든 항목 입력 후, EC2 instance endpoint/samplepage.php 접속가능이라고하던데 퍼블릭 IPv4 DNS의 뒤에 /samplepage.php를 붙여야 접속가능.
- DNS랑 Endpoint랑 같은 의미인가? 오타인가?
Leave a comment