Amazon EC2 Auto Scaling 수명 주기 후크 - Amazon EC2 Auto Scaling

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EC2 Auto Scaling 수명 주기 후크

Amazon EC2 Auto Scaling은 Auto Scaling 그룹에 수명 주기 후크를 추가할 수 있는 기능을 제공합니다. 이러한 후크를 사용하면 Auto Scaling 인스턴스 수명 주기의 이벤트를 인식하는 솔루션을 생성한 다음 해당 수명 주기 이벤트가 발생할 때 인스턴스에 대한 사용자 정의 작업을 수행할 수 있습니다. 수명 주기 후크는 인스턴스가 다음 상태로 전환되기 전에 작업이 완료될 때까지 대기할 지정된 시간(기본적으로 1시간)을 제공합니다.

Auto Scaling 인스턴스에서 수명 주기 후크를 사용하는 예는 다음과 같습니다.

  • 스케일 아웃 이벤트가 발생하면 새로 시작된 인스턴스는 시작 시퀀스를 완료하고 대기 상태로 전환합니다. 인스턴스가 대기 상태에 있는 동안 그룹은 스크립트를 실행하여 애플리케이션에 필요한 소프트웨어 패키지를 다운로드해 설치하여 트래픽 수신을 시작하기 전에 인스턴스가 준비를 마치도록 합니다. 스크립트가 소프트웨어 설치를 마치면 complete-lifecycle-action 명령을 전송하여 계속 진행합니다.

  • 확장 이벤트가 발생하면 수명 주기 후크가 인스턴스를 일시 중지한 후 종료하고 Amazon을 사용하여 알림을 보냅니다. EventBridge 인스턴스가 대기 상태인 동안에는 인스턴스가 완전히 종료되기 전에 AWS Lambda 함수를 호출하거나 인스턴스에 연결하여 로그 또는 기타 데이터를 다운로드할 수 있습니다.

수명 주기 후크의 일반적인 용도는 인스턴스가 Elastic Load Balancing에 등록되는 시점을 제어하는 것입니다. Auto Scaling 그룹에 시작 수명 주기 후크를 추가하면 부트스트랩 스크립트가 성공적으로 완료되었고 수명 주기 후크 해지 시 로드 밸런서에 등록되기 전에 인스턴스의 애플리케이션이 트래픽을 수락할 준비가 되도록 할 수 있습니다.

수명 주기 후크 가용성

다음 표에는 다양한 시나리오에 사용할 수 있는 수명 주기 후크가 나와 있습니다.

이벤트 인스턴스 시작 또는 해지¹ 최대 인스턴스 수명 주기: 교체 인스턴스 인스턴스 새로 고침: 교체 인스턴스 용량 재조정: 교체 인스턴스 웜 풀: 웜 풀에 들어오고 웜 풀에서 나가는 인스턴스
인스턴스 시작
인스턴스 해지

SetDesiredCapacity 또는 TerminateInstanceInAutoScalingGroup 작업을 호출할 때와 같이 자동으로 시작하든 수동으로 시작하든 모든 시작 및 해지에 적용됩니다. 강제 삭제 옵션을 사용하여 인스턴스를 연결 또는 분리하거나, 인스턴스를 대기 모드로 전환하거나 대기 모드에서 해제하거나, 그룹을 삭제할 때는 적용되지 않습니다.

수명 주기 후크에 대한 고려 사항 및 제한 사항

