【发布时间】:2021-06-06 14:02:21
【问题描述】:
启动 AWS EC2 实例似乎很简单,但在连接到新启动的实例时,事情变得棘手。连接到这样一家科技巨头提出的实例的过程非常违反直觉。
作为一个简短的提醒,我应该补充一点,从技术上讲,“实例”是在 Amazon 的 Elastic Compute Cloud (EC2) 上运行的虚拟机,有关更多信息,请查看this link。
本讨论中提到的 ec2 实例是 Ubuntu Server 20.04 LTS (HVM)。 使用 EC2 Linux 实例的说明为here。
AWS EC2 提出了三种不同的实例连接方式:
- EC2 实例连接(基于浏览器的 SSH 连接),
- 会话管理器
- SSH 客户端
现在关于连接到上述实例,只有某些连接正确建立,其余建议的方法都失败了,这里是连接成功和失败的列表:
- Ubuntu 实例,安全组源“Custom=0.0.0.0/0”,使用 EC2 Instance Connect(基于浏览器的 SSH 连接)和 SSH 客户端建立连接。
- Ubuntu 实例,安全组源“My IP=$IP”,仅使用 SSH 客户端(Ubuntu 上的终端和 Windows 上的 PuTTY)建立连接,而不使用 EC2 实例连接。
以上两种情况都已在 Ubuntu 20.04 和 Windows 10 作为本地机器上进行过尝试,两台机器上的问题仍然相似。我经历了here 提出的故障排除文档中讨论的大多数故障案例,并在我的实例上进行了验证。然而问题依然存在。我还应该补充一点,我从未尝试过“会话管理器”连接方法,尽管打开它的选项卡已经可以提供一些关于“未安装”代理和功能的信息。
关于这个问题的任何想法?有人遇到同样的问题吗?
【问题讨论】:
-
发布了一个解决方案,如果它对您有任何帮助,您可以接受它作为答案,以便将来帮助其他人:)
-
@JatinMehrotra 感谢您提出的解决方案,您能指定我应该在哪里运行您建议的命令吗?我应该在本地机器上运行它吗?如果是,我确实运行了它,但它没有返回任何值。
-
如果您使用的是 Windows,请使用此
Get-AWSPublicIpAddressRange -Region us-east-1 -ServiceKey EC2_INSTANCE_CONNECT | select IpPrefix将 us-east-1 替换为您启动 ec2 的区域,否则对于 linuxc 或 macos,请使用此curl -s https://ip-ranges.amazonaws.com/ip-ranges.json| jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'(注意 linux 和 macos 命令将需要在运行此命令之前,您必须拥有 curl 和 jq 实用程序) -
@JatinMehrotra,我在输入区域名称时犯了一个小错误,现在它已修复,并且运行良好,我可以使用 EC2 Instance Connect(基于浏览器)进行连接。再次感谢您。
-
很高兴为您提供帮助 :)
标签: amazon-web-services amazon-ec2 aws-ec2-instance-connect