[Note] 강의실습 참고사항 (영상 시청 전 읽어주세요!)
[강의] 아키텍처 관련 기술/서비스/다이어그램/구현 순서 검토
개요
LAMP
클라우드 네트워크 환경에 Linux 기반의 가상 서버에 Apache 웹 서버, MySQL 데이터베이스, PHP 어플리케이션을 구성하고 Application Load Balancer를 이용하여 이중화 된 네트워크를 구성합니다.
사용하는 AWS 서비스
- Amazon VPC (VPC, Subnet, Internet Gateway, Route Table, NAT Gateway 등)
- Amazon EC2
- Amazon EBS
- Amazon EFS
- Elastic Load Balancer - Application Load Balancer
LAMP 웹 서버 및 Application Load Balancer 구성

우측 얇고 긴 네모가 이전 챕터에서 했던 (서버가 없는)S3 정적 호스팅과 CloudFront 부분이고, 왼쪽 큰 네모가 이번에 할거.
- 웹서버의 전체적 구조
- 가장 바깥쪽에 서울 리전이 있고
- 그 안에 vpc가 있고
- 그 안에 서로 다른 서로 다른 두 Availability Zone에 Subnet이 총 6개가 있다.
- Subnet의 종류는 Public과 Private이 있다. 말 그대로다 Public은 외부에서 액세스가 가능하고, Private은 그렇지 않다.
- 네트워크 파일 시스템인 EFS는 vpc안에 위치하게 되는데, EFS는 각 subnet에 Mount target이라는 것을 통해서 EC2 인스턴스와 연결이 되고, 파일을 저장하고 공유할 수 있게 된다.
- 웹서버(EC2)의 위치
- Public subnet에 EC2 인스턴스가 있을수도 있고,
- 이때는 Internet Gateway를 통해 외부와 통신이 가능하다.
- Private subnet에 EC2 인스턴스가 있을수도 있다.
- 두가지 경우에 모두 LAMP 스택을 포함해 필요한 소프트웨어를 설치하면 웹서버로 활용이 가능하다.
- 하지만 EC2가 Public subnet에 위치하게 된다면 작동하는데에는 아무런 문제가 없어도, 외부에서 접근이 가능하기 때문에 보안적인 측면에서는 좋지 않은 위치일 수 있다. 그래서 Private subnet에 EC2 웹서버를 두는 것이다.
- 하지만 EC2 인스턴스를 Private subnet에 둘때의 문제점은 외부와의 직접적인 통신이 제한되기 때문에 업데이트나 유지보수 등의 작업을 하기 위해 직접 접근할수가 없다는 것이다.
- 그래서 결국 Public subnet에 있는 중개 서버(얘도 EC2)를 통해 Private subnet에 있는 EC2 인스턴스에 접근하게 되는데, 그런 중개 서버를 Bastion 호스트라고 부른다고 한다.
- 그리고 Private subnet에 위치한 EC2 인스턴스는 업데이트, 유지보수 뿐만 아니라 웹서버의 기능을 하기 위해서 외부 인터넷과 통신(트래픽에 대한 응답 포함)할 필요가 있는데, 이때는 Public subnet에 있는 NAT Gateway를 통해서 외부 인터넷과 통신을 하게 된다.
- 단일 인스턴스만으로도 웹서버를 운용하는 것은 문제가 없겠지만, 실제로 운용할때는 트래픽 증가, 장애 등과 같은 다양한 리스크가 발생할 수 있는 리스크가 있다.
- 그래서 Private subnet에 복수의 웹 서버를 구성하고, 이 인스턴스 들을 네트워크 트래픽 분산 서비스인 Load Balancer에 연결을 한다. (여러 종류가 있지만 여기서는 Application Load Balancer를 사용한다.)
⇒ 결과적으로 웹서버가 외부 인터넷과 직접적으로 통신하는 것을 제한함으로써 안정적인 환경을 구성할 수 있다.
전체 실습 내용
(1) 기본 네트워크 환경 구성
- VPC (Virtual Private Cloud) 생성 (서울 리전)
- 가장 먼저 우측 최상단에서 리전을 Seoul 로 바꾸어 주어야 한다. 그래야 서울 리전의 VPC 를 생성할 수 있다.
- 좌측 네비게이션? 영역에서 Your VPCs 클릭 후 우측 상단의 Create VPC 클릭
- 만든 vpc를 선택한 후 우클릭하여 Edit DNS hostnames 클릭해서 enable 해줌.