AWS Elasti c Beanstalk: неизвестный хозяин - PullRequest
0 голосов
/ 30 января 2020

Когда мое приложение работает на AWS Elasti c Beanstalk пытается вызвать quicksight через AWS JAVA SDK, я получаю java.net.UnknownHostException: quicksight.ca-central-1.amazonaws.com.

Когда я sh в базовый экземпляр EC2, ping не может разрешить хост либо

[ec2-user@ip-xx-xx-xx-xx ~]$ ping quicksight.ca-central-1.amazonaws.com
ping: unknown host quicksight.ca-central-1.amazonaws.com

Я не могу разрешить это путем редактирования /etc/hosts, потому что это среда автоматического масштабирования.

Я проверил группы безопасности, но все исходящие трафик c, по-видимому, разрешены. enter image description here

Я проверил VP C, но разрешение DNS и имена хостов включены, и среды beanstalk в VP C могут разрешать хосты. enter image description here

Кто-нибудь знает, что еще это может быть?

Спасибо!

1 Ответ

0 голосов
/ 30 января 2020

Проблема заключалась в том, что я создавал клиент Quicksight без указания региона

quickSightClient = QuickSightClient.create() // this was the problem

Таким образом, по умолчанию использовался регион по умолчанию для аутентифицированного пользователя, который локально был US-East-1, но EC2 prod экземпляр был в CA-Central-1, который не имеет конечных точек быстрой видимости. Таким образом, это не было разрешением, потому что хост на самом деле не существует.

Я попытался определить следующую переменную среды AWS_REGION=us-east-1 в консоли Elasti c Beanstalk; но я не мог заставить это работать. Кажется, это не имеет значения

Поэтому вместо этого я явно установил регион в своем коде.

quickSightClient = QuickSightClient.builder().region(Region.US_EAST_1).build()

Проблема решена!

...