

# Aurora DSQL 入门
<a name="getting-started"></a>

Amazon Aurora DSQL 是一个针对事务性工作负载进行了优化的无服务器、完全托管式、分布式关系数据库。在以下各节中，您将了解如何创建单区域和多区域 Aurora DSQL 集群、连接到这些集群以及如何创建和加载示例架构。您将使用 AWS 管理控制台访问集群，并可选择使用其他 PostgreSQL 客户端与数据库进行交互。最后，您将设置好正常运行的 Aurora DSQL 集群，该集群可用于测试或生产工作负载。

**Topics**
+ [先决条件](#getting-started-prereqs)
+ [步骤 1：创建 Aurora DSQL 单区域集群](#getting-started-create-cluster)
+ [步骤 2：连接到 Aurora DSQL 集群](#connect-dsql-cluster)
+ [步骤 3：在 Aurora DSQL 中运行示例 SQL 命令](#getting-started-sql)
+ [步骤 4（可选）：创建多区域集群](#getting-started-multi-region)
+ [问题排查](#getting-started-sql-troubleshooting)

## 先决条件
<a name="getting-started-prereqs"></a>

在可以开始使用 Aurora DSQL 之前，确保满足以下先决条件：
+ 您的 IAM 身份必须具有[登录控制台](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html)的权限。
+ 您的 IAM 身份必须满足以下条件：
  + 对 AWS 账户中的任何资源执行任何操作的访问权限
  + [已附加](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAuroraDSQLConsoleFullAccess.html) `AmazonAuroraDSQLConsoleFullAccess` AWS 托管式策略。

## 步骤 1：创建 Aurora DSQL 单区域集群
<a name="getting-started-create-cluster"></a>

Aurora DSQL 的基本单元是集群，您可以在其中存储数据。在本任务中，您将在单个 AWS 区域中创建集群。

**在 Aurora DSQL 中创建单区域集群**

1. 登录 AWS 管理控制台并打开 Aurora DSQL 控制台，网址为 [https://console.aws.amazon.com/dsql](https://console.aws.amazon.com/dsql)。

1. 选择**创建集群**，然后选择**单区域**。

1. （可选）更改默认**名称**标签的值。

1. （可选）为此集群添加其他**标签**。

1. （可选）在**集群设置**中，选择以下任一选项：
   + 选择**自定义加密设置（高级）**以选择或创建 AWS KMS key。如果您使用客户自主管理型密钥，请确保密钥策略向 Aurora DSQL 授予所需的权限。有关更多信息，请参阅 [客户托管密钥的密钥策略](data-encryption.md#key-policy-customer-managed-key)。
   + 选择**启用删除保护**以防止删除操作移除您的集群。默认情况下，删除保护功能处于选中状态。
   + 选择**基于资源的策略（高级）**可为此集群指定访问控制策略。

1. 选择**创建集群**。

1. 控制台将返回到**集群**页面。此时将显示一个通知横幅，指示正在创建集群。选择**集群 ID** 以打开集群详细信息视图。

## 步骤 2：连接到 Aurora DSQL 集群
<a name="connect-dsql-cluster"></a>

Aurora DSQL 支持多种连接到集群的方式，包括 DSQL 查询编辑器、AWS CloudShell、本地 psql 客户端和其他兼容 PostgreSQL 的工具。在此步骤中，您将使用 [Aurora DSQL 查询编辑器](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/getting-started-query-editor.html)进行连接，可通过该编辑器快速开始与新集群进行交互。

**使用查询编辑器进行连接**

1. 在 Aurora DSQL 控制台（[https://console.aws.amazon.com/dsql](https://console.aws.amazon.com/dsql)）中，打开**集群**页面，确认您的集群已创建完成且其状态为“活动”。

1. 从列表中选择您的集群，或选择**集群 ID** 以打开集群详细信息页面。

1. 选择**使用查询编辑器进行连接**。

1. 为刚刚创建的集群选择**以管理员身份连接**。
   + （可选）您可以使用自定义角色进行连接，请参阅[使用数据库角色和 IAM 身份验证](using-database-and-iam-roles.md)。

## 步骤 3：在 Aurora DSQL 中运行示例 SQL 命令
<a name="getting-started-sql"></a>

通过运行 SQL 语句测试 Aurora DSQL 集群。在查询编辑器中打开集群后，分步选择并运行每个示例查询。

**在 Aurora DSQL 中运行示例 SQL 命令**

1. 创建名为 `test` 的架构。

   ```
   CREATE SCHEMA IF NOT EXISTS test;
   ```

1. 创建使用自动生成的 UUID 作为主键的 hello\$1world 表。

   ```
   CREATE TABLE IF NOT EXISTS test.hello_world (  
       id UUID PRIMARY KEY DEFAULT gen_random_uuid(),  
       message VARCHAR(255) NOT NULL,  
       created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP  
   );
   ```

1. 插入示例行。

   ```
   INSERT INTO test.hello_world (message)  
   VALUES ('Hello, World!!');
   ```

1. 读取插入的值。

   ```
   SELECT * FROM test.hello_world;
   ```

1. （可选）清除

   ```
   DROP TABLE test.hello_world;
   DROP SCHEMA test;
   ```

## 步骤 4（可选）：创建多区域集群
<a name="getting-started-multi-region"></a>

创建多区域集群时，您指定以下区域：

**远程区域**  
这是您在其中创建第二个集群的区域。您在此区域中创建第二个集群，并使其与初始集群对等。Aurora DSQL 将初始集群上的所有写入内容复制到远程集群。您可以在任何集群上进行读取和写入。

**见证区域**  
该区域接收写入多区域集群的所有数据。但是，见证区域不托管客户端端点，也不提供用户数据访问。在见证区域中维护着有限时段的加密事务日志。此日志有助于恢复，并在某个区域变为不可用时支持事务仲裁。

使用以下过程可创建初始集群，在不同的区域中创建第二个集群，然后使两个集群对等以创建多区域集群。它还演示了来自这两个区域端点的跨区域写入复制和一致读取。

**创建多区域集群**

1. 登录 [Aurora DSQL 控制台](https://console.aws.amazon.com/dsql)。

1. 在导航窗格中，选择**集群**。

1. 选择**创建集群**，然后选择**多区域**。

1. （可选）更改默认**名称**标签的值。

1. （可选）为此集群添加其他**标签**。

1. 在**多区域设置**中，为初始集群选择以下选项：
   + 在**见证区域**中，选择一个区域。目前，多区域集群中的见证区域仅支持位于美国的区域。
   + （可选）在**远程区域集群 ARN** 中，输入另一个区域中现有集群的 ARN。如果不存在可用作多区域集群中第二个集群的集群，请在创建初始集群后完成设置。

1. （可选）在**集群设置**中，为初始集群选择以下任一选项：
   + 选择**自定义加密设置（高级）**以选择或创建 AWS KMS key。如果您使用客户自主管理型密钥，请确保密钥策略向 Aurora DSQL 授予所需的权限。有关更多信息，请参阅 [客户托管密钥的密钥策略](data-encryption.md#key-policy-customer-managed-key)。
   + 选择**启用删除保护**以防止删除操作移除您的集群。默认情况下，删除保护功能处于选中状态。
   + 选择**基于资源的策略（高级）**可为此集群指定访问控制策略。

1. 选择**创建集群**以创建初始集群。如果您在上一步中未输入 ARN，则控制台会显示**集群设置待处理**通知。

1. 在**集群设置待处理**通知中，选择**完成多区域集群设置**。此操作会启动在另一个区域中创建第二个集群。

1. 为第二个集群选择以下选项之一：
   + **添加远程区域集群 ARN**：如果集群存在，并且您希望它成为多区域集群中的第二个集群，请选择此选项。
   + **在其它区域中创建集群**：选择此选项以创建第二个集群。在**远程区域**中，选择此第二个集群的区域。

1. 选择**在 *your-second-region* 中创建集群**，其中 *your-second-region* 是第二个集群的位置。控制台将在您的第二个区域中打开。

1. （可选）为第二个集群选择集群设置。例如，可以选择 AWS KMS key。如果您使用客户自主管理型密钥，请确保密钥策略向 Aurora DSQL 授予所需的权限。有关更多信息，请参阅 [客户托管密钥的密钥策略](data-encryption.md#key-policy-customer-managed-key)。

1. 选择**创建集群**以创建第二个集群。

1. 选择**在 *initial-cluster-region* 中对等**，其中 *initial-cluster-region* 是托管您创建的第一个集群的区域。

1. 出现提示时，选择**确认**。此步骤将完成创建多区域集群。

**连接到第二个集群**

1. 打开 Aurora DSQL 控制台，然后选择第二个集群的区域。

1. 选择**集群**。

1. 选择多区域集群中的第二个集群所对应的行。

1. 选择**使用查询编辑器进行连接**。

1. 选择**以管理员身份进行连接**。

1. 按照[步骤 3：在 Aurora DSQL 中运行示例 SQL 命令](#getting-started-sql)中的步骤操作来创建示例架构和表，并插入数据。

**从托管初始集群的区域中的第二个集群查询数据**

1. 在 Aurora DSQL 控制台中，选择初始集群的区域。

1. 选择**集群**。

1. 选择多区域集群中的第二个集群所对应的行。

1. 选择**使用查询编辑器进行连接**。

1. 选择**以管理员身份进行连接**。

1. 查询您插入到第二个集群的数据。  
**Example**  

   ```
   SELECT * FROM test.hello_world;
   ```

## 问题排查
<a name="getting-started-sql-troubleshooting"></a>

请参阅 Aurora DSQL 文档的[故障排除](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/troubleshooting.html)部分。