이번에는 AWS 서비스를 사용하여 nginx- php- mysql 서버를 구축해보자 한다.
이전글에서는 virtual box를 활용하여 가상환경에 구축했었다.
돈으로 행복을 살 수 있는 이유를 여기서 찾아볼 수 있다. AWS서비스의 과금 유저라면 굳이 Virtual box를 사용할 이유가 없다^^ 말만 들어도 마음의 평화가 찾아온다^^
EC2와 RDS서비스를 사용하기전에 이들이 무엇인지에 대해 알아보고자 한다.
EC2
AWS의 클라우드 컴퓨팅 서비스이다. 쉽게 말해 아마존 데이터센터에 크고 좋은 서브 컴퓨터에 접속하여 자원을 원격으로 사용할 수 있다. 더욱 쉽게 말하자면 아마존의 컴퓨터를 빌려쓰는 것이다.
RDS
AWS의 클라우드에서 관계형데이터베이스를 설정,운영, 확장할 수 있는 서비스이다. RDS도 마찬가지로 내가 직접 DB를 운영하지 않고 AWS가 대행해주는 것이다.
[AWS 서비스들은 정말 많은 장점을 갖고 있다. 여러번 사용해보고 익숙해지기만 한다면 과금을 해서라도 이용하고 싶을 것이다. 각 서비스들의 장점들에 대해서는 따로 포스팅을 할 예정이다. ]
나는 EC2인스턴스를 이용하여 AWS Linux VM을 설치하고 RDS를 이용하여 MySQL을 사용해볼 예정이다.
사진에 나와있지 않는 과정은 설정을 건드리지 않고 생략했으므로 따로 사진에 담지 않았다.
1. VPC생성
Web Server와 DB instance가 동일한 VPC에서 실행되도록 설정을 해준다.
보안강화를 위해 Web Server에서만 DB instance에 접속할 수 있도록 설정을 해주자.
public, private subnet이 모두 있는 VPC를 생성하고 public subnet은 webserver 호스팅을 하도록, private subnet은 DB instance를 호스팅하도록 설정할 것이다.
먼저 VPC대시보드에서 VPC마법사 시작을 통해 VPC를 생성할 것이다. (VPC마법사 시작은 VPC대시보드에서만 가능하다)
1단계에서 [퍼블릭 및 프라이빗 서브넷이 있는 VPC]를 선택해주자. public subnet으로만 private subnet으로 접근이 가능할 것이다.
보안 강화! (아무도 내 DB를 궁금해하지 않을 것 같지만^^ 연습이니까^^)
오른쪽의 대신 NAT인스턴스를 사용하기를 누르면 위와 같은 페이지를 볼 수 있고 t2.micro로 설정해주었다.
생성을 누르면 끝!!!! 이 아니라
가용영역이 다른 private subnet을 하나 더 생성해줘야한다. 위에 설정한 private subnet과 같은 라우팅 테이블을 사용하도록!
vpc의 서브넷으로 이동하고 서브넷 생성을 눌러주자
아까 생성한 VPC를 연결한다. 가용영역은 이전과 다르게 설정한다.
이전의 서브넷에서는 10.0.1.0/24로 연결해줬으니 이번에는 10.0.2.0/24로 연결해주자.
생성을 눌러주면 진짜 끝이다!
2. 보안그룹 설정
이제 이것들(??)에게 보안을 걸어주자!
처음에 생성한 VPC는 WebServer가 접근할 것이니 HTTP, SSH연결을 허용해주면 될 것이고, 두번째로 생성한 private subnet은 MySQL이 접근할 것이기 때문에 MySQL, 즉 3306포트를 열어놓으면 되는 것이다!.
[VPC -> 보안그룹 -> 보안그룹 생성]
Webserver를 위한 보안 그룹이기 때문에 처음에 생성했던 VPC를 설정해준다.
모두가 웹에 접근할 수 있도록 HTTP는 위치 무관으로 소스설정을 해줘야한다.
하지만 SSH접근은 나만할 수 있도록 막아놔야 하는데.....내 IP만 접근하도록 많이 해봤었는데,,, 알 수 없는 오류들이 많았다....
다른 문제가 많았겠지만 나름의 트라우마가 생겨서 그냥 위치 무관으로 하고싶어서 했다^^
같은 방식으로 MySQL subnet 보안그룹도 설정해주자
3. DB Subnet Group 생성
사용자가 VPC에서 만든 다음 DBinstance에 대해 지정하는 subnet을 모아두는 작업이다.
[RDS -> 서브넷 그룹 -> DB 서브넷 그룹 생성]
이전 과정에서 생성했던 VPC와 서브넷들을 선택해주고 이들을 설정했던 가용영역을 선택해준다.
그리고 생성!
'Computer Engineering > Server' 카테고리의 다른 글
AWS EC2, RDS를 활용한 웹 서버 구축하기(3)- nginx, php 설치 (0) | 2021.01.06 |
---|---|
AWS EC2, RDS를 활용한 웹 서버 구축하기(2)- instance 생성 (0) | 2021.01.05 |
리눅스 서버 구축하기 (5)- 외부에서 VirtualBox접근하기 (0) | 2021.01.01 |
리눅스 서버 구축하기 (3)- MySQL 설치 (0) | 2020.12.29 |
리눅스 서버 구축하기(4)-PHP 설치하기 (0) | 2020.12.29 |