

# Amazon RDS のシングル AZ DB インスタンスの DB スナップショットの作成
<a name="USER_CreateSnapshot"></a>

Amazon RDS は DB インスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、その DB インスタンス全体をバックアップします。Single-AZ DB インスタンスでこの DB スナップショットを作成すると、I/O が短時間中断します。この時間は、DB インスタンスのサイズやクラスによって異なり、数秒から数分になります。MariaDB、MySQL、Oracle、PostgreSQL の場合、バックアップはスタンバイから取得されるため、マルチ AZ 配置のバックアップ中プライマリで I/O アクティビティは中断しません。SQL Server の場合、マルチ AZ 配置のバックアップ中 I/O アクティビティが一時中断します。

DB スナップショットを作成したら、バックアップする DB インスタンスを識別した後、DB スナップショットに名前を付けて後で復元できるようにする必要があります。スナップショットの作成にかかる時間は、データベースのサイズによって異なります。スナップショットにはストレージボリューム全体が含まれているため、テンポラリファイルなどのファイルのサイズも、スナップショットを作成するための時間に影響します。

**注記**  
DB スナップショットを行うには、DB インスタンスが `available` 状態になっている必要があります。  
PostgreSQL DB インスタンスの場合、ログに記録されていないテーブルのデータはスナップショットから復元されないことがあります。詳細については、「[PostgreSQL を使用するためのベストプラクティス](CHAP_BestPractices.md#CHAP_BestPractices.PostgreSQL)」を参照してください。

自動バックアップとは異なり、手動スナップショットはバックアップ保持期間の影響を受けません。スナップショットは期限切れになりません。

MariaDB、MySQL、および PostgreSQL データの非常に長期間のバックアップの場合、スナップショットデータを Amazon S3 にエクスポートすることをお勧めします。DB エンジンのメジャーバージョンがサポートされなくなった場合、スナップショットからそのバージョンに復元することはできません。詳細については、「[Amazon RDS の Amazon S3 への DB スナップショットデータのエクスポート](USER_ExportSnapshot.md)」を参照してください。

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して DB スナップショットを作成できます。

## コンソール
<a name="USER_CreateSnapshot.CON"></a>

**DB スナップショットを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**Snapshots**] を選択します。

   **手動スナップショット**リストが表示されます。

1. **[スナップショットの取得]** を選択します。

   **[Take DB snapshot]** (DB スナップショットの取得) ウィンドウが表示されます。  
![\[スナップショットを取得します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/take_db_snapshot.png)

1. **[DB インスタンス]** のリストで、スナップショットを取得する DB インスタンスを選択します。

1. **[スナップショット名]** を入力します。

1. **[スナップショットの取得]** を選択します。

**[スナップショット]** ページが表示され、新しい DB スナップショットのステータスが「`Creating`」として表示されます。ステータスが `Available` になると、その作成時間が表示されます。

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

AWS CLI を使用して DB スナップショットを作成したら、バックアップする DB インスタンスを識別した後、DB スナップショットに名前を付けて後で復元できるようにする必要があります。そのためには、以下のパラメータを指定して 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* という DB インスタンスに *mydbsnapshot* という DB スナップショットを作成します。

**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 を使用して DB スナップショットを作成したら、バックアップする DB インスタンスを識別した後、DB スナップショットに名前を付けて後で復元できるようにする必要があります。そのためには、以下のパラメータを指定して 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`