diff --git a/pkg/resources/aws/aws.go b/pkg/resources/aws/aws.go index b19f151c6e..79671ad3c8 100644 --- a/pkg/resources/aws/aws.go +++ b/pkg/resources/aws/aws.go @@ -1339,7 +1339,13 @@ func FindNatGateways(cloud fi.Cloud, routeTables map[string]*resources.Resource, natGatewayId := aws.StringValue(ngw.NatGatewayId) forceShared := !ownedNatGatewayIds.Has(natGatewayId) - resourceTrackers = append(resourceTrackers, buildNatGatewayResource(ngw, forceShared, clusterName)) + ngwResource := buildNatGatewayResource(ngw, forceShared, clusterName) + resourceTrackers = append(resourceTrackers, ngwResource) + + // Dont try to remove ElasticIPs if NatGateway is shared + if ngwResource.Shared { + continue + } // If we're deleting the NatGateway, we should delete the ElasticIP also for _, address := range ngw.NatGatewayAddresses {