默认启动并连接到外部 Amazon RDS 实例 VPC - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

默认启动并连接到外部 Amazon RDS 实例 VPC

以下过程描述了将外部 Amazon 实例连接到默认RDS实例的过程VPC。如果您使用的是自定义,则过程是一样的VPC。唯一的附加要求是环境和数据库实例位于同一子网中,或位于可以互相通信的子网中。有关配置自定义以与 Elastic Be VPC anstalk 配合使用的更多信息,请参阅。在亚马逊上使用 Elastic Beanstalk VPC

注意
  • 启动新数据库实例的另一种方法是从之前由 Elastic Beanstalk 创建随后与 Beanstalk 环境分离的数据库开始。有关更多信息,请参阅 将数据库添加到 Elastic Beanstalk 环境。使用此选项后,您无需完成启动新数据库的过程。但是,您确实需要完成本主题中介绍的后续过程。

  • 如果您开始使用由 Elastic Beanstalk 创建并随后与 Beanstalk 环境分离的数据库,则可以跳过第一组步骤,继续执行在 “修改实例安全组的入站规则” 下分组的步骤。RDS

  • 如果您计划为生产环境使用解耦数据库,请验证数据库使用的存储类型适合您的工作负载。有关更多信息,请参阅 Amazon RDS 用户指南中的数据库实例存储和修改数据库实例。

以默认方式启动RDS数据库实例 VPC
  1. 打开控制RDS台

  2. 在导航窗格中,选择 Databases(数据库)。

  3. 选择创建数据库

  4. 选择 Standard Create(标准创建)。

    重要

    请勿选择 Easy Create(轻松创建)。如果您选择它,则无法配置启动此RDS数据库所需的设置。

  5. Additional configuration(附加配置)下,对于 Initial database name(初始数据库名称),键入 ebdb

  6. 请查看默认设置并根据您的具体要求调整这些设置。请注意以下选项:

    • 数据库实例类别-选择具有适合您的工作负载的内存和CPU功率的实例大小。

    • Multi-AZ deployment(多可用区部署)– 为了实现高可用性,请将其设置为 Create an Aurora Replica/Reader node in a different AZ(在不同的可用区中创建 Aurora 副本/读取器节点)。

    • Master username(主用户名)和 Master password(主密码)– 数据库用户名和密码。请记下这些设置,因为您以后将使用这些值。

  7. 验证其余选项的默认设置,然后选择 Create database(创建数据库)。

接下来,修改附加到数据库实例的安全组以允许相应的端口上的入站流量。这与您稍后要附加到 Elastic Beanstalk 环境的安全组相同。因此,您添加的规则将向同一安全组中的其他资源授予入站访问权限。

修改挂载到您的RDS实例的安全组的入站规则
  1. 打开 Amazon RDS 控制台

  2. 选择 Databases(数据库)。

  3. 选择您的数据库实例的名称以查看其详细信息。

  4. Connectivity(连接)部分中,记下在该页上显示的 Subnets(子网)、Security groups(安全组)和 Endpoint(端点)。这样您稍后可以使用这些信息。

  5. Security(安全性)下面,您可以查看与数据库实例关联的安全组。打开链接,在 Amazon EC2 控制台中查看安全组。

  6. 在安全组详细信息中,选择 Inbound(入站)选项卡。

  7. 选择 Edit(编辑)。

  8. 选择 Add Rule(添加规则)。

  9. 对于 Type(类型),请选择应用程序使用的数据库引擎。

  10. 对于 Source(源),键入 sg- 以查看可用安全组的列表。请选择 Elastic Beanstalk 环境中使用的与 Auto Scaling 组关联的安全组。这样,环境中的 Amazon EC2 实例就可以访问数据库。

    用于在 Amazon EC2 控制台中编辑安全组入站规则的屏幕图像。
  11. 选择 Save(保存)。

接下来,将数据库实例的安全组添加到您的运行环境。在此过程中,Elastic Beanstalk 会重新配置环境中的所有实例,并附加其他安全组。

向环境添加安全组
  • 请执行以下操作之一:

    • 使用 Elastic Beanstalk 控制台添加安全组

      1. 打开 Elastic Beanstalk 控制台,然后在 “区域” 列表中,选择您的。 AWS 区域

      2. 在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。

        注意

        如果您有多个环境,请使用搜索栏筛选环境列表。

      3. 在导航窗格中,选择 Configuration(配置)。

      4. Instances(实例)配置类别中,选择 Edit(编辑)。

      5. EC2安全组下,除了 Elastic Beanstalk 创建的实例安全组外,还要选择要附加到实例的安全组。

      6. 要保存更改,请选择页面底部的 Apply(应用)。

      7. 阅读警告,然后选择 Confirm(确认)。

    • 要使用配置文件添加安全组,请使用 securitygroup-addexisting.config 示例文件。

接下来,使用环境属性将连接信息传递到环境。当您使用 El astic Beanstalk 控制台向环境中添加数据库实例时,Elastic Beanstalk 会使用环境属性RDS(例如 _)将连接信息传递给您的应用程序。HOSTNAME您可以使用相同的属性。这样,您就可以为集成的数据库实例和外部的数据库实例使用相同的应用程序代码。或者,您可以选择自己的属性名称。

为 Amazon RDS 数据库实例配置环境属性
  1. 打开 Elastic Beanstalk 控制台,然后在 “区域” 列表中,选择您的。 AWS 区域

  2. 在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。

    注意

    如果您有多个环境,请使用搜索栏筛选环境列表。

  3. 在导航窗格中,选择 Configuration(配置)。

  4. Updates, monitoring, and logging(更新、监控和日志记录)配置类别中,选择 Edit(编辑)。

  5. 环境属性部分中,定义应用程序读取的用于构建连接字符串的变量。为了与具有集成RDS数据库实例的环境兼容,请使用以下名称和值。您可以在RDS控制台中找到除密码之外的所有值。

    属性名称 描述 属性值

    RDS_HOSTNAME

    数据库实例的主机名。

    在 Amazon RDS 控制台的 “连接和安全” 选项卡上:终端节点

    RDS_PORT

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

    在 Amazon RDS 控制台的 “连接和安全” 选项卡上:端口

    RDS_DB_NAME

    数据库名称 ebdb

    在 Amazon RDS 控制台的配置选项卡上:数据库名称

    RDS_USERNAME

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

    在 Amazon RDS 控制台的配置选项卡上:主用户名

    RDS_PASSWORD

    您为数据库配置的密码。

    在 Amazon RDS 控制台中不可参考。

    添加了属性的环境RDS属性配置部分
  6. 要保存更改,请选择页面底部的 Apply(应用)。

如果您尚未将应用程序编程为读取环境属性和构建连接字符串,请参阅以下特定于语言的主题以获得指导:

最后,根据应用程序读取环境变量的时间,您可能需要在环境中的实例上重新启动应用程序服务器。

重新启动您的环境的应用程序服务器
  1. 打开 Elastic Beanstalk 控制台,然后在 “区域” 列表中,选择您的。 AWS 区域

  2. 在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。

    注意

    如果您有多个环境,请使用搜索栏筛选环境列表。

  3. 选择 Actions(操作),然后选择 Restart app server(s)(重启应用程序服务器)。