lastic Beanstalk 提供了与 Amazon Relational Database Service (Amazon RDS) 的集成以帮助您将数据库实例添加到 Elastic Beanstalk 环境。您可以使用 Elastic Beanstalk 在创建环境期间或之后将 MySQL、PostgreSQL、Oracle 或 SQL Server 数据库添加到您的环境。当您将数据库实例添加到您的环境时,Elastic Beanstalk 会通过设置数据库主机名、端口、用户名、密码和数据库名称的环境属性向您的应用程序提供连接信息。

属于您的环境一部分的数据库实例将关联到环境的生命周期。在将数据库实例添加到环境后,无法从环境中将其删除。如果终止环境,则会同时终止数据库实例。您可以配置 Elastic Beanstalk 使其在您终止环境时保存数据库的快照,并在您向环境中添加数据库实例时从快照中恢复数据库。您可能产生存储数据库快照的费用。

对于生产环境,您可以在您的环境之外启动一个数据库实例并将应用程序配置为在 Elastic Beanstalk 提供的功能范围之外连接到该实例。要使用环境外部的数据库实例,需要其他安全组和连接字符串配置。但是,这也使您能够从多个环境连接到数据库、使用集成数据库不支持的数据库类型、执行蓝/绿部署以及停用您的环境,而不会影响数据库实例。

在启动数据库实例并配置安全组后,您可以使用环境属性将连接信息(终端节点、密码等)传递到应用程序。这是当您在环境中运行数据库实例时,Elastic Beanstalk 使用的相同机制。

环境属性部分中,定义应用程序读取的用于构建连接字符串的变量。为了与具有集成 RDS 数据库实例的环境兼容,请使用以下内容。

  • RDS_HOSTNAME – 数据库实例的主机名。

    Amazon RDS 控制台标签 – 终端节点(这是主机名)

  • RDS_PORT – 数据库实例接受连接的端口。默认值因数据库引擎而异。

    Amazon RDS 控制台标签 – 端口

  • RDS_DB_NAME – 数据库名称,ebdb

    Amazon RDS 控制台标签 – 数据库名称

  • RDS_USERNAME – 您为数据库配置的用户名。

    Amazon RDS 控制台标签 – 用户名

  • RDS_PASSWORD – 您为数据库配置的密码。

为了提高安全性,您可以将连接信息存储在 Amazon S3 中,并将 Elastic Beanstalk 配置为在部署期间检索该信息。利用配置文件 (.ebextensions),您可以在部署应用程序时配置环境中的实例以从 Amazon S3 安全地检索文件。

在 Amazon S3 中存储连接字符串

使用环境属性向应用程序提供连接信息是将密码置于代码外的好方法,但这不是完美解决方案。环境属性可在环境管理控制台中发现,并且可由有权在环境上描述配置设置的任何用户查看。根据平台,环境属性还可能显示在实例日志中。

您可以通过在控制的 Amazon S3 存储桶中存储连接信息来锁定该信息。基本步骤如下所示:

  • 将包含连接字符串的文件上传到 Amazon S3 存储桶。

  • 向 EC2 实例配置文件授予读取该文件的权限。

  • 将您的应用程序配置为在部署期间下载该文件。

  • 在应用程序代码中读取该文件。

首先,创建存储桶来存储包含连接字符串的文件。在本示例中,我们将使用具有单个键和值的 JSON 文件。该值是 Amazon RDS 中的 PostgreSQL 数据库实例的 JDBC 连接字符串。

beanstalk-database.json

{ "connection": "jdbc:postgresql://mydb.b5uacpxznijm.us-west-2.rds.amazonaws.com:5432/ebdb?user=username&password=mypassword" }

------------------------------------------------------------------------------------------------------------

~/my-app/.ebextensions/database.config

Resources:AWSEBAutoScalingGroup:Metadata:AWS::CloudFormation::Authentication:S3Auth:type: "s3"buckets: ["my-secret-bucket-123456789012"]roleName: "aws-elasticbeanstalk-ec2-role"files:"/tmp/beanstalk-database.json" :mode: "000644"owner: rootgroup: rootauthentication: "S3Auth"source: https://s3-us-west-2.amazonaws.com/my-secret-bucket-123456789012/beanstalk-database.json

转载于:https://www.cnblogs.com/cloudrivers/p/11258383.html

