AppML 使用 Amazon 数据库

Amazon RDS 是一种数据库云服务。

它易于设置和管理。

它可以免费试用!


什么是 Amazon Relational Database Service (RDS)

Amazon Relational Database Service (RDS) (亚马逊关系数据库服务) 是基于云的数据库服务。


为什么使用 Amazon RDS?

Amazon RDS 管理着运行数据库的许多挑战。

使用 Amazon RDS,您可以根据需要扩展性能和存储。

Amazon RDS 管理自动备份、修复和恢复。

它支持流行的数据库产品,如:

  • MySQL
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server
  • 以及与 MySQL 兼容的全新 Amazon Aurora DB 引擎

开始使用

在开始使用 RDS 之前,您需要注册 Amazon Web 服务,并设置数据库用户和安全组。


注册亚马逊网络服务

当您注册亚马逊 WEB 服务(AWS)时,您的 AWS 帐户将自动注册 AWS 中的所有服务,包括亚马逊 RDS。

如果你是 AWS 的新客户,你可以免费开始使用亚马逊 RDS。

AWS 免费层允许你在注册后 12 个月内免费试用 AWS。有关更多信息,请参阅 AWS Free Usage Tier

如果您决定在免费时间后继续使用 AWS(或者如果您需要比免费使用层提供的更多存储或性能),您只需为使用的资源付费。

要创建 AWS 帐户,请转到: https://aws.amazon.com/, 然后点击注册。

按照屏幕上的说明操作。记下你的 AWS 账号,因为你以后会需要它。


创建一个 MySQL 数据库实例

在本例中,我们将设置一个运行 MySQL 的免费数据库实例。(这是免费的,因为它是用于测试的)。

创建一个 MySQL 数据库实例:

  1. 转到亚马逊 RDS 控制台:https://console.aws.amazon.com/rds/
  2. 在导航中,单击 Instances 实例。
  3. 单击启动数据库实例
  4. 在选择引擎页面上,单击 MySQL 图标,然后单击 Select for the MySQL DB engine(选择 MySQL 数据库引擎)
  5. 选择 "No, this instance is intended for use outside of production……." 然后选择下一步。
  6. 在 Specify DB Details 页面上,按照说明进行操作(按照这些说明设置免费测试数据库)
对于这个选项:建议选择
License Modelgeneral-public-license(通用公共许可证)
DB Engine Version选择 MySQL 的默认版本
DB Instance Class选择 db.t2.micro(选择符合免费测试使用条件的配置)
Multi-AZ Deployment选择 No(否)
Storage TypeMagnetic (Standard)
Allocated Storage5
DB Instance Identifier输入数据库实例的名称(这不是数据库的名称)
Master Username输入数据库的用户名
Master Password输入用户的密码
Confirm Password确认密码

7.在 Configure Advanced Settings(配置高级设置)页面上,按照说明操作(按照这些说明设置免费测试数据库)

对于这个选项:建议选择
VPCDefault VPC
Subnet Groupdefault
Publicly AccessibleYes
Availability ZoneNo Preference
VPC Security Group(s)default
Database Name输入数据库的名称(在本例中,我们将向您展示如何创建我们在 AppML 教程中使用的 northwind 数据库)
Database Port3306 (除非你需要它在特定的端口上运行)
DB Parameter Group保持默认值
Option Group保持默认值
Enable EncryptionNo
Backup Retention Period7
Backup WindowNo Preference
Auto Minor Version UpgradeYes
Maintenance WindowNo Preference

8.单击 Launch 启动数据库实例9.单击 View 查看数据库实例10.新的 DB 实例出现在 DB 实例列表中(在准备好使用之前,它将处于 "creating" 状态)11.当状态更改为 "available" 可用时,您可以连接到数据库12.单击详细信息图标查看详细信息,并从 "Endpoint" 复制 URL,包括端口

Endpoint URL 应该如下所示:
  1. databasename.aaabbbcccddd.region.rds.amazonaws.com:3306

在 AppML 中配置数据库连接

要配置数据库连接,请编辑 appml_config 文件:

PHP 实例: appml_config.php
  1. <?php echo("Access Forbidden");exit();?>
  2. {
  3. "dateformat" : "yyyy-mm-dd",
  4. "databases" : [{
  5. "connection" : "mydatabase",
  6. "host" : "yourDatabaseURL",
  7. "dbname" : "yourDatabaseName",
  8. "username" : "yourUserName",
  9. "password" : "yourPassword"
  10. }]
  11. }

编辑以下内容:

  1. mydatabase - 更改为希望在应用程序中调用的任何数据库连接
  2. yourDatabaseURL - 从上一步更改为 Endpoint URL
  3. yourDatabaseName - 更改为您在 Amazon RDS 中为数据库指定的名称
  4. yourUserName - 更改为在 Amazon RDS 中为数据库指定的用户名
  5. yourPassword - 更改为您在 Amazon RDS 中为数据库指定的密码

AppML 现在应该配置为连接到 Amazon RDS 数据库。

现在可以将数据添加到数据库:

  • 如果您可以访问 PHP 服务器,这将在 AppML PHP 一章中介绍
  • 如果你有权访问 ASP.NET 服务器,这在 AppML .NET 一章中介绍

可选:创建 IAM 用户以提高安全性

Amazon RDS,要求您在访问时提供用户名和密码。

您可以使用 Amazon 用户名访问该帐户,但出于安全考虑,我们建议您为数据库创建一个身份和访问管理(IAM)用户。

首先,创建 Administrators 组:

  • 登录 AWS 管理控制台并在打开 IAM 控制台 https://console.aws.amazon.com/iam/
  • 在菜单中,单击“组”,然后单击 “创建新组”
  • 在 “Group Name” 框中,键入 Administrators,然后单击 “下一步”
  • 在策略列表中,选中管理员访问策略旁边的复选框
  • 单击下一步,然后单击创建组

然后创建 IAM 用户,并将其添加到 Administrators 组:

  1. 在菜单中,单击用户,然后单击创建新用户:
  2. 在框 1 中,输入用户名
  3. 清除 "为每个用户生成访问密钥" 旁边的复选框,然后单击 "Create" 创建
  4. 在用户列表中,单击刚刚创建的用户的名称(而不是复选框)
  5. 在 Groups 部分,单击 Add User to Groups(将用户添加到组)
  6. 选中管理员组旁边的复选框,然后单击添加到组
  7. 向下滚动到安全凭据部分,然后单击管理密码
  8. 选择分配自定义密码,然后在密码和确认密码框中输入密码,然后单击应用

要以新 IAM 用户身份登录,请退出 AWS 控制台,然后使用以下 URL:

  1. https://your_aws_account_id.signin.aws.amazon.com/console/

用不带连接符的 aws 帐号替换 your_aws_account_id (如果您的帐号是 1234-5678-9012,您的 aws 帐号是1234567890012)