有关使用AWS RDS环境变量连接到我的AWS RDS数据库的问题

时间:2015-01-07 21:19:35

标签: amazon-web-services database-connection flask-sqlalchemy

在我托管在AWS上的Flask-SQLAlchemy应用程序中,我利用我通过构建我的数据库连接URI与我的应用程序环境关联的RDS实例添加的环境变量

application.config['SQLALCHEMY_DATABASE_URI'] = 
      'mysql://{}:{}@{}:{}/{}'.format(
             os.environ['RDS_USERNAME'], 
             os.environ['RDS_PASSWORD'],
             os.environ['RDS_HOSTNAME'],
             os.environ['RDS_PORT'],
             os.environ['RDS_DB_NAME'])  

这样可以正常工作,但是我有几个问题让我很不舒服,并且想知道我是否可以(或者应该打扰)修复:

  1. RDS_DB_NAME(ebdb)与我在开发机器上使用的数据库名称不同,而不是一个非常有用的名称;但是在我创建数据库时使用"在EB环境的配置页面的"数据层"部分中创建新的RDS数据库"我知道我可以通过在上面的代码中硬编码不同的数据库名称来否决这个值,但有没有办法在AWS中更改名称?
  2. RDS_USERNAME对应于RDS实例的(初始)配置对话框调用"主用户"默认情况下获得广泛的权限;但是该用户在应用程序中扮演的角色仅限于应用程序所需的任何功能。是否有任何理由不(可能严格地)限制此用户的权限?我是否在思考" Master"装置
  3. RDS_PASSWORD作为环境变量公开的事实令我担心(特别是考虑到它也被称为"主密码")。我也过度思考这个吗?此密码是否用于"主要用户&#34 ;;以外的任何其他密码。是在风险环境中暴露它?
  4. 简而言之:(1)我可以在AWS上的某处更改数据库名称; (2)我可以对待" Master"用户只是我应用程序中的用户(根据需要更改权限,没有副作用); (3)我是否需要担心密码是否为环境变量?

0 个答案:

没有答案