我在创建的新实例上遇到了 EC2 API 工具超时的一些问题。
昨天我拍摄了一张该工具运行正常的服务器的图像。我对它运行的软件和初始化脚本进行了一些更改,这些更改是支持我们新的部署系统所必需的。
今天,我为它设置了一个新的启动配置,并生成了一个新实例。我从原始实例登录到此实例,因为它只有一个私有 IP。现在,为了我们的部署,我需要能够访问具有特定标签的快照,这在原始实例上运行良好,但在新实例上它只是超时:
Unknown problem connecting to host: 'https://ec2.eu-west-1.amazonaws.com'
Unable to execute HTTP request: Connect to ec2.eu-west-1.amazonaws.com:443 timed out
我觉得这是一个配置问题,您能帮我解释一下我做错了什么吗?
澄清:
- 两个实例具有相同的密钥对名称。
- 两者都具有相同的安全组。
- 我遇到问题的服务器只能通过私有 IP 访问,公共 DNS、公共 IP 和弹性 IP 为空白。
任何帮助都感激不尽。
答案1
AWS API 通过 HTTP 进行通信,在欧盟地区,端点是https://ec2.eu-west-1.amazonaws.com
没有公共 IP 的 VPC 实例无法与该端点通信,因此无法使用 API 或 CLI 工具。
您必须分配公共 IP 或为您的 VPC 设置 HTTP 代理。
答案2
mschuett 是正确的,API 通常不适用于私有实例。
但是,您可以为您的私有子网设置一个 VPC 端点到 ec2.eu-west-1.amazonaws.com。 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html