수명 주기 후크를 사용하는 경우, 다음 고려 사항 및 제한 사항에 유의하세요:

  • Amazon EC2 Auto Scaling은 Auto Scaling 그룹의 배치를 돕기 위해 자체 수명 주기를 제공합니다. 이 수명 주기는 다른 EC2 인스턴스의 수명 주기와 다릅니다. 자세한 설명은 아마존 EC2 Auto Scaling 인스턴스 라이프사이클 섹션을 참조하세요. 웜 풀의 인스턴스에 대한 수명 주기 상태 전환에 설명된 바와 같이, 웜 풀의 인스턴스에도 자체 수명 주기가 있습니다.

  • 수명 주기 호크를 스팟 인스턴스와 함께 사용할 수 있지만 수명 주기 후크는 용량을 더 이상 사용할 수 없는 경우, 인스턴스 해지를 방지하지 않습니다. 이 상황은 2분 중단 알림과 함께 언제든지 발생할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서스팟 인스턴스 중단을 참조하세요. 그러나 Amazon EC2 스팟 서비스로부터 스팟 인스턴스의 중단 위험이 높아질 때 전송되는 신호인 리밸런싱 권고를 수신하는 스팟 인스턴스를 사전 교체하도록 용량 리밸런싱을 활성화할 수 있습니다. 자세한 설명은 용량 재조정을 사용하여 Amazon EC2 스팟 중단 처리 섹션을 참조하세요.

  • 인스턴스는 한정된 시간 동안 대기 상태를 유지할 수 있습니다. 수명 주기 후크의 기본 제한 시간은 1시간(하트비트 제한 시간)입니다. 인스턴스를 대기 상태로 유지할 수 있는 최대 시간을 지정하는 전역 제한 시간도 있습니다. 전역 제한 시간은 48시간 또는 하트비트 제한 시간의 100배 중 적은 쪽입니다.

  • 수명 주기 후크의 결과는 포기 또는 계속입니다. 인스턴스를 시작하는 중인 경우, 계속은 작업에 성공했고 Amazon EC2 Auto Scaling에서 인스턴스를 서비스 상태로 전환할 수 있음을 나타냅니다. 그에 반해 포기는 사용자 지정 작업이 실패했으며, 인스턴스를 해지하고 교체할 수 있음을 표시합니다. 인스턴스가 해지 중인 경우에는 포기와 계속 둘 다 인스턴스 해지를 허용합니다. 그러나 중단은 수명 주기 후크와 같은 남아 있는 모든 작업을 중지하는 반면, 계속은 다른 모든 수명 주기 후크를 완료합니다.

  • Amazon EC2 Auto Scaling은 수명 주기 후크가 일관되게 실패하는 경우, 인스턴스를 시작할 수 있도록 허용하는 속도를 제한하므로 수명 주기 작업의 영구적 오류를 테스트하고 수정해야 합니다.

  • AWS CLI AWS CloudFormation, 또는 SDK를 사용하여 수명 주기 후크를 만들고 업데이트하면 에서 수명 주기 후크를 만들 때 사용할 수 없는 옵션이 제공됩니다. AWS Management Console예를 들어 Amazon EC2 Auto Scaling에서 이미 Amazon으로 이벤트를 전송하기 때문에 SNS 주제 또는 SQS 대기열의 ARN을 지정하는 필드는 콘솔에 표시되지 않습니다. EventBridge 이러한 이벤트는 필요에 따라 필터링하여 Lambda, Amazon SNS 및 Amazon SQS와 같은 AWS 서비스로 리디렉션할 수 있습니다.

  • Auto Scaling 그룹을 생성하는 동안 AWS CLI AWS CloudFormation, 또는 SDK를 사용하여 CreateAutoScalingGroupAPI를 호출하여 수명 주기 후크를 여러 개 추가할 수 있습니다. 그러나 지정된 경우, 각 후크에는 동일한 알림 대상 및 IAM 역할이 있어야 합니다. 알림 대상과 역할이 서로 다른 라이프사이클 후크를 생성하려면 PutLifecycleHookAPI에 대한 개별 호출을 통해 라이프사이클 후크를 한 번에 하나씩 생성하십시오.

  • 인스턴스 시작을 위한 수명 주기 후크를 추가하면 인스턴스가 상태에 도달하는 즉시 InService 건전성 체크 유예 기간이 시작됩니다. 자세한 설명은 Auto Scaling 그룹의 상태 확인 유예 기간 설정 섹션을 참조하세요.

스케일 아웃 고려 사항
  • 동적 규모 조정 정책은 여러 인스턴스에 걸쳐 집계되는 CPU 및 네트워크 I/O와 같은 CloudWatch 지표 데이터에 따라 확장 및 축소됩니다. 스케일 아웃 시, Amazon EC2 Auto Scaling은 Auto Scaling 그룹의 집계된 인스턴스 지표에 새 인스턴스를 즉시 계산하지 않습니다. 인스턴스가 InService 상태에 도달하고 인스턴스 워밍업이 완료될 때까지 기다립니다. 자세한 설명은 기본 인스턴스 워밍업 주제에 대한 스케일링 수행 고려 사항 섹션을 참조하세요.

  • 스케일 인 시 집계된 인스턴스 지표에 해지 인스턴스 제거가 즉시 반영되지 않을 수 있습니다. Amazon EC2 Auto Scaling 해지 워크플로우가 시작된 직후 해지 인스턴스는 그룹의 집계된 인스턴스 지표에 대한 계산을 중지합니다.

  • 대부분의 경우에 수명 주기 후크가 호출되면 수명 주기 작업이 완료되고 냉각 기간이 만료될 때까지 단순 크기 조정 정책으로 인한 크기 조정 활동이 일시 중지됩니다. 냉각 기간에 긴 간격을 설정하면 크기 조정을 재개하는 데 더 많은 시간이 걸립니다. 자세한 설명은 냉각 주제에서 수명 주기 후크는 추가적 지연을 야기할 수 있습니다. 섹션을 참조하세요. 일반적으로 단계 스케일링 또는 대상 추적 스케일링 정책을 대신 사용할 수 있는 경우, 단순 스케일링 정책을 사용하지 않는 것이 좋습니다.

소개 동영상은 AWS re:Invent 2018: Amazon EC2 Auto Scaling이 켜진 상태에서 제공되는 간편한 용량 관리를 참조하십시오. YouTube

스택 템플릿에서 수명 주기 후크를 선언하는 방법을 이해하는 데 사용할 수 있는 몇 가지 JSON 및 YAML 템플릿 스니펫을 제공합니다. AWS CloudFormation 자세한 내용은 사용 설명서의 AWS::AutoScaling::LifecycleHook참조를 참조하십시오.AWS CloudFormation

GitHub저장소를 방문하여 라이프사이클 후크에 대한 예제 템플릿과 사용자 데이터 스크립트를 다운로드할 수도 있습니다.

수명 주기 후크의 사용 예는 다음 블로그 게시물을 참조하세요.