

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

# 连接到亚马逊 Aurora
<a name="connectors-aurora"></a>

要将 App Studio 与 Aurora 连接以允许构建者访问和使用应用程序中的 Aurora 资源，您必须执行以下步骤：

1. [第 1 步：创建和配置 Aurora 资源](#connectors-aurora-create-resources)

1. [第 2 步：创建具有相应 Aurora 权限的 IAM 策略和角色](#connectors-aurora-iam)

1. [第 3 步：在 App Studio 中创建 Aurora 连接器](#connectors-aurora-create-connector)

App Studio 支持以下 Aurora 版本：
+ Aurora MySQL 无服务器 V1:5.72
+ Aurora PostgreSQL 无服务器 V1：11.18、13.9
+ Aurora MySQL 无服务器 V2：13.11 或更高版本、14.8 或更高版本以及 15.3 或更高版本
+ Aurora PostgreSQL Serverless V2：13.11 或更高版本、14.8 或更高版本以及 15.3 或更高版本

## 第 1 步：创建和配置 Aurora 资源
<a name="connectors-aurora-create-resources"></a>

要在 App Studio 中使用 Aurora 数据库，必须先创建它们并进行适当的配置。App Studio 支持两种 Aurora 数据库类型：Aurora PostgreSQL 和 Aurora MySQL。要比较这些类型，请参阅 MySQL 和 PostgreSQL 有什么区别[？](https://aws.amazon.com/compare/the-difference-between-mysql-vs-postgresql/)。选择相应的选项卡，然后按照步骤设置 Aurora 以用于 App Studio 应用程序。

------
#### [ Aurora PostgreSQL ]

使用以下过程创建和配置用于 App Studio 的 Aurora PostgreSQL 数据库集群。

**设置 Aurora 以在 App Studio 中使用**

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

1. 选择**创建数据库**。

1. 选择 ** Aurora（兼容 PostgreSQL）。**

1. 在**可用版本中**，选择任何大于或等于版本`13.11``14.8`、和的版本`15.3`。

1. 在**设置中**，输入**数据库集群标识符**。

1. 在**实例配置中**，选择**无服务器 v2 ** 并选择适当的容量。

1. 在 “**连接” 中**，选择**启用 RDS 数据 API **。

1. 在**数据库身份验证中**，选择 ** IAM 数据库身份验证**。

1. 在 “**其他配置” ** 的 “**初始数据库名称” 中**，输入数据库的初始数据库名称。

------
#### [ Aurora MySQL ]

使用以下过程创建和配置用于 App Studio 的 Aurora MySQL 数据库集群。

Aurora MySQL 不支持从用户界面创建支持 Data API 或 Serverless v1 的版本。要创建支持数据 API 的 Aurora MySQL 集群，必须使用 AWS CLI。

**注意**  
要在 App Studio 中使用 Aurora MySQL 数据库，它们必须位于虚拟私有云 (VPC) 中。有关更多信息，请参阅 * Amazon Aurora 用户指南中的[在 VPC 中](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)使用数据库集群*。

**设置 Aurora MySQL 以与 App Studio 一起使用**

1. 如有必要， AWS CLI 按照安装中的说明进行[安装，或更新到《*AWS Command Line Interface 用户指南》 AWS CLI*](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)中的最新版本。

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

1. 在左侧导航栏中，选择**子网组**。

1. 选择 **Create DB subnet group**（创建数据库子网组）。

1. 填写信息并创建子网组。有关子网组和使用 VPC 的更多信息，请参阅 * Amazon Aurora 用户指南*中的在 VPC [ 中](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)使用数据库集群。

1. 运行以下 AWS CLI 命令：

   ```
   aws rds create-db-cluster --database-name {{db_name}} \
       --db-cluster-identifier {{db_cluster_identifier}} \
       --engine aurora-mysql \
       --engine-version 5.7.mysql_aurora.2.08.3 \
       --engine-mode serverless \
       --scaling-configuration MinCapacity={{4}},MaxCapacity={{32}},SecondsUntilAutoPause={{1000}},AutoPause=true \
       --master-username {{userName}} \
       --master-user-password {{userPass}} \
       --availability-zones {{us-west-2b}} {{us-west-2c}} \
       --db-subnet-group-name {{subnet-group-name}}
   ```

   替换以下字段：
   + {{db\_name}}替换为所需的数据库名称。
   + {{db\_cluster\_identifier}}替换为所需的数据库集群标识符。
   + （可选）根据需要替换`scaling-configuration`字段中的数字。
   + {{userName}}替换为所需的用户名。
   + {{userPass}}替换为所需的密码。
   + 在中`availability-zones`，添加您创建的子网组中的可用区。
   + {{subnet-group-name}}替换为您创建的子网组的名称。

------

## 第 2 步：创建具有相应 Aurora 权限的 IAM 策略和角色
<a name="connectors-aurora-iam"></a>

要在 App Studio 中使用 Aurora 资源，管理员必须创建 IAM 策略并将其附加到 IAM 角色，该角色用于授予应用工作室访问配置资源的权限。IAM 策略和角色控制构建者可以使用的数据范围以及可以对这些数据调用哪些操作，例如创建、读取、更新或删除。

我们建议为每项服务和策略创建至少一个 IAM 角色。

### 步骤 2a：创建具有相应 Aurora 权限的 IAM 策略
<a name="connectors-aurora-iam-policy"></a>

您在 App Studio 中创建和使用的 IAM 策略应仅包含应用程序遵循最佳安全实践所需的相应资源的最低权限。

**创建具有相应 Aurora 权限的 IAM 策略**

1. 使用有权创建 [ IAM 角](https://console.aws.amazon.com/iam)色的用户登录 IAM 控制台。我们建议使用中创建的管理用户[注册参加 AWS 账户](setting-up-first-time-admin.md#sign-up-for-aws)。

1. 在左侧导航栏中，选择**策略**。

1. 选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 将现有代码段替换为以下代码片段，{{111122223333}}替换为包含 Amazon Redshift 和 Aurora 资源的 AWS 账号。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "BaselineAuroraForAppStudio",
               "Effect": "Allow",
               "Action": [
                   "rds-data:ExecuteStatement",
                   "secretsmanager:GetSecretValue"
               ],
               "Resource": [
                   "arn:aws:rds:*:{{111122223333}}:cluster:*",
                   "arn:aws:secretsmanager:*:{{111122223333}}:secret:rds*"
               ]
           }
       ]
   }
   ```

------

1. 选择**下一步**。

1. 在 “**查看并创建**” 页面上，提供**策略名称**，例如**Aurora\_AppStudio**和**描述**（可选）。

1. 选择**创建策略**来创建策略。

### 第 2b 步：创建 IAM 角色以授予 App Studio 访问 Aurora 资源的权限
<a name="connectors-aurora-iam-role"></a>

现在，创建一个使用您之前创建的策略的 IAM 角色。App Studio 将使用此策略来获取对已配置的 Aurora 资源的访问权限。

**创建 IAM 角色以授予 App Studio 访问 Aurora 资源的权限**

1. 使用有权创建 [ IAM 角](https://console.aws.amazon.com/iam)色的用户登录 IAM 控制台。我们建议使用中创建的管理用户[注册参加 AWS 账户](setting-up-first-time-admin.md#sign-up-for-aws)。

1. 在控制台的导航窗格中，选择 **Roles**，然后选择 **Create role**。

1. 在**可信实体类型中**，选择**自定义信任策略**。

1. 将默认策略替换为以下策略，以允许 App Studio 应用程序在您的账户中代入此角色。

   您必须在策略中替换以下占位符。要使用的值可以在 App Studio 的 “**账户设置” ** 页面中找到。
   + {{111122223333}}替换为 AWS 用于设置 App Studio 实例的账户的账号，该**AWS 账户**在 App Studio 实例的账户设置中列为账户 ID。
   + {{11111111-2222-3333-4444-555555555555}}替换为您的 App Studio 实例 ID，**在 App Studio ** 实例的账户设置中列为实例 ID。

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           { 
               "Effect": "Allow",
               "Principal": { 
                   "AWS": "arn:aws:iam::{{111122223333}}:root"
               }, 
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                           "aws:PrincipalTag/IsAppStudioAccessRole": "true",
                           "sts:ExternalId": "{{11111111-2222-3333-4444-555555555555}}"
                   }
               }
           } 
       ]
   }
   ```

------

   选择**下一步**。

1. 在**添加权限中**，搜索并选择您之前创建的策略（**Aurora\_AppStudio**）。选择策略**旁边的 ** \+ 将展开策略以显示其授予的权限，选中该复选框将选中该策略。

   选择**下一步**。

1. 在**名称、查看和创建**页面上，提供**角色名称**和**描述**。

1. 在**步骤 3：添加标签中**，选择**添加新标签**以添加以下标签以提供 App Studio 访问权限：
   + **密钥：**`IsAppStudioDataAccessRole`
   + **价值：**`true`

1. 选择**创建角色**并记下生成的亚马逊资源名称 (ARN)，在 App Studio [ 中](#connectors-aurora-create-connector)创建 Aurora 连接器时需要该名称。

## 第 3 步：在 App Studio 中创建 Aurora 连接器
<a name="connectors-aurora-create-connector"></a>

现在您已经配置了 Aurora 资源和 IAM 策略和角色，使用该信息在 App Studio 中创建连接器，构建者可以使用该连接器将其应用程序连接到 Aurora。

**注意**  
您必须在 App Studio 中拥有管理员角色才能创建连接器。

**为 Aurora 创建连接器**

1. 导航到 App Studio。

1. 在左侧导航栏的**管理**区域，选择**连接器**。您将被带到一个显示现有连接器列表的页面，其中包含有关每个连接器的一些详细信息。

1. 选择 ** \+ 创建连接器**。

1. 选择**亚马逊 Aurora ** 连接器。

1. 通过填写以下字段来配置您的连接器：
   + **名称：**输入您的 Aurora 连接器的名称。
   + **描述：**输入您的 Aurora 连接器的描述。
   + **IAM 角色：**输入在中创建的 IAM 角色中的[第 2b 步：创建 IAM 角色以授予 App Studio 访问 Aurora 资源的权限](#connectors-aurora-iam-role)亚马逊资源名称 (ARN)。有关 IAM 的更多信息，请参阅《IAM 用户指南》[https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。
   + **密钥 ARN：**输入数据库集群的密钥 ARN。有关在哪里可以找到密钥 ARN 的信息，请参阅 * Amazon Aurora 用户指南[中](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html#rds-secrets-manager-view-db-cluster)查看有关数据库集群密钥的详细信息。*
   + **区域：**选择您的 Aurora 资源所在的 AWS 区域。
   + **数据库 ARN：**输入数据库集群的 ARN。ARN 可以在数据库集群的 ** “**配置” 选项卡中找到，类似于机密 ARN。
   + **数据库类型：**选择与中创建的数据库类型相匹配的数据库类型**，即 ** My ** SQL ** 或 PostgreSQL。[第 1 步：创建和配置 Aurora 资源](#connectors-aurora-create-resources)
   + **数据库名称：**输入数据库的名称，也可以在数据库集群的**配置**选项卡中找到该名称。
   + **可用表：使用此连接器**选择要与 App Studio 一起使用的表。

1. 选择 “**下一步**” 查看或定义实体映射。

1. 选择 “**创建” ** 以创建 Aurora 连接器。新创建的连接器将出现在**连接器**列表中。