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

同一 VPC 中的两个公有 EC2 实例之间的 AWS 通信

时旭东
2023-03-14

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

DB连接

spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=update
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://some_ip:3306/demo
spring.datasource.username=root
spring.datasource.password=root

安全组有两个安全组,都分配给每个ec2实例。

添加的id是这个组的ID。

共有1个答案

滑乐逸
2023-03-14

在您的安全组中,您不允许数据库需要通过端口3306进行通信

在您的应用服务器上安装mysql-client您可以使用cli查看是否可以使用以下命令连接到数据库mysql服务器:

mysql -h mysql://some_ip -u root
 类似资料:
  • 我无法使用公共ip连接到同一安全组中的另一个EC2实例。 如果我尝试使用公共DNS名称和私有IP进行连接,它工作正常。 到目前为止,我做了什么: 已创建两个 EC2 公有实例 已将两个实例附加到安全组 sg-12345 已添加入站规则 所有流量,源 = sg-12345 SSH 端口 = 22,源 = 我的 ip (这是从我的桌面登录到我的 EC2 实例)

  • 有两个EC2窗口实例放置在同一个VPC和同一个公共子网中,具有相同的安全组。我想检查两者是否能够使用ping命令相互通信。我在安全组和NACL级别都添加了规则。除了“所有”流量之外,所有ICMP也被单独包含在内。但我无法测试相同的。请建议是否有其他方法可以检查两个ec2窗口实例之间的连接?

  • 我的目标是在VPC上的私有子网中创建一个EC2实例,我可以从外部互联网ping该实例。 到目前为止,我已经: < li >创建弹性IP < li >创建了一个带有一个公共子网和一个专用子网的VPC < li >在公共子网上创建NAT网关,并将其公共IP设置为弹性IP < li >在专用子网上的VPC中创建了EC2实例 < li >为EC2实例创建了允许所有ICMP流量的安全组 当我尝试ping弹性

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

  • 我有一个专有网络,在每个AZ为我的EC2提供专用子网。在专有网络中,我的ElastiCache(Redis)实例也有专用子网。设置是这样的 我还有安全组和NACL来控制对子网中资源的访问 当我想从运行在其中一个EC2实例上的程序访问ElastiCache群集时,我必须指定群集endpoint-例如: 我知道,使用读卡器endpoint可以实现读卡器实例之间的负载平衡,但由于所有资源都位于同一VPC

  • 如何从运行在AWS中同一VPC、同一子网但不同安全组的实例B ping EC2实例A,两者都运行在公用子网上,如果我添加了VPC的CIDR阻塞范围而不是公用IP,并且我想命中公用IP,我就能够从B ping到实例A的专用IP