Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Maintaining High Availability with Auto Scaling (Korean)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

개요

Auto Scaling은 사용자가 정의하는 조건에 따라 Amazon EC2 용량을 자동으로 확장하거나 축소합니다. 또한 수요가 급증할 경우 사용 중인 Amazon EC2 인스턴스의 수를 원활하게 늘려 성능을 유지하고, 수요가 감소할 경우 인스턴스 수를 자동으로 줄여 비용을 최소화할 수 있습니다. Auto Scaling은 사용량이 시간, 일, 주 단위로 바뀌는 애플리케이션에 특히 적합합니다.

하지만 Auto Scaling은 단순히 서버를 추가하고 제거하는 것에 그치지 않습니다. Auto Scaling은 로드 밸런싱을 통해 응답하지 않는 서버를 처리하는 것과 비슷한 방식으로 장애를 처리하는 메커니즘이기도 합니다. 이 실습에서는 Elastic Compute Cloud(EC2) 인스턴스와 연결된 로드 밸런서를 자동으로 시작, 모니터링, 업데이트하도록 Auto Scaling을 구성하는 방법을 설명합니다.

Auto Scaling에 대해 알아야 할 두 가지 중요한 사항이 있습니다. 첫째, Auto Scaling은 ‘클라우드 온도’를 설정하는 것에 비유할 수 있습니다. 사용자가 정책을 사용하여 ‘온도 조절 장치를 설정’하면 Auto Scaling이 필요에 따라 Amazon EC2 리소스를 추가 또는 제거하여 ‘온도’(용량)를 유지합니다.

Auto Scaling 정책은 다음으로 구성됩니다.

  • 수요 증가에 대응하여 생성되는 서버를 정의하는 시작 구성

  • 시작 구성을 사용하여 새 서버 인스턴스를 만들 시기와 새 서버 인스턴스를 생성할 가용 영역과 로드 밸런서 컨텍스트를 정의하는 Auto Scaling 그룹

둘째, Auto Scaling은 균일한 서버가 모여 있는 집합을 가정합니다. 즉, Auto Scaling은 서버 A가 64비트 엑스트라 라지 인스턴스인 사실과 따라서 32비트 스몰 인스턴스보다 용량이 크다는 점을 알지 못합니다. 실제로 이는 대체 가능한 리소스 플릿을 사용하여 수평으로 확장하는 클라우드 컴퓨팅의 핵심 원리입니다. 즉, 개별 리소스는 플릿 자체에 비해 부차적입니다.

다룰 주제

이 실습을 마치면 다음을 수행할 수 있습니다.

  • 명령줄 도구를 사용하여 새 시작 구성 생성
  • 명령줄 도구를 사용하여 새 Auto Scaling 그룹 생성
  • 인스턴스 리소스가 너무 많거나 적어지면 트리거되는 Auto Scaling 알림 구성
  • 리소스 사용률 변화에 대응하여 현재 실행 중인 인스턴스 수를 확장하거나 축소하는 정책 생성

실습 사전 조건

이 실습을 완료하려면 기본적인 Linux 서버 관리와 Linux 명령줄 도구 사용에 익숙해야 합니다. 이 실습을 진행하는 시점에서는 새 Amazon EC2 서버 인스턴스 생성과 Elastic Load Balancing 구성의 기본 사항도 잘 알고 있어야 합니다.

기타 AWS 서비스

IAM 정책에 따라 이 실습에 액세스하는 시간에는 실습에 필요한 서비스 외에 다른 AWS 서비스는 비활성화됩니다. 또한 이 실습에서 사용하는 서비스의 기능은 실습에서 필요한 수준으로 제한되며, 일부의 경우에는 실습 설계의 의도에 따라 추가로 제한될 수 있습니다. 다른 서비스에 액세스하거나 실습 안내서에서 제공하는 것 외의 작업을 수행하는 경우 오류가 발생할 수 있습니다.

Auto Scaling의 주요 구성 요소

서버를 수동으로 시작하는 경우 시작할 Amazon Machine Image(AMI), 인스턴스 유형, 보안 그룹 등의 파라미터를 지정합니다. Auto Scaling에서는 이를 시작 구성이라고 합니다. 시작 구성은 시작할 인스턴스 종류를 설명하는 파라미터 집합입니다.

Auto Scaling 그룹은 인스턴스 시작 후 인스턴스에 수행할 작업을 시스템에 알립니다. 인스턴스가 시작되어야 하는 가용 영역, 인스턴스가 트래픽을 수신할 로드 밸런서 및 가장 중요한 지정된 시간에 실행할 최소 및 최대 인스턴스 수를 시작 구성에서 지정합니다.

언제 인스턴스를 추가 또는 제거할지 시스템에 전달할 규칙이 필요합니다. 이를 조정 정책이라고 하며, ‘플릿을 10% 단위로 확장’, ‘인스턴스 1개씩 축소’와 같은 규칙이 있습니다.

타이밍이 중요

Auto Scaling 사용과 관련된 비용이 있습니다. AWS 비용과 애플리케이션 조정 방식에 직접적으로 영향을 미치는 두 가지 중요한 요소는 비용과 시간입니다.

Amazon EC2 Linux 인스턴스는 초당 요금이 청구됨

즉, 활동이 많을 때는 서버를 확장했다가 용량 수요가 줄어들면 축소하여 비용을 절감할 수 있습니다.

조정에는 시간이 필요

다음 그래프를 고려해 보십시오. 대부분의 상황에서 조정이 필요한 시점과 조정이 실행되는 시점 사이에는 상당한 시차가 있습니다.

  • 이 예시의 규칙에 따르면 특정 조건이 2분 이상 지속되어야 합니다.
  • CloudWatch는 CPU 사용률과 같은 통계를 모니터링하는 기본 데이터 수집 시스템입니다. CloudWatch는 폴링 프로토콜이며, 새 데이터를 집계하는 데 보통 60초가 소요됩니다.
  • Auto Scaling도 폴링 시스템이며, 여기서도 60초가 소요됩니다.
  • 게다가 서버 부팅 시간도 필요합니다. 대용량의 복잡한 서버를 시작하려면 시간이 더 오래 걸릴 수도 있습니다.
  • 마지막으로 로드 밸런서는 몇 주기 동안 서버를 폴링하여 서버 상태를 확인한 후 요청을 수락해야 합니다.

Reviews

Start your review of Maintaining High Availability with Auto Scaling (Korean)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.