EC2 인스턴스를 중지, 종료, 재부팅 또는 복구하는 경보 생성
Amazon CloudWatch 경보 작업을 사용하면 EC2 인스턴스를 자동으로 중지, 종료, 재부팅 또는 복구하는 경보를 생성할 수 있습니다. 인스턴스를 더 이상 실행할 필요가 없을 때 중지 또는 종료 작업을 사용하여 비용을 절약할 수 있습니다. 재부팅 및 복구 작업을 사용하면 시스템 장애가 발생할 경우 인스턴스를 자동으로 재부팅하거나 새로운 하드웨어로 인스턴스를 복구할 수 있습니다.
인스턴스를 자동으로 중지하거나 종료해야 하는 경우는 매우 다양합니다. 예를 들어 일정 기간 동안 실행한 다음 작업을 완료하는 일괄 급여 처리 작업 또는 과학적 컴퓨팅 작업 전용 인스턴스가 있을 수 있습니다. 이러한 인스턴스를 유휴 상태로 유지하여 비용이 발생하도록 하는 대신 중지하거나 종료하면 비용을 절감할 수 있습니다. 경보 작업 중지와 종료 간의 주요 차이는 나중에 다시 실행해야 하는 경우 중지된 인스턴스는 쉽게 다시 시작할 수 있다는 점입니다. 또한 동일한 인스턴스 ID 및 루트 볼륨을 유지할 수 있습니다. 그러나 종료된 인스턴스를 다시 시작할 수는 없습니다. 대신, 새 인스턴스를 시작해야 합니다.
Amazon CloudWatch에서 제공하는 기본 및 세부 모니터링 지표(AWS/EC2 네임스페이스)를 비롯한 Amazon EC2 인스턴스별 지표 및 InstanceId 값이 실행 중인 유효한 Amazon EC2 인스턴스를 참조하는 동안에 "InstanceId=" 차원을 포함하는 사용자 지정 지표에 대해 설정된 경보에 중지, 종료 또는 재부팅 작업을 추가할 수 있습니다. StatusCheckFailed_Instance
를 제외하고 인스턴스당 Amazon EC2 지표에 설정된 경보에 복구 작업을 추가할 수도 있습니다.
중요
Amazon EC2 지표에 구성된 경보는 누락된 지표 데이터 포인트가 있는 경우 일시적으로 INSUFICITENT_DATA 상태로 전환될 수 있습니다. 드물기는 하지만, Amazon EC2 인스턴스가 정상인 경우에도 지표 보고가 중단되면 이 문제가 발생할 수 있습니다. 중지, 종료, 재부팅 또는 복구 작업을 수행하도록 구성된 Amazon EC2 지표에 대한 경보의 경우 누락된 데이터를 missing
으로 처리하고 경보 상태일 때만 해당 경보를 트리거하도록 경보를 구성하는 것이 좋습니다.
경보가 설정된 누락된 지표에 대해 조치를 취하도록 CloudWatch를 구성하는 방법에 대한 자세한 내용은 CloudWatch 경보가 누락 데이터를 처리하는 방법 구성 섹션을 참조하세요.
인스턴스를 재부팅, 중지 또는 종료할 수 있는 CloudWatch 경보 작업을 설정하려면 서비스 연결 IAM 역할인 AWSServiceRoleForCloudWatchEvents를 사용해야 합니다. AWSServiceRoleForCloudWatchEvents IAM 역할을 사용하면 AWS가 사용자를 대신하여 경보 작업을 수행할 수 있습니다.
CloudWatch Events에 대한 서비스 연결 역할을 생성하려면 다음 명령을 사용합니다.
aws iam create-service-linked-role --aws-service-name events.amazonaws.com
콘솔 지원
CloudWatch 콘솔 또는 Amazon EC2 콘솔을 사용하여 경보를 생성할 수 있습니다. 이 설명서의 절차에서는 CloudWatch 콘솔을 사용합니다. Amazon EC2 콘솔을 사용하는 절차는 Amazon EC2 사용 설명서의 인스턴스를 중지, 종료, 재부팅 또는 복구하는 경보 생성 섹션을 참조하세요.
권한
AWS Identity and Access Management(IAM) 계정을 사용하여 EC2 작업 또는 Systems Manager OpsItem 작업을 수행하는 경보를 생성하거나 수정하는 경우 iam:CreateServiceLinkedRole
권한이 있어야 합니다.
내용
Amazon CloudWatch 경보에 중지 작업 추가하기
특정 임계값에 도달한 경우 Amazon EC2 인스턴스를 중지하는 경보를 만들 수 있습니다. 예를 들어 개발 또는 테스트 인스턴스를 실행한 후 종료하는 것을 잊을 수 있습니다. 24시간 동안 평균 CPU 사용률이 10% 아래로 떨어지는 경우 즉, 유휴 상태로 더 이상 사용되지 않는 경우 트리거되는 경보를 만들 수 있습니다. 필요에 맞춰 임계값 및 기간을 조정할 수 있습니다. 또한 경보가 트리거되면 이메일을 받을 수 있도록 SNS 알림을 추가할 수 있습니다.
Amazon Elastic Block Store 볼륨을 루트 디바이스로 사용하는 Amazon EC2 인스턴스는 중지하거나 종료할 수 있지만, 인스턴스 스토어를 루트 디바이스로 사용하는 인스턴스는 종료만 할 수 있습니다.
Amazon CloudWatch 콘솔을 사용하여 유휴 인스턴스를 중지하는 경보를 생성하려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 경보(Alarms) 모든 경보(All Alarms)를 선택합니다.
-
경보 생성(Create alarm)을 선택하세요.
-
지표 선택(Select Metric)을 선택합니다.
AWS 네임스페이스( namespaces)에서 EC2를 선택합니다.
-
다음을 따릅니다.
-
인스턴스별 지표(Per-Instance Metrics)를 선택합니다.
-
해당 인스턴스와 CPUUtilization 지표가 있는 행에서 확인란을 선택합니다.
-
그래프로 표시된 지표 탭을 선택합니다.
-
통계의 경우 평균(Average)을 선택합니다.
-
기간(예:
1 Hour
)을 선택합니다. -
지표 선택을 선택하세요.
-
-
경보 정의(Define Alarm) 단계에서 다음을 수행합니다.
-
조건(Conditions)에서 정적(Static)을 선택합니다.
-
CPUUtilization이 있는 경우 항상(Whenever CPUUtilization is)에서 낮음(Lower)을 선택합니다.
보다(than)에
10
을 입력합니다.다음(Next)을 선택합니다.
-
알림(Notification)의 알림 보내기(Send notification to)에서 기존 SNS 주제를 선택하거나 새로 만듭니다.
SNS 주제를 생성하려면 새 목록(New list)을 선택합니다. 알림 보내기(Send notification to)에 SNS 주제의 이름을 입력합니다(예: Stop_EC2_Instance). 이메일 목록(Email list)에서 경보가
ALARM
상태로 변경될 때 알림을 받을 이메일 주소 목록을 쉼표로 구분하여 입력합니다. 각 이메일 주소로 주제 구독 확인 이메일이 전송됩니다. 수신자가 구독을 확인해야만 이 이메일 주소로 알림이 전송될 수 있습니다. -
EC2 작업 추가(Add EC2 Action)를 선택합니다.
-
경보 상태 트리거(Alarm state trigger)에서 경보(In Alarm)를 선택합니다. 다음 작업 수행(Take the following action)에서 이 인스턴스 중지(Stop this instance)를 선택합니다.
Next(다음)를 선택합니다.
-
경보 이름 및 설명을 입력합니다. 이름은 ASCII 문자만 포함해야 합니다. 그리고 다음(Next)을 선택합니다.
미리 보기 및 생성(Preview and create)에서 정보 및 조건이 원하는 내용인지 확인한 다음 경보 생성(Create alarm)을 선택합니다.
-
Amazon CloudWatch 경보에 종료 작업 추가하기
인스턴스에 대해 종료 보호가 비활성화되어 있는 경우에 한해서 특정 임계값에 도달한 경우 EC2 인스턴스를 자동으로 종료하는 경보를 만들 수 있습니다. 예를 들어 인스턴스의 작업 완료 후 해당 인스턴스가 다시 필요 없는 경우 인스턴스를 종료하려고 할 수 있습니다. 나중에 인스턴스를 사용하려는 경우에는 종료하지 말고 중지해야 합니다. 인스턴스에 대한 종료 보호 사용 및 사용 중지에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스에 대한 종료 보호 활성화 섹션을 참조하세요.
Amazon CloudWatch 콘솔을 사용하여 유휴 인스턴스를 종료하는 경보를 생성하려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 경보(Alarms), 경보 생성(Create Alarm)을 선택합니다.
-
지표 선택(Select Metric) 단계에서 다음을 수행합니다.
-
EC2 지표(EC2 Metrics)에서 인스턴스별 지표(Per-Instance Metrics)를 선택합니다.
-
해당 인스턴스와 CPUUtilization 지표가 있는 행을 선택합니다.
-
통계의 경우 평균(Average)을 선택합니다.
-
기간(예:
1 Hour
)을 선택합니다. -
Next(다음)를 선택합니다.
-
-
경보 정의(Define Alarm) 단계에서 다음을 수행합니다.
-
경보 임계값(Alarm Threshold)에 경보의 고유 이름(예: Terminate EC2 instance)과 경보에 대한 설명(예: CPU 유휴 시간이 너무 길어서 EC2 인스턴스 종료)을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.
-
Whenever의 is에서 <를 선택하고
10
을 입력합니다. 기간(for)에 연속 기간으로24
를 입력합니다.경보 미리 보기(Alarm Preview) 아래에 임계값이 그래픽으로 표시됩니다.
-
알림(Notification)의 알림 보내기(Send notification to)에서 기존 SNS 주제를 선택하거나 새로 만듭니다.
SNS 주제를 생성하려면 새 목록(New list)을 선택합니다. 알림 보내기(Send notification to)에 SNS 주제의 이름을 입력합니다(예: Terminate_EC2_Instance). 이메일 목록(Email list)에서 경보가
ALARM
상태로 변경될 때 알림을 받을 이메일 주소 목록을 쉼표로 구분하여 입력합니다. 각 이메일 주소로 주제 구독 확인 이메일이 전송됩니다. 수신자가 구독을 확인해야만 이 이메일 주소로 알림이 전송될 수 있습니다. -
EC2 작업(EC2 Action)을 선택합니다.
-
이 경보가 발생할 경우 항상(Whenever this alarm)에 상태가 ALARM입니다(State is ALARM)를 선택합니다. 이 작업을 수행(Take this action)에서 인스턴스 종료(Terminate this instance)를 선택합니다.
-
경보 생성을 선택합니다.
-
Amazon CloudWatch 경보에 재부팅 작업 추가하기
Amazon EC2 인스턴스를 모니터링하고 인스턴스를 자동으로 재부팅하는 Amazon CloudWatch 경보를 만들 수 있습니다. 재부팅 경보 작업은 인스턴스 상태 확인 오류(복구 경보 작업은 시스템 상태 확인 오류에 적합)에 권장됩니다. 인스턴스 재부팅은 운영 체제 재부팅과 같습니다. 대부분의 경우 인스턴스를 재부팅하는 데는 몇 분 밖에 걸리지 않습니다. 인스턴스를 재부팅하는 경우 동일한 물리적 호스트에 남아 있으므로 퍼블릭 DNS 이름, 프라이빗 IP 주소 및 인스턴스 스토어 볼륨의 모든 데이터가 유지됩니다.
인스턴스를 재부팅해도 인스턴스를 중지했다가 다시 시작할 때와는 달리 새 인스턴스 청구 시간이 시작되지 않습니다. 인스턴스 재부팅에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 재부팅 섹션을 참조하세요.
중요
재부팅과 복원 작업 간에 경합 상태가 발생하지 않도록 하려면 재부팅 경보와 복원 경보에 동일한 평가 기간을 설정하지 마십시오. 재부팅 경보를 각각 1분의 평가 기간 3회로 설정하는 것이 좋습니다.
Amazon CloudWatch 콘솔을 사용하여 인스턴스를 재부팅하는 경보를 생성하려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 경보(Alarms), 경보 생성(Create Alarm)을 선택합니다.
-
지표 선택(Select Metric) 단계에서 다음을 수행합니다.
-
EC2 지표(EC2 Metrics)에서 인스턴스별 지표(Per-Instance Metrics)를 선택합니다.
-
해당 인스턴스와 StatusCheckFailed_Instance 지표가 있는 행을 선택합니다.
-
통계의 경우 최소(Minimum)를 선택합니다.
-
기간(예:
1 Minute
)을 선택합니다. Next(다음)를 선택합니다.
-
-
경보 정의(Define Alarm) 단계에서 다음을 수행합니다.
-
경보 임계값(Alarm Threshold)에 경보의 고유 이름(예: Reboot EC2 instance)과 경보에 대한 설명(예: CPU 유휴 시간이 너무 길어서 EC2 인스턴스 재부팅)을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.
-
Whenever의 is에서 >를 선택하고
0
을 입력합니다. 기간(for)에 연속 기간으로3
를 입력합니다.경보 미리 보기(Alarm Preview) 아래에 임계값이 그래픽으로 표시됩니다.
-
알림(Notification)의 알림 보내기(Send notification to)에서 기존 SNS 주제를 선택하거나 새로 만듭니다.
SNS 주제를 생성하려면 새 목록(New list)을 선택합니다. 알림 보내기(Send notification to)에 SNS 주제의 이름을 입력합니다(예: Reboot_EC2_Instance). 이메일 목록(Email list)에서 경보가
ALARM
상태로 변경될 때 알림을 받을 이메일 주소 목록을 쉼표로 구분하여 입력합니다. 각 이메일 주소로 주제 구독 확인 이메일이 전송됩니다. 수신자가 구독을 확인해야만 이 이메일 주소로 알림이 전송될 수 있습니다. -
EC2 작업(EC2 Action)을 선택합니다.
-
이 경보가 발생할 경우 항상(Whenever this alarm)에 상태가 ALARM입니다(State is ALARM)를 선택합니다. 이 작업을 수행(Take this action)에서 인스턴스 재부팅(Reboot this instance)을 선택합니다.
-
경보 생성을 선택합니다.
-
Amazon CloudWatch 경보에 복구 작업 추가하기
Amazon EC2 인스턴스를 모니터링하고 기본 하드웨어 장애나 복구에 AWS 개입이 필요한 문제로 인해 인스턴스가 손상된 경우 인스턴스를 자동으로 복구하는 Amazon CloudWatch 경보를 생성할 수 있습니다. 종료한 인스턴스는 복구할 수 없습니다. 복구된 인스턴스는 인스턴스 ID, 프라이빗 IP 주소, 탄력적 IP 주소 및 모든 인스턴스 메타데이터를 포함하여 원본 인스턴스와 동일합니다.
StatusCheckFailed_System
경보가 트리거되고 복구 작업이 시작되면 경보를 생성하고 복구 작업을 연결했을 때 선택한 Amazon SNS 주제로 알림을 받게 됩니다. 인스턴스 복구 중에 인스턴스를 재부팅할 때 인스턴스가 마이그레이션되고 모든 인 메모리 데이터가 손실됩니다. 프로세스가 완료되면 해당 경보를 위해 구성해 둔 SNS 주제로 정보가 게시됩니다. 이 SNS 주제에 가입되어 있는 사람은 누구나 복구 시도 상태와 세부 지침이 포함된 이메일 알림을 받게 됩니다. 복구된 인스턴스에서 인스턴스를 재부팅하라는 메시지가 나타납니다.
복구 작업은 StatusCheckFailed_Instance
가 아닌 StatusCheckFailed_System
을 통해서만 사용할 수 있습니다.
시스템 상태 확인이 실패하게 되는 문제의 예를 들면 다음과 같습니다.
-
네트워크 연결 끊김
-
시스템 전원 중단
-
물리적 호스트의 소프트웨어 문제
-
네트워크 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제
복구 작업은 일부 인스턴스 유형에서만 지원됩니다. 지원되는 인스턴스 유형과 기타 요구 사항에 대한 자세한 내용은 인스턴스 복구와 요구 사항을 참조하세요.
중요
재부팅과 복원 작업 간에 경합 상태가 발생하지 않도록 하려면 재부팅 경보와 복원 경보에 동일한 평가 기간을 설정하지 마십시오. 복원 경보는 각각 1분의 평가 기간 2회로 설정하고 재부팅 경보는 각각 1분의 평가 기간 3회로 설정하는 것이 좋습니다.
Amazon CloudWatch 콘솔을 사용하여 인스턴스를 복구하는 경보를 생성하려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 경보(Alarms) 모든 경보(All Alarms)를 선택합니다.
경보 생성을 선택합니다.
-
지표 선택을 선택하고 다음 중 하나를 수행합니다.
-
EC2 지표에서 인스턴스별 지표를 선택합니다.
-
해당 인스턴스와 StatusCheckFailed_System 지표가 있는 행을 선택한 다음 지표 선택을 선택합니다.
-
통계의 경우 최소(Minimum)를 선택합니다.
-
기간(예:
1 Minute
)을 선택합니다.중요
재부팅과 복원 작업 간에 경합 상태가 발생하지 않도록 하려면 재부팅 경보와 복원 경보에 동일한 평가 기간을 설정하지 마십시오. 복구 경보는 각각 1분의 평가 기간 2회로 설정하는 것이 좋습니다.
-
-
조건에서 다음을 수행합니다.
-
임계값 유형에서 정적을 선택합니다.
-
언제든지에서 큰 값을 선택하고 ...보다에
0
을 입력합니다. 추가 구성을 선택한 다음 경보를 생성할 데이터 포인트에 대해 2개 중 2개를 지정합니다.
-
-
Next(다음)를 선택합니다.
-
알림에서 다음을 수행합니다.
경보 상태 트리거에서 경보를 선택합니다.
다음 SNS 주제에 알림 보내기에서 기존 SNS 주제를 선택하거나 새로 만듭니다.
-
EC2 작업 추가(Add EC2 Action)를 선택합니다.
경보 상태 트리거(Alarm state trigger)에서 경보(In Alarm)를 선택합니다.
-
다음 작업 수행에서 이 인스턴스 복구를 선택합니다.
Next(다음)를 선택합니다.
경보 이름에 경보의 고유한 이름(예:
Recover EC2 instance
)과 경보에 대한 설명(예:Recover EC2 instance when health checks fail
)을 입력합니다. 경보 이름은 ASCII 문자만 포함해야 합니다.Next(다음)를 선택합니다.
-
경보 생성을 선택합니다.
트리거한 경보 및 작업 기록 보기
Amazon CloudWatch 콘솔을 사용하여 경보 및 작업 기록을 볼 수 있습니다. Amazon CloudWatch는 지난 30일 동안의 경보 및 작업 기록을 보관합니다.
트리거된 경보 및 작업 기록을 보려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 경보(Alarms)를 선택한 후 특정 경보를 선택합니다.
-
가장 최근의 상태 변화와 함께 시간 및 지표 값을 보려면 세부 정보(Details)를 선택합니다.
-
최신 기록 항목을 보려면 내역(History)을 선택합니다.