Я решил свою проблему с DescribeNetworkInterfacesRequest. Я получаю частный IP своего контейнера с помощью curl http://169.254.170.2/v2/metadata/, затем запускаю этот код.
AmazonEC2 ec2AsyncClient= AmazonEC2ClientBuilder.standard().withCredentials(new
AWSStaticCredentialsProvider(credentials)).build();
DescribeNetworkInterfacesRequest request = new DescribeNetworkInterfacesRequest();
request.withFilters(new Filter().withName("private-ip-address").withValues("my-container-private-Ip"));
DescribeNetworkInterfacesResult result = ec2AsyncClient.describeNetworkInterfaces(request);
String publicIP = result.getNetworkInterfaces().get(0).getAssociation().getPublicDnsName();