3 minute read

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 인스턴스와 연결.
  1. 자습서: DB 인스턴스에 사용할 Amazon VPC 생성의 작업을 완료합니다.
    이 자습서(RDS)를 시작하기 전에 퍼블릭 및 프라이빗 서브넷과 해당 보안 그룹이 있는 VPC가 있는지 확인합니다.
    없는 경우 자습서에서 다음 작업을 완료하십시오.
    a. 프라이빗 서브넷과 퍼블릭 서브넷을 포함하는 VPC 생성
    b. 추가 서브넷 생성
    c. 퍼블릭 웹 서버에 대해 VPC 보안 그룹 생성
    d. 프라이빗 DB 인스턴스에 대한 VPC 보안 그룹 생성
    e. DB 서브넷 그룹 만들기
  2. DB 인스턴스 생성
  3. 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랑 같은 의미인가? 오타인가?

영어 링크 한국어 링크

완료

완료

Categories:

Updated:

Leave a comment