본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] AWS Autoscaling Refresh

by BTC_마루 2023. 8. 21.

안녕하세요.

오늘 포스팅 주제는 AWS Autoscaling Refresh입니다.

 

AWS Autoscaling Refresh란?

Amazon EC2 Auto Scaling 그룹의 배치를 업데이트하고 새로운 인스턴스를 시작하는 명령입니다. 

이 명령은 Auto Scaling 그룹에서 현재 구성된 설정을 기반으로 새로운 인스턴스를 시작하며, 기존 인스턴스를 대체하거나 추가합니다.

새 애플리케이션 버전을 릴리스하거나 인프라를 업데이트하기 위해 Auto Scaling 그룹(ASG)에서 인스턴스를 자동으로 배포할 수 있는 EC2 Auto Scaling의 기능입니다.

 

 

AWS Autoscaling Refresh을 사용하는 이유

한 번에 몇 개의 인스턴스를 수동으로 교체하는 대신 인스턴스 새로 고침을 사용하여 Auto Scaling 그룹의 인스턴스를 업데이트할 수 있습니다. 이 기능은 구성 변경에 따라 인스턴스를 교체해야 하는데 Auto Scaling 그룹에 포함된 인스턴스 수가 많은 경우에 유용할 수 있습니다.

 

인스턴스 새로 고침은 새 Amazon Machine Image(AMI) 또는 새 사용자 데이터 스크립트가 있는 경우에 유용합니다. 인스턴스 새로 고침을 사용하려면 먼저 새 AMI 또는 사용자 데이터 스크립트를 지정하는 새 시작 템플릿을 생성합니다. 그런 다음 인스턴스 새로 고침을 시작하여 그룹의 인스턴스 대체를 즉시 시작합니다.

 

위에서 설명한 것처럼 인스턴스의 시작 템플릿, 새 애플리케이션 버전 릴리스, 인프라를 업데이트하기 위해 Auto Scaling 그룹(ASG)에서 인스턴스를 자동으로 배포로 교체할 때 사용할 수 있습니다.

 

작동방식

1. 오토 스케일링에 대한 새 시작 템플릿을 생성

2. 최소 정상 백분율, 선택적 체크포인트 및 기타 설정 후, 시작 템플릿이 포함된 원하는 구성을 지정하고, 인스턴스 새로 고침을 시작함. 선택적으로 원하는 구성에서 적용 여부를 지정 가능. 

3. Amazon EC2 Auto Scaling은 인스턴스의 롤링 대체 수행을 시작. 이때, 인스턴스 집합의 서비스가 중단되어 종료되고 인스턴스 세트가 원하는 새 구성으로 시작됨. 그런 다음 인스턴스가 상태 확인을 통과하고 워밍업을 완료할 때까지 기다렸다가 다른 인스턴스를 대체로 진행함.

4. 그룹의 일정 비율이 교체되면 체크포인트에 도달하고,  체크포인트가 있을 때마다 Amazon EC2 Auto Scaling은 일시적으로 인스턴스 대체를 중지하고 알림을 전송함. 그런 다음 계속하기 전에 지정한 시간 동안 기다린 후, 알림을 받은 후 새 인스턴스가 예상대로 작동하는지 확인이 가능.

5. 인스턴스 새로 고침이 성공하면 작업 시작 시 지정한 시작 템플릿으로 Auto Scaling 그룹 설정이 자동으로 업데이트됨.

 

핵심 개념 및 용어

최소 정상 백분율

