아마존 웹 서비스를 다루는 기술 32장 - 10. 웹 서버 Auto Scaling 설정하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

자동 확장 가능한 콘서트 티켓 예매 사이트 구축하기

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

웹 서버 Auto Scaling 설정하기

웹 서버 AMI도 준비되었으니 EC2 인스턴스 생성 옵션 설정과 Auto Scaling 그룹을 생성합니다.

  • My AMIs에서 방금 생성한 웹 서버 AMI(ExampleTicketAutoScalingAMI)를 사용합니다. 기본 Amazon Linux AMI를 선택하지 않도록 주의합니다.
  • S3, Auto Scaling, SQS, DynamoDB 접근용 IAM 역할(ExampleTicketRole) 사용하도록 설정합니다.
  • CloudWatch 세부 모니터링 사용하도록 설정합니다.
  • User data에 아래 코드를 입력합니다.
  • 나머지는 기본값 그대로 사용합니다.
User data
#!/bin/bash
cd /home/ec2-user
aws s3 sync --region=ap-northeast-1 \
 s3://exampleticket.src/ExampleTicketWebServer ExampleTicketWebServer
cd ExampleTicketWebServer
npm install
forever start -w app.js

S3 버킷에서 웹 서버 소스를 최신 버전으로 업데이트합니다. 그리고 package.json 파일에 모듈이 추가되었을 때 추가된 모듈을 설치할 수 있도록 npm install 명령을 한 번 더 실행하고 forever 명령을 실행합니다.

그림 32-15 Auto Scaling EC2 인스턴스 생성 옵션 설정

생성될 EC2 인스턴스에서 사용할 Security Group을 설정합니다. Create a new security group으로 Security Group을 새로 생성할 때는 Add Rule 버튼을 클릭하여 HTTP 프로토콜(80번 포트)을 꼭 추가합니다.

Select an existing security group으로 이미 있는 Security Group을 선택할 때는 HTTP 프로토콜(80번 포트)이 열려있는 Security Group을 선택합니다.

그림 32-16 Auto Scaling EC2 인스턴스 Security Group 설정

Auto Scaling 그룹을 생성합니다(그림 32-17).

  • 그룹 이름은 ExampleTicketAutoScalingGroup으로 합니다.
  • EC2 인스턴스 3개를 생성할 것이므로 Group size에 3을 입력합니다.
  • Subnet 부분을 클릭하여 EC2 인스턴스를 생성할 서브넷을 선택합니다.
  • Load Balancing을 사용하도록 설정하고, 앞에서 생성한 ELB 로드 밸런서를 선택합니다.
  • CloudWatch 세부 모니터링을 사용하도록 설정합니다.
  • 나머지는 기본값 그대로 사용합니다.
  • Auto Scaling 정책은 '19.2 EC2 생성 옵션 설정과 Auto Scaling 그룹 생성하기'를 참조하여 설정하기 바랍니다.

그림 32-17 Auto Scaling 그룹 생성

웹 서버 Auto Scaling 그룹을 생성한 모습입니다.

그림 32-18 Auto Scaling 그룹 생성 완료


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.