EC2 Auto Scaling

김보영·2023년 4월 9일
1

AWS

목록 보기
19/34

ASG(Auto Scaling 그룹)

최소 용량(Min), 원하는 용량(Desired) 및 최대 용량(Max)을 설정하여 인스턴스의 수를 적절하게 조절할 수 있으며, 인스턴스 수는 이 범위 내에서 조정됩니다.

ASG는 동일한 종류의 EC2 인스턴스를 포함하는 논리적인 그룹입니다. ASG는 인스턴스가 추가(Scale out)되거나 제거(Scale in)될 수 있는 경계를 설정하여 인스턴스의 개수를 조절합니다.

시작 구성(Launch Configuration)

이 설정은 새 인스턴스를 시작할 때 사용되는 템플릿입니다. AMI (Amazon Machine Image), 인스턴스 유형, 키 페어, 보안 그룹 등과 같은 인스턴스 설정을 포함합니다.

조정 정책(Scaling Policy)

동적 조정을 구현하기 위해 Auto Scaling 그룹에 조정 정책을 생성하고 설정합니다. 조정 정책은 워크로드 변화에 따라 인스턴스 수를 증가시키거나 감소시키는 방식을 정의하며, 동적 조정을 위한 조정 정책에는 대상 추적 정책, 단계 조정 정책, 예약된 조정 정책 등이 있습니다.

동적 조정(Dynamic Scaling)을 구현을 위해 다음 단계를 수행

  1. Auto Scaling 그룹 생성

    Auto Scaling 그룹은 동일한 종류의 EC2 인스턴스를 실행하고 관리하는 데 사용됩니다. 최소 인스턴스 수, 원하는 인스턴스 수, 최대 인스턴스 수를 설정하여 용량의 범위를 정의합니다.

  2. 조정 정책 설정

    조정 정책을 설정하여 인스턴스 수를 어떻게 조절할지 정의합니다. 일반적으로 사용되는 정책에는 대상 추적 정책, 단계 조정 정책, 예약된 조정 정책 등이 있습니다.

    • 대상 추적 정책(Target Tracking Scaling) : 특정 CloudWatch 메트릭(예: 평균 CPU 사용률)이 지정된 대상 값에 가까워지도록 인스턴스 수를 자동으로 조절합니다.
    • 단계 조정 정책(Step Scaling): CloudWatch 알람을 기반으로 스케일링 조치를 수행합니다. 알람이 특정 임계값을 초과하거나 미달하면, 단계별로 인스턴스 수를 증가시키거나 감소시킵니다.
    • 예약된 조정 정책(Scheduled Scaling): 미리 정해진 시간과 날짜에 따라 인스턴스 수를 조절합니다. 주기적인 트래픽 변화가 있는 경우에 유용하며, 미리 알려진 트래픽 증가를 대비할 수 있습니다.
  3. CloudWatch 알람 설정(선택 사항)

    단계 조정 정책의 경우, CloudWatch 알람을 사용하여 특정 메트릭(예: CPU 사용률)의 임계값을 초과하거나 미달할 때 조정 작업을 실행할 수 있습니다.

조정 휴지(Scaling Cooldowns)

EC2 Auto Scaling에서 조정 휴지는 인스턴스에 대한 스케일링 조치가 수행된 후, 다음 스케일링 조치가 발생하기 전까지 대기하는 시간을 나타냅니다. 조정 휴지 기간 동안 Auto Scaling 그룹은 추가 조정 작업을 일시적으로 중단합니다.

조정 휴지 기간(Cooldown Period)은 초 단위로 설정되며 디폴트 기간은 300초 입니다. 인스턴스가 완전히 시작되고, 애플리케이션에 트래픽을 처리하기 시작하기까지 시간이 걸리므로 이 시간 동안 조정 휴지를 설정하면, 인스턴스가 완전히 시작되고 트래픽을 처리할 수 있는 상태가 될 때까지 새로운 스케일링 조치가 발생하지 않도록 합니다.

단계 조정 정책(Step Scaling)이나 예약된 조정 정책(Scheduled Scaling)을 사용하는 경우, 해당 정책에 대해 별도의 휴지 기간을 설정할 수 있습니다. 이 기능은 세밀한 조절이 필요한 경우에 유용합니다.

수명주기 후크(Lifecycle Hook)

Auto Scaling 그룹에서 인스턴스의 수명주기(lifecycle) 이벤트를 활용하여 추가 작업을 수행하는 기능입니다. 수명주기 후크를 사용하면 인스턴스가 시작되거나 종료되는 과정에서 커스텀 작업을 실행할 수 있습니다.

수명주기 후크를 사용하면 인스턴스의 시작 및 종료 이벤트에서 커스텀 작업을 수행할 수 있어서, 애플리케이션 배포, 구성 관리, 데이터 백업 등의 작업을 보다 효율적으로 처리할 수 있습니다.

수명주기 후크는 다음 두 가지 이벤트에 적용

  1. 인스턴스 시작: 인스턴스가 시작되기 전에 작업을 수행할 수 있습니다. 이를 통해 인스턴스에 필요한 구성 작업이나 애플리케이션 배포 등을 처리할 수 있습니다.

  2. 인스턴스 종료: 인스턴스가 종료되기 전에 작업을 수행할 수 있습니다. 이를 통해 인스턴스에서 데이터를 백업하거나 다른 작업을 처리할 수 있습니다.

0개의 댓글