设置新的Elastic Beanstalk集群时,您可以通过以下方式访问EC2实例:
eb ssh
但是,目前尚不清楚如何访问RDS实例。
如何在Elastic Beanstalk上下文中访问RDS以执行CRUD操作?
答案 0 :(得分:1)
RDS是托管数据库服务,这意味着您只能通过数据库调用访问它。
如果它是一个MySQL数据库,你可以通过你的EC2实例通过mysql访问:
mysql -u user -p password -h rds.instance.endpoint.region.rds.amazonaws.com
或将其设置为与您的应用程序一起使用所需的设置。
确保正确设置安全组,以便您的EC2 /其他服务可以访问您的RDS实例。
<强>更新强>: 如果你想要你想要的东西那么你应该使用带有mysql服务器的EC2实例。它会花费相同的成本(即使相比之下损失了一小部分性能)。 EC2实例可以在不使用时关闭。
答案 1 :(得分:1)
通过调整RDS安全组,可以从任何地方访问RDS命令行。
检查您的AWS VPC配置。
安全组需要 调整为允许您从新的源/端口连接。
- 查找RDS的安全组ID。
- 在AWS控制台中查找该组&gt; VPC&gt; secuirty groups
- 相应地调整入站和出站规则。
醇>
- 您需要允许访问/来自需要连接到RDS的IP或安全组。
FROM:https://stackoverflow.com/a/37200075/1589379
之后,剩下的就是配置您想用来操作数据库的任何本地数据库工具。
修改强>
另外需要注意的是,如果ElasticBeanstalk环境配置为使用RDS,则EC2实例将设置环境变量,其中包含连接到RDS所需的信息。
这意味着您可以将这些变量导入任何需要访问的代码。
自定义环境变量也可以在Elastic Beanstalk环境配置中设置,这些也可以这样包含。
define('RDS_HOSTNAME', getenv('RDS_HOSTNAME'));
$db = new rds(RDS_HOSTNAME);
mysql --host=$RDS_HOSTNAME --port=$RDS_PORT -u $RDS_USERNAME -p$RDS_PASSWORD