블로그 릴레이 - EC2 생성 시 발생하는 Not enough IP space available 문제 해결
안녕하세요! 클라우드 사업본부 컨설팅부의 김재욱입니다.
본 블로그는 당사의 한국어 블로그 릴레이의 2025년 아홉 번째 블로그입니다.
이번 블로그의 주제는「EC2 생성 시 발생하는 Not enough IP space available 문제 해결」입니다.
문제 발생
인스턴스 시작 실패
There are not enough free addresses in subnet 'subnet-xxxxxxxxxx' to satisfy the requested number of instances.
EC2 인스턴스 생성 시 다음과 같은 에러 미시지가 출력되었습니다.
실제 출력된 콘솔 화면에서 확인하면 다음과 같습니다.
문제 해결
문제 원인으로는 생성하고자 하는 서브넷에서 사용할 수 있는 IP 제한에 있습니다.
예를 들어 현재 VPC와 서브넷의 CIDR는 다음과 같다고 가정합니다.
- VPC : 10.0.0.0/26
- Public Subnet 1 : 10.0.0.0/28
- Public Subnet 2 : 10.0.0.16/28
- Private Subnet 1 : 10.0.0.32/28
- Private Subnet 1 : 10.0.0.48/28
여기서 하나의 서브넷당 사용할 수 있는 범위는 10.0.0.0/28 ~ 10.0.0.15/28 까지입니다.
즉 16개의 IP를 사용할 수 있다는 것입니다.
하지만, 일반적으로 아래의 두 가지의 IP는 예약 주소로 사용할 수가 없습니다.
- 10.0.0.0 : 네트워크 주소입니다.
- 10.0.0.255 : 네트워크 브로드캐스트 주소입니다.
그러므로 현재 사용할 수 있는 IP 주소는 14개가 됩니다. AWS 콘솔 화면에서 사용 가능한 IPv4 주소를 확인하면 어떨까요?
AWS 콘솔 화면에서 확인했더니 사용 가능한 IPv4 주소가 예상했던 14개가 아니라 11개로 표시가 됩니다.
11개로 표시되는 이유는 네트워크 주소, 브로드캐스트 주소 이외에도 AWS에서 예약 주소를 사용하고 있기 때문입니다.
- 10.0.0.0 : 네트워크 주소입니다.
- 10.0.0.1 : AWS가 VPC 라우터용으로 예약했습니다.
- 10.0.0.2 : AWS에서 예약
- 10.0.0.3 : 향후 사용을 위해 AWS에서 예약합니다.
- 10.0.0.255 : 네트워크 브로드캐스트 주소입니다.
이렇게 5개의 예약 주소를 사용하고 있기 때문에 현재 AWS에서 생성한 Subnet에서 사용 가능한 IPv4 주소는 11개가 되는 것입니다.
즉, EC2 인스턴스를 더이상 생성할 수 없었던 이유는 사용할 수 있는 IPv4 주소를 전부 사용했기 때문에 더이상 생성할 수 없었던 것입니다.
AWS 콘솔 화면에서 확인해 보면, 사용 가능한 IPv4 주소가 0인 것을 확인할 수 있습니다.
IP 사용이 필요하게 되는 케이스는 다음과 같습니다.
- EC2 인스턴스 생성
- Elastic IP 할당
- NAT 게이트웨이 생성
- VPC Endpoint 생성
- 로드 밸런서 생성
각 리소스마다 소모하는 IP 주소는 다른데, 예를 들어 로드 밸런서의 경우 8개의 사용 가능한 IP 주소를 확보해야 합니다.
IP 주소가 6개인 상태에서 로드 밸런서를 생성해 보겠습니다.
Not enough IP space available in subnet-xxxxxxxx. ELB requires at least 8 free IP addresses in each subnet.
IP 주소가 충분하지 않다고 에러 메시지가 출력됩니다.
이처럼 리소스를 생성할 때는 충분한 IP 주소를 확보하는 것이 필수적이며, 이는 네트워크 설계 단계에서 신중하게 고려해야 할 중요한 요소임을 강조합니다.
생성하려는 리소스뿐만 아니라, 향후 추가로 생성할 리소스까지 고려하여 네트워크를 설계하는 것이 바람직합니다.
마무리
이상, 한국어 블로그 릴레이의 2025년 아홉 번째 블로그「EC2 생성 시 발생하는 Not enough IP space available 문제 해결」편이었습니다. 다음 열 번째 블로그 릴레이는 4월 첫째 주에 공개됩니다.
끝까지 읽어주셔서 감사합니다! 이상, 클라우드 사업본부 컨설팅부의 김재욱이었습니다.