[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/인프라

AWS - Scalability

inu 2021. 1. 29. 18:44
반응형

클라우드 컴퓨터의 특징과 Scalability

  • 클라우드 컴퓨터를 사용할 수 없을 때, 사용자의 수요와 성능을 맞추기 힘들다. 갑자기 수요가 늘어나거나 줄어드는 경우 대응하기 어렵기 때문이다.
  • 클라우드 컴퓨터는 가상의 컴퓨터를 사용하는 것이기 때문에, 사용자의 수요와 성능을 일치하기 용이하다.
  • 이 때 사용하는 방법이 Scale upScale out이다.

Scale up과 EIP

Scale up

  • Scale up은 인스턴스의 성능을 높여 대응하는 것이다.
  • 한 인스턴스(EC2)를 이미지화한 다음, 해당 이미지를 기반으로 더 좋은 성능의 타입으로 재생성하는 것이다.
  • Create Image를 통해 인스턴스를 이미지화할 수 있으며, 이미지화 진행중엔 인스턴스가 꺼진다.
  • Monitoring을 통해 CPU 부하상황을 분석해 적절한 타입의 인스턴스를 생성한다.

EIP (Elastic IP)

  • 인스턴스는 정지 후 재실행하면 IP가 변경된다.
  • 즉, Scale up 과정에서 IP가 변경될 수 있다는 것이다.
  • 이 때 필요한 것이 AWS에서 제공하는 ELP이다. EIP는 고정된 IP를 인스턴스에게 제공할 수 있도록 해준다.
  • EIP를 생성하고 associate address에서 인스턴스를 선택하면 된다.
  • EIP를 새롭게 생성한 인스턴스로 옮길 경우 Dissassociate 후 associate한다.

Scale out과 ELB

cf. 웹 애플리케이션의 구조

  • 기본적으로 웹 애플리케이션은 Web server, Middle ware, Database로 구성된다.
  • Web server : 사용자가 브라우저를 통해 접속하는 것을 받고 서버상에서 이를 처리한 결과를 사용자에게 보내준다. (ex. NgineX, apache)
  • Middle ware : 웹 애플리케이션의 실질적 동작방법(로직)을 정의한다. (ex. php, java spring, python django)
  • Database : 중요한 정보를 보관 및 관리한다. (ex. MySQL, Oracle)

Scale out

  • Scale out은 인스턴스 개수를 늘려 대응하는 것이다.
  • 먼저 애플리케이션의 구조별로 인스턴스를 부여할 수 있다.
  • Middle ware나 Database에 부하가 걸리면 동일한 기능을 수행하는 인스턴스를 여러개 생성해 해당 기능 수행을 분산할 수 있다.
  • 하지만 Web server는 여러개로 만들 경우 사용자가 하나의 ip로 서비스를 이용할 수 없게된다. 이 경우 여러 ip를 하나의 도메인으로 연결해 사용자마다 접속하는 ip가 달라지도록 할 수도 있지만, Load Balancer를 사용하면 이러한 처리가 용이해진다.

ELB (Elastic Load Balancer)

  • ELB는 AWS에서 제공하는 Load Balancer이다.
  • ELB를 생성하여 인스턴스를 추가하면, ELB 자체적으로 접속 인스턴스를 분산시켜 준다.

Auto Scailing

  • 매번 CPU의 부하량을 체크하고 분석해 새로운 인스턴스를 생성하고 ELB에 부착하는 일은 매우 번거롭다.
  • 이를 자동으로 처리해주는 것이 Auto Scailing이다.
  • Lanuch Configuration에서 어떤 인스턴스를 생성하도록 할 것인지 설정하고, Auto Scailing Group을 생성해 Lanuch Configurations의 인스턴스를 자동으로 생성, 삭제하도록 한다.
  • Step1, Configure Auto scailing Group detail : Group의 이름, 최초 인스턴스 갯수, 가용구역, 대상 Load Balancer 등의 설정을 한다.
  • Step2, Configure scailing policies : 인스턴스를 언제 생성하고 삭제할지, 하한 개수나 상한 개수는 어떻게 할지 설정한다.
  • Step3, Configure Notification : Scailing 관련정보를 전송받을 메일을 추가한다.
  • 이후 태그설정 및 Review를 마치면 Auto Scailing Group이 생성되며 자동으로 인스턴스가 관리된다.
반응형

'🛠 기타 > 인프라' 카테고리의 다른 글

AWS - S3  (0) 2021.01.30
Node.js - AWS SDK  (0) 2021.01.30
AWS - EC2  (0) 2021.01.28
AWS - region, availability zone  (0) 2021.01.28