Posts 오토스케일링과 로드밸런서와 연결된 웹서버 구축하기(1)
Post
Cancel

오토스케일링과 로드밸런서와 연결된 웹서버 구축하기(1)

AWS 정리

서비스 아키텍처

간략하게 그린 아키텍처는 위와 같습니다.

사용자가 로드밸런서의 DNS 이름을 웹브라우저에 입력하면 오토 스케일링 그룹에 포함된 저희의 서버에 요청을 분배해줍니다. 오토 스케일링 그룹에 포함된 서버(인스턴스)들은 상황에 따라 증가나 감소할 수 있습니다.

아키텍처 구축

호스트네임을 반환하는 서버

서버 이미지는 Nginx, Phusion Passenger 를 설치하는데 30분 ~ 1시간 시간이 소요되기에 미리 준비해두었습니다. 제가 준비한 서버는 public ip에 접속시 아래와 같은 간단한 코드로 호스트 네임을 반환합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// app.js
const express = require('express');
const app = express();
var os = require('os');

app.get('/', (req, res) => {
  res.send(`
        클라우드 5조 이준의입니다. </br>
        현재 접속한 호스트(서버)의 이름은 ${os.hostname()} 입니다.`);
});

app.listen(3000, () => {
  console.log('Example app listening on port 3000!');
});

app.get('/health', (req, res) => {
  res.status(200).send();
});

접속이 잘 되고 올바른 호스트네임을 출력하는 것을 확인 했으면, 커스텀이미지 생성을 위해 실행 중인 인스턴스를 중지합니다.

커스텀이미지 생성

  1. 인스턴스 중지 후 마우스 우클릭으로 이미지 생성을 누릅니다

  2. cloud-exercise-ami라는 이름(임의로 설정)으로 생성합니다.

  3. 잠시 후 이미지의 AMI탭을 누르면 커스텀이미지가 생성됩니다.

    이때, 미리 커스텀 AMI의 ID를 복사해두시면 시작 템플릿 생성시 편합니다.

시작템플릿 생성

  1. 인스턴스 메뉴 아래의 “시작 템플릿”을 눌러 시작 템플릿을 생성합니다.

  2. AMI는 사용자 지정으로 좀 전에 복사한 ID를 입력해주고, 인스턴스 유형은 프리티어인 t2.micro, 키페어는 앞서 커스텀이미지 생성 시 사용한 키페어를 그대로 사용하시거나 새로 발급받으면 됩니다.

  3. 그 외 나머지는 기본으로 설정으로 냅두시고, 보안 그룹만 http와 ssh를 허용해줍니다

맺으며

여기까지 EC2 인스턴스를 생성하여 웹서버를 설치하고 이를 커스텀 이미지로 생성후 오토 스케일링을 위한 시작 템플릿 까지 구성을 마쳤습니다. 다음 포스팅엔 오토스케일링 설정부터 로드 밸런서 연결까지 하여 마무리 하겠습니다.

This post is licensed under CC BY 4.0 by the author.

오토스케일링(Autoscailing) 이란?

오토스케일링과 로드밸런서와 연결된 웹서버 구축하기(2)

Comments powered by Disqus.