![在某个实例上使用 EC2 命令行工具时出现问题](https://linux22.com/image/626317/%E5%9C%A8%E6%9F%90%E4%B8%AA%E5%AE%9E%E4%BE%8B%E4%B8%8A%E4%BD%BF%E7%94%A8%20EC2%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我在创建的新实例上遇到了 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