인스턴스 시작 문제 해결 - Amazon Elastic Compute Cloud

인스턴스 시작 문제 해결

다음 문제 때문에 인스턴스를 시작할 수 없습니다.

잘못된 디바이스 이름

설명

새 인스턴스를 시작하려고 할 때 Invalid device name device_name 오류가 발생합니다.

원인

인스턴스를 시작하려고 할 때 이 오류가 발생하면 요청에서 하나 이상의 볼륨에 대해 지정된 디바이스 이름에 잘못된 디바이스 이름이 있는 것입니다. 가능한 원인은 다음과 같습니다.

  • 선택한 AMI에서 디바이스 이름을 사용 중일 수 있습니다.

  • 디바이스 이름이 루트 볼륨용으로 예약되어 있을 수 있습니다.

  • 요청에서 다른 볼륨에 디바이스 이름을 사용할 수 있습니다.

  • 디바이스 이름이 운영 체제에 유효하지 않을 수 있습니다.

솔루션

문제 해결

  • 선택한 AMI에서 디바이스 이름이 사용되지 않았는지 확인합니다. 다음 명령을 실행하여 AMI에서 사용하는 디바이스 이름을 확인합니다.

    $ aws ec2 describe-images --image-id ami_id --query 'Images[*].BlockDeviceMappings[].DeviceName'
  • 루트 볼륨용으로 예약된 디바이스 이름을 사용하고 있지 않은지 확인합니다. 자세한 정보는 사용 가능한 디바이스 이름을 참조하십시오.

  • 요청에 지정된 각 볼륨에 고유한 디바이스 이름이 있는지 확인합니다.

  • 지정한 디바이스 이름이 올바른 형식인지 확인하세요. 자세한 정보는 사용 가능한 디바이스 이름을 참조하십시오.

인스턴스 제한 초과됨

설명

새 인스턴스를 시작하려 할 때 혹은 중지된 인스턴스를 다시 시작하려 할 때 InstanceLimitExceeded 오류가 발생합니다.

원인

새 인스턴스를 시작하거나 중지된 인스턴스를 다시 시작하려 할 때 InstanceLimitExceeded 오류가 발생하면, 한 리전에서 시작할 수 있는 인스턴스 제한에 도달한 것입니다. AWS 계정을 생성할 때 리전별로 실행할 수 있는 인스턴스의 기본 제한이 설정됩니다.

솔루션

리전을 기준으로 인스턴스 한도 증가를 요청할 수 있습니다. 자세한 정보는 Amazon EC2 서비스 할당량을 참조하십시오.

부족한 인스턴스 용량

설명

새 인스턴스를 시작하려 할 때 혹은 중지된 인스턴스를 다시 시작하려 할 때 InsufficientInstanceCapacity 오류가 발생합니다.

원인

인스턴스를 시작하거나 중지된 인스턴스를 다시 시작하려 할 때 이 오류가 발생하면 현재 AWS에 요청을 이행할 만큼 충분한 가용 온디맨드 용량이 없는 것입니다.

솔루션

다음에 따라 문제를 해결하세요.

  • 몇 분 정도 기다린 후 다시 요청을 제출합니다. 용량은 자주 변할 수 있습니다.

  • 인스턴스 수가 줄어든 새 요청을 제출하세요. 예를 들어 단일 요청을 통해 인스턴스 15개를 시작하는 경우 인스턴스 5개에 대해 요청 3개 또는 인스턴스 1개 대신 요청 15개를 시도합니다.

  • 인스턴스를 시작하고 있는 경우 가용 영역을 지정하지 않고 새 요청을 제출하세요.

  • 인스턴스를 시작하고 있는 경우 이후의 단계에서 크기를 조정할 수 있는 다른 인스턴스 유형을 사용하여 새 요청을 제출하세요. 자세한 정보는 인스턴스 유형 변경을 참조하십시오.

  • 클러스터 배치 그룹으로 인스턴스를 시작한 경우 용량 부족 오류가 발생할 수 있습니다. 자세한 정보는 배치 그룹 규칙 및 제한 사항을 참조하십시오.

요청된 구성이 현재 지원되지 않습니다. 지원되는 구성은 설명서를 참조하세요.

설명

지원되지 않는 인스턴스 구성으로 새 인스턴스를 시작하려고 하면 Unsupported 오류가 발생합니다.

원인

오류 메시지에서 추가 세부 정보를 확인할 수 있습니다. 예를 들어 지정된 리전 또는 가용 영역에서 인스턴스 유형 또는 인스턴스 구매 옵션이 지원되지 않을 수 있습니다.

솔루션

다른 인스턴스 구성을 시도합니다. 요구 사항에 맞는 인스턴스 유형을 검색하려면 Amazon EC2 인스턴스 유형 찾기 섹션을 참조하세요.

인스턴스 즉시 종료

설명

인스턴스가 pending 상태에서 terminated 상태로 전환됩니다.

원인

인스턴스가 즉시 종료되는 이유에는 다음과 같이 몇 가지가 있습니다.

  • EBS 볼륨 제한을 초과했습니다. 자세한 정보는 인스턴스 볼륨 제한을 참조하십시오.

  • EBS 스냅샷이 손상되었습니다.

  • 루트 EBS 볼륨이 암호화되었는데 사용자는 암호 해독을 위하여 KMS 키에 액세스할 권한이 없습니다.

  • AMI에 대한 블록 디바이스 매핑에 지정된 스냅샷이 암호화되었는데 사용자가 암호 해독을 위해 KMS 키에 액세스할 권한이 없거나 복원된 볼륨을 암호화하기 위해 KMS 키에 액세스할 수 없습니다.

  • 인스턴스를 시작하는 데 사용한 인스턴스 스토어 지원 AMI에 필수 부분(image.part.xx 파일).

자세한 내용을 알아보려면 다음 방법 중 하나를 사용하여 종료 이유를 확인하세요.

Amazon EC2 콘솔을 사용해서 종료 이유를 파악하는 방법

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택하고 인스턴스를 선택합니다.

  3. 첫 번째 탭에서 상태 전환 이유(State transition reason) 옆에 나온 이유를 확인합니다.

AWS Command Line Interface을 사용해서 종료 이유를 파악하는 방법

  1. describe-instances 명령을 사용하여 인스턴스 ID를 지정합니다.

    aws ec2 describe-instances --instance-id instance_id
  2. 명령으로 반환된 JSON 응답을 검토하고 StateReason 응답 요소의 값을 확인합니다.

    다음 코드 블록은 StateReason 응답 요소의 예를 보여 줍니다.

    "StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },

AWS CloudTrail을 사용해서 종료 이유를 파악하는 방법

자세한 내용은 AWS CloudTrail 사용 설명서에서 CloudTrail 이벤트 기록을 사용하여 이벤트 보기를 참조하세요.

솔루션

종료 이유에 따라 다음 작업 중 하나를 수행합니다.

  • Client.VolumeLimitExceeded: Volume limit exceeded — 사용되지 않는 볼륨을 삭제합니다. 볼륨 제한을 늘리도록 요청을 제출할 수 있습니다.

  • Client.InternalError: Client error on launch - 볼륨 복호화 및 암호화에 사용되는 AWS KMS keys에 액세스하는 데 필요한 권한이 있는지 확인합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 AWS KMS의 키 정책 사용을 참조하세요.