코딩공작소

Scalability 본문

어플리케이션개발/AWS

Scalability

안잡아모찌 2021. 2. 9. 00:14

 - EC2인스턴스를 이용한 여러대의 컴퓨터를 병렬로 연결하는 ELB

 - 병렬로 연결될 컴퓨터를 자동으로 생성하고 삭제할 auto scailing

 

# Scalability

 - 가상화 : 

가상머신이란 ? 

물리적 기계 -> 운영체제 -> 가상머신(소프트웨어로 만든 기계)

VMWare, VirtualBox, Parallels 등등...

--> 기업을 고객으로 한 클라우드 서비스

1) 저렴한 컴퓨터 2) 초강력 컴퓨터 융통적으로 이용가능

클라우드 컴퓨팅 모델은 고객 이용도에 따른 flexible한 비용 절감 가능 -> 하지만 기능적인 panalty가 있을 수 있다.

--> 얼마나 많은 컴퓨터에 대한요구를 수용할 수 있는가 ? scailing.

 

a) scail up

 : 컴퓨터의 수요가 늘어나 좋은 컴퓨터로 upgrade하여 대체하는 것

elastic IPs 를 새롭게 scail up한 인스턴스에 IP를 붙여야함.

EC2 instance AMI(이미지) 동일한 인스턴스의 속성을 통해 같은 인스턴스를 만들 수 있음

 

b) scail out(ELB) Elastic Load balancer

 : 여러개의 컴퓨터가 협력하여 트래픽을 감당

WebServer(사용자가 브라우저로 접속하는 것을 받아서 사용자에게 서버에서의 API를 돌려보냄) 아파치...

->MiddleWare(웹서버와 DB사이에 위치하며 실질적인 web-application이 동작하도록) php, jsp, spring, django...

->DB(금고같은 역할) sql서버...

 

scail up을 통해 감당할 수 없을 때 scail out을 사용함.

Middleware 와 DB가 물리적으로 다른 컴퓨터에 존재

 

Middleware 가 무거워 져서 분리
DB가 무거워져 새롭게 분리
웹서버 앞에 로드밸랜서가 부하를 막기 위해 접속할 수 있는 ip를 분산시켜주는 역할을 함

 

#ELB (Elastic Load Balancer)

AWS ELB생성할 수 있는 서비스를 제공하고 있음

 

사용자가 로드 벨렌서의 포트를 타고 접속하면, 로드벨렌서가 웹서버포트를 타고 접속함.

 

EC2로 웹서버의 역할을 한다면 HTTP 통신을 위해서 암호화 혹은 복호화를 사용해야함. HTTPS는 로드벨렌서와 브라우저에 맡기고 웹서버와 HTTP로 통신가능. 자원을 절약할 수 있는 효과가 있다.

 

보안그룹에 대한 설정 함.

 

ELB는 각각의 인스턴스에 접속해서 살았는지 죽었는지 확인한다. ELB가 웹서버에 접속했을 때. ping이 실패하면 그곳으로 요청을 보내지 않는다. 몇초이상 접속이 안되는지, 몇초간격으로 시도할지, 몇번 이상 시도실패시에 죽었다고판단할지, 그상태로 다시 몇번했을떄 성공하면 성공으로 보낼지 설정하는 값.

 

해당 DNS를 통해 ELB웹서버로 접속 할 수 있다.

 

Elastic IP : 고정 아이피 ( 인스턴스를 교체하더라도 같은 IP를 사용할 수 있도록 설정)

 

 

** AutoScailing

 

Launch Configurations : 이미지를 실제 동작하는 인스턴스로 만드는 것을 설정하는 것 .  Auto Scaling Groups.을 통해서 실제 컴퓨터를 만들어준다.

 

컴퓨터의 형태,성능을 정의하기 위해 어떤 이미지에 기반하고 있는지 어떤 인스턴스 타입인지를 정의하는 것

 --> Launch Configurations

 

어떤 조건에서 만들것인가  --> Auto Scaling Groups

 

LaunchCOnfiguration에 해당되는 인스턴스에 대한 auto scaling groups을 만들겠다.

 

인스턴스 갯수의 하한/상한에 대한 조건과 어떤 경우마다의 인스턴스를 증/감 할것인지에 대한 조건
알람이 갔을떄 메일을 보내는 시스템. auto scaling의 CPU점유율에 따라 알람을 울릴 수 있도록 설정
인스턴스 삭제에 대한 정책 설정

 

조건을 설정하여 알람을 설정하는 시스템. 

 

'어플리케이션개발 > AWS' 카테고리의 다른 글

AWS S3 / RDS  (0) 2021.03.04
콘솔 & CLI & SDK & API  (0) 2021.03.03
AWS marketplace  (0) 2021.02.08
EC2 (window->linux)  (0) 2021.02.08
EC2  (0) 2021.02.02