

# 设置 Amazon RDS 环境
<a name="CHAP_SettingUp"></a>

本页提供了设置 Amazon Relational Database Service 的全面指南，包括账户配置、安全性和资源管理。它为您演练高效创建、管理和保护数据库环境的基本步骤。无论您是刚接触 Amazon RDS，还是正在进行设置来满足特定的要求，这些章节都有助于确保您的设置得到优化并符合最佳实践。

**Topics**
+ [注册 Amazon Web Services 账户](#sign-up-for-aws)
+ [保护 IAM 用户](#secure-an-admin)
+ [授权以编程方式访问](#getting-started-iam-user-access-keys)
+ [确定要求](#CHAP_SettingUp.Requirements)
+ [通过创建安全组提供对 VPC 中的数据库实例的访问](#CHAP_SettingUp.SecurityGroup)

如果您已有 Amazon Web Services 账户，知道您的 Amazon RDS 要求并且想要使用 IAM 和 VPC 安全组的默认值，请向前跳至[开始使用 Amazon RDS](CHAP_GettingStarted.md)。

## 注册 Amazon Web Services 账户
<a name="sign-up-for-aws"></a>

如果您还没有，Amazon Web Services 账户请完成以下步骤来创建一个。

**注册 Amazon Web Services 账户**

1. 打开 [https://portal.aws.amazon.com/billing/signup](https://portal.amazonaws.cn/billing/signup)。

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册 Amazon Web Services 账户 时，系统将会创建一个。*Amazon Web Services 账户根用户*根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

注册过程完成后，Amazon 会向您发送一封确认电子邮件。在任何时候，您都可以通过转至 [https://aws.amazon.com/](https://www.amazonaws.cn/) 并选择**我的账户**来查看当前的账户活动并管理您的账户。

## 保护 IAM 用户
<a name="secure-an-admin"></a>

注册 Amazon Web Services 账户 后，启用多重身份验证（MFA）保护您的管理用户。有关说明，请参阅《IAM 用户指南》**中的 [为 IAM 用户启用虚拟 MFA 设备（控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-iam-user)。

要授予其他用户访问您的 Amazon Web Services 账户资源的权限，请创建 IAM 用户。为了保护您的 IAM 用户，请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息，请参阅《IAM 用户指南》中的以下主题：**
+ [在您的 Amazon Web Services 账户中创建 IAM 用户](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_create.html)
+ [适用于 Amazon 资源的访问权限管理](https://docs.amazonaws.cn/IAM/latest/UserGuide/access.html)
+ [基于 IAM 身份的策略示例](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_examples.html)

## 授权以编程方式访问
<a name="getting-started-iam-user-access-keys"></a>

如果用户需要在 Amazon Web Services 管理控制台之外与 Amazon 交互，则需要编程式访问权限。Amazon API 和 Amazon Command Line Interface 需要访问密钥。可能的话，创建临时凭证，该凭证由一个访问密钥 ID、一个秘密访问密钥和一个指示凭证何时到期的安全令牌组成。

要向用户授予编程式访问权限，请选择以下选项之一。


****  

| 哪个用户需要编程式访问权限？ | 目的 | 方式 | 
| --- | --- | --- | 
| IAM | 使用短期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求（直接或使用 Amazon SDK）。 | 按照《IAM 用户指南》中[将临时凭证用于 Amazon 资源](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_credentials_temp_use-resources.html)中的说明进行操作。 | 
| IAM | （不推荐使用）使用长期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求（直接或使用 Amazon SDK）。 | 按照《IAM 用户指南》中[管理 IAM 用户的访问密钥](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_credentials_access-keys.html)中的说明进行操作。 | 

## 确定要求
<a name="CHAP_SettingUp.Requirements"></a>

Amazon RDS 的基本构建基块是数据库实例。在数据库实例中，您可以创建数据库。数据库实例提供了称为*终端节点* 的网络地址。您的应用程序使用此终端节点连接到您的数据库实例。在创建数据库实例时，您指定存储、内存、数据库引擎和版本、网络配置、安全性以及维护时段等详细信息。您通过安全组控制对数据库实例的网络访问。

在创建数据库实例和安全组之前，您必须知道数据库实例和网络需求。下面是要考虑的一些重要事项：
+ **资源要求** – 应用程序或服务的内存和处理器要求是什么？ 您使用这些设置来帮助您确定要使用哪个数据库实例类。有关数据库实例类的规范，请参阅 [数据库实例类](Concepts.DBInstanceClass.md)。
+ **VPC、子网和安全组 – **您的数据库实例很可能在一个 Virtual Private Cloud (VPC) 中。要连接到数据库实例，您需要设置安全组规则。根据您使用的 VPC 的类型和您使用它的方式，设置这些规则的方式有所不同。例如，您可以使用：默认 VPC 或用户定义的 VPC。

  下面的列表说明每个 VPC 选项的规则：
  + **默认 VPC** – 如果您的Amazon账户在当前Amazon区域内有一个默认 VPC，则该 VPC 将配置为支持数据库实例。如果您在创建数据库实例时指定默认 VPC，请执行以下操作：
    + 确保创建一个 *VPC 安全组*，该安全组对从应用程序或服务到 Amazon RDS 数据库实例的连接进行授权。使用 VPC 控制台中的 **Security Group (安全组)** 选项或 Amazon CLI 创建 VPC 安全组。有关信息，请参阅 [步骤 3：创建 VPC 安全组](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateVPCSecurityGroup)。
    + 指定默认数据库子网组。如果这是您在此Amazon区域内创建的第一个数据库实例，则 Amazon RDS 将在创建数据库实例时创建默认的数据库子网组。
  + **用户定义的 VPC – **如果您希望在创建数据库实例时指定用户定义的 VPC，请了解以下内容：
    + 确保创建一个 *VPC 安全组*，该安全组对从应用程序或服务到 Amazon RDS 数据库实例的连接进行授权。使用 VPC 控制台中的 **Security Group (安全组)** 选项或 Amazon CLI 创建 VPC 安全组。有关信息，请参阅 [步骤 3：创建 VPC 安全组](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateVPCSecurityGroup)。
    + 该 VPC 必须满足特定要求才能托管数据库实例，例如至少拥有两个子网，每个子网分别位于一个独立的可用区中。有关信息，请参阅 [Amazon VPC 和 Amazon RDS](USER_VPC.md)。
    + 确保指定数据库子网组，以定义数据库实例可以使用该 VPC 中的哪些子网。有关信息，请参阅[在 VPC 中使用数据库实例](USER_VPC.WorkingWithRDSInstanceinaVPC.md#Overview.RDSVPC.Create)中的“数据库子网组”部分。
+ **高可用性** – 是否需要失效转移支持？ 在 Amazon RDS 上，多可用区部署会创建一个主数据库实例，并在另一个可用区中创建第二个备用数据库实例以支持失效转移。我们建议将多可用区部署用于生产工作负载以保持高可用性。对于开发和测试用途，您可以使用不是多可用区的部署。有关更多信息，请参阅 [配置和管理 Amazon RDS 的多可用区部署](Concepts.MultiAZ.md)。
+ **IAM 策略** – 您的 Amazon 账户是否具有相应策略来授予执行 Amazon RDS 操作所需的权限？ 如要使用 IAM 证书连接到Amazon，您的 IAM 账户必须拥有 IAM 政策来授予执行 Amazon RDS 操作所需的权限。有关更多信息，请参阅 [Amazon RDS 的 Identity and Access Management](UsingWithRDS.IAM.md)。
+ **开放端口** – 您的数据库侦听哪个 TCP/IP 端口？ 有些公司的防火墙可能会阻止与您的数据库引擎的默认端口进行连接。如果您公司的防火墙不允许连接默认端口，请为新数据库实例选择其他端口。在创建对指定端口进行侦听的数据库实例后，您可以通过修改该数据库实例来更改端口。
+ **Amazon 区域** – 您希望您的数据库位于哪个 Amazon 区域内？ 通过让数据库紧邻应用程序或 Web 服务，可以减小网络延迟。有关更多信息，请参阅 [区域、可用区和 Local Zones ](Concepts.RegionsAndAvailabilityZones.md)。
+ **数据库磁盘子系统** – 您的存储要求是什么？ Amazon RDS 提供三种存储类型：
  + 通用型 (SSD)
  + 预置 IOPS (PIOPS)
  + 磁性（也称为标准存储）

  有关 Amazon RDS 存储的更多信息，请参阅[Amazon RDS 数据库实例存储](CHAP_Storage.md)。

在了解创建安全组和数据库实例所需的信息之后，请继续执行下一步。

## 通过创建安全组提供对 VPC 中的数据库实例的访问
<a name="CHAP_SettingUp.SecurityGroup"></a>

VPC 安全组提供了对 VPC 中的数据库实例的访问权。它们充当关联数据库实例的防火墙，在数据库实例级别控制入站和出站流量。默认情况下，系统将创建带防火墙和默认安全组 (用于保护数据库实例) 的数据库实例。

在连接到数据库实例之前，必须先向允许连接的安全组添加规则。使用网络和配置信息来创建允许访问数据库实例的规则。

例如，假设您有一个访问 VPC 中的数据库实例上的数据库的应用程序。在这种情况下，您必须添加指定应用程序用于访问数据库的端口范围和 IP 地址的自定义 TCP 规则。如果您有位于 Amazon EC2 实例上的应用程序，则可以使用您为 Amazon EC2 实例设置的安全组。

创建数据库实例时，您可以配置 Amazon EC2 实例与数据库实例之间的连接。有关更多信息，请参阅 [配置与 EC2 实例的自动网络连接](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic)。

**提示**  
创建数据库实例时，您可以在 Amazon EC2 实例和数据库实例之间自动设置网络连接。有关更多信息，请参阅 [配置与 EC2 实例的自动网络连接](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic)。

有关如何将 Amazon Lightsail 中的资源连接到数据库实例的信息，请参阅 [Connect Lightsail resources to Amazon Web Services 服务 using VPC peering](https://docs.amazonaws.cn/lightsail/latest/userguide/using-lightsail-with-other-aws-services.html)。

有关访问数据库实例的常见场景的信息，请参阅 [在 VPC 中访问数据库实例的场景](USER_VPC.Scenarios.md)。

**创建 VPC 安全组**

1. 登录到Amazon Web Services 管理控制台并打开 Amazon VPC 控制台，网址：[https://console.aws.amazon.com/vpc](https://console.amazonaws.cn/vpc)。
**注意**  
确保您在 VPC 控制台中，而不是 RDS 控制台。

1. 在 Amazon Web Services 管理控制台的右上角，选择要在其中创建 VPC 安全组和数据库实例的 Amazon 区域。在该Amazon区域的 Amazon VPC 资源列表中，您应看到至少一个 VPC 和多个子网。如果您没有看到，则说明您在该 Amazon 区域中没有默认 VPC。

1. 在导航窗格中，选择 **Security Groups**。

1. 选择 **Create security group**（创建安全组）。

   此时将显示 **Create security group (创建安全组)** 页面。

1. 在 **Basic details (基本详细信息)** 中，输入 **Security group name (安全组名称)** 和 **Description (描述)**。对于 **VPC**，选择要在其中创建数据库实例的 VPC。

1. 在 **Inbound rules (入站规则)** 中，请选择 **Add rule (添加规则)**。

   1. 对于 **Type (类型)**，选择 **Custom TCP (自定义TCP)**。

   1. 对于 **Port range (端口范围)**，输入要用于数据库实例的端口值。

   1. 对于 **Source (源)**，选择安全组名称或键入您从中访问数据库实例的 IP 地址范围（CIDR 值）。如果您选择**我的 IP**，这会允许从浏览器中检测到的 IP 地址访问数据库实例。

1. 如果需要添加更多 IP 地址或不同的端口范围，请选择 **Add rule (添加规则)** 并输入规则的信息。

1. （可选）在 **Outbound rules (出站规则)** 中，为出站流量添加规则。默认情况下，允许所有出站流量。

1. 选择**创建安全组**。

在创建数据库实例时，您可以使用刚创建的 VPC 安全组作为数据库实例的安全组。

**注意**  
如果您使用默认 VPC，则为您创建跨越该 VPC 的所有子网的默认子网组。在创建数据库实例时，您可以选择默认 VPC 并为**数据库子网组**选择**默认**。

完成所需的设置后，可以使用您的要求和安全组来创建数据库实例。为此，请遵循[创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)中的说明。有关通过创建使用特定数据库引擎的数据库实例的入门信息，请参阅下表中的相关文档。


****  

| 数据库引擎 | 文档 | 
| --- | --- | 
| MariaDB | [创建并连接到 MariaDB 数据库实例](CHAP_GettingStarted.CreatingConnecting.MariaDB.md) | 
| Microsoft SQL Server | [创建 Microsoft SQL Server 数据库实例并连接到该实例](CHAP_GettingStarted.CreatingConnecting.SQLServer.md) | 
| MySQL | [创建并连接到 MySQL 数据库实例](CHAP_GettingStarted.CreatingConnecting.MySQL.md) | 
| Oracle | [创建并连接到 Oracle 数据库实例](CHAP_GettingStarted.CreatingConnecting.Oracle.md) | 
| PostgreSQL | [创建 PostgreSQL 数据库实例并连接到该实例](CHAP_GettingStarted.CreatingConnecting.PostgreSQL.md) | 

**注意**  
如果在创建数据库实例后无法连接到该实例，请参阅[无法连接到 Amazon RDS 数据库实例](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)中的故障排除信息。