访问在 Elastic Beanstalk 中创建的 RDS 实例

Access an RDS instance created in Elastic Beanstalk

设置新的 Elastic Beanstalk 集群时,您可以通过执行以下操作访问您的 EC2 实例:

eb ssh

但是,目前还不清楚如何访问RDS实例。

如何在 Elastic Beanstalk 上下文中访问 RDS 以执行 CRUD 操作?

RDS 是一种托管数据库服务,这意味着您只能通过数据库调用来访问它。

如果它是 MySQL 数据库,您可以通过 mysql 通过您的 EC2 实例访问,如下所示:

mysql -u user -p password -h rds.instance.endpoint.region.rds.amazonaws.com

或使用所需的设置将其设置为与您的应用一起使用。

确保您正确设置了安全组,以便您的 EC2/other 服务可以访问您的 RDS 实例。

更新: 如果你想要你想要的东西,那么你应该使用带有 mysql 服务器的 EC2 实例。它的成本相同(即使相比之下性能损失了一小部分)。不使用时也可以关闭的 EC2 实例。

通过调整 RDS 安全组,可以从任何地方访问 RDS 命令行。

Check your AWS VPC configuration.

The security-group will need to be adjusted to allow you to connect from a new source/port.

  1. Find the security Group-id for the RDS.
  2. Find that group in AWS Console > VPC > secuirty groups
  3. Adjust the Inbound and Outbound Rules accordingly.
    • You need to allow access to/from the IP or security group that needs to connect to the RDS.

发件人:

在那之后,剩下的就是配置任何你想用来操作数据库的本地数据库工具。

编辑:

另外请注意,如果 ElasticBeanstalk 环境配置为使用 RDS,则 EC2 实例将使用连接到 RDS 所需的信息设置环境变量。

这意味着您可以将这些变量导入到任何需要访问的代码中。

也可以在 Elastic Beanstalk 环境配置中设置自定义环境变量,这些也可以通过这种方式包含。

PHP

define('RDS_HOSTNAME', getenv('RDS_HOSTNAME'));
$db = new rds(RDS_HOSTNAME);

Linux 命令行

mysql --host=$RDS_HOSTNAME --port=$RDS_PORT -u $RDS_USERNAME -p$RDS_PASSWORD