Amazon Elastic Compute Cloud(Amazon EC2) 콘솔에서 Amazon CloudWatch 경보를 생성하려고 합니다. 기본 하드웨어 장애로 인해 EC2 인스턴스가 손상되면 복구하고 경보 트리거 시에 알림을 전송하려고 합니다. 그러나 경보 생성 페이지에서 이 인스턴스를 복구합니다 옵션(다음 작업 수행: 아래)이 회색 처리(비활성화)됩니다. 경보 알림 옵션(주제 이름 및 수신자)도 비활성화됩니다. 이 옵션은 어떻게 다시 켭니까?

EC2 인스턴스가 인스턴스 스토어 볼륨을 사용한다고 CloudWatch가 판단하는 경우에 이 인스턴스를 복구합니다 옵션이 비활성화됩니다. 인스턴스 스토어 볼륨에 대한 블록 디바이스 매핑으로 시작된 인스턴스를 포함하여 인스턴스 스토어 볼륨을 사용하는 EC2 인스턴스에 대해서는 복구 작업이 지원되지 않습니다. CloudWatch는 각 EC2 인스턴스에 연결된 메타데이터를 읽어 인스턴스 스토어 볼륨을 사용하지 않는지 확인한 후에야 복구 작업을 활성화합니다.

참고: 복구 작업은 특정 인스턴스 유형에서만 지원합니다. 지원되는 인스턴스 유형을 시작했는지 확인하십시오. 자세한 내용은 인스턴스 복구 에서 최신 내용을 확인하십시오. 또한 EC2 복구 경보 작업은 StatusCheckFailed_System 지표에 대해서만 유효합니다.

계속하기 전에 인스턴스를 중지, 종료, 재부팅 또는 복구하는 경보 만들기를 확인하십시오. CloudWatch 경보 생성의 모든 사전 조건을 충족해야 합니다.

EC2 Linux 인스턴스에서 임시 인스턴스 스토어 볼륨 찾기

1.     Linux 인스턴스에 연결합니다.

2.     다음 명령을 사용해서 인스턴스에서 메타데이터를 검색합니다.

curl http://169.254.169.254/latest/meta-data/block-device-mapping/

3.     결과를 사용하여 인스턴스에 매핑된 인스턴스 스토어 볼륨을 확인합니다(ephemeral이라는 이름으로 시작). 예를 들어 이 결과에는 인스턴스 스토어 볼륨이 두 개입니다(ephemeral0, ephemeral2).

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/
ami
ephemeral0
ephemeral2
root

EC2 Windows 인스턴스에서 임시 인스턴스 스토어 볼륨 찾기

브라우저를 선호하는 경우:

1.     Windows 인스턴스에 연결합니다.

2.     웹 브라우저를 열고 다음에 연결합니다.

http://169.254.169.254/latest/meta-data/block-device-mapping/

3.     반환된 정보를 사용하여 인스턴스에 매핑된 인스턴스 스토어 볼륨을 확인합니다(ephemeral이라는 이름으로 시작).

Windows PowerShell을 선호하는 경우:

1.     PowerShell에서 Windows 인스턴스에 연결합니다.

2.     다음 명령을 실행합니다.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/

3.     결과를 사용하여 인스턴스에 매핑된 인스턴스 스토어 볼륨을 확인합니다(ephemeral이라는 이름으로 시작). 예를 들어 이 결과에는 인스턴스 스토어 볼륨이 한 개입니다(ephemeral0).

ami
ephemeral0
root
swap

자세한 내용은 인스턴스 스토어 볼륨용 인스턴스 블록 디바이스 매핑 보기 섹션을 참조하십시오.

EC2 인스턴스용 AMI에서 임시 인스턴스 스토어 볼륨 찾기

