

# RDS for Db2 レプリカのバックアップの使用
<a name="db2-read-replicas.backups"></a>

プライマリデータベースと同様に、RDS for Db2 レプリカのバックアップを作成および復元できます。ただし、レプリカバックアップの仕組み、特に復元のタイミングとバックアップの保持設定には重要な違いがあります。

RDS for Db2 は、レプリカの自動バックアップと手動スナップショットの両方をサポートしています。RDS for Db2 はポイントインタイムリストアをサポートしていません。RDS バックアップの詳細については、「[データのバックアップ、復元、エクスポート](CHAP_CommonTasks.BackupRestore.md)」を参照してください。

## レプリカバックアップの主な違い
<a name="db2-read-replicas-backups-overview"></a>

レプリカバックアップは、いくつかの重要な点でプライマリデータベースバックアップとは異なります。
+ 自動バックアップは、レプリカではデフォルトで有効になっていません。
+ 復元オペレーションでは、バックアップの作成時間ではなくデータベース時間を使用します。
+ レプリカの遅延は、復元された実際のデータに影響を与える可能性があります。レプリカ遅延のモニタリングの詳細については、「[Db2 レプリケーション遅延のモニタリング](db2-troubleshooting-replicas.md#db2-troubleshooting-replicas-lag)」を参照してください。

## RDS for Db2 レプリカの自動バックアップの有効化
<a name="db2-read-replicas.backups.turning-on"></a>

プライマリデータベースとは異なり、RDS for Db2 レプリカでは、自動バックアップがデフォルトで有効になっていません。自動バックアップを有効にするには、バックアップ保持期間を手動で設定する必要があります。バックアップ保持期間を 0 以外の正の値に設定することで自動バックアップを有効にします。

### コンソール
<a name="db2-read-replicas.backups.turning-on-console"></a>

**自動バックアップをすぐに有効にするには**

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

1. ナビゲーションペインで、[**データベース**] を選択し、変更する DB インスタンスを選択します。

1. **[Modify]** (変更) を選択します。

1. **[バックアップ保持期間]** で、ゼロ以外の正の値 (3 日など) を選択します。

1. **[続行]** を選択します。

1. **[すぐに適用]** を選択します。

1. **[DB インスタンスを変更]** を選択して変更を保存し、自動バックアップを有効にします。

### AWS CLI
<a name="db2-read-replicas.backups.turning-on-cli"></a>

自動バックアップを有効にするには、AWS CLI の [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドを使用します。

以下のパラメータを含めます。
+ `--db-instance-identifier`
+ `--backup-retention-period`
+ `--apply-immediately` 、、または `--no-apply-immediately`

次の例では、バックアップ保持期間を 3 日に設定して、自動バックアップを有効にします。変更はすぐに適用されます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db_instance  \
    --backup-retention-period 3 \
    --apply-immediately
```
Windows の場合:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db_instance  ^
    --backup-retention-period 3 ^
    --apply-immediately
```

### RDS API
<a name="db2-read-replicas.backups.turning-on-api"></a>

自動バックアップを有効にするには、以下の必須パラメータを指定して RDS API の [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) オペレーションを使用します。
+ `DBInstanceIdentifier`
+ `BackupRetentionPeriod`

## RDS for Db2 レプリカのバックアップの復元
<a name="db2-read-replicas.backups.restoring"></a>

RDS for Db2 レプリカのバックアップは、プライマリデータベースのバックアップを復元するのと同じ方法で復元できます。詳細については、「[DB インスタンスへの復元](USER_RestoreFromSnapshot.md)」を参照してください。

レプリカバックアップを復元する際の最も重要な考慮事項は、特にレプリカラグが存在する場合、データベース時間とバックアップ作成時間の違いを理解することです。

レプリケーションの遅延をモニタリングし、バックアップに期待されるデータが含まれていることを確認できます。ReplicaLag メトリクスについては、「[Amazon RDS の Amazon CloudWatch メトリクス](rds-metrics.md)」をご参照ください。

### タイミングの違いについて
<a name="db2-read-replicas-backups-restoring-timing"></a>

レプリカバックアップを復元する場合、復元する時点を決定する必要があります。データベース時刻は、バックアップのデータにトランザクションが最後に適用された時刻を指します。レプリカのバックアップを復元するときは、バックアップが完了した時刻ではなく、データベース時刻に復元することになります。レプリカはプライマリデータベースよりも数分または数時間遅れることがあるため、この違いは重要です。したがって、レプリカバックアップのデータベース時間は、スナップショットの作成時間よりもはるかに早い場合があります。

データベース時刻と作成時刻の違いを確認するには、AWS CLI の [describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html) コマンドを実行するか、RDS API の [DescribeDBSnapshots](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html) オペレーションを呼び出します。`SnapshotDatabaseTime` 値と `OriginalSnapshotCreateTime` 値を比較します。`SnapshotDatabaseTime` 値は、レプリカバックアップのすべてのデータベースのうち、最も早いデータベース時刻です。`OriginalSnapshotCreateTime` 値は、プライマリデータベースに最後に適用されたトランザクションです。レプリケーション遅延は複数のデータベースで異なる場合があり、データベース時刻はこれら 2 つの時刻の間になる可能性があることに注意してください。

次の AWS CLI の例は、2 つの時刻の差を示しています。

Linux、macOS、Unix の場合:

```
aws rds describe-db-snapshots \
    --db-instance-identifier my_db2_replica \
    --db-snapshot-identifier my_replica_snapshot
```

Windows の場合:

```
aws rds describe-db-snapshots ^
    --db-instance-identifier my_db2_replica ^
    --db-snapshot-identifier my_replica_snapshot
```

このコマンドでは、次の例のような出力が生成されます。

```
{
    "DBSnapshots": [
        {
            "DBSnapshotIdentifier": "my_replica_snapshot",
            "DBInstanceIdentifier": "my_db2_replica", 
            "SnapshotDatabaseTime": "2022-07-26T17:49:44Z",
            ...
            "OriginalSnapshotCreateTime": "2021-07-26T19:49:44Z"
        }
    ]
}
```