Как я могу получить Публичный IP моей задачи FARGATE ECS с конечной точкой метаданных или Java SDK? - PullRequest
0 голосов
/ 07 мая 2018

Я хочу получить общедоступный IP-адрес для моей задачи ECS fargate после запуска контейнера. Я получаю IPv4-адреса при запросе http://169.254.170.2/v2/metadata/, но не получаю публичный IP-адрес задачи.

Когда я использую метод RunTask (запрос) в RunTaskResult, я снова не получаю публичный IP-адрес от RunTaskResult.

Есть ли способ получить публичный IP-адрес моей задачи в Fargate, например, http://169.254.169.254/latest/meta-data/public-hostname (для EC2)?

1 Ответ

0 голосов
/ 10 мая 2018

Я решил свою проблему с 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...