使用 Amazon Aurora Serverless 配置并连接无服务器 MySQL 数据库

教程

简介

在本课程中,您将学习如何配置并连接 Amazon Aurora Serverless。

Amazon Aurora 是一项关系数据库服务,兼容 MySQL和 PostgreSQL 版本,以极低的成本提供企业级数据库的性能和可用性。Aurora Serverless 是 Aurora 的一种按需、自动扩缩配置。使用 Aurora Serverless,您的数据库将自动启动、关闭以及根据应用程序的需求纵向扩缩容量,从而避免为未使用的资源付费,同时仍享有 Aurora 的高可用性、扩展性和速度优势。

传统方式下,数据库管理需要执行相当多的猜测工作:提前预测新应用程序所需的不可知且多变的计算和存储增长;管理开发和测试数据库等易变的工作负载;保持大量数据库容量可用,却很少使用。使用 Aurora Serverless,您无需执行这些猜测工作。Aurora Serverless 可在应用程序需要时增加数据库存储和计算容量,并在应用程序需要较少的容量时缩减容量。数据库处于活动状态期间,按秒支付所用数据库容量的费用,此外,只需在 AWS 管理控制台中轻点几下鼠标,即可在标准配置和无服务器配置之间迁移。

在本教程中,您将创建并配置一个新的 Aurora Serverless 数据库集群。本教程将使用兼容 MySQL 的 Amazon Aurora,但对于 PostgreSQL 版本,可以执行类似的步骤。为了访问这个新 Aurora Serverless 集群,我们将创建一个 Cloud9 环境,然后允许从 Cloud9 环境到该集群的网络流量。然后使用安装在 Cloud9 环境中的 MySQL 命令行工具登录集群。最后,清除并终止 Cloud9 环境和 Aurora Serverless 数据库集群。

本教程不在免费套餐范围内,只要您按照教程中的步骤进行操作并在本教程结束时终止您的资源,所需费用将不超过 1 美元。

 所需费用

不到 1 美元

  使用的服务

 前提条件(必需)

本教程不在免费套餐范围内。只要您按照教程中的步骤进行操作并在本教程结束时终止您的资源,所需费用将不超过 1 美元。

