자동 인스턴스 복구

자동 인스턴스 복구 (Automatic instance recovery)

중요: 이 섹션은 EC2 인스턴스에서 복구 메커니즘을 사전에 구성하는 방법을 설명해요. 이 복구 메커니즘은 AWS가 시스템 상태 검사 실패를 일으키는 기본 하드웨어 또는 소프트웨어 문제를 감지할 때 인스턴스 가용성을 복원하도록 설계되었습니다. 현재 인스턴스에 접근하는 데 문제가 있다면 Troubleshoot EC2 instances 문서를 참고하세요.

출처: 문서

본문

AWS가 기본 하드웨어 또는 소프트웨어 문제로 인해 인스턴스를 사용할 수 없다고 감지하면, 인스턴스 가용성을 자동으로 복원할 수 있는 두 가지 메커니즘, 즉 **간소화된 자동 복구(simplified automatic recovery)**와 **Amazon CloudWatch 작업 기반 복구(CloudWatch action based recovery)**가 있어요. 인스턴스 가용성 복원은 **인스턴스 복구(instance recovery)**라고도 합니다.

인스턴스 복구 과정에서 AWS는 기본 하드웨어 또는 소프트웨어 문제가 있는 호스트에서 인스턴스를 다른 호스트로 이동하려 시도합니다. 성공하면 인스턴스 복구 과정은 인스턴스에 예기치 않은 재부팅으로 보여요. 인스턴스 복구가 발생했는지 확인할 수 있습니다.

복구 과정이 실패하면 인스턴스가 문제가 있는 호스트에서 계속 실행될 수 있습니다. 이 경우 수동 개입이 필요해요. 인스턴스에 연결할 수 없게 되거나 시스템 상태 검사가 계속 실패하면 인스턴스를 수동으로 중지했다가 시작할 것을 권장합니다. 인스턴스를 시작하면 일반적으로 새 기본 호스트 컴퓨터로 마이그레이션됩니다. 하지만 자동 인스턴스 복구에서 인스턴스가 퍼블릭 IPv4 주소를 유지하는 것과 달리, 다시 시작된 인스턴스는 Elastic IP 주소가 없으면 새 퍼블릭 IPv4 주소를 받습니다.

자동 복구 메커니즘의 혜택을 받으려면 시스템 상태 검사가 실패하기 전에 미리 인스턴스에 구성되어 있어야 해요. 기본적으로 간소화된 자동 복구는 인스턴스 실행 중에 활성화됩니다. 필요에 따라 실행 후에 Amazon CloudWatch 작업 기반 복구를 구성할 수 있어요. 이 메커니즘 중 하나가 구성되어 있으면 인스턴스가 더 **탄력적(resilient)**이 됩니다.

간소화된 자동 복구와 Amazon CloudWatch 작업 기반 복구는 지원되는 인스턴스에서만 사용 가능해요. 자세한 내용은 Requirements for enabling simplified automatic recovery와 Requirements for enabling CloudWatch action based recovery 문서를 참고하세요.

경고: AWS가 기본 하드웨어 또는 소프트웨어 문제로 인해 인스턴스를 복구할 때 다음 결과를 인지하세요: 휘발성 메모리(RAM)의 데이터는 손실되고, 운영 체제의 가동 시간(uptime)은 0부터 다시 시작됩니다. 또한 CloudWatch 작업 기반 복구에서는 인스턴스 스토어 볼륨의 데이터도 손실됩니다. 데이터 손실을 방지하려면 귀중한 데이터를 정기적으로 백업할 것을 권장합니다. EC2 인스턴스의 백업·복구 모범 사례에 대한 자세한 내용은 Best practices for Amazon EC2 문서를 참고하세요.

자동 인스턴스 복구 메커니즘은 개별 인스턴스를 위해 설계되었어요. 탄력적인 시스템 구축에 대한 지침은 Build a resilient system 문서를 참고하세요.

관련 주제 (Topics)

  • 자동 인스턴스 복구의 핵심 개념 (Key concepts of automatic instance recovery)
  • 간소화된 자동 복구와 CloudWatch 작업 기반 복구의 차이 (Differences between simplified automatic recovery and CloudWatch action based recovery)
  • 탄력적인 시스템 구축 (Build a resilient system)
  • 자동 인스턴스 복구가 발생했는지 확인 (Verify if automatic instance recovery occurred)
  • Amazon EC2 인스턴스에서 간소화된 자동 복구 구성 (Configure simplified automatic recovery on an Amazon EC2 instance)
  • EC2 인스턴스에서 CloudWatch 작업 기반 복구 구성 (Configure CloudWatch action based recovery on an EC2 instance)

자동 인스턴스 복구의 핵심 개념 (Key concepts of automatic instance recovery)

자동 인스턴스 복구는 기본 하드웨어 또는 소프트웨어 장애가 발생할 때 인스턴스 가용성을 자동으로 복원하는 Amazon EC2 기능으로, EC2 인스턴스의 탄력성과 안정성을 향상시킵니다.

다음은 자동 인스턴스 복구의 핵심 개념입니다.

구성 옵션 (Configuration options)

자동 인스턴스 복구를 지원하도록 두 가지 메커니즘을 구성할 수 있어요.

  • 간소화된 자동 복구 (Simplified automatic recovery): 지원되는 인스턴스에서 기본적으로 활성화됩니다.
  • CloudWatch 작업 기반 복구 (CloudWatch action based recovery): 지원되는 인스턴스에서 수동 구성을 요구합니다.

