인스턴스 새로 고침 작동 방식 - Amazon EC2 Auto Scaling

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

인스턴스 새로 고침 작동 방식

이 주제에서는 인스턴스 새로 고침의 작동 방식을 설명하고 이를 효과적으로 사용하기 위해 이해해야 하는 주요 개념을 소개합니다.

작동 방식

Auto Scaling 그룹의 인스턴스를 새로 고치려면 최신 버전의 애플리케이션과 원하는 기타 업데이트가 포함된 새 구성을 정의하면 됩니다. 그런 다음 인스턴스 새로 고침을 시작하여 해당 구성을 기반으로 기존 인스턴스를 새 인스턴스로 교체하십시오.

인스턴스 새로 고침을 수행하려면:

  1. 새 시작 템플릿을 생성하거나 기존 템플릿을 원하는 구성 변경 (예: 새 Amazon Machine Image (AMI)) 으로 업데이트하십시오. 자세한 정보는 Auto Scaling 그룹에 대한 시작 템플릿 생성을 참조하세요.

  2. Amazon EC2 Auto Scaling 콘솔 또는 SDK를 사용하여 인스턴스 새로 고침을 시작합니다. AWS CLI

    • 생성한 새 시작 템플릿 또는 시작 템플릿 버전을 지정합니다. 이는 새 인스턴스를 시작하는 데 사용됩니다.

    • 선호하는 최소 및 최대 정상 비율을 설정합니다. 이는 동시에 교체되는 인스턴스 수와 이전 인스턴스를 종료하기 전에 새 인스턴스를 시작할지 여부를 제어합니다.

    • 다음과 같은 모든 선택적 설정을 구성하십시오.

      • 체크포인트 — 일정 비율의 교체가 완료되면 인스턴스 새로 고침을 일시 중지하여 진행 상황을 확인합니다.

      • 매칭 건너뛰기 — 이전 인스턴스를 새 구성과 비교하고 일치하지 않는 인스턴스만 교체합니다. 콘솔에서 인스턴스 새로 고침을 시작하면 기본적으로 스킵 매칭이 켜져 있습니다.

      • 여러 인스턴스 유형 - 새 혼합 인스턴스 정책 또는 업데이트된 혼합 인스턴스 정책을 원하는 구성의 일부로 적용합니다.

인스턴스 새로 고침이 시작되면 Amazon EC2 Auto Scaling은 다음을 수행합니다.

  • 최소 및 최대 정상 비율을 기준으로 인스턴스를 일괄적으로 교체합니다.

  • 최소 정상 백분율이 100% 로 설정된 경우 이전 인스턴스를 종료하기 전에 새 인스턴스를 먼저 시작하십시오. 이렇게 하면 원하는 용량을 항상 유지할 수 있습니다.

  • 인스턴스의 상태를 확인하고 추가 인스턴스가 교체되기 전에 인스턴스가 워밍업할 시간을 주십시오.

  • 비정상으로 확인된 인스턴스를 종료하고 교체하십시오.

  • 인스턴스 새로 고침이 성공하면 Auto Scaling 그룹 설정을 새 구성 변경 사항으로 자동 업데이트합니다.

  • 그룹에 웜 풀이 있는 경우 Amazon EC2 Auto Scaling이 먼저 인스턴스를 대체합니다. InService 그런 다음 웜 풀의 인스턴스를 교체합니다.

다음 흐름도는 최소 정상 비율을 100% 로 설정한 경우의 종료 전 시작 동작을 보여줍니다.

최소 정상 백분율이 100% 로 설정된 경우 인스턴스 새로 고침이 작동하는 방식을 보여주는 다이어그램입니다.
참고

인스턴스 유지 관리 정책을 설정하지 않았거나 기존 정책을 재정의해야 하는 경우에만 인스턴스 새로 고침의 최소 및 최대 정상 비율을 지정하면 됩니다. 자세한 정보는 인스턴스 유지 관리 정책을 참조하세요.

마찬가지로, 기본 웜업을 활성화하지 않았거나 기본값을 재정의해야 하는 경우에만 인스턴스 새로 고침의 인스턴스 워밍업 기간을 지정하면 됩니다. 자세한 정보는 Auto Scaling 그룹의 기본 인스턴스 워밍업 설정을 참조하세요.