操作步骤

  • 在此步骤中,您将前往 Relational Database Service (RDS) 控制台,以便创建 Aurora Serverless 数据库集群。

    a. 打开​ AWS 管理控制台,以便您边操作边参考这份步骤指南。页面加载后,输入您的用户名和密码即可开始使用。然后,在搜索栏中输入 RDS,并选择 RDS,打开该服务控制台。

    Select RDS to open the service console
  • 在此步骤中,您将使用 Amazon RDS 创建 Aurora Serverless 数据库集群。

    a. 在 Amazon RDS 页面上,在左侧导航栏中点击 Databases(数据库)。

    Select clusters from the left pane

    b. 在 RDS > Databases(RDS > 数据库)页面,点击 Create database(创建数据库)。

    Select create database

    c. 在 Create database(创建数据库)页面上,选择以下选项:

    • 对于 Choose a database creation method(选择数据库创建方法),选择 Standard create(标准创建)。
    • 对于 Engine options(引擎选项),选择 Amazon Aurora
    • Edition(版本)下,选择 Amazon Aurora MySQL-Compatible Edition(Amazon Aurora MySQL 兼容版本)。
    • 然后,选择提供 Serverless 选项的数据库版本。截至本文撰写时,该选项适用于 5.7 和 2.10.2 版本
    Select Amazon Aurora

    d. 在 Templates(模板)栏中,选择 Dev/Test(开发/测试)作为本教程的模板。

    Leave these default values

    e. 在 Settings(设置)栏的 DB cluster identifier(数据库集群标识符)字段中,输入 MyClusterName。

    Master username(主用户名)和 Master password(主密码)字段设置为所选择的值,并存储用户名和密码,供以后使用。

    Leave these default values

    f. 在 Instance configuration(实例配置)部分中,保留默认值。
    内存优化型实例可加速在内存中处理大型数据集工作负载的性能。
    可突增性能实例可提供基准级别的CPU 性能,并能够在需要时超出这一基准。

    Select Create Database

    g. 在 Availability & durability(可用性与持久性)部分中,保留默认值。

    Click on MyClusterName

    h. 在 Connectivity(连接)部分中,在 Virtual private cloud (VPC)(虚拟私有云 (VPC))列表中,点击 Create new VPC(创建新 VPC)。在 Subnet group(子网组)列表中,点击 Create new DB Subnet Group(创建新的数据库子网组)。对于 Public access(公共访问),保留默认值。对于 VPC security group(VPC 安全组),选择 Create new VPC security group(创建新的 VPC 安全组)并输入 MyClusterGroup。之后的步骤中,您将修改此安全组以允许数据库客户端的网络流量访问新的 Aurora Serverless 集群。对于 Availability Zone(可用区),保留默认值 No preference(无偏好)。

    将其余设置保留默认选择,然后点击 Create database(创建数据库)。

    Record the VPC value and Database endpoint values for use later on

    i. 当 RDS > Databases(RDS > 数据库)页面加载完毕,您的 MyClusterName 集群将显示为 Creating(创建中)状态。点击集群列表中的 myclustername-instance-1,访问有关集群的详细信息。

    Click on MyClusterName

    j.  您将看到 MyClusterName 详细信息页面加载。此页面包含用于查看连接性和安全性、监控信息、日志和事件、配置详细信息、维护和备份以及标签的选项卡。

    Connectivity & security(连接性和安全性)选项卡中,记录 VPC 值和 Endpoint(端点)值,供本教程的后续步骤中使用。

    Click on MyClusterName
  • 创建 MyClusterName 集群后,下一个任务是在同一 VPC 内创建数据库客户端。要完成此任务,您将创建一个 Cloud9 环境,用作数据库客户端。

    a. 从 AWS 管理控制台,在搜索栏中输入 Cloud9,然后选择 Cloud9,打开该服务控制台。

    Select Cloud9 to open the service console

    b. 在 AWS Cloud9 页面上,点击 Create environment(创建环境)。

    Select create environment

    c. 在 Name environment(命名环境)页面的 Name(名称)字段中,输入 MyCloud9Env,然后点击 Next step(下一步)。

    Specify "MyCloud9Env" name

    d. 在 Configure setting(配置设置)页面上,将 Environment type(环境类型)保留为 Create a new EC2 instance for environment (direct access)(为环境创建新的 EC2 实例 (直接访问)),将 Instance type(实例类型)保留为 t2.micro,将 Platform(平台)保留为 Amazon Linux 2

    Configure setting screen

    e. 由于 Aurora Serverless 数据库集群没有可公开访问的端点,因此您的 MyClusterName 只能从同一 VPC 内进行访问。

    要将 MyCloud9Env 与 MyClusterName 放在同一 VPC 中,请在 Configure setting(配置设置)界面向下滚动,然后展开 Network settings (advanced)(高级网络设置)部分。从 Network (VPC)(网络 (VPC))下拉列表中,选择在步骤 2j 中记录的 MyClusterName 的 VPC。

    点击 Next step(下一步)。

    Expand Network Settings (Advanced)
    Expand Network Settings (Advanced)
  • 在此步骤中,您将设置 Cloud9 环境以便它能访问 Serverless 数据库集群网络。要完成此步骤,您将添加分配给 MyCloud9Env 的安全组,作为分配给 MyClusterName 的安全组的流量源。安全组是一个虚拟防火墙,用于控制网络中的网络流量。

    a. 为了便于导航,点击此处在另一个浏览器标签页中打开 AWS 管理控制台。在新的浏览器窗口中,在搜索栏中输入 VPC,然后从列表中选择 VPC

    Select VPC from the list

    b. 在 VPC Dashboard(VPC 控制面板)上的左侧导航栏中,点击 Security groups(安全组)。

    Group Name(组名称)列中,找到以 aws-cloud9-MyCloud9Env 开头的安全组。记下该安全组的组 ID。

    例如,在右侧的屏幕截图中,您需要记下以 4e0d 结尾的安全组 ID。您的组 ID 将与此屏幕截图中显示的不同。

    Note the group ID of this security group

    c. 在安全组列表中,选择以 MyClusterGroup 开头的安全组。

    然后,点击 Inbound Rules(入站规则)选项卡。

    接着,点击 Edit inbound rules(编辑入站规则)。

    Select the Inbound Rules tab

    d. 在 Edit inbound rules(入站规则)页面上,点击 Add rule(添加规则)。

    Type(类型)列中,从下拉列表中选择 MySQL/Aurora。

    然后,点击 Source(源)列字段,将显示一个下拉列表。选择在步骤 4b 中记录的安全组 ID。然后,点击 Save rules(保存规则)。

    例如,在右侧的屏幕截图中,您将从列表中选择以 4e0d 结尾的安全组 ID。您的特定组 ID 将与此屏幕截图中显示的不同。

    Add another rule in the Inbound Rules tab
  • 在此步骤中,您将从 Cloud9 环境访问 Aurora Serverless 数据库集群。

    a. 切换回 MyCloud9Env 浏览器窗口。 

    在 MyCloud9Env 的 bash 终端选项卡中,输入以下命令。用您的主用户名和数据库端点替换命令中的值,然后按 Enter 键。

    mysql --user=[your Master username] --password -h [your database endpoint]

    出现提示时,输入主密码并按 Enter 键。

    您现在应该已经连接至 MyClusterName Aurora Serverless 数据库集群了!

    Bash terminal tab in MyCloud9Env

    b. 可以使用建立的连接向 Aurora Serverless 数据库集群发出命令。例如,可以将以下命令粘贴到 MyCloud9Env bash 选项卡中,显示服务器上的数据库:

    show databases;
    Show the databases on the server by pasting the command into the MyCloud9Env bash tab
  • 在此步骤中,您将终止 Aurora 数据库集群和 Cloud9 环境。

    重要说明:终止当前未使用的资源可降低成本,这是一种最佳做法。

    a. 从顶部菜单中,在搜索栏中输入 RDS。点击 RDS,返回 Amazon RDS 控制台。

    Select RDS to go back to the Amazon RDS Console

    b. 在 Amazon RDS 控制台页面的左侧导航栏中,点击 Databases(数据库)。从集群列表中,选择 myclustername-instance-1。从 Actions(操作)菜单中选择 Delete(删除)。出现提示时,在相应的字段中输入 delete me,确认删除。

    Select clusters from the left pane

    c. 从顶部菜单中,在搜索栏中输入 Cloud9,然后选择 Cloud9,打开该服务控制台。

    Select Cloud9 to open the service console

    d. 从 Your environments(您的环境)页面中,选择 MyCloud9Env,然后点击 Delete(删除)。确认 MyCloud9Env 删除。

    Confirm the deletion

恭喜您

恭喜您!您已经学会了如何配置启用 Docker 的应用程序并部署到 Amazon ECS 以及删除该应用程序。Amazon ECS 是一种高度可扩展、高性能的容器管理服务,支持 Docker 容器,使您能够在 Amazon EC2 实例的托管集群上轻松运行应用程序。

后续步骤

了解有关 Aurora Serverless 的更多信息

下一步 »

阅读 Aurora Serverless 用户指南

下一步 »