- Newest
- Most votes
- Most comments
It seems you just have to wait (24h?).
CIDR I could not de-provision yesterday because of existing allocation with a VPC are now allocation-free and thus de-provision-able.
answered a year ago
Thanks for confirming — sounds like IPAM eventually auto-released the allocation after some delay, even without deleting the VPC.
When you're trying to delete an IPAM pool but encountering issues due to allocations, you're facing a common challenge with IPAM resource management. Here's how to resolve this situation:
The error you're seeing occurs because you cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it, even if the VPC shows the CIDR associations as "disassociated".
To resolve this issue, you have two options:
- Release the allocation first, then delete the pool:
- Use the
release-ipam-pool-allocationcommand to release the allocation from your VPC - You'll need the IPAM pool ID and the allocation ID, which you can get with
describe-ipam-poolsandget-ipam-pool-allocationscommands - After releasing the allocation, you can deprovision the CIDR and then delete the pool
- Use the cascade option to delete everything at once:
- When deleting the IPAM pool, you can use the
--cascadeoption with thedelete-ipam-poolcommand - This will automatically release any allocations in the pool before deleting it
- This is useful when you don't want to remove allocations one by one
Note that when you release a CIDR that's managed by IPAM, it takes time for the CIDR to become available for future allocations - a few minutes in the Advanced Tier or up to 48 hours in the Free Tier.
For manual allocations specifically, you must either ignore/delete the resource CIDR (for private scope) or delete the resource CIDR (for public scope) before the allocation can be fully released.
Make sure to run these commands in the region that matches the locale of your IPAM pool.
Sources
DeleteIpamPool - Amazon Elastic Compute Cloud
delete-ipam-pool — AWS CLI 2.27.41 Command Reference
Release an allocation - Amazon Virtual Private Cloud
release-ipam-pool-allocation — AWS CLI 2.27.41 Command Reference
Amazon EC2 examples using AWS CLI - AWS SDK Code Examples
answered a year ago
I cannot cascale delete the IPAM pool, because it is "part of a public scope".
$ aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-2 --cascade An error occurred (InvalidParameterValue) when calling the DeleteIpamPool operation: ipam-pool: ipam-pool-2 is part of a public scope and cannot be cascade deleted.
Hi,
Just a quick note — IPAM pools work in both private and public scopes, but only pools in the private scope can be cascade deleted.
AWS doc:-
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2/client/delete_ipam_pool.html
Boto3 doc delete_ipam_pool:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2/client/delete_ipam_pool.html
Best
answered a year ago
OK. But how can I manually find associations/allocations of those public pools in order to manually deassociate/deallocate+delete them?
hi, have you deleted the VPC?
wait few minutes to see the IPAM Auto-release the allocation ( IPAM should automatically release onces the VPC deleted.
doc: https://docs.aws.amazon.com/vpc/latest/ipam/release-alloc-ipam.html#auto-release
i thought i copy past this doc in my previous answer, i should have asked you this before.
Best
answered a year ago
I did not delete the VPC (and don't want to).
ok! got it.
you have already looked into it, but just in case:
To find commands references help for IPAM:
https://docs.aws.amazon.com/cli/latest/reference/ec2/
Look under these sections:
get-ipam-pool-allocations
deprovision-ipam-pool-cidr
delete-ipam-pool
release-ipam-pool-allocation
Use Find Ctrl+F on page to quick search.
answered a year ago
Relevant content
asked a month ago
asked 2 years ago
- AWS OFFICIALUpdated 4 years ago

Is there a long delay for resource to be actually removed from VPC?
The documentation about IPAM allocation releasing states we need to wait 48 hours but it's for re-using the CIDR (and I don't specially want to reuse them):