- 인스턴스 새로 고침을 시작하는 과정에서 항상 유지할 최소 정상 백분율.
- 새로 고침을 계속할 수 있도록 인스턴스 새로 고침 중 상태 확인을 통과해야 하는 오토 스케일링의 용량입니다.
- 예를 들어, 최소 정상 백분율이 90% 인 경우 10% 는 한 번에 종료되고 교체되는 용량의 백분율입니다. 새 인스턴스가 상태 확인을 통과하지 못하면 Amazon EC2 Auto Scaling이 인스턴스를 종료하고 대체합니다. 인스턴스 새로 고침으로 정상 인스턴스를 시작할 수 없는 경우 결국 실패하여 그룹의 나머지 90% 는 그대로 유지됩니다. 새 인스턴스가 정상 상태를 유지하고 예열 기간을 마치면 Amazon EC2 Auto Scaling이 계속해서 다른 인스턴스를 대체할 수 있습니다.
- 인스턴스 새로 고침은 인스턴스를 한 번에 하나씩, 한 번에 여러 개 또는 한 번에 모두 대체할 수 있습니다. 한 번에 하나의 인스턴스를 대체하려면 최소 정상 백분율을 100%로 설정합니다. 한 번에 모두 대체하려면 최소 정상 백분율을 0%로 설정합니다.

인스턴스 워밍업

- 새 인스턴스의 상태가 다음과 같이 변경될 때까지의 기간.
- InService초기화가 완료된 것으로 간주될 때까지 인스턴스 새로 고침 중 인스턴스가 상태 확인을 통과하면 Amazon EC2 Auto Scaling은 새로 시작된 인스턴스가 정상임을 확인한 후 즉시 다음 인스턴스 대체로 이동하지 않습니다.
- 애플리케이션이 요청에 응답하기 전에 아직 초기화 시간이 필요한 경우에 유용할 수 있습니다.
- 수명 주기 후크를 사용하여 사용할 새 인스턴스를 준비하는 경우 워밍업 기간 값을 줄일 수 있습니다.
- 기본 인스턴스 워밍업을 활성화하지 않았거나 재정의해야 하는 경우에만 인스턴스 새로 고침에 대한 인스턴스 워밍업을 지정하십시오. 

원하는 구성

- Amazon EC2 Auto Scaling이 오토 스케일링 전체에 배포하도록 하려는 새로운 구성.
- 인스턴스를 새로 고치는 중에 확장 이벤트가 발생하면 Amazon EC2 Auto Scaling은 그룹의 현재 설정 대신 원하는 구성으로 새 인스턴스를 시작합니다. 

일치 항목 건너뛰기

- 일치 건너뛰기는 Amazon EC2 Auto Scaling에서 이미 최신 업데이트가 있는 인스턴스를 무시함.
- 이는 오토 스케일링이 특정 버전의 시작 템플릿을 사용하고 다른 버전을 사용하는 인스턴스만 대체하게 하려는 경우 유용합니다.

체크포인트

- 체크포인트는 지정된 시간 동안 인스턴스 새로 고침이 일시 중지되는 시점. -> 롤백 가능
- 인스턴스 새로 고침에는 체크포인트가 여러 개 포함될 수 있습니다. Amazon EC2 Auto Scaling은 각 체크포인트에 대한 이벤트를 생성합니다.
- EventBridgeAmazon SNS와 같은 대상으로 이벤트를 전송하여 체크포인트에 도달하면 알림을 받도록 하는 규칙으로 체크포인트에 도달하면 배포를 확인할 수 있습니다.
- 문제가 발견되면 인스턴스 새로 고침을 취소하거나 롤백할 수 있습니다. 단계별로 업데이트를 배포하는 기능은 체크포인트의 주요 이점입니다. 체크포인트를 사용하지 않으면 롤링 대체가 지속해서 수행됩니다.

 

ASG-instance-Refresh

 

ASG의 새로운 인스턴스 새로 고침 기능을 통해 EC2에서 실행되는 애플리케이션 배포를 시작하고 업데이트하는 보다 간소화된 접근 방식이 가능합니다.

 

이제 사용 사례에 맞는 자동화를 생성할 수 있습니다. 

 

이를 통해 애플리케이션의 새 버전을 배포하거나 사용 중인 AMI를 교체해야 할 때 Auto Scaling 그룹에서 실행 중인 EC2 인스턴스를 보다 쉽게 ​​새로 고칠 수 있습니다.

 

이상으로 포스팅 마치겠습니다.

감사합니다.

댓글