

# 为 Amazon RDS 的单可用区数据库实例创建数据库快照
<a name="USER_CreateSnapshot"></a>

Amazon RDS 创建数据库实例的存储卷快照，并备份整个数据库实例而不仅仅是单个数据库。在单可用区数据库实例上创建此数据库快照会导致 I/O 短暂性停止，可持续数秒至数分钟，具体取决于数据库实例的大小和类。对于 MariaDB、MySQL、Oracle 和 PostgreSQL，多可用区部署的备份期间不会暂停主数据库上的 I/O 活动，因为备份获取自备用数据库。对于 SQL Server，多可用区部署的备份期间将短时间暂停 I/O 活动。

创建数据库快照时，需要识别出将要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。创建快照所用时间因数据库大小而异。由于快照包含整个存储卷，因此，文件 (如临时文件) 的大小也会影响创建快照所需时间。

**注意**  
数据库实例必须处于 `available` 状态才能拍摄数据库快照。  
对于 PostgreSQL 数据库实例，未记录表中的数据可能无法从快照还原。有关更多信息，请参阅“[使用 PostgreSQL 的最佳实践](CHAP_BestPractices.md#CHAP_BestPractices.PostgreSQL)”。

与自动备份不同，手动快照不受备份保留期的限制。快照不会过期。

对于 MariaDB、MySQL 和 PostgreSQL 数据的非常长期的备份，我们建议将快照数据导出到 Amazon S3。如果不再支持数据库引擎的主要版本，则无法从快照还原到该版本。有关更多信息，请参阅“[将 Amazon RDS 的数据库快照数据导出到 Amazon S3](USER_ExportSnapshot.md)”。

您可以使用 AWS 管理控制台​、AWS CLI 或 RDS API 创建数据库快照。

## 控制台
<a name="USER_CreateSnapshot.CON"></a>

**创建数据库快照**

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

1. 在导航窗格中，选择**快照**。

   将显示**手动快照**列表。

1. 选择**拍摄快照**。

   将显示 **Take DB snapshot (拍摄数据库快照)** 窗口。  
![\[拍摄数据库快照。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/take_db_snapshot.png)

1. 选择您要拍摄快照的**数据库实例**。

1. 输入**快照名称**。

1. 选择**拍摄快照**。

此时将显示**手动快照**列表，其中新数据库快照的状态显示为 `Creating`。在其状态为 `Available` 后，您可以看到其创建时间。

## AWS CLI
<a name="USER_CreateSnapshot.CLI"></a>

使用 AWS CLI 创建数据库快照时，需要识别出将要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。结合以下参数使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html) 命令执行该操作：
+ `--db-instance-identifier`
+ `--db-snapshot-identifier`

在此示例中，您将给名为 *mydbinstance* 的数据库实例创建名为 *mydbsnapshot* 的数据库快照。

**Example**  
对于 Linux、macOS 或 Unix：  

```
1. aws rds create-db-snapshot \
2.     --db-instance-identifier mydbinstance \
3.     --db-snapshot-identifier mydbsnapshot
```
对于：Windows  

```
1. aws rds create-db-snapshot ^
2.     --db-instance-identifier mydbinstance ^
3.     --db-snapshot-identifier mydbsnapshot
```

## RDS API
<a name="USER_CreateSnapshot.API"></a>

使用 Amazon RDS API 创建数据库快照时，需要指定要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。您可以使用具有以下参数的 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html) 命令执行该操作：
+ `DBInstanceIdentifier`
+ `DBSnapshotIdentifier`