[AWS SAA-C03] AWS AutoScaling 정리

Auto Scaling

Auto Scaling & ELB

  • Auto Scaling을 사용하면 동적으로 변화하는 EC2 인스턴스 제품군 전체에 걸쳐 트래픽을 쉽게 라우팅할 수 있다.
  • Auto Scaling은 자동 확장 그룹의 인스턴스로 들어오는 모든 트래픽에 대한 단일 접점 역할을 한다.
  • Auto Scaling은 EC2 인스턴스를 동적으로 추가 및 제거하는 한편, Elastic Load Balancing은 하나의 인스턴스에 과부하가 걸리지 않도록 트래픽을 최적으로 라우팅하여 들어오는 요청을 관리한다.
  • Auto Scaling은 사용자 수요가 증가하면 자동으로 EC2 인스턴스 수를 늘리고, 수요가 감소하면 EC2 인스턴스 수를 줄이는 데 도움이 된다.
  • ELB 서비스는 들어오는 웹 트래픽을 실행 중인 모든 EC2 인스턴스 간에 자동으로 분산하는 데 도움이 된다.
  • ELB는 로드 밸런서를 사용하여 트래픽을 모니터링하고 인터넷을 통해 들어오는 요청을 처리한다.

AWS 자동 확장 및 ELB

Auto Scaling Group과 ELB 연결/분리

  • Auto Scaling은 Elastic Load Balancing과 통합되며 기존 자동 확장 그룹에 하나 이상의 로드 밸런서를 연결할 수 있다.
  • ELB는 해당 IP 주소를 사용해 EC2 인스턴스를 등록하고 인스턴스의 기본 인터페이스(eth0)의 기본 IP 주소로 요청을 라우팅한다.
  • ELB가 연결되면 그룹에 인스턴스를 자동으로 등록하고 들어오는 트래픽을 인스턴스 간에 분산한다.
  • ELB가 분리되면 그룹에 있는 인스턴스의 등록을 해제하면서 제거 상태가 된다.
  • 연결 드레인이 활성화된 경우 ELB는 인스턴스 등록을 취소하기 전에 인플라이트 요청이 완료될 때까지 기다린다.
  • 인스턴스는 ELB에서 등록이 취소된 후에도 계속 실행된다.
  • Auto Scaling은 인스턴스가 시작될 때 ELB에 인스턴스를 추가하지만 이 기능은 일시 중단될 수 있다. 일시 중단 기간 동안 시작된 인스턴스는 재개 후 로드 밸런서에 추가되지 않으므로 수동으로 등록해야 한다.

고가용성 및 이중화

  • Auto Scaling은 동일한 지역 내 여러 AZ에 걸쳐 사용할 수 있다.
  • 하나의 AZ가 비정상적이거나 사용할 수 없게 되면 자동 확장은 영향을 받지 않는 AZ에서 새 인스턴스를 시작한다.
  • 상태가 좋지 않은 AZ가 복구되면 자동 확장은 모든 정상 AZ에 트래픽을 재분배한다.
  • Elastic Load Balancer는 수신 요청을 단일 AZ 또는 지역 내의 여러 AZ에 있는 EC2 인스턴스 간에 분산하도록 설정할 수 있다.
  • Auto Scaling 및 ELB를 사용하여 자동 확장 그룹을 지역 내 여러 AZ에 걸쳐 분산시킨 다음 ELB를 설정하여 들어오는 트래픽을 해당 AZ에 분산시키면 지리적 이중화의 안전성과 안정성을 활용할 수 있다.
  • 들어오는 트래픽은 ELB가 활성화된 모든 AZ에서 균등하게 부하가 분산된다.

상태 확인

  • Auto Scaling Group은 EC2 인스턴스 상태 검사 결과를 주기적으로 확인하여 각 인스턴스의 상태를 결정한다.
  • Auto Scaling은 인스턴스가 EC2 인스턴스 상태 검사에 실패하면 인스턴스를 비정상 상태로 표시하고 인스턴스를 교체한다.
  • 또한 ELB는 등록된 EC2 인스턴스에 대해 상태 확인 페이지를 핑하여 애플리케이션을 사용할 수 있는지 등의 상태 확인을 수행한다.
  • 인스턴스에 대한 ELB 상태 확인은 트래픽이 정상 인스턴스로만 라우팅되도록 하는 데 사용해야 한다.
  • Auto Scaling은 기본적으로 ELB 상태 확인에 실패할 경우 인스턴스를 교체하지 않는다.
  • 부하 분산 장치를 Auto Scaling Group에 등록한 후에는 Auto Scaling Group에 있는 EC2 인스턴스의 상태를 확인하기 위해 EC2 인스턴스 상태 검사 외에 ELB 상태 검사 결과를 사용하도록 로드 밸런서를 구성할 수 있다.

Monitoring

  • Elastic Load Balancing은 로드 밸런서 및 EC2 인스턴스에 대한 데이터를 CloudWatch로 전송한다.
  • CloudWatch는 리소스 성능에 대한 데이터를 수집하여 메트릭으로 표시한다.
  • Auto Scaling Group에 하나 이상의 로드 밸런서를 등록한 후, 자동 확장 그룹을 구성하여 ELB 메트릭(예: 요청 지연 시간 또는 요청 수)을 사용하여 애플리케이션을 자동으로 확장하도록 할 수 있다.
반응형