1. EC2 인스턴스란?


EC2 인스턴스는 aws 컴퓨터를 임대하여 할당받는 것을 말한다.

물리적 컴퓨터 기계 위에 가상머신을 올려 

현재는 구성할 수 없는 저렴한 컴퓨터부터 강력한 비싼 컴퓨터까지 탄력적으로 만들 수 있다.  



2. aws ami


aws에서는 인스턴스를 생성할때 웹서버로 구성할 운영체제를 선택할 수 있다.

linux, ubuntu, window server 등 자신이 원하는 운영체제를 가상머신위에 올릴수 있다.



웹서버를 선택하여 처음부터

자신이 만들고 싶은 사이트를 설치 및 구성 하는 것은 시간도 많이 소요되고 어려운 일이다.


그래서 aws에서는 구글마켓플레이스처럼 

사용자가 원하는 사이트를 바로 구축하여 운영할 수 있게 

기본 셋팅을 이미지 형태로 제공하고 있다.

자신이 블로그를 만들고 싶다면 대표적으로 워드프레스를 검색하여 인스턴스로 바로 만들수 있다.

 


3. scale up 전략




예전 전통적인 모델 같은 경우 웹 서버를 구축하여 운영할 시 

사용자의 컴퓨터 서비스적 수요가 늘어나면 공급업체에서는 그 서비스를 원활히 운영하기 위해

더 좋은 컴퓨터로 업그레이드하여 서비스적 자원의 공급을 늘렸다.


그 과정에서 공급보다 수요가 많아지면 사용자의 서비스 품질 저하와 공급의 문제점이 발생한다.

또한 수요가 항상 많다가 갑자기 적어질 경우 불필요한 공급으로 인해 공급비용이 낭비되는 문제가 생긴다.


aws 클라우드 컴퓨팅 모델의 경우 변화하는 수요에 따라 탄력적으로 공급이 가능하다.



4. Elastic Ips 


aws에서는 한정된 ip주소를 가지고 있어 ( 0.0.0.0~255.255.255.255 ip주소가 한정적 )

사용자가 running한 인스턴스가 종료하게 되면 할당한 ip주소를  회수해 간다.

다시 인스턴스를 run하면 바뀐 ip주소를 부여해준다.


운영하던 인스턴스를 종료하고 다시 실행했을 시 

기존의 사용하던 ip주소가 바뀌면 문제가 생긴다.


이러한 문제로

사용자는 aws의 Elastic Ips (엘라스틱 아이피)를 할당받아 자신의 인스턴스에 부여하여 연결할 수 있다.


엘라스틱 아이피를 인스턴스에 연결하게 되면 인스턴스를 종료하고 다시 실행 했을 시

ip주소가 바뀌지 않는다.



5. 확장성을 위한 부하 테스트


aws 인스턴스 2대를 running하여

1대는 자신이 운영하고 있는 인스턴스

1대는 공격하려는 인스턴스

로 구성하여


우분투에서 ab -n 400 -c 100 http://ip주소/ 명령어를 사용하여

테스트를 진행한다.(요청은 400 , 동시접속 100 , 접속할 주소 http://)


결과를 통해 자신의 인스턴스를 확장해야 할지 말지 결정할 수 있다.



6. scale-up 방법


스케일 업 하려는 기존의 인스턴스를 이미지로 만들어

확장하려는 유형의 자원을 할당하여 인스턴스를 생성한다.

엘라스틱 아이피를 할당한다.


7. scale-out 방법


판도라는 숲의 특성은 뿌리가 하나여서 숲은 하나의 나무이다.

하나의 뿌리를 공유하고 있는 뿌리가 나무의 개체를 결정한다고 한다면

하나의 거대한 나무가 숲을 이루고 살아간다.


scale-out은 여러대의 컴퓨터가 협력하여 동일목표를 달성을 위해

일하는 컴퓨터들의 사회를 만드는 것이다.


사용자가 많아져 서비스 이용이 많아지면 


web server : 아파치, 엔진엑스

middle ware : php, jsp, spring

database : mysql, oracle

웹서버, 미들웨어, 데이터베이스 에 부하가 생긴다. 


이 부하를 1대의 컴퓨터가 아닌 3대의 컴퓨터로 일을 처리할 수 있고


ELB(elastic load banlancecr 부하분배기)로 여러개 인스턴스를 사용해서 부하를 감당한다.


8. auto scaling


서비스 이용이 많아지면 컴퓨터를 자동으로 생성해서

바로 서비스를 시작하게 했다가


서비스 이용이 적어지면 컴퓨터를 자동으로 삭제해서

과금발생 안하게함


인스턴스의 생성과 삭제를 auto로 반복한다.




출처 : https://opentutorials.org/course/2717/11268





+ Recent posts