이것저것 해보기🌼

[AWS TechCamp] AWS 핵심 서비스로 웹 애플리케이션 구축하기 ② - 웹 서버 생성하기 본문

AWS

[AWS TechCamp] AWS 핵심 서비스로 웹 애플리케이션 구축하기 ② - 웹 서버 생성하기

realtree 2024. 6. 25. 16:22

실습 안내

본 실습은 2024년  AWS TechCamp에서 진행한 AWS 핵심 서비스로 웹 애플리케이션을 구축하는 방법에 대한 실습입니다.

 

AWS TechCamp 바로가기

https://aws.amazon.com/ko/events/seminars/aws-techcamp/

 

AWS TechCamp

AWS TechCamp 온라인 세션의 경우 3월 (Modern App) 6월 (AI/ML), 9월 (Data), 11월 (Every App) 총 4회 제공합니다. 세션은 3일 동안 진행되며 클라우드 클라우드 서비스가 생소한 분들을 위한 기초 과정 (레벨 100)

aws.amazon.com

 

 

이전 포스팅 바로가기

실습 ① - 네트워크 구성하기

https://realtree.tistory.com/78

 

[AWS TechCamp] AWS 핵심 서비스로 웹 애플리케이션 구축하기 ① - 네트워크 구성하기

실습 안내본 실습은 2024년  AWS TechCamp에서 진행한 AWS 핵심 서비스로 웹 애플리케이션을 구축하는 방법에 대한 실습입니다. AWS TechCamp 바로가기https://aws.amazon.com/ko/events/seminars/aws-techcamp/ AWS TechCa

realtree.tistory.com

 

실습 목표

이번 과정의 목표는 지난 시간에 만든 public subnet A에 EC2를 배포해서 접근해보는 것이다.

 

1. EC2 생성하기

기본 리눅스 AMI로 EC2를 만들 것이다. 프리티어로도 사용 가능한 t2.micro 유형을 선택한다.

키 페어는 새로 생성하고, 다운로드 받아진 키페어 파일은 안전한 위치에 잘 저장해둔다.

 

 

네트워크 설정에서 지난 시간에 만든 VPC, 서브넷, 보안그룹으로 지정해준다.

퍼블릭 IP 자동 할당을 활성화해준다. 나중에 HTTP 접속을 하기 위해 활성화해야한다.

 

스토리지 구성은 디폴트 8GiB gp2 로 설정했다.

 

마지막으로 고급 세부 정보 > 맨 밑에 있는 '사용자 정보'에 아래 코드를 복사해서 넣어준다.

#!/bin/sh

#Install a LAMP stack
dnf install -y httpd wget php-fpm php-mysqli php-json php php-devel
dnf install -y mariadb105-server
dnf install -y httpd php-mbstring

#Start the web server
chkconfig httpd on
systemctl start httpd

#Install the web pages for our lab
if [ ! -f /var/www/html/immersion-day-app-php7.zip ]; then
   cd /var/www/html
   wget -O 'immersion-day-app-php7.zip' 'https://static.us-east-1.prod.workshops.aws/public/72908d08-f6f0-4dd2-857c-d35c83790861/assets/immersion-day-app-php7.zip'
   unzip immersion-day-app-php7.zip
fi

#Install the AWS SDK for PHP
if [ ! -f /var/www/html/aws.zip ]; then
   cd /var/www/html
   mkdir vendor
   cd vendor
   wget https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip
   unzip aws.zip
fi

# Update existing packages
dnf update -y

 

 

 

만들어진 EC2의 퍼블릭 IP 주소를 복사해서 웹 브라우저에서 접속해본다.

 

2. AMI 생성하기

EC2 에 이미지를 생성한다.

 

이름만 설정하고 나머지는 디폴트로 진행했다.

 

AMI 를 가지고 새로운 인스턴스를 public subnet C에 배포한다.

그럼 각 가용영역마다 똑같은 어플리케이션을 배포한 것과 같은 결과이다.

서버를 가용영역마다 한개씩 올리는 이유는 고 가용성 상태, 즉 하나의 가용영역에 문제가 발생하더라고 다른 가용영역에서는 계속 서비스를 운영할 수 있게 하기 위해서다.

 

AMI가 사용 가능 상태가 되면 AMI로 인스턴스를 시작한다.

 

이번엔 AMI를 퀵 스타트가 아니라 내 AMI로 사용한다.

네트워크, 키 페어 등 나머지 설정은 이전에 만든 EC2와 동일하게 가지만, 가용영역만 public subnet C로 바꾼다.

 

 

 

이렇게 배포를 완료하면 아래와 같은 구성이 된다.

이미 만든 public subnet A에 있던 EC2와 동일한 이미지를 public subnet C에도 배포한 것이다.

 

 

새롭게 만들어진 EC2의 퍼블릭 주소로 접근해본다.

 

이중화로 두 개의 웹서버를 배포해보았다.

접속에 대한 관리는 로드밸런서를 사용한다.

다음 포스팅에서 ELB 를 이용해 트래픽을 분산시키도록 설정해볼 것이다.