spring - 同一 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。
解决方案
在您的安全组中,您不允许数据库需要通过该端口进行通信的端口 3306。
在您的应用服务器上安装 mysql-client 您可以使用 cli 查看是否可以使用以下命令连接到数据库 MySQL 服务器:
mysql -h mysql://some_ip -u root
推荐阅读
- node.js - 找不到模块:无法解析 './registerServiceWorker
- javascript - 在 iframe 中传递 javascript 变量
- php - 我无法访问 PHP 中的数组
- angular - 如何在Angular 7中更改文本后获取具有可变文本的HTMLElement的大小?
- wordpress - 在 wordpress 5.0 中关闭 div 时未捕获的语法错误
- haskell - 通过折叠从无限列表中删除连续重复项?
- node.js - 当 apt.get() 主体具有 while 循环功能时无法发送响应
- java - 将非静态属性传递给java中的超类
- ios - 在指定时间段内运行和暂停 ARSession
- python - 预期的字符串或类似对象的字节错误