핵심 개념

시작하기 전에 인스턴스의 다음과 같은 핵심 개념을 익히십시오:

최소 건전 백분율

최소 정상 백분율은 인스턴스를 새로 고치는 동안 서비스를 유지하고 정상 상태로 유지하며 새로 고침을 계속할 수 있도록 사용할 준비가 된 상태로 유지하려는 용량의 백분율입니다. 예컨대, 최소 건전 백분율이 90%이고 최대 건전 백분율이 100%인 경우, 용량의 10%는 한 번에 교체될 것입니다. 새 인스턴스가 건전성 체크를 통과하지 못하면 Amazon EC2 Auto Scaling이 인스턴스를 해지하고 교체합니다. 인스턴스 새로 고침이 건전 인스턴스를 출범시킬 수 없으면 인스턴스 새로 고침이 결국 실패하고 그룹의 다른 90%는 그대로 유지됩니다. 새 인스턴스가 정상적으로 유지되고 준비 기간이 끝나면 Amazon EC2 Auto Scaling은 계속해서 다른 인스턴스를 대체할 수 있습니다.

인스턴스 새로 고침은 인스턴스를 한 번에 하나씩, 한 번에 여러 개 또는 한 번에 모두 교체할 수 있습니다. 한 번에 하나의 인스턴스를 교체하려면 최소 및 최대 건전 백분율을 100%로 설정하십시오. 이렇게 하면 인스턴스 새로 고침이 해지되기 전에 실행되도록 동작이 변경되어 그룹의 용량이 원하는 용량의 100% 미만으로 떨어지는 것을 방지할 수 있습니다. 모든 인스턴스를 한 번에 교체하려면 최소 건전 백분율을 0%로 설정합니다.

최대 건전 백분율

최대 건전 백분율은 인스턴스를 교체할 때 Auto Scaling 그룹이 늘릴 수 있는 원하는 용량의 백분율입니다. 최소값과 최대값의 차이가 100을 초과할 수 없습니다. 범위가 증가할 수록 동시에 바꿀 수 있는 인스턴스의 수가 늘어납니다.

인스턴스 워밍업

인스턴스 워밍업은 초기화가 완료된 것으로 간주될 때 새 인스턴스의 상태가 InService로 변경된 시점부터의 시간 기간입니다. 인스턴스 새로 고침 중 인스턴스가 건전성 체크를 통과하면 Amazon EC2 Auto Scaling은 새로 시작된 인스턴스가 정상임을 확인한 후 즉시 다음 인스턴스 교체로 이동하지 않습니다. 다음 인스턴스 교체로 넘어가기 전에 워밍업 기간을 기다립니다. 이는 애플리케이션이 요청에 응답하기 전에 초기화 시간이 필요한 경우에 유용할 수 있습니다.

인스턴스 워밍업은 기본 인스턴스 워밍업과 동일한 방식으로 작동합니다. 따라서 동일한 스케일링 고려 사항이 적용됩니다. 자세한 설명은 Auto Scaling 그룹의 기본 인스턴스 워밍업 설정 섹션을 참조하세요.

원하는 구성

원하는 구성은 Amazon EC2 Auto Scaling이 Auto Scaling 그룹 전체에 배치하도록 하려는 새로운 구성입니다. 예컨대, 인스턴스에 대한 새 출범 템플릿과 새 인스턴스 타입을 지정할 수 있습니다. 인스턴스를 새로 고치는 동안 Amazon EC2 Auto Scaling은 Auto Scaling 그룹을 원하는 구성으로 업데이트합니다. 인스턴스를 새로 고치는 중에 스케일 아웃 이벤트가 발생하면 Amazon EC2 Auto Scaling은 그룹의 현재 설정 대신 원하는 구성으로 새 인스턴스를 출범합니다. 인스턴스 새로 고침에 성공하면 Amazon EC2 Auto Scaling이 Auto Scaling 그룹의 설정을 업데이트하여 인스턴스 새로 고침의 일부로 지정한 원하는 새 구성을 반영합니다.

매칭 건너뛰기

