首页 > 解决方案 > 同一 VPC 中两个公共 EC2 实例之间的 AWS 通信

问题描述

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

数据库连接

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。

在此处输入图像描述

EDIT1 - 第二个安全组
在此处输入图像描述

标签: springamazon-web-servicesamazon-ec2amazon-vpc

解决方案


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

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

mysql -h mysql://some_ip -u root

推荐阅读