Elastic Beanstalk 和 EC2 实例连接:无法连接

Phi*_*tle 1 amazon-ec2 amazon-web-services amazon-elastic-beanstalk aws-visual-studio-toolkit

我从 Visual Studio 创建了 Elastic Beanstalk 环境,需要登录才能为底层 ec2 虚拟机提供服务。

\n

我没有服务器的凭据,因此我想使用EC2 Instance Connect

\n

当我点击连接时,我收到一条错误消息:

\n
\n

我们无法连接到您的实例。确保您的实例\xe2\x80\x99s 网络设置已针对 EC2 Instance Connect 正确配置。有关更多信息,请参阅任务 1:配置实例的网络访问。

\n
\n

通过链接,我找到了说明:

\n
\n
    \n
  • 确保与您的实例关联的安全组允许端口 22 上来自您的 IP 地址或网络的入站 SSH 流量。
  • \n
  • (Amazon EC2 控制台基于浏览器的客户端)我们建议您的实例允许来自为服务发布的推荐 IP 块的入站 SSH 流量。使用EC2_INSTANCE_CONNECT服务参数的过滤器来获取 EC2 Instance Connect 子集中的 IP 地址范围。
  • \n
\n
\n

如何通过 EC2 Instance Connect 连接到 EC2 底层的 Elastic Beanstalk?

\n

我尝试过的:

\n

我创建了一个包含我的客户端 IP 地址的新安全组,但这不起作用。这是有道理的,因为是在控制台中运行的 EC2 Instance Connect 应用程序进行 SSH 连接,而不是我的本地计算机。

\n

还查看了 ip 范围 json 文件 ( https://ip-ranges.amazonaws.com/ip-ranges.json ),但不确定如何处理它。

\n

在此输入图像描述

\n

Phi*_*tle 6

我误解了设置 EC2 实例连接说明。此支持文章有更清晰的说明: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-connect-troubleshooting/

基于浏览器的 SSH 连接要求实例的安全组入站规则允许EC2 Instance Connect 访问TCP 端口 22 上的 SSH。

关键是找到EC2 Instance Connect的 IP ,然后创建一个安全组以将该 IP 地址列入白名单。

可以使用(或curl)通过PowerShell 检索EC2 实例连接IP Get-AWSPublicIpAddressRange。对于 us-west-2:

> Get-AWSPublicIpAddressRange -Region us-west-2 -ServiceKey EC2_INSTANCE_CONNECT | select IpPrefix


IpPrefix
--------
18.237.140.160/29
Run Code Online (Sandbox Code Playgroud)

一旦我将我的安全组配置为使用该源,我就可以连接。

在此输入图像描述