시스템 상태 검사 (System status checks)

시스템 상태 검사는 EC2 인스턴스가 실행되는 AWS 인프라스트럭처를 자동으로 모니터링해요.

  • 시스템 상태 검사가 실패하면 AWS가 자동 인스턴스 복구를 시작하고, 영향을 받은 인스턴스를 다른 하드웨어로 마이그레이션하려 시도합니다.
  • 실패한 시스템 상태 검사는 호스트의 하드웨어 또는 소프트웨어 문제를 나타내며, 인스턴스 자체의 문제는 아니에요. 자동 인스턴스 복구는 시스템 상태 검사에 실패한 인스턴스를 복구할 수 있어요. 하지만 인스턴스 상태 검사만 실패하면 자동 인스턴스 복구는 작동하지 않습니다.
  • 인스턴스 상태 검사와 시스템 상태 검사의 차이는 Types of status checks 문서를 참고하세요.

기본 하드웨어 또는 소프트웨어 문제의 예

시스템 상태 검사 실패를 일으킬 수 있는 하드웨어 또는 소프트웨어 문제에는 네트워크 연결 손실, 시스템 전원 손실, 물리적 호스트의 소프트웨어 문제, 네트워크 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제가 포함돼요.

복구된 인스턴스의 특징 (Characteristics of recovered instances)

복구된 인스턴스는 손실된 요소를 제외하면 원래 인스턴스와 동일합니다.

보존되는 요소:

  • 인스턴스 ID
  • 퍼블릭, 프라이빗, Elastic IP 주소
  • 인스턴스 메타데이터
  • 배치 그룹(placement group)
  • 연결된 EBS 볼륨
  • 가용 영역

손실되는 요소:

  • 휘발성 메모리(RAM)에 저장된 데이터
  • 인스턴스 스토어 볼륨에 저장된 데이터(CloudWatch 작업 기반 복구에만 해당)
  • 운영 체제 가동 시간이 0으로 재설정됨

CloudWatch로 시스템 상태 검사 모니터링

CloudWatch의 StatusCheckFailed_System 지표는 시스템 상태 검사가 통과했는지 실패했는지 나타내요.

지표 값:

  • 0 – 시스템 상태 검사 통과
  • 1 – 시스템 상태 검사 실패

Health Dashboard의 이벤트

자동 인스턴스 복구 시도 중 AWS는 구성된 복구 메커니즘과 그 결과에 따라 Health Dashboard에 이벤트를 보냅니다.

  • 간소화된 자동 복구
    • 성공 이벤트: AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_SUCCESS
    • 실패 이벤트: AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_FAILURE
  • CloudWatch 작업 기반 복구
    • 성공 이벤트: AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS
    • 실패 이벤트: AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE

간소화된 자동 복구와 CloudWatch 작업 기반 복구의 차이 (Differences between simplified automatic recovery and CloudWatch action based recovery)

다음 표는 간소화된 자동 복구와 CloudWatch 작업 기반 복구의 주요 차이를 비교합니다.

비교 지점 간소화된 자동 복구 CloudWatch 작업 기반 복구
구성 지원되는 인스턴스에서 기본적으로 활성화 CloudWatch 경보와 작업의 수동 구성 필요
유연성 AWS가 관리하는 고정 복구 동작 사용자 정의 가능한 작업과 조건
알림 Health Dashboard를 통한 기본 알림 SNS를 통한 사용자 정의 가능한 알림
Metal 인스턴스 크기 제외됨 포함됨
실행 시 연결된 인스턴스 스토어 볼륨 실행 시 인스턴스 스토어 볼륨을 연결하는 인스턴스는 지원되지 않음 선택된 인스턴스 유형에서 지원됨. 인스턴스 복구 중 인스턴스 스토어 볼륨의 데이터는 손실됩니다
복구 시간 표준 복구 시도 간소화된 자동 복구보다 빠른 복구 시도
마이그레이션 중 호스트 문제 해결 마이그레이션이 취소되고 인스턴스가 원래 호스트에 머무를 수 있음 마이그레이션이 취소되고 인스턴스가 원래 호스트에 머무를 수 있음
비용 추가 비용 없음 CloudWatch 요금이 발생할 수 있음

탄력적인 시스템 구축하기 (Build a resilient system)

간소화된 자동 복구와 CloudWatch 작업 기반 복구는 개별 인스턴스 가용성을 유지하는 데 효과적이지만, AWS는 **정상 인스턴스로 트래픽을 장애 조치(failover)**할 수 있는 고가용성 아키텍처를 구현할 것을 권장합니다.

이를 위해 Elastic Load Balancing(여러 EC2 인스턴스에 걸쳐 인바운드 트래픽 분산)과 Amazon EC2 Auto Scaling(수요와 상태에 따라 인스턴스 수 자동 조정) 같은 AWS 서비스를 사용하는 것을 고려하세요.

EC2 인스턴스로 탄력적이고 장애 허용적인 시스템을 구축하는 방법에 대한 자세한 내용은 다음 리소스를 참고하세요.

  • AWS YouTube 채널의 Back to Basics: Designing for Failure with EC2
  • AWS Architecture Blog의 Disaster Recovery (DR) Architecture on AWS, Part I: Strategies for Recovery in the Cloud
  • Application Load Balancers User Guide
  • Amazon EC2 Auto Scaling User Guide
  • REL11-BP02 Fail over to healthy resources (Reliability Pillar AWS Well-Architected Framework)

더 알아보기 (Learn more)