[AWS 를 이용한 자유로운 규모 확장과 축소]
Step 1) Scalability
- Scalability 에 두가지 전략이 있다. (Scale Up/Down)
- EC2의 큰 특징
: 가상화 / 종량제 (이 두 특성은 EC2에 국한되지 않고 클라우드 컴퓨팅의 핵심 아이디어이다.)
- 가상머신이란?
: 물리적 기계(컴퓨터)가 아니라 물리적 컴퓨터의 위에서 돌아가는 SW적인 컴퓨터
- 개인용 시장에서의 가상머신
: VMWare, VirtualBox, Parallels
- 클라우드 시장에서는 기업이 타겟임.
- 변화하는 수요에 얼마나 탄력적으로 공급을 변화시킬 수 있는가가 관건이며 이는 클라우딩 시스템을 기반으로 공급의 질적 변화를 이룰 수 있다.
Step 2) Scale Up (전략 1)
=> 인스턴스를 이미지화 시키고 더 좋은 인스턴스 타입으로 업그레이드
- 인프라 수요에 따라 계속 컴퓨터 자원을 업그레이드 하는 것.
- 실천하기 비교적 쉬움.
- 이 전략을 EC2 인스턴스에서 실현해보자. -> 각각 공격과 수비를 하는 컴퓨터 두 대가 필요함. (한대의 컴퓨터가 나머지 컴퓨터 웹서버에 계속 접근하면서 늘어나는 사용자 환경을 시뮬레이션 함)
- 웹서비스를 제공하는 수비쪽 인스턴스에 wordpress 를 설치하고 공격쪽 인스턴스도 생성한다. 수비쪽 인스턴스에서 Scale Up을 해나갈 것이다.
- 유저 인스턴스에서 부하(Load) 발생기(아파치에서 만든 ab 프로그램)를 이용해 사용자들이 많이 발생하는 상황을 시뮬레이션 해 보자.
*ab 프로그램 사용 방법
$sudo apt-get install apache2-utils
$ab
<옵션>
-n : Number of requests to perform -> 웹 서버에 몇번의 접속을 시도하겠는가
-c : Number of multiple requests to make at a time -> 동시에 몇번의 접속을 시도하겠는가
(c = 1, n = 100이면 순차적으로 100번 접속하는 것이고
c = 100, n = 1이면 한 번에 100명이 접속하는 것임)
옵션 값을 조정해가며 요청을 완료하기까지 소요되는 시간과 초당 처리 속도 및 개별 처리 속도를 비교해보자.
Step 3) Elastic IPs
- 인스턴스를 Stop 후 재시작하면 IP가 달라진다. Stop하는 동안 자원(IP)을 회수하기 때문이다.
- Scale Up을 위해 기존 인스턴스를 이미지화 후 인스턴스 성능 업그레이드를 하려 할 때, 기존 IP가 바뀌어버리는 문제가 있다. 이때 사용하는 것이 Elastic Ip이다. (유료 서비스)
- Elastic Ip는 고정 ip를 의미하며 ip 주소를 아마존으로부터 받아 소유하는 것이다. -> 사용자는 동일한 ip로 접속할 수 있음
Step 4) 인스턴스 교체
- 성능이 업그레이드 된 인스턴스를 새로 만든 후 기존 인스턴스에서 부여받은 Elastic Ip를 새 인스턴스에 부여한다.
Step 5) Scale Out (전략 2)
- 여러대의 컴퓨터를 사용해서 협력하는 것
- 계속 Scale Up 하다 보면 단일 컴퓨터의 한계 발생하는 문제에 대한 방안
'Cloud & AWS' 카테고리의 다른 글
[생활코딩] AWS - AMIs와 WordPress 설치하기 (0) | 2021.06.04 |
---|---|
[생활코딩] AWS - 윈도우에서 웹서버 사용하기 (OSX 기반) (0) | 2021.06.04 |
[생활코딩] AWS - OS X에서 Windows 인스턴스에 접속하기 (0) | 2021.06.04 |
[생활코딩] AWS - 리눅스에서 웹서버 사용하기 (0) | 2021.06.04 |
[생활 코딩] AWS - OSX에서 리눅스 인스턴스에 접속하기 (원격 제어) (0) | 2021.06.04 |