介绍
亚马逊关系数据库服务(RDS)是一个网络服务,它使在云中更容易设置,操作和扩展关系数据库并管理通用管理任务。 Amazon RDS目前支持Mariadb,MySQL,Oracle,PostgreSQL和Microsoft SQL引擎。
AWS当前提供15个专用构建的数据库选项,以支持各种数据库模型。这些模型包括:关系,键值,内存,图形,时间序列,范围和分类帐数据库。
要选择要使用的型号,您应该考虑;业务目标,从本地数据库到云的迁移策略,针对您需要的内容,数据注意事项,安全考虑等优化。要完全了解如何为您的业务选择最佳数据库服务,您可以访问AWS Decision Guide
在本教程中,我们将讨论如何使用Amazon RDS数据库部署托管MySQL实例。优先使用托管服务来在EC2实例上手动设置它,因为它完全提供了连续的监视,自我修复存储和自动缩放,以帮助您专注于应用程序开发和用户。
亚马逊RDS
先决条件
要遵循本教程,您将需要一个AWS帐户。如果您还没有一个,则可以遵循本指南,以了解如何set-up your environment。
这里描述的步骤在自由层下,因此请随时玩。
创建一个MySQL DB实例
- 要开始,打开AWS Management Console,然后在顶部窗格的左侧选择 Services 。这将显示AWS从数据库提供的服务列表,到容器等等。由于我们对数据库服务感兴趣,因此我们单击它,然后选择 rds 打开 Amazon RDS Console
- 在 Amazon RDS控制台中,要做的第一件事是选择要创建数据库的区域。 注意:根据您的帐户类型,有些区域无法访问。
区域是孤立的其他区域,作为错误的耐受性和稳定性机制,而且数据也不会自动从一个区域传输到另一个区域。因此,如果您切换区域,则不会在新区域中找到相同的数据。
- 要创建数据库,请滚动到创建数据库部分,然后选择创建数据库
- 如果您想设置自己的配置选项,包括创建时可用性和安全性的配置选项,则应使用标准create 选项,否则,您可以使用易于创建强>使用推荐的最佳实践来配置您的数据库,其中一些可以在创建之后更改。
- 选择要从RDS支持的引擎选项列表中运行的引擎。出于本教程的目的,将使用 mySQL 引擎,并且应维护默认版本和版本。选择免费层模板
一个区域具有多个孤立位置,称为可用性区域。启用多AZ部署将自动提供并保持其他可用性区域中的同步待机,以确保在一个区域故障的情况下可容忍。但是,这是付费功能,因此在本教程中不会讨论它。
-
接下来要做的是为DB实例定义一些关键设置。这些包括;
db实例标识符:当前区域中AWS帐户拥有的所有DB实例的唯一名称。
主用户名:将用于登录MySQL实例的用户名。
主密码:一个至少包含8个ASCII字符的密码(不包括',', @和/p>
确认主密码:重新输入您的密码
- 对于实例规范,选择db.t2.microâ1vcpu,1 gib ram 实例类型,通用目的(SSD) 用于存储类型和 20 GB 用于分配的存储。该规格确保我们保持在自由层范围内。有关RDS定价的更多信息,请参见Amazon RDS pricing
应为无法预测的工作负载启用自动化,但这超出了免费层的使用能力。
-
在连接性下,要注意的一件关键是VPC。 Amazon virtual private cloud(VPC)使您可以将AWS资源启动到虚拟私有云中,以便您可以创建自己的子网,访问控制列表,选择自己的IP地址并配置路由。在VPC中运行DB实例没有其他成本,并且在默认VPC中创建了所有新的DB实例,除非明确更改。对于本教程,我们将使用默认 vpc。
在 VPC安全组下,选择创建新的。这创建了一个入站规则,该规则允许从您当前使用的设备的IP地址连接到创建的数据库。
。另外,通过将此字段设置为'是YES ',确保您的DB实例是公开访问,以使您可以直接从设备连接到数据库。<<<<<<< /p>
rds代理允许您的应用程序汇总和共享数据库连接,从而提高其扩展能力。我们将不选中此选项。要查看有关RDS代理的定价的更多信息,请访问Amazon RDS Proxy pricing
其他设置作为此配置的默认设置。
-
数据库身份验证定义了如何在查看数据库之前对用户进行身份验证。选项是:
密码身份验证;仅使用数据库密码。
密码和IAM数据库身份验证;通过IAM用户和角色使用数据库密码和用户的凭据。此选项仅在MySQL和PostgreSQL引擎上可用。
密码和Kerberos身份验证;通过使用AWS目录服务创建的AWS托管Microsoft AD使用数据库密码和Kerberos身份验证。
为了简单起见,请从选项列表中选择密码身份验证方法。
要留在自由层中,请留下启用增强的监视未选中。监视可为您的OS实时实时指标。
在附加配置部分中,在数据库选项下,初始数据库名称是DB实例上数据库的名称。如果未提供名称,则RDS在创建时不会创建数据库(Oracle或PostgreSQL除外)。我们将使用默认选项组和 db参数组。有时,您可能有能力创建自己的DB参数组或选项组。
rds创建了整个数据库实例的存储卷快照,备份整个数据库实例,而不仅仅是特定数据库。
在备份下,检查启用自动备份的选项。
备份保留期确定保留自动备份的天数,对于本教程,将其设置为 1天。
如果您想设置应在此期间发生备份的日常范围,请选择选择一个窗口选项,并为您的首选窗口设置时间。如果没有,您只需选择 ,这就是我们在这里做的。
打开启用维护下的自动次要版本更新。这将使我们在可用时收到自动更新。就像在备份中一样,我们可以设置设置特定的维护窗口或选择不偏好。
我们需要做的最后一件事是关闭本教程启用删除保护。启用此选项将阻止您意外删除数据库。
瞧!选择创建数据库以创建DB实例。
这可能需要一段时间,具体取决于分配给数据库的实例类和存储。当状态更改为可用时,您的实例已完成。
在创建时,您可以继续在本地计算机上设置MySQL环境的下一步。
连接到MySQL数据库
在此步骤中,我们将连接到使用MySQL CLI创建的MySQL数据库。继续前进之前,请确保已安装了MySQL CLI。连接字符串是:
mysql -h **_endpoint_** -P **_port_** -u **_user_** -p
端点和端口可以在配置和安全性选项卡下找到。 用户是 Master用户名,在创建数据库时设置了可以在配置下找到的数据库选项卡。
当您单击Enter时,您会被提示输入密码,这也将是 Master密码,也将在创建DB实例
和瞧,您已连接到数据库。如果我们显示数据库列表,我们会看到一些MySQL随附的默认数据库以及创建实例时创建的数据库。
这就是我们连接到Amazon RDS MySQL数据库实例的方式。
恭喜。现在,您可以插入数据并运行查询。您也可以创建新数据库。
删除DB实例
为了不浪费资源和随着时间的流逝而产生的成本,最好如果您不使用它,我们删除了DB实例。
要这样做,返回RDS控制台。选择数据库,然后选择要删除的实例,然后在操作下下拉列表,选择 delete 。
。您会被问到是否要创建数据库的最终快照。如果您想将以后的所有数据恢复数据库的当前状态,请选择此选项。在本教程中,我们将不选中该选项。
确认您要删除实例,然后单击删除
执行这些操作将永久删除数据库实例。
结论
在本教程中,我们看到了亚马逊RDS数据库是什么,以及为什么要手动设置自己的数据库的选择。我们还研究了RDS支持的各种引擎,并专注于使用MySQL引擎在RDS服务上创建MySQL数据库实例。然后,我们能够将此远程实例连接到本地计算机并运行基本查询。最后,我们看到了如何永久删除数据库实例。
故障排除
如果您重新启动网络,则创建入站函数的VPC安全组允许您从计算机上连接到实例,因为计算机的IP地址可能已更改,因为您的IP地址可能已更改。
要解决此问题,请选择您的数据库,然后在连接性和安全性下在 VPC安全组下选择您的VPC安全组。
。这将带您到“安全组”页面,您可以在其中看到不同的安全组,出站和入站规则并配置它们。入站规则定义允许哪些资源连接到实例,而出站规则定义了允许实例与之建立连接的资源。
从这里开始,我们可以继续编辑我们的入站规则,以允许我们的设备与它连接。
您唯一需要在此处编辑的是,根据规则的源,选择我的IP 更改IP地址,允许资源连接到,到设备的IP地址。单击“保存规则”,现在,您将能够像以前一样连接。