AWS Elastic Beanstalk:未知主机

问题描述 投票:0回答:1

当我在AWS Elastic Beanstalk上运行的应用程序尝试通过AWS JAVA SDK调用quicksight时,我得到java.net.UnknownHostException: quicksight.ca-central-1.amazonaws.com

当我进入基础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解决此问题,因为这是一个自动缩放环境。

我检查了安全组,但是似乎所有出站流量都被允许。enter image description here

我检查了VPC,但是启用了DNS解析和主机名,并且VPC中的beantalk环境可以解析主机。enter image description here

有人知道这还有什么吗?

谢谢!

amazon-web-services networking amazon-ec2 amazon-elastic-beanstalk amazon-vpc
1个回答
0
投票

问题是我在创建Quicksight客户端时未指定区域

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

因此,它默认为经过身份验证的用户的默认区域,该区域本地为US-East-1,但EC2 prod实例位于CA-Central-1中,该实例没有Quicksight端点。因为主机实际上不存在,所以它没有解决。

我试图在Elastic Beanstalk控制台中定义以下环境变量AWS_REGION=us-east-1;但我无法使它正常工作。似乎没有什么改变

因此,我改为在代码中显式设置区域。

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

问题已解决!

© www.soinside.com 2019 - 2024. All rights reserved.