Amazon EC2 Auto Scaling 실습

kauze98·2025년 5월 12일

AWS 실습

목록 보기
9/16

1. 개요

Auto Scaling이란?

  • Auto Scaling은 애플리케이션의 워크로드 변화에 따라 Amazon EC2 인스턴스 수를 자동으로 조정하여, 가용성을 높이고 비용을 최적화하는 AWS의 관리형 서비스입니다.

  • 사용자는 인스턴스의 최소, 최대, 원하는 개수를 지정할 수 있으며, Auto Scaling은 이 범위 내에서 인스턴스 수를 자동으로 관리합니다.

 

주요 구성 요소

  1. Auto Scaling 그룹 (ASG)
  • EC2 인스턴스들을 논리적으로 묶어 관리하는 단위입니다.

  • 각 그룹에 대해 최소, 최대, 원하는 인스턴스 수를 지정할 수 있습니다.

  • 최소값 이하로 내려가지 않고, 최대값을 넘지 않도록 유지합니다.

  • 원하는 용량(desired capacity)을 지정하면 항상 해당 수의 인스턴스가 유지됩니다.

  • 그룹 내 인스턴스들은 주기적으로 상태 확인(health check)을 받으며, 비정상 인스턴스는 자동으로 교체됩니다

 

  1. 시작 템플릿 (Launch Template)
  • EC2 인스턴스 시작에 필요한 설정(AMI, 인스턴스 유형, 네트워크, 보안 그룹 등)을 미리 저장한 템플릿입니다.

  • Auto Scaling 그룹이 인스턴스를 시작할 때 이 템플릿을 참조합니다.

 

규모 조정 정책

  • 항상 현재 인스턴스 수준 유지: 인스턴스 상태를 주기적으로 확인, 비정상 인스턴스는 종료 후 새로 시작

  • 수동 규모 조정: 사용자가 직접 최소/최대/원하는 용량을 변경하면, Auto Scaling이 자동으로 인스턴스를 추가/제거

  • 일정에 따라 규모 조정: 특정 시간/날짜에 인스턴스 수를 자동으로 조정(예: 트래픽이 예상되는 시간에 미리 확장)

  • 수요에 따른 규모 조정: CPU 사용률 등 지표에 따라 인스턴스 수를 자동으로 조정(예: 평균 CPU가 90% 이상 15분 유지 시 인스턴스 추가)

 

Auto Scaling 동작 방식

  • 인스턴스를 "시작"하거나 "종료"만 하며, "중지" 또는 "재시작"은 하지 않습니다.

  • 인스턴스 수 증감은 지정한 정책과 상태 확인 결과에 따라 자동으로 이루어집니다

요금 정책

  • Auto Scaling 자체에는 별도 요금이 없으며, 실행된 EC2 인스턴스와 관련 리소스(예: CloudWatch)에 대한 비용만 지불합니다

정리

Auto Scaling 그룹 - EC2 인스턴스 논리적 그룹, 최소/최대/원하는 수 지정, 상태 확인

시작 템플릿 - 인스턴스 시작 설정(AMI, 타입, 네트워크 등) 저장, 재사용 가능

규모 조정 정책 - 수동/일정/수요 기반 자동 확장 및 축소, 상태 감시 및 자동 교체

요금 - Auto Scaling 자체 무료, EC2 등 리소스 사용량만 과금

 


2. 시작 템플릿 생성

시작 템플릿의 목적

  • 시작 템플릿(Launch Template)은 EC2 인스턴스를 시작하는 데 필요한 모든 설정(예: AMI ID, 인스턴스 유형, 보안 그룹 등)을 하나의 리소스로 저장하는 기능입니다.

  • Auto Scaling 그룹에서 EC2 인스턴스를 자동으로 생성·관리할 때, 일관된 설정을 반복적으로 적용하기 위해 사용합니다.

 

시작 템플릿을 먼저 생성해야 하는가?

  • Auto Scaling 그룹은 EC2 인스턴스를 자동으로 늘리거나 줄일 때, 어떤 이미지(운영체제 및 애플리케이션), 어떤 인스턴스 타입, 어떤 네트워크 및 보안 설정을 사용할지 알아야 합니다.

  • 시작 템플릿은 이러한 설정값을 미리 정의해 두고, Auto Scaling 그룹이 인스턴스를 시작할 때 참조할 수 있도록 합니다

 

요약

시작 템플릿을 생성하는 과정은 Auto Scaling 그룹이 EC2 인스턴스를 자동으로 시작할 때 필요한 모든 설정을 미리 정의하고, 일관된 환경과 관리의 효율성을 확보하기 위한 필수 단계입니다. 이를 통해 인스턴스 생성 자동화, 환경 표준화, 최신 기능 활용, 그리고 설정 변경에 따른 유연한 버전 관리가 가능합니다

 


3. Auto Scaling 그룹 생성

