首页 > 解决方案 > 如何将部署在弹性 benstalk 上的 Web 应用程序与 aws 上的 mysql 数据库实例连接起来?

问题描述

我在弹性 beantalk 上部署了一个 Web 应用程序。我已经为它配置了 MySQL 数据库。在安全组的数据库实例中,我做了以下更改:类型(MYSQL/Aurora)、协议(TCP)、端口范围(3306)和源(0.0.0.0/0)。当我尝试使用 Web 应用程序将数据插入数据库或使用部署在弹性 beanstalk 上的 Web 应用程序从数据库中获取数据时,我无法做到。如 aws 网站上所述,我已对 servlet 代码进行了更改,但未在 web 应用程序和 aws 上的 RDS 之间建立连接。我不知道我在哪里做错了。请帮助我实现它。

标签: javamysqlservletsamazon-rdsamazon-elastic-beanstalk

解决方案


请按照以下步骤从 Web 应用程序连接 mysql 实例:

  • 从 RDS 实例复制端点,这将是您的 mysql 数据库的主机名。
  • SSH 进入 EC2 实例
  • 使用 mysql 使用以下命令连接到 RDS 实例:

    mysql -u 用户名 -p -h 主机名


其中 HOSTNAME 是您的 RDS 实例的端点。

此外,您提到您在 VPC 安全组中有入站的所有流量。这不是连接到数据库的推荐方式。应始终保护数据库不受外界影响。您必须明确提及连接的来源。
例如:
   Type Protocol Port Range Source  
MySQL/Aurora TCP 3306 应用的安全组id


推荐阅读