본 기사는 vCPU 할당량 제한으로 인해 새로운 EC2 인스턴스를 생성할 수 없거나, 기존에 보유중인 중지된 상태의 EC2 인스턴스를 다시 시작할 수 없는 경우에 대한 해결 방안을 제공합니다.
이슈
새로운 EC2 인스턴스를 생성하려고 시도할 때 vCPU 할당량 부족으로 인해 다음과 같이 오류가 발생되며 생성이 실패될 수 있습니다.
또는 기존에 생성되었으나 중지 상태의 EC2 인스턴스를 다시 시작할 때 vCPU 할당량 부족으로 인해 인스턴스를 시작하지 못할 수 있습니다.
이러한 실패된 EC2 인스턴스 생성 또는 시작 요청을 CloudTrail에서 확인하면 다음과 같은 오류와 메시지를 확인할 수 있습니다.
"errorCode": "Client.VcpuLimitExceeded",
"errorMessage": "You have requested more vCPU capacity than your current vCPU limit of X allows for the instance bucket that the specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit.“
해결 방법
다음 서비스 할당량(Service Quotas) 대쉬보드를 통해 직접 이슈가 발생된 AWS 계정 및 리전에 대한 vCPU 할당량 및 사용 현황을 확인하고 할당량 증가 요청을 하실 수 있습니다.
https://ap-northeast-2.console.aws.amazon.com/servicequotas/home/services/ec2/quotas
이슈가 발생되는 인스턴스의 종류에 따른 온디멘드 및 스팟 인스턴스의 vCPU 할댱량 정보 확인 및 증가 요청을 위해 다음 중 하나를 선택합니다.
예를 들어, 온디멘드 G 타입 인스턴스의 vCPU 할당량 정보 확인 및 증가 요청을 위해서는 "Running On-Demand G and VT instances" 할당량을 선택합니다.
- Running On-Demand DL instances
- Running On-Demand F instances
- Running On-Demand G and VT instances
- Running On-Demand High Memory instances
- Running On-Demand HPC instances
- Running On-Demand Inf instances
- Running On-Demand P instances
- Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances
- Running On-Demand Trn instances
- Running On-Demand X instances
- All DL Spot Instance Requests
- All F Spot Instance Requests
- All G and VT Spot Instance Requests
- All Inf Spot Instance Requests
- All P Spot Instance Requests
- All Standard (A, C, D, H, I, M, R, T, Z) Spot Instance Requests
- All Trn Spot Instance Requests
- All X Spot Instance Request
그리고 이를 통해 현재 적용된 할당량(Applied quota value) 및 사용량 모니터링 정보를 확인할 수 있으며 할당량 증가 요청(Request quota increase)를 요청하실 수 있습니다.
할당량 증가 요청을 위해서는 현재 적용된 할당량 대비 증가가 필요한 vCPU 갯수의 계산이 필요할 수 있습니다.
예를 들어, G 타입 온디멘드 EC2 인스턴스를 위해 현재 적용된 vCPU 할당량이 128 이면 64 vCPU가 필요한 'g4dn.2xlarge' 인스턴스를 2개까지 생성 및 시작할 수 있습니다. 그리고 3번째 'g4dn.2xlarge' 인스턴스를 생성하거나 시작하려고 할 때 vCPU 할당량 부족으로 인해 실패될 수 있습니다.
만약 3개의 'g4dn.2xlarge' 인스턴스가 시작되고 동시에 운영되는 것이 필요하다면 64개의 vCPU 할당량 증가가 필요합니다. 즉 기존에 할당된 vCPU 할당량 + 추가로 필요한 vCPU 갯수인 192 값으로 vCPU 할당량 증가를 요청해야 합니다. (128 + 64 = 192)
이와 관련하여 자세한 내용은 다음 참고절에서 확인할 수 있습니다.
[+] How do I request an EC2 vCPU limit increase for my On-Demand Instance?
https://repost.aws/knowledge-center/ec2-on-demand-instance-vcpu-increase
이후 이렇게 요청된 할당량 증가가 승인되면 변경 및 적용된 vCPU 할당량을 다시 확인하고 이러한 할당량 증가가 적용되는 유형의 인스턴스를 추가로 생성하거나 중지된 기존 EC2 인스턴스를 시작할 수 있습니다.