Auto Scaling 그룹(ASG) 생성의 목적

  • Auto Scaling 그룹은 유사한 특성을 가진 EC2 인스턴스들을 하나의 논리적 단위로 묶어, 인스턴스의 수를 자동으로 조정하고 관리할 수 있게 해줍니다.

  • 이 그룹을 통해 애플리케이션의 트래픽 변화나 장애 상황에 따라 인스턴스 수를 자동으로 늘리거나 줄일 수 있어, 항상 적절한 성능과 가용성을 유지하면서도 비용을 최적화할 수 있습니다

 

ASG 생성 과정의 주요 설정 의미

  • 시작 템플릿 지정: 어떤 AMI, 인스턴스 타입, 네트워크/보안 설정으로 인스턴스를 생성할지 미리 정의한 템플릿을 지정합니다. 이를 통해 그룹 내 모든 인스턴스가 동일한 환경에서 일관되게 실행됩니다.

  • 네트워크(VPC, 서브넷) 선택: 인스턴스가 속할 네트워크 환경을 지정합니다. 여러 서브넷을 선택하면 가용 영역을 분산해 장애 대응력과 가용성이 높아집니다.

  • 상태 확인 유예 기간: 인스턴스가 정상적으로 기동될 때까지 Auto Scaling이 상태 확인을 잠시 유예하는 시간입니다. 실습이나 테스트 환경에서는 이 시간을 줄여 빠르게 상태 확인이 이뤄지도록 할 수 있습니다.

  • 최소/최대/원하는 인스턴스 수 지정: 그룹 내에서 항상 유지할 인스턴스 수의 범위를 설정합니다. 예를 들어 최소 1개, 최대 2개로 지정하면, 인스턴스가 장애로 종료되어도 최소 1개는 항상 유지됩니다

  • 모니터링 활성화: CloudWatch 연동을 통해 인스턴스 및 그룹의 상태, 성능 지표를 실시간으로 모니터링할 수 있습니다.

 

Auto Scaling Groups 생성이 필요한 이유

  • 자동화된 확장/축소: 트래픽이 증가하면 인스턴스가 자동으로 추가되고, 감소하면 불필요한 인스턴스가 제거되어 비용 효율성이 높아집니다.

  • 고가용성: 인스턴스 장애 시 자동으로 대체 인스턴스를 생성하여 서비스 중단을 최소화합니다.

  • 일관성 유지: 시작 템플릿을 통해 모든 인스턴스가 동일한 환경에서 실행되어 관리가 용이합니다.

  • 운영 효율화: 수동으로 인스턴스를 관리할 필요 없이, 정책에 따라 자동으로 인프라가 유지·관리됩니다.

 

요약

Auto Scaling 그룹을 생성하는 것은 EC2 인스턴스의 수와 상태를 자동으로 관리하여, 애플리케이션의 가용성, 확장성, 비용 효율성을 동시에 확보하기 위한 핵심적인 인프라 자동화 작업입니다

 


4. Auto Scaling 그룹 확인

Auto Scaling 그룹 확인의 목적

  • Auto Scaling 그룹이 정상적으로 EC2 인스턴스를 시작했는지, 인스턴스가 올바른 상태로 실행되고 있는지 확인합니다.

  • 그룹의 상세 정보, 인스턴스 상태, 활동 내역, 모니터링 데이터를 검토함으로써 설정이 의도한 대로 적용되었는지 점검할 수 있습니다.

  • 인스턴스의 수명 주기 상태(InService 등)와 정상 상태(Health Status)를 확인해, 서비스가 안정적으로 운영되고 있는지 확인합니다.

 


5. Auto Scaling 테스트

인스턴스 종료 실험의 목적

  • Auto Scaling의 핵심 기능인 "자동 복구"가 제대로 동작하는지 실제로 검증합니다.

  • 그룹의 최소 인스턴스 수가 1개로 설정된 상황에서, 인스턴스를 수동으로 종료하면 Auto Scaling이 이를 인식하고 즉시 새 인스턴스를 자동으로 시작하는지를 확인합니다.

  • 이 과정을 통해 장애 상황이나 인스턴스 고장 시에도 서비스의 가용성이 자동으로 유지되는지 직접 실습할 수 있습니다.

  • Activity 탭에서 인스턴스 종료와 새 인스턴스 시작 기록을 확인함으로써, Auto Scaling의 자동 관리 및 복구 메커니즘이 정상적으로 작동하는지 투명하게 모니터링할 수 있습니다.

요약

Auto Scaling 그룹의 상태와 동작을 확인하고, 인스턴스 종료 실험을 통해 자동 복구 기능을 검증하는 것은 서비스의 안정성, 가용성, 그리고 AWS Auto Scaling의 자동화된 인프라 관리 능력을 직접 확인하고 이해하기 위한

profile

0개의 댓글