python - Elastic Beanstalk 从 shell SSH 连接到 RDS

标签 python ssh amazon-ec2 amazon-elastic-beanstalk amazon-rds

我在连接到 PostgreSQL RDS 的 Elastic Beanstalk EC2 实例上有一个 python 应用程序。

我的应用程序运行良好,并使用 Elastic Beanstalk 设置的环境变量来连接数据库:

os.environ['RDS_DB_NAME']
os.environ['RDS_USERNAME']
os.environ['RDS_PASSWORD']
os.environ['RDS_HOSTNAME']
os.environ['RDS_PORT']

但是,当我使用 SSH 登录 EC2 实例时,这不起作用。未设置 RDS 环境变量。由于我的应用程序在浏览器中运行,我认为它不可能是安全组。我还尝试在激活 virtualenv 的情况下访问变量。

当我有 SSH 连接时,如何让弹性 beanstalk 定义这些变量?

最佳答案

我今天早上想通了:

环境变量不是在 virtualenv 中设置的,而是由另一个脚本设置的。首先,您必须激活 virualenv,然后您需要通过激活“当前”目录中的 env 脚本来加载变量。像这样:

source /opt/python/run/venv/bin/activate
source /opt/python/current/env

Beanstalk RDS 变量现在已设置并可供您在 SSH 中执行的任何脚本使用。

关于python - Elastic Beanstalk 从 shell SSH 连接到 RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21255525/

相关文章:

python - Flask Python 中的 HTTP 状态 405 和 Restful API

SSH IdentitiesOnly=yes 转发我所有的 key

git - 为什么 Jenkins 的 Git 插件用额外的斜杠重写我的本地 git repo url?

node.js - 有没有办法指定哪个 ssh key 应该用于 npm install

amazon-ec2 - 在 AWS EC2 上添加新的 Spark worker - 访问错误

linux - 无需密码即可通过 ssh 连接到 ec2 实例

ssl - 域在浏览器控制台中显示 403 Forbidden

php - 如何创建像 Stripe checkout 这样的弹出窗口

python - 将操作应用于多个变量

Python,制作一个两次没有相同输出的杂务列表