Question


특정 Type의 EC2 Instance가 아래 오류를 반환하며 인스턴스를 시작할 수 없습니다.


오류 메시지:

We currently do not have sufficient `[Instance Type]` capacity in the Availability Zone you requested `(az)`. Our system will be working on provisioning additional capacity. You can currently get g4dn.xlarge capacity by not specifying an Availability Zone in your request or choosing `[another az]`.






Cause


EC2 생성 및 중지 → 재시작시에 Insufficient capacity 에러가 발생하는 원인으로는,

현재 AWS(Amazon Web Services)에 요청을 완료하기 위한 온디맨드 가용 용량이 부족하기 때문입니다.


이 경우, 위와 같이 InsufficientInstanceCapacity 오류가 표시됩니다.






Answer


    1. "용량이 확보될 때까지 잠시 기다리세요."

용량은 동적이기 때문에 어느정도의 시간이 지난 후에 요청 시 인스턴스를 시작할 수 있습니다.


용량은 자주 바뀔 수 있습니다. ("용량 부족" 오류는 용량 팀이 용량을 추가하거나 현재 실행 중인 인스턴스를 넘기면 저절로 해결됩니다.)

이 용량은 고객의 요구에 따라 동적으로 변경되기 때문에 최종 용량에서 ETA/가 발생하지 않습니다.




    2. "인스턴스 유형 변경을 고려할 수 있습니다."

향후에 인스턴스 유형의 크기를 필요한 원래 유형으로 조정할 수 있습니다.




    3. "인스턴스에서 AMI를 생성한 다음 AMI를 용량이 확보된 다른 region으로 복사하여 실행할 수 있습니다."

위와 같은 이슈의 원인은 해당 region 또는 AZ에 충분한 인스턴스 가용 용량이 없기 때문에 발생합니다.

따라서 인스턴스를 다른 VPC 또는 다른 서브넷과 가용 영역으로 이동하는 방안을 고려할 수 있습니다.


하지만 기존 인스턴스를 다른 서브넷, 가용 영역 또는 VPC로 이동할 수는 없으므로

대신하여 기존 인스턴스에서 새 AMI를 생성하여 인스턴스를 수동으로 마이그레이션 하셔야 합니다.


그런 다음 원하는 서브넷, 가용 영역 또는 VPC에서 새 AMI를 사용하여 새 인스턴스를 시작합니다.

마지막으로 소스 인스턴스의 탄력적 IP 주소를 새 인스턴스로 재할당할 수 있습니다.


인스턴스를 마이그레이션하는 방법은 AWSSupport-CopyEC2Instance를 사용하는 방법과 수동으로 인스턴스를 복제하는 방법이 있습니다.


아래는 간단하게 수동으로 인스턴스를 복제하여 새 인스턴스를 시작하는 방법입니다.




    **새로운 이미지 생성**

1. [Amazon EC2 콘솔]을 열고 왼쪽 탐생창에서 [**인스턴스(Instances)**]를 선택합니다.



2. 이동할 인스턴스를 선택한 다음 [**작업(Actions)**] → [**인스턴스 상태(Instance State)**] → [**중지(Stop)**]를 선택합니다. 그러면 데이터가 이전 EBS 볼륨과 새 EBS 볼륨 사이에서 일관되게 유지됩니다. 


**참고** 이 절차를 테스트하는 경우 또는 인스턴스를 중지하거나 다시 부팅하지 않으려는 경우 이 단계를 건너뛸 수 있습니다.



3. [**작업(Actions)**] → [**이미지(Image)**] → [**이미지 생성(Create Image)**]를 선택합니다. **이미지 이름**에 이미지의 이름을 입력합니다. 

[**이미지 설명(Image description)**]에 이미지에 대한 설명을 입력합니다.


**참고** [**이미지 생성(Create Image)**] 페이지에서 [**재부팅 안함(No reboot)**]을 선택하는 경우 이미지의 파일 시스템 무결성은 보장할 수 없습니다.



4. [**이미지 생성(Create Image)**]을 선택합니다.



5. [**수신된 이미지 생성 요청(Create Image request received)**]에서 [**보류 중인 이미지 [ID] 보기(View pending Image [ID]**]를 선택합니다.

[**상태(Status)**]가 [**보류 중(pending)**]에서 [**사용 가능(available)**]으로 변경될 때까지 기다립니다.


**참고** 탐색 창의 [**이미지(Image)**] 섹션에서 [**AMI**]를 선택해도 보류 중인 이미지를 확인할 수 있습니다.


새로운 이미지를 생성하신 후, 해당 AMI를 선택한 후 시작합니다.




   **탄력적 IP 주소 재할당**

탄력적 IP 주소를 다시 할당하려면 먼저 소스 인스턴스에서 탄력적 IP 주소를 연결 해제해야 합니다.

그런 다음 탄력적 IP 주소를 새 인스턴스와 다시 연결할 수 있습니다.


    **참고**

탄력적IP 주소는 하나의 리전에서만 사용할 수 있습니다. 인스턴스를 다른 리전으로 이동하는 경우 동일한 탄력적 IP 주소를 사용할 수 없습니다.





    4. "가용 영역을 지정하지 않고 인스턴스를 시작합니다."





    5. "장기 솔루션은 온디맨드 용량 예약 또는 영역 예약 인스턴스를 사용하는 것입니다."

이러한 옵션 중 하나를 사용하면 지정된 AZ에서 계정에 대해 예약된 용량이 보장되고 용량 부족 오류가 발생할 가능성이 크게 줄어듭니다.


"온디맨드 용량 예약" 또는 "영역 예약 인스턴스"와 관련 내용은 아래 링크를 참고하여 주시기 바랍니다 :) 

→ [AWS] On-demand 용량 예약 방법






위 내용 관련하여 궁금증이 해결되지 않으셨거나,

추가 문의 사항이 있으시면 저희 고객 지원 포털에 문의 남겨주시기 바랍니다.