블록 디바이스 인스턴스 스토어 볼륨용 EC2 인스턴스의 경우 Amazon 머신 이미지(AMI)블록 디바이스 매핑을 확인해 볼 수도 있습니다(블록 디바이스 필드에 =ephemeral#이 포함되며 #는 0-23 사이의 정수).

참고: AWS CLI, SDK 또는 AWS CloudFormation 같은 서비스를 사용하여 EC2 인스턴스(Windows 또는 Linux)를 시작하면 인스턴스 유형이 인스턴스 스토어 볼륨을 정식으로 지원하지 않는 경우 블록 디바이스 매핑이 발생할 수 있습니다. Amazon EC2 콘솔을 사용하여 인스턴스 스토어 볼륨을 지원하지 않는 인스턴스 유형을 시작하면 EC2에서 수정된 블록 디바이스 매핑을 그냥 무시합니다.

Amazon EC2 콘솔 또는 AWS 명령줄 인터페이스(AWS CLI)를 이용해 AMI의 블록 디바이스 매핑에 EBS 볼륨을 열거하는 방법은 AMI 블록 디바이스 매핑에서 EBS 볼륨 보기 섹션을 참조하십시오.

예를 들어, 다음 AWS CLI 명령 describe-images는 AMI에 대하여 BlockDeviceMapping을 반환합니다.

aws ec2 describe-images --image-ids ami-xxxxxxxx

VirtualNameephemeral로 시작하는 인스턴스 스토어 볼륨이 포함된 결과 예시:

aws ec2 describe-images --image-ids ami-11112222

"BlockDeviceMappings": [
   {
      "DeviceName": "/dev/xvda",
      "Ebs": {
         "DeleteOnTermination": true,
         "SnapshotId": "snap-        ",
         "VolumeSize": 8,
         "VolumeType": "gp2",
         "Encrypted": false
      }
   },
   {
      "DeviceName": "/dev/sdb",
      "VirtualName": "ep0hemeral0"
   },
   {
      "DeviceName": "/dev/sdc",
      "VirtualName": "ephemeral2"
   }
],

AMI에서 인스턴스 스토어 볼륨에 대한 참조를 제거하거나 재정의

EC2 인스턴스가 인스턴스 스토어 볼륨을 사용한다고 확인한 후, AMI에서 인스턴스 스토어 볼륨에 대한 모든 참조를 제거하거나 재정의해야 합니다. 그런 다음 기존 EC2 인스턴스에서 인스턴스 스토어 볼륨을 추가하거나 제거할 수 없기 때문에 인스턴스를 다시 시작해야 합니다.

다음 중 한 가지 방법을 사용하여 인스턴스 스토어 볼륨에 대한 참조를 제거하거나 재정의하십시오.

  • AMI에서 인스턴스 스토어 볼륨에 대한 참조를 제거합니다. 그런 다음 인스턴스를 다시 시작합니다.
  • EC2 콘솔에서 EC2 인스턴스를 시작하여 인스턴스 스토어 볼륨을 지원하지 않는 인스턴스 유형에 대한 AMI를 재정의합니다.
  • AWS CLI에서 EC2 인스턴스를 시작하고 AMI에서 인스턴스 스토어 볼륨을 참조하는 각 디바이스를 수동으로 재정의합니다. 예를 들어 /dev/sdb 및 /dev/sdc 디바이스에 인스턴스 스토어 볼륨이 매핑된 경우, run-instances 명령을 사용하여 EC2 인스턴스를 시작합니다.
aws ec2 run-instances --image-id ami-11112222 --subnet-id subnet-11112222 --instance-type t2.medium
 --key-name my_key --associate-public-ip-address --block-device-mappings 
 '[{"DeviceName": "/dev/sdb","NoDevice": ""},{"DeviceName": "/dev/sdc","NoDevice": ""}]'
  • CloudFormation으로 EC2 인스턴스를 시작한 경우 CloudFormation 템플릿을 생성하여 인스턴스 스토어 볼륨에 대한 디바이스의 매핑을 재정의합니다. 예를 들면 다음과 같습니다.
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
   "I4EY8I": {
    "Type": "AWS::EC2::Instance",
    "Properties": {
     "ImageId" : "ami-11112222",
     "InstanceType" : "t2.medium",
     "SubnetId" : "subnet-11112222",
     "KeyName" : "my_key",
   "BlockDeviceMappings" : [
     {
       "DeviceName":"/dev/sdb",
       "NoDevice": {}
     },
     {
       "DeviceName":"/dev/sdc",
       "NoDevice": {}
     }
  ]
   }
  }
 }
}
  • SDK로 EC2 인스턴스를 시작한 경우, 관련 SDK 설명서에서 인스턴스 스토어 볼륨에 대한 디바이스의 매핑을 재정의하는 방법을 확인합니다.

페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2016-02-30

업데이트됨: 2018-12-12