当前位置: 首页 > 知识库问答 >
问题:

无法通过公共ip地址在同一安全组中的两个EC2实例之间通信?

汪建白
2023-03-14

我无法使用公共ip连接到同一安全组中的另一个EC2实例。

如果我尝试使用公共DNS名称和私有IP进行连接,它工作正常。

到目前为止,我做了什么:

  • 已创建两个 EC2 公有实例
  • 已将两个实例附加到安全组 sg-12345
  • 已添加入站规则
    • 所有流量,源 = sg-12345
    • SSH 端口 = 22,源 = 我的 ip (这是从我的桌面登录到我的 EC2 实例)

共有1个答案

景信瑞
2023-03-14

当您使用公共IP时,流量离开您的VPC并返回,此时它不再被识别为来自该安全组。这看起来就像随机的互联网流量。为了安全和速度,坚持使用私有IP。

来自文档:

当您指定一个安全组作为规则的源时,对于指定的协议和端口,允许来自与源安全组相关联的网络接口的通信。基于与源安全组关联的网络接口的专用IP地址(而不是公共IP或弹性IP地址)允许传入流量。

 类似资料:
  • 我已经创建了一个专有网络。在同一子网中的该 VPC 内,有两个 ec2 实例。第一个应用程序上有一个已部署的应用程序,第二个应用程序上安装了mysql。我已将应用程序设置为连接到已安装数据库的实例,但没有成功。我将复制安全组配置和数据库配置。如何使这两个实例都进行通信,并且应用程序从第一个实例开始使用第二个实例上的数据库。他们都有公共IP,可以互相ping。 DB连接 安全组有两个安全组,都分配给

  • 无法通过公共IP访问EC2 Ubuntu 18.04服务器 重启工作EC2实例 正常重启,没有错误 安全组,检查80,443的入站OK 我还能查什么?

  • 我已经在本地机器上安装了Jenkins(ubuntu 19.10)。我可以使用或连接到Jenkins。但是,我无法使用我的公共ip地址连接到Jenkins!! 我试图通过以下方式解决这个问题: 修改。我修改HTTP_HOST为和 Jenkins档案中的JENKINS_ARGS是 JENKINS_ARGS=“--webroot=/var/cache/$NAME/war--httpPort=$HTTP

  • 只有当安全组有来自安全组本身的ICMP ping条目时,我才能在不同子网中的两个EC2实例之间公开ping,如下所示: 我的两个 EC2 实例都附加了此安全组。出站规则保留为默认值,即允许所有出站流量。如果我将源更改为“0.0.0.0/0”,那么我就可以在它们之间ping,但是我想将其锁定以仅允许此特定安全组中的此行为。 下面是我的两个EC2实例中应用的安全组的图像: 我原以为此策略将允许安全组内

  • 我在2个不同的私有子网中有2个EC2实例,都位于负载均衡器后面。我想通过域名https url在两个实例中的应用程序之间设置通信。我该怎么做?

  • 我有两个AWS EC2实例,它们试图通过自定义TCP端口相互通信。每个实例都有自己的安全组,但两者都不能相互通信。 这是我的设置: EC2实例1 名称:实例-1 公共IP地址:aaa.bbb.ccc。ddd 安全组ID:sg-xxxxxxxxxx 1 SG入站规则:无 SG出站规则: 类型:所有流量,协议:全部,端口范围:全部,目标:0.0.0.0/0 EC2 实例 2 < li >名称:实例-2