向 Elastic Beanstalk 环境中添加数据库相关推荐

  1. aws beanstalk mysql_将数据库添加到 Elastic Beanstalk 环境 - AWS Elastic Beanstalk

    将数据库添加到 Elastic Beanstalk 环境 Elastic Beanstalk 提供了与 Amazon Relational Database Service (Amazon RDS) ...

  2. Elastic Beanstalk 环境的 Amazon EC2 实例

    配置您环境的 EC2 实例 可以在 Elastic Beanstalk 控制台 中修改您的 Elastic Beanstalk 环境的 EC2 实例配置. 在 Elastic Beanstalk 控制 ...

  3. 在Visual Studio中添加数据库和.xsd文件(DataSet)

    为了便于在VS 中对数据库进行操作,可以直接在VS中添加数据库 1.VS添加SQL数据库 右键solution----add existing item(添加已有类目)-----选择要添加的数据库文件 ...

  4. gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器

    gazebo仿真环境中添加robotiq 2f 140的gripper_controller控制器 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_f ...

  5. 【LaTeX技巧】 | LaTeX数学公式环境中添加删除线

    LaTeX数学公式环境中添加删除线 LaTeX数学公式环境中添加删除线 LaTeX数学公式环境中添加删除线 作者:刘兴禄,清华大学,博士在读 cancel包 下面是一个例子. \documentcla ...

  6. xampp里mysql的环境变量配置_XAMPP集成环境中MySQL数据库的使用

    在已经安装了XAMPP之后,会在你安装的目录下面出现"XAMPP"文件夹,这个文件夹就是整个XAMPP集成环境的目录. 我们先进入这个目录,然后会看到带有XAMPP标志的xampp ...

  7. Mysql生产环境表更新方案_生产环境中,数据库升级维护的最佳解决方案flyway

    官网:https://flywaydb.org/ 转载:http://casheen.iteye.com/blog/1749916 1.  引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的 ...

  8. Observability:在 Elastic Observability 部署中添加免费和开放的 Elastic APM - 7.x

    在最近的一篇文章中,我们向你展示了 如何开始使用 Elastic Observability 的免费开放层. 今天,我们将逐步介绍扩展部署所需的操作,以便你可以免费从应用程序性能监视(APM)或 &q ...

  9. 使用MybatisPlus在实体中添加数据库表中不存在的字段

    例如:age属性在表中不存在,在实体中添加age属性,需要在字段上加注解 @TableField(exist = false) @TableField(exist = false)private In ...

最新文章

  1. Java正则表达式细节1
  2. java 关于分页的实现
  3. 设计一个可扩展的用户登录系统
  4. linux怎么删干净mysql,linux怎么干净卸载mysql
  5. 将活动工作表生成 PDF,并通过电子邮件发送
  6. git reset, git checkout, git revert 区别 (译)
  7. Linux 搜索文件
  8. 亏了1000万,卖房卖车也要坚持梦想,值吗?
  9. python的zip函数_python的zip函数
  10. 植物病理学分类的高效网络体系结构的半监督噪声学生预训练
  11. [k8s]容器化node-expolore(9100)+cadvisor(8080)+prometheus(9090) metric搜集,grafana展示
  12. android studio怎么创建布局,Android Studio--活动创建简单布局
  13. EasyNLP 发布融合语言学和事实知识的中文预训练模型 CKBERT
  14. 河南星年华计算机科技有限公司怎么样,莫让年华逝流水
  15. MM物料账在制品承担差异功能及配置
  16. JAVA泛型与集合类
  17. 搭建腾讯云通用文字识别General OCR项目及代码部署图文教程
  18. 从Appstore宕机看DNS解析的重要性
  19. 程序员装机必备的十款软件
  20. maven源码阅读之二(plexus-classworlds)

热门文章

  1. python----读大文件
  2. 对一个整数的除法和取余问题
  3. pytest合集(7)— Mark标记
  4. sysctl 之内存释放及磁盘优化
  5. linux sched init简介
  6. Python 能写游戏吗?有没有什么开源项目?
  7. 你我皆凡人,小事里修行
  8. 【IT职场】面试中你必须要知道的语言陷阱
  9. WebGL(Threejs)工程师与三维设计师沟通注意事项
  10. wireshark捕获IP分片数据包实践