매칭 건너뛰기는 Amazon EC2 Auto Scaling에서 이미 최신 업데이트가 있는 인스턴스를 무시하도록 합니다. 이렇게 하면 필요 이상으로 많은 인스턴스를 교체하지 않습니다. 이는 Auto Scaling 그룹이 특정 버전의 출범 템플릿을 사용하고 다른 버전을 사용하는 인스턴스만 교체하게 하려는 경우, 유용합니다.

체크포인트

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

인스턴스 새로 고침을 시작할 때 구성할 수 있는 모든 기본 설정에 대해 자세히 알아보려면 인스턴스 새로 고침의 기본값 이해을(를) 참조하세요.

건전성 체크 유예 기간

Amazon EC2 Auto Scaling은 Auto Scaling 그룹이 사용하는 건전성 체크의 상태에 따라 인스턴스가 정상인지 여부를 결정합니다. 자세한 설명은 Auto Scaling 그룹의 인스턴스에 대한 상태 확인 섹션을 참조하세요.

건전성 체크가 최대한 빨리 시작되게 하려면 그룹의 건전성 체크 유예 기간을 너무 길게 설정하지 마세요. 하지만 Elastic Load Balancing 건전성 체크에서 대상이 요청을 처리할 수 있는지 확인할 수 있을 만큼 길게 설정하세요. 자세한 설명은 Auto Scaling 그룹의 상태 확인 유예 기간 설정 섹션을 참조하세요.

인스턴스 타입 호환성

인스턴스 타입을 변경하기 전에 출범 템플릿에서 유효한지 확인하는 것이 좋습니다. 이렇게 하면 지정한 AMI와의 호환성이 확인됩니다. 예컨대, 반가상화(PV) AMI에서 원본 인스턴스를 출범했지만 하드웨어 가상 머신(HVM) AMI에서만 지원되는 현재 세대 인스턴스 타입으로 변경하려고 합니다. 이 경우, 출범 템플릿에 HVM AMI를 사용해야 합니다.

인스턴스를 출범하지 않고 인스턴스 타입의 호환성을 확인하려면 다음 예와 같이 run-instance 명령을 --dry-run 옵션과 함께 사용합니다.

aws ec2 run-instances --launch-template LaunchTemplateName=my-template,Version='1' --dry-run

호환성 확인 방법에 대한 자세한 설명은 Amazon EC2 - Linux 인스턴스용 사용자 가이드의 인스턴스 타입 변경을 위한 호환성을 참조하세요.

제한 사항

  • 총 기간: 인스턴스 새로 고침이 인스턴스를 계속해서 적극적으로 교체할 수 있는 최대 시간은 14일입니다.

  • 가중 그룹별 동작 차이: 혼합 인스턴스 그룹이 원하는 그룹 용량보다 크거나 같은 인스턴스 가중치로 구성된 경우, Amazon EC2 Auto Scaling이 모든 InService 인스턴스를 한 번에 바꿀 수 있습니다. 이러한 상황을 피하려면 인스턴스 가중치를 사용하도록 Auto Scaling 그룹을 구성합니다. 주제의 권장 사항을 따르세요. Auto Scaling 그룹에 가중치를 사용할 때 최대 가중치보다 큰 원하는 용량을 지정합니다.

  • 1시간 제한: 인스턴스 새로 고침이 대기 인스턴스나 스케일 인 방비된 인스턴스를 교체하기 위해 대기 중이기 때문에 교체를 계속할 수 없거나 새 인스턴스가 건전성 체크를 통과하지 못하면 Amazon EC2 Auto Scaling에서 한 시간 동안 계속 재시도합니다. 문제 해결에 도움이 되는 상태 메시지도 제공합니다. 1시간 후에도 문제가 계속되면 교체 작업에 실패합니다. 이 제한은 일시적인 문제가 발생할 경우, 복구할 시간을 제공하기 위한 것입니다.

  • 사용자 데이터를 통한 코드 배포: 스킵 매칭은 사용자 데이터 스크립트에서 배포된 코드 변경 사항을 확인하지 않습니다. 사용자 데이터를 사용하여 새 코드를 가져와 새 인스턴스에 이러한 업데이트를 설치하는 경우 시작 템플릿 버전 업데이트 없이도 모든 인스턴스에 최신 코드가 전송되도록 건너뛰기 매칭을 끄는 것이 좋습니다.