

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# スナップショットおよび復元
<a name="snapshots"></a>

MemoryDB クラスターは、データをマルチ AZ トランザクションログに自動的にバックアップしますが、クラスターのポイントインタイムスナップショットを定期的に作成するか、オンデマンドで作成するかを選択できます。これらのスナップショットを使用して、以前の時点でクラスターを再作成したり、新しいクラスターをシードしたりできます。スナップショットは、クラスター内の全データとクラスターのメタデータで構成されます。すべてのスナップショットは、耐久性のあるストレージを提供する Amazon Simple Storage Service (Amazon S3) に書き込まれます。いつでも、新しいMemoryDBクラスターを作成し、スナップショットからのデータをそのクラスターに挿入することでデータを復元できます。MemoryDB では、、 AWS Command Line Interface (AWS CLI) AWS マネジメントコンソール、および MemoryDB API を使用してスナップショットを管理できます。

**Topics**
+ [スナップショットの制約:](snapshots-constraints.md)
+ [スナップショットの料金](snapshots-costs.md)
+ [自動スナップショットのスケジュール](snapshots-automatic.md)
+ [手動スナップショットの作成](snapshots-manual.md)
+ [最終スナップショットの作成](snapshots-final.md)
+ [スナップショットの説明](snapshots-describing.md)
+ [スナップショットをコピーする](snapshots-copying.md)
+ [のスナップショットをエクスポートする](snapshots-exporting.md)
+ [スナップショットからの復元](snapshots-restoring.md)
+ [外部で作成されたスナップショットによる新しいクラスターのシード](snapshots-seeding-redis.md)
+ [スナップショットのタグ付け](snapshots-tagging.md)
+ [スナップショットの削除](snapshots-deleting.md)

# スナップショットの制約:
<a name="snapshots-constraints"></a>

スナップショットを計画または作成するときは、以下の制約事項を考慮してください。
+ MemoryDB クラスターでは、サポートされているすべてのノードタイプのスナップショットと復元が可能です。
+ 連続する 24 時間で、クラスタードあたり 20 個までの手動スナップショットを作成できます。
+ MemoryDB はクラスターレベルでのスナップショット作成のみをサポートします。MemoryDB はシャードレベルまたはノードレベルでのスナップショット作成をサポートしていません。
+ スナップショットプロセス中は、クラスターで他の API または CLI オペレーションを実行できません。
+ クラスターを削除し、最終スナップショットをリクエストした場合、MemoryDB は常にプライマリノードからスナップショットを取得します。これにより、クラスターが削除される前に、最新のデータがキャプチャされます。

# スナップショットの料金
<a name="snapshots-costs"></a>

MemoryDB を使用して、アクティブな MemoryDB クラスターごとに 1 つのスナップショットを無料で保存できます。追加スナップショットのストレージ領域については、すべての ‭ AWS ‬ リージョンで 1 か月あたり \$10.085/GB の料金が課金されます。‬‬‬‬ スナップショットの作成や、スナップショットからMemoryDBクラスターへのデータの復元には、データ転送料金はかかりません。

# 自動スナップショットのスケジュール
<a name="snapshots-automatic"></a>

どの MemoryDB クラスターでも、自動スナップショットを有効にできます。自動スナップショットの有効になっている場合、MemoryDB はクラスターのスナップショットを毎日作成します。クラスタへの影響はなく、変更は即時に行われます。詳細については、「[スナップショットからの復元](snapshots-restoring.md)」を参照してください。

自動スナップショットをスケジュールする場合は、次の設定を検討する必要があります:
+ **スナップショットウィンドウ** — MemoryDB がスナップショットの作成を開始する各日の期間。スナップショットウィンドウの最短時間は 60 分です。スナップショットウィンドウは、いつでもお客様にとって都合の良い時間、つまり、特に使用率の高い時間と重ならないような時間に設定できます。

  指定しない場合、スナップショットウィンドウは MemoryDB によって自動的に割り当てられます。
+ **バックアップ保持期限**– バックアップが Amazon S3 に保持される日数。例えば、保持期限を 5 に設定すると、今日作成されたスナップショットは 5 日間保持されます。保持期限が切れると、スナップショットは自動的に削除されます。

  最大スナップショット保持期限は 35 日です。スナップショット保持期限を 0 に設定すると、クラスターの自動スナップショットが無効になります。MemoryDB のデータは、自動スナップショットを無効にしても完全に保持されます。

MemoryDB コンソール、、または MemoryDB API を使用してMemoryDB MemoryDB クラスターの作成時に自動スナップショットを有効 AWS CLIまたは無効にできます。MemoryDB クラスターの作成時に自動スナップショットを有効にするには、**[スナップショット]** セクションの **[自動バックアップを有効にする]** ボックスをチェックします。詳細については、[MemoryDB クラスターの作成](getting-started.md#clusters.create) を参照してください。

# 手動スナップショットの作成
<a name="snapshots-manual"></a>

自動スナップショットに加えて、いつでも手動スナップショットを作成できます。指定された保持期間後に自動的に削除される自動スナップショットとは異なり、手動スナップショットには、保存期間後に自動的に削除される保持期間はありません。すべての手動スナップショットは手動で削除する必要があります。クラスターまたはノードを削除した場合でも、そのクラスターまたはノードの手動スナップショットはすべて保持されます。手動スナップショットを保持する必要がなくなった場合は、自分で明示的に削除する必要があります。

手動スナップショットはテストやアーカイブにも役立ちます。例えば、テスト目的で一連のベースラインデータを作成したとします。データの手動スナップショットを作成し、いつでも復元することができます。このデータを変更するアプリケーションをテストした後、新しいクラスターを作成し、ベースラインスナップショットから復元することによって、データをリセットできます。クラスターの準備ができたら、ベースラインデータに対してアプリケーションをテストし、必要に応じてこのプロセスを繰り返すことができます。

手動スナップショットの直接的な作成に加えて、以下のいずれかの方法で手動スナップショットを作成できます。
+ 「[スナップショットをコピーする](snapshots-copying.md)」ソーススナップショットが自動で作成されたか、手動で作成されたかは問題ではありません。‬‬‬‬
+ 「[最終スナップショットの作成](snapshots-final.md)」クラスターを削除する直前にスナップショットを作成します。

**その他の重要なトピック**
+ [スナップショットの制約:](snapshots-constraints.md)
+ [スナップショットの料金](snapshots-costs.md)

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



## 手動スナップショットの作成（コンソール）
<a name="snapshots-manual-CON"></a>

**クラスターのスナップショットを作成するには（コンソール）**

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

1. 左のナビゲーションペインで **[クラスター]** を選択します。

   MemoryDB クラスター画面が表示されます。

1. バックアップする MemoryDB クラスターの名前の左にあるラジオボタンを選択します。

1. **[アクション]**、**[スナップショットの取得]** の順に選択します。

1. **[スナップショット]** ウィンドウの **[スナップショット名]** ボックスに、スナップショットの名前を入力します。どのクラスターがバックアップされたか、スナップショットを作成した日付と時刻を示すような名前にすることをお勧めします。

   クラスターの命名に関する制約は次のとおりです。
   + 1～40 個の英数字またはハイフンを使用する必要があります。
   + 先頭は文字を使用する必要があります。
   + 連続する 2 つのハイフンを含めることはできません。
   + ハイフンで終わることはできません。

1. **[暗号化]** で、デフォルトの暗号化キーを使用するか、カスタマー管理のキーを使用するかを選択します。詳細については、「[MemoryDBの転送時の暗号化 (TLS)](in-transit-encryption.md)」を参照してください。

1. **タグ** で、オプションでタグを追加して、スナップショットを検索およびフィルタリングしたり、 AWS コストを追跡したりできます。

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

   クラスターのステータスが *snapshotting* に変わります。ステータスが 使用可能に戻ると、バックアップの作成が完了です。

## 手動スナップショットの作成 (AWS CLI)
<a name="snapshots-manual-CLI"></a>

を使用してクラスターの手動スナップショットを作成するには AWS CLI、以下のパラメータを指定して `create-snapshot` AWS CLI オペレーションを使用します。
+ `--cluster-name` – スナップショットのソースとして使用する MemoryDB クラスターの名前。このパラメータは、MemoryDB クラスターをバックアップするときに使用します。

  クラスターの命名に関する制約は次のとおりです。
  + 1～40 個の英数字またはハイフンを使用する必要があります。
  + 先頭は文字を使用する必要があります。
  + 連続する 2 つのハイフンを含めることはできません。
  + ハイフンで終わることはできません。

   
+ `--snapshot-name` – 作成するスナップショットの名前。

### 関連トピック
<a name="snapshots-manual-CLI-see-also"></a>

詳細については、AWS CLI コマンドリファレンスの「`create-snapshot`」を参照してください。

## 手動スナップショットの作成 (MemoryDB API)
<a name="snapshots-manual-API"></a>

MemoryDB API を使用してクラスターの手動スナップショットを作成するには、以下のパラメータを指定して `CreateSnapshot` MemoryDB API オペレーションを使用します。
+ `ClusterName` – スナップショットのソースとして使用する MemoryDB クラスターの名前。このパラメータは、MemoryDB クラスターをバックアップするときに使用します。

   

  クラスターの命名に関する制約は次のとおりです。
  + 1～40 個の英数字またはハイフンを使用する必要があります。
  + 先頭は文字を使用する必要があります。
  + 連続する 2 つのハイフンを含めることはできません。
  + ハイフンで終わることはできません。
+ `SnapshotName` – 作成するスナップショットの名前。

### 関連トピック
<a name="snapshots-manual-api-see-also"></a>

詳細については、「[スナップショットの作成](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateSnapshot.html)」を参照してください。

# 最終スナップショットの作成
<a name="snapshots-final"></a>

MemoryDB コンソール、、または MemoryDB API を使用して AWS CLI、最終スナップショットを作成できます。

## 最終スナップショットの作成 (コンソール)
<a name="snapshots-final-CON"></a>

MemoryDB コンソールを使用して MemoryDB クラスターを削除すると、最終スナップショットを作成できます。

MemoryDB クラスターを削除するときに最終スナップショットを作成するには、削除ページで **[はい]** を選択し、[ステップ 5: クラスターを削除する](getting-started.md#clusters.delete) でスナップショットに名前を付けます。

## 最終スナップショットの作成 (AWS CLI)
<a name="snapshots-final-CLI"></a>

 AWS CLIを使用して MemoryDB クラスターを削除するときに、最終スナップショットを作成できます。

### MemoryDB クラスターを削除する場合
<a name="w2ab1c18c23c29b7b1b5"></a>

クラスターの削除時に最終スナップショットを作成するには、以下のパラメータを指定して `delete-cluster` AWS CLI オペレーションを使用します。
+ `--cluster-name` – 削除するクラスターの名前。
+ `--final-snapshot-name` – 最終スナップショットの名前。

以下のコードは、最終スナップショット ‭`bkup-20210515-final`‬ をクラスター ‭`myCluster`‬ の削除時に作成します。‬‬‬‬‬‬‬‬

Linux、macOS、Unix の場合:

```
aws memorydb delete-cluster \
        --cluster-name myCluster \
        --final-snapshot-name bkup-20210515-final
```

Windows の場合:

```
aws memorydb delete-cluster ^
        --cluster-name myCluster ^
        --final-snapshot-name bkup-20210515-final
```

詳細については、AWS CLI CLI コマンドリファレンスの「[delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/delete-cluster.html)」を参照してください。

## 最終スナップショットの作成 (MemoryDB API)
<a name="snapshots-final-API"></a>

MemoryDB API を使用して、MemoryDB クラスターを削除するときに、最終スナップショットを作成できます。

### MemoryDB クラスターを削除する場合
<a name="snapshots-final-API-cluster"></a>

最終スナップショットを作成するには、以下のパラメータで、`DeleteCluster` MemoryDB API オペレーションを使用します。
+ `ClusterName` – 削除するクラスターの名前。
+ `FinalSnapshotName` - スナップショットの名前。

以下のMemoryDB オペレーションでは、クラスター`myCluster`削除時にスナップショット `bkup-20210515-final` が作成されます。‬‬‬

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DeleteCluster
    &ClusterName=myCluster
    &FinalSnapshotName=bkup-20210515-final
    &Version=2021-01-01
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20210515T192317Z
    &X-Amz-Credential=<credential>
```

詳細については、「[DeleteCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteCluster.html)」を参照してください。

# スナップショットの説明
<a name="snapshots-describing"></a>

以下の手順では、スナップショットのリストを表示する方法を示しています。必要に応じて、特定のスナップショットの詳細を表示することもできます。

## スナップショットの説明 (コンソール)
<a name="snapshots-describing-CON"></a>

**を使用してスナップショットを表示するには AWS マネジメントコンソール**

1. コンソール にログインします

1. 左側のナビゲーションペインで、**[ジョブ]** を選択します。

1. 検索を使用して、**[手動スナップショット]**、**[自動スナップショット]**、または **[すべてのスナップショット]** をフィルタリングします。

1. 特定のスナップショットの詳細を表示するには、スナップショットの名前の左にあるラジオボタンを選択します。**[アクション]** を選択し、**[詳細の表示]** を選択します。

1. オプションで、**[詳細表示]** ページで、**[コピー]**、**[復元]**、**[削除]** などの追加のスナップショットアクションを実行できます。スナップショットにタグを追加することもできます 

## スナップショットの説明 (AWS CLI)
<a name="snapshots-describing-CLI"></a>

スナップショットのリストと必要に応じて特定のスナップショットの詳細を表示するには、‭`describe-snapshots`‬ CLI オペレーションを使用します。‬‬‬‬ 

**例**

以下のオペレーションでは、パラメータ ‭`--max-results`‬ を使用して、アカウントに関連付けられた最大 20 個のスナップショットを一覧表示します。‬‬‬‬ パラメータ ‭`--max-results`‬ を省略すると、最大 50 個のスナップショットが一覧表示されます。‬‬‬‬

```
aws memorydb describe-snapshots --max-results 20
```

以下のオペレーションでは、パラメータ ‭`--cluster-name`‬ を使用して、クラスター ‭`my-cluster`‬ に関連付けられたスナップショットのみを一覧表示します。‬‬‬‬‬‬‬‬

```
aws memorydb describe-snapshots --cluster-name my-cluster
```

以下のオペレーションでは、パラメータ ‭`--snapshot-name`‬ を使用して、スナップショット ‭`my-snapshot` の詳細を表示します。‬‬‬‬‬‬‬‬

```
aws memorydb describe-snapshots --snapshot-name my-snapshot
```

詳細については、「[describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-snapshots.html)」を参照してください。

## スナップショットの説明 (MemoryDB API)
<a name="snapshots-describing-API"></a>

スナップショットのリストを表示するには、‭`DescribeSnapshots`‬ オペレーションを使用します。‬‬‬‬

**例**

以下のオペレーションでは、パラメータ ‭`MaxResults`‬ を使用して、アカウントに関連付けられた最大 20 個のスナップショットを一覧表示します。‬‬‬‬ パラメータ ‭`MaxResults`‬ を省略すると、最大 50 個のスナップショットが一覧表示されます。‬‬‬‬

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DescribeSnapshots
    &MaxResults=20
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

以下のオペレーションでは、パラメータ ‭`ClusterName`‬ を使用して、クラスター `MyCluster`‬ に関連付けられているすべてのスナップショットを一覧表示します。‬‬‬‬‬‬‬‬

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DescribeSnapshots
    &ClusterName=MyCluster
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

以下のオペレーションでは、パラメータ ‭`SnapshotName`‬ を使用して、スナップショット ‭`MyBackup`‬ の詳細を表示します。‬‬‬‬‬‬‬‬

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DescribeSnapshots
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &SnapshotName=MyBackup
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

詳細については、「[DescribeSnapshots](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeSnapshots.html)」を参照してください。

# スナップショットをコピーする
<a name="snapshots-copying"></a>

自動で作成されたか手動で作成されたかにかかわらず、スナップショットのコピーを作成できます。スナップショットをコピーする場合、特にオーバーライドされない限り、ソースと同じ KMS 暗号化キーがターゲットに使用されます。スナップショットをエクスポートし、MemoryDB の外部からアクセスすることもできます。スナップショットのエクスポートについては、「‭[のスナップショットをエクスポートする](snapshots-exporting.md)」‬を参照してください。‬‬‬‬

以下の手順では、スナップショットをコピーする方法を示しています。

## スナップショットのコピー (コンソール)
<a name="snapshots-copying-CON"></a>

**スナップショットをコピーするには（コンソール）**

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

1. スナップショットのリストを表示するには、左のナビゲーションペインから **[スナップショット]** を選択します。

1. スナップショットのリストで、コピーしたいスナップショットの名前の左側にあるラジオボタンを選択します。

1. **[アクション]** を選択して、**[コピー]** を選択します。

1. **[スナップショットのコピー]** ページで、次の操作を行います。

   1. **[新しいスナップショット名]** ボックスに新しいスナップショットの名前を入力します。

   1. オプションの **ターゲットS3バケット** ボックスは空白のままにします。このフィールドは、スナップショットのエクスポートにのみ使用され、S3 の特殊なアクセス権限を必要とします。スナップショットのエクスポートの詳細については、「‭[のスナップショットをエクスポートする](snapshots-exporting.md)‬」を参照してください。‬‬‬‬

   1. デフォルトの AWS KMS 暗号化キーを使用するか、カスタムキーを使用するかを選択します。詳細については、「[MemoryDBの転送時の暗号化 (TLS)](in-transit-encryption.md)」を参照してください。

   1. オプションで、スナップショットのコピーにタグを追加することもできます。

   1. **(コピー)** を選択します。

## スナップショットのコピー (AWS CLI)
<a name="snapshots-copying-CLI"></a>

スナップショットをコピーするには、 ‭`copy-snapshot`‬ オペレーションを使用します。‬

**パラメータ**
+ `--source-snapshot-name` – コピーするスナップショットの名前。‬‬‬‬
+ `--target-snapshot-name` – スナップショットのコピーの名前。
+ `--target-bucket` – スナップショットのエクスポート用に予約されています。スナップショットのコピーを作成する場合は、このパラメータを使用しないでください。詳細については、「[のスナップショットをエクスポートする](snapshots-exporting.md)」を参照してください。

以下の例では、自動スナップショットのコピーを作成します。

Linux、macOS、Unix の場合:

```
aws memorydb copy-snapshot \
    --source-snapshot-name automatic.my-primary-2021-03-27-03-15 \
    --target-snapshot-name my-snapshot-copy
```

Windows の場合:

```
aws memorydb copy-snapshot ^
    --source-snapshot-name automatic.my-primary-2021-03-27-03-15 ^
    --target-snapshot-name my-snapshot-copy
```

詳細については、「[copy-snapshot](https://docs.aws.amazon.com/cli/latest/reference/memorydb/copy-snapshot.html)」を参照してください。

## スナップショットをコピーする (MemoryDB API)
<a name="snapshots-copying-API"></a>

スナップショットコピーするには、以下のパラメータを指定して、`copy-snapshot` ‬オペレーションを使用します。

**パラメータ**
+ `SourceSnapshotName` – コピーするスナップショットの名前。‬‬‬‬
+ `TargetSnapshotName` – スナップショットのコピーの名前。
+ `TargetBucket` – スナップショットのエクスポート用に予約されています。スナップショットのコピーを作成する場合は、このパラメータを使用しないでください。詳細については、「[のスナップショットをエクスポートする](snapshots-exporting.md)」を参照してください。

以下の例では、自動スナップショットのコピーを作成します。

**Example**  

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=CopySnapshot
    &SourceSnapshotName=automatic.my-primary-2021-03-27-03-15
    &TargetSnapshotName=my-snapshot-copy
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

詳細については、「[スナップショットのコピー](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CopySnapshot.html)」を参照してください。

# のスナップショットをエクスポートする
<a name="snapshots-exporting"></a>

MemoryDB は、MemoryDB スナップショットの Amazon Simple Storage Service (Amazon S3) バケットへのエクスポートをサポートしています。これにより、MemoryDB の外部からスナップショットにアクセスできます。エクスポートされた MemoryDB スナップショットは Valkey およびオープンソース Redis OSS に完全に準拠しており、適切なバージョンまたはツールで読み込むことができます。MemoryDB コンソール、、 AWS CLIまたは MemoryDB API を使用してスナップショットをエクスポートできます。

スナップショットのエクスポートは、別の AWS リージョンでクラスターを起動する必要がある場合に役立ちます。データを 1 つの AWS リージョンにエクスポートし、.rdb ファイルを新しい AWS リージョンにコピーしてから、その .rdb ファイルを使用して新しいクラスターをシードできます。新しいクラスターが使用中に入力されるのを待つ必要はありません。新しいクラスターのシードについては、「[外部で作成されたスナップショットによる新しいクラスターのシード](snapshots-seeding-redis.md)」を参照してください。クラスターのデータをエクスポートする別の理由は、オフライン処理のために .rdb ファイルを使用するためです。

**重要**  
 MemoryDB スナップショットとコピー先の Amazon S3 バケットは、同じ AWS リージョンにある必要があります。  
Amazon S3 バケットにコピーされたスナップショットは暗号化されますが、スナップショットを保存する Amazon S3 バケットへのアクセス権を他の人に付与しないことを強くお勧めします。
データ階層化を使用するクラスターでは、Amazon S3 へのスナップショットのエクスポートはサポートされていません。詳細については、「[データ階層化](data-tiering.md)」を参照してください。

スナップショットを Amazon S3 バケットにエクスポートする前に、スナップショットと同じ AWS リージョンに Amazon S3 バケットが必要です。バケットへのアクセスを MemoryDB に許可します。最初の 2 つのステップで、これを行う方法を示します。

**警告**  
以下のシナリオでは、望まない方法でデータが公開される可能性があります。  
**‭‬他のユーザーがスナップショットのエクスポート先の Amazon S3 バケットにアクセスできる場合。‭‬‬‬‬‬‬‬‬‬**  
スナップショットへのアクセスを制御するために、データへのアクセスを希望するユーザーにのみ Amazon S3 バケットへのアクセスを許可します。Amazon S3 バケットへのアクセスの管理については、*Amazon S3 デベロッパーガイド*の「[アクセスの管理](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)」を参照してください。
**他のユーザーが CopySnapshot API を使用するためのアクセス許可を持っている。**  
`CopySnapshot` API オペレーションの使用権限を持つユーザーまたはグループは、独自の Amazon S3 バケットを作成し、このバケットにスナップショットをコピーできます。‬‬‬‬ スナップショットへのアクセスを制御するには、 AWS Identity and Access Management (IAM) ポリシーを使用して、`CopySnapshot`API を使用できるユーザーを制御します。IAM を使用して MemoryDB API オペレーションの使用を制御する方法については、MemoryDB ユーザーガイドの「[MemoryDB でのアイデンティティとアクセス権の管理](iam.md)」を参照してください。

**Topics**
+ [ステップ 1: Amazon S3 バケットを作成する](#snapshots-exporting-create-s3-bucket)
+ [ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)
+ [ステップ 3: MemoryDB スナップショットをエクスポートする](#snapshots-exporting-procedures)

## ステップ 1: Amazon S3 バケットを作成する
<a name="snapshots-exporting-create-s3-bucket"></a>

以下の手順では、Amazon S3 コンソールを使用して、MemoryDBのスナップショットをエクスポートおよび保存する Amazon S3 バケットを作成します。

**Amazon S3 バケットを作成するには**

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

1. **バケットの作成** を選択します。

1. **バケットを作成する - バケット名と地域を選択する** で、以下の操作を実行します。

   1. **バケット名**に Amazon S3 バケットの名前を入力します。

   1. **リージョン**リストから、Amazon S3 バケットの AWS リージョンを選択します。この AWS リージョンは、エクスポートする MemoryDB スナップショットと同じ AWS リージョンである必要があります。

   1. **[作成]** を選択します。

Amazon S3 バケットの作成の詳細については、*Amazon Simple Storage Service ユーザーガイド*の「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。

## ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する
<a name="snapshots-exporting-grant-access"></a>

AWS 2019 年 3 月 20 日より前に導入されたリージョンは、デフォルトで有効になっています。これらの AWS リージョンですぐに作業を開始できます。2019 年 3 月 20 日以降に導入されたリージョンはデフォルトでは無効になっています。[Managing AWS regions](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) で説明されているように、これらのリージョンを使用する前に、それらを有効にするか、オプトインする必要があります。

### AWS リージョンの S3 バケットへのアクセス権を MemoryDB に付与する
<a name="snapshots-exporting-region"></a>

 AWS リージョン内の Amazon S3 バケットに適切なアクセス許可を作成するには、次の手順を実行します。

**MemoryDBにS3 バケットへのアクセス権を付与するには**

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

1. スナップショットのコピー先とする Amazon S3 バケットの名前を選択します。これは、「[ステップ 1: Amazon S3 バケットを作成する](#snapshots-exporting-create-s3-bucket)」で作成した S3 バケットとなります。

1. **[許可]** タブを選択し、**[許可]**で**[バケットポリシー]**を選択します。

1. ポリシーを更新して、オペレーションの実行に必要なアクセス許可を MemoryDB に付与します。
   + `Principal` に `[ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ]` を追加します。
   + スナップショットを Amazon S3 バケットにエクスポートするために必要な、以下のアクセス許可を追加します。
     + `"s3:PutObject"`
     + `"s3:GetObject"`
     + `"s3:ListBucket"`
     + `"s3:GetBucketAcl"`
     + `"s3:ListMultipartUploadParts"`
     + `"s3:ListBucketMultipartUploads"`

   次に、更新されたポリシーの例を示します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "Policy15397346",
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "aws-region.memorydb-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

## ステップ 3: MemoryDB スナップショットをエクスポートする
<a name="snapshots-exporting-procedures"></a>

これで、S3 バケットを作成し、そのバケットにアクセスするためのアクセス許可を MemoryDB に付与しました。S3 オブジェクト所有権を ACL 対応に変更します (バケット所有者優先)。次に、MemoryDB AWS コンソール、 CLI、または MemoryDB API を使用してスナップショットをエクスポートできます。以下では、次の S3 固有の IAM アクセス許可を持っていることを前提としています。

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
		"Effect": "Allow",
		"Action": [
			"s3:GetBucketLocation",
			"s3:ListAllMyBuckets",
			"s3:PutObject",
			"s3:GetObject",
			"s3:DeleteObject",
			"s3:ListBucket"
		],
		"Resource": "arn:aws:s3:::*"
	}]
}
```

------

### MemoryDB スナップショットのエクスポート (コンソール)
<a name="snapshots-exporting-CON"></a>

以下のプロセスでは、MemoryDBコンソールを使用してスナップショットをAmazon S3バケットにエクスポートし、MemoryDBの外部からアクセスできるようにします。Amazon S3 バケットは、MemoryDB スナップショットと同じ AWS リージョンにある必要があります。

**Amazon S3 バケットへの MemoryDB スナップショットのエクスポート**

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

1. スナップショットのリストを表示するには、左のナビゲーションペインから **[スナップショット]** を選択します。

1. スナップショットのリストで、エクスポートしたいスナップショットの左側にあるラジオボタンを選択します。

1. **コピー** を選択します。

1. **バックアップのコピーを作成しますか**ダイアログボックスで、以下の設定を指定します。

   1. **[新しいスナップショット名]** ボックスに新しいスナップショットの名前を入力します。

      この名前は 1～1,000 文字で、UTF-8 エンコードが可能である必要があります。

      MemoryDB は、ここで入力した値に、シャード識別子と `.rdb` を追加します。例えば、「`my-exported-snapshot`」と入力した場合、MemoryDB が `my-exported-snapshot-0001.rdb` を作成します。

   1. **[ターゲットS3の場所]** リストから、バックアップをコピーする Amazon S3 バケット「[ステップ 1: Amazon S3 バケットを作成する](#snapshots-exporting-create-s3-bucket)」で作成したバケットの名前を選択します。

      **ターゲット S3 の場所**は、エクスポートプロセスを成功させるために、次のアクセス許可を持つスナップショットの AWS リージョンの Amazon S3 バケットである必要があります。
      + オブジェクトアクセス – **読み取り** および **書き込み**。
      + アクセス許可 – **読み取り**

      詳細については、「[ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)」を参照してください。

   1. **コピー** を選択します。

**注記**  
S3 バケットにMemoryDBがスナップショットをエクスポートするためのアクセス許可がない場合、以下のいずれかのエラーメッセージを受け取ります。「[ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)」に戻り、示されたアクセス権限を追加して、スナップショットのエクスポートを再試行してください。  
MemoryDB は S3 バケットで読み取り権限 % を付与されていません。  
**解決策:** バケットで読み取りのアクセス権限を追加します。
MemoryDB は S3 バケットで % の WRITE 権限を付与されていません。  
**解決策:** バケットで書き込みのアクセス権限を追加します。
MemoryDB は S3 バケットで % の READ\$1ACP 権限を付与されていません。  
**解決策:** バケットで**読み取り**のアクセス権限を追加します。

スナップショットを別の AWS リージョンにコピーする場合は、Amazon S3 を使用してスナップショットをコピーします。詳細については、Amazon Simple Storage Service ユーザーガイドの「[オブジェクトのコピー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html)」を参照してください。

### MemoryDB スナップショットのエクスポート (AWS CLI)
<a name="snapshots-exporting-CLI"></a>

以下のパラメータを指定して ‭`copy-snapshot`‬ CLI オペレーションを使用することで、Amazon S3 バケットにスナップショットをエクスポートします。‬‬‬‬

**パラメータ**
+ `--source-snapshot-name` – コピーするスナップショットの名前。‬‬‬‬
+ `--target-snapshot-name` – スナップショットのコピーの名前。

  この名前は 1～1,000 文字で、UTF-8 エンコードが可能である必要があります。

  MemoryDB は、ここで入力した値に、シャード識別子と `.rdb` を追加します。例えば、「`my-exported-snapshot`」と入力した場合、MemoryDB が `my-exported-snapshot-0001.rdb` を作成します。
+ `--target-bucket` – スナップショットをエクスポートするAmazon S3バケットの名前。スナップショットのコピーは、指定したバケットで作成されます。

  エクスポートプロセスを成功させるには、 がスナップショットの AWS リージョンにある Amazon S3 バケットで、次のアクセス許可を持っている`--target-bucket`必要があります。
  + オブジェクトアクセス – **読み取り** および **書き込み**。
  + アクセス許可 – **読み取り**

  詳細については、「[ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)」を参照してください。

以下のオペレーションは、amzn-s3-demo-bucket にスナップショットをコピーします。

Linux、macOS、Unix の場合:

```
aws memorydb copy-snapshot \
    --source-snapshot-name automatic.my-primary-2021-06-27-03-15 \
    --target-snapshot-name my-exported-snapshot \
    --target-bucket amzn-s3-demo-bucket
```

Windows の場合:

```
aws memorydb copy-snapshot ^
    --source-snapshot-name automatic.my-primary-2021-06-27-03-15 ^
    --target-snapshot-name my-exported-snapshot ^
    --target-bucket amzn-s3-demo-bucket
```

**注記**  
S3 バケットにMemoryDBがスナップショットをエクスポートするためのアクセス許可がない場合、以下のいずれかのエラーメッセージを受け取ります。「[ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)」に戻り、示されたアクセス権限を追加して、スナップショットのエクスポートを再試行してください。  
MemoryDB は S3 バケットで読み取り権限 % を付与されていません。  
**解決策:** バケットで読み取りのアクセス権限を追加します。
MemoryDB は S3 バケットで % の WRITE 権限を付与されていません。  
**解決策:** バケットで書き込みのアクセス権限を追加します。
MemoryDB は S3 バケットで % の READ\$1ACP 権限を付与されていません。  
**解決策:** バケットで**読み取り**のアクセス権限を追加します。

詳細については、AWS CLI コマンドリファレンスの「`copy-snapshot`」を参照してください。

スナップショットを別の AWS リージョンにコピーする場合は、Amazon S3 コピーを使用します。詳細については、Amazon Simple Storage Service ユーザーガイドの「[オブジェクトのコピー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html)」を参照してください。

### MemoryDB スナップショットをエクスポートする (MemoryDB API)
<a name="snapshots-exporting-API"></a>

以下のパラメータを指定して ‭`CopySnapshot`‬ API オペレーションを使用し、スナップショットを Amazon S3 バケットにエクスポートします。‬‬‬‬

**パラメータ**
+ `SourceSnapshotName` – コピーするスナップショットの名前。‬‬‬‬
+ `TargetSnapshotName` – スナップショットのコピーの名前。

  この名前は 1～1,000 文字で、UTF-8 エンコードが可能である必要があります。

  MemoryDB は、ここで入力した値に、シャード識別子と `.rdb` を追加します。例えば、「`my-exported-snapshot`」と入力した場合、`my-exported-snapshot-0001.rdb` が返されます。
+ `TargetBucket` – スナップショットをエクスポートするAmazon S3バケットの名前。スナップショットのコピーは、指定したバケットで作成されます。

  は、エクスポートプロセスを成功させるために、次のアクセス許可を持つスナップショットの AWS リージョンの Amazon S3 バケット`TargetBucket`である必要があります。
  + オブジェクトアクセス – **読み取り** および **書き込み**。
  + アクセス許可 – **読み取り**

  詳細については、「[ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)」を参照してください。

以下の例では、Amazon S3 バケット ‭`amzn-s3-demo-bucket`‬ に自動スナップショットのコピーを作成します。‬‬‬‬

**Example**  

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=CopySnapshot
    &SourceSnapshotName=automatic.my-primary-2021-06-27-03-15
    &TargetBucket=&example-s3-bucket;
    &TargetSnapshotName=my-snapshot-copy
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

**注記**  
S3 バケットにMemoryDBがスナップショットをエクスポートするためのアクセス許可がない場合、以下のいずれかのエラーメッセージを受け取ります。「[ステップ 2: Amazon S3 バケットへのアクセス権を MemoryDB に付与する](#snapshots-exporting-grant-access)」に戻り、示されたアクセス権限を追加して、スナップショットのエクスポートを再試行してください。  
MemoryDB は S3 バケットで読み取り権限 % を付与されていません。  
**解決策:** バケットで読み取りのアクセス権限を追加します。
MemoryDB は S3 バケットで % の WRITE 権限を付与されていません。  
**解決策:** バケットで書き込みのアクセス権限を追加します。
MemoryDB は S3 バケットで % の READ\$1ACP 権限を付与されていません。  
**解決策:** バケットで**読み取り**のアクセス権限を追加します。

詳細については、「[スナップショットのコピー](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CopySnapshot.html)」を参照してください。

スナップショットを別の AWS リージョンにコピーする場合は、Amazon S3 コピーを使用して、エクスポートされたスナップショットを別の AWS リージョンの Amazon S3 バケットにコピーします。詳細については、Amazon Simple Storage Service ユーザーガイドの「[オブジェクトのコピー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html)」を参照してください。

# スナップショットからの復元
<a name="snapshots-restoring"></a>

MemoryDB または ElastiCache (Redis OSS) の .rdb スナップショットファイルから新しいクラスターにいつでもデータを復元できます。

MemoryDB の復元プロセスは以下をサポートします。
+ ElastiCache (Redis OSS) から作成した 1 つ以上の .rdb スナップショットファイルから MemoryDB クラスターへの移行。

  復元を実行するには、.rdb ファイルは S3 に置かれている必要があります。
+ スナップショットファイルの作成に使用されたクラスターのシャード数とは異なる、新しいクラスターのシャード数を指定します。
+ 新しいクラスターに異なるノードタイプ (大きいまたは小さい) を指定します。より小さいノードタイプにスケールダウンする場合は、新しいノードタイプに、データとエンジンのオーバーヘッドに対する十分なメモリがあることを確認してください。
+ 新しい MemoryDB クラスターのスロットを、スナップショットファイルの作成に使用したクラスターとは異なる方法で設定します。

**重要**  
MemoryDB クラスターは複数データベースをサポートしません。そのため、MemoryDB に復元すると、.rdb ファイルが複数のデータベースを参照している場合は復元に失敗します。
データ階層化を使用するクラスター (r6gd ノードタイプなど) から、データ階層化を使用しないクラスター (r6g ノードタイプなど) にスナップショットを復元することはできません。

スナップショットからクラスターを復元するときに変更を加えるかどうかは、選択によって決まります。これらの選択は、MemoryDB コンソールを使用して復元する場合は、**[クラスターの復元]** ダイアログボックスで行います。これらの選択を行うには、 AWS CLI または MemoryDB API を使用して復元するときにパラメータ値を設定します。

復元オペレーション時に、MemoryDB は新しいクラスターを作成し、スナップショットファイルからのデータを使用して入力します。このプロセスが完了すると、クラスターはウォームアップ状態になり、リクエストを受け付けることができます。

**重要**  
先に進む前に、復元元のクラスターのスナップショットを作成したことを確認してください。詳細については、「[手動スナップショットの作成](snapshots-manual.md)」を参照してください。  
外部で作成したスナップショットから復元する場合は、「‭[外部で作成されたスナップショットによる新しいクラスターのシード](snapshots-seeding-redis.md)」を参照してください。‬‬‬‬

次の手順は、MemoryDB コンソール、、 AWS CLIまたは MemoryDB API を使用してスナップショットを新しいクラスターに復元する方法を示しています。

## スナップショットからの復元 (コンソール)
<a name="snapshots-restoring-CON"></a>

**新規クラスターへスナップショットを復元するには (コンソール)**

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

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

1. スナップショットのリストで、復元したいスナップショットの名前の横にあるボタンを選択します。

1. **[アクション]** を選択してから、**[リストア]** を選択します。

1. **[クラスター設定]** で以下を設定します。

   1. **[クラスター名]**– 必須。新しいクラスターの名前。

   1. **[説明]** - オプション 新規クラスターの説明。

1. **[サブネットグループ]** セクションを完了します。

   1. **[サブネットグループ]** で、新しいサブネットグループを作成するか、このクラスターに適用する既存のサブネットグループを選択します。新しいものを作成する場合:
     + **[名前]** を入力する
     + **[説明]** を入力する
     + マルチ AZ を有効にした場合は、異なるアベイラビリティーゾーンに存在する少なくとも 2 つのサブネットをサブネットグループに含める必要があります。詳細については、「[サブネットおよびサブネットグループ](subnetgroups.md)」を参照してください。
     + 新しいサブネットグループを作成していて、既存の VPC がない場合は、VPC を作成するように求められます。詳細については、「Amazon VPC ユーザーガイド」の「[Amazon VPC とは](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)」を参照してください。

1. **[クラスター設定]** セクションに入力します。

   1. **Valkey バージョンの互換性**または **Redis OSS バージョンの互換性**については、デフォルトの `6.0` を受け入れます。

   1. **[ポート]** には、デフォルトのポート 6379 をそのまま使用するか、別のポートを使用する理由がある場合はポート番号を入力します。

   1. **[パラメータグループ]** には、`default.memorydb-redis6` パラメータグループをそのまま使用します。

      パラメータグループはクラスターのランタイムパラメータを制御します。パラメータグループの詳細については、「[エンジン固有のパラメータ](parametergroups.redis.md)」を参照してください。

   1. **[ノードタイプ]** では、必要なノードタイプの値 (および関連するメモリサイズ) を選択します。

      r6gdノードタイプファミリーのメンバーを選択すると、クラスターのデータ階層化が自動的に有効になります。詳細については、「[データ階層化](data-tiering.md)」を参照してください。

   1. **[シャード数]** で、このクラスターに必要なシャード (パーティション/ノードグループ) の数を選択します。

      クラスター内のシャード数を動的に変更できます。詳細については、「[MemoryDB クラスターのスケーリング](scaling-cluster.md)」を参照してください。

   1. **シャード当たりのレプリカ数** で、各シャードに必要なリードレプリカのノード数を選択します。

      次の制限があります。
      + マルチ AZ が有効になっている場合は、シャードごとに少なくとも 1 つのレプリカがあることを確認してください。
      + コンソールを使用してクラスターを作成する場合、シャードごとのレプリカ数は同じになります。

   1. **次へ** を選択します。

   1. **[詳細設定]** セクションを完了します。

      1. **セキュリティグループ** で、このクラスターに必要なセキュリティグループを選択します。*セキュリティグループ*は、クラスターへのネットワークアクセスを制御するためのファイアウォールとして機能します。VPC のデフォルトのセキュリティグループを使用するか、新しいセキュリティグループを作成できます。

         VPC セキュリティグループの詳細については、*Amazon VPC ユーザーガイド*の「[VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)」を参照してください。

      1. データは、次の方法で暗号化されます。
         + **保管時の暗号化**– ディスクに保存されているデータの暗号化を有効にします。詳細については、「[保管時の暗号化](https://docs.aws.amazon.com/memorydb/latest/devguide/at-rest-encryption.html)」を参照してください。
**注記**  
**カスタマーマネージド KMS AWS キーを選択し、キーを選択することで**、別の暗号化キーを指定できます。
         + **転送時の暗号化** – 転送中のデータの暗号化を有効にします。これはデフォルトで有効になっています。詳細については、「[転送中の暗号化](https://docs.aws.amazon.com/memorydb/latest/devguide/in-transit-encryption.html)」を参照してください。

         暗号化なしを選択すると、「オープンアクセス」というオープンアクセスコントロールリストがデフォルトユーザーで作成されます。詳細については、「[アクセスコントロールリスト (ACL) によるユーザー認証](clusters.acls.md)」を参照してください。

      1. **[スナップショット]** には、オプションでスナップショットの保存期間とスナップショットウィンドウを指定します。デフォルトでは、**[自動スナップショットを有効にする]** が選択されています。

      1. **[メンテナンスウィンドウ]** には、オプションでメンテナンスウィンドウを指定します。*メンテナンスウィンドウ*は、MemoryDB がクラスターのシステムメンテナンスを毎週スケジュールする時間の長さ (通常は 1 時間単位) です。MemoryDB がメンテナンス期間の日時を選択することを許可するか (*[指定なし]*)、自分で日時と期間を選択できます (*[メンテナンス期間の指定]*)。リストから *[メンテナンスウィンドウを指定]* を選択した場合は、メンテナンスウィンドウの *[開始日]*、*[開始時間]*、および *[期間]* (時間単位) を選択します。すべての時刻は協定世界時 (UCT) です。

         詳細については、「[メンテナンスの管理](maintenance-window.md)」を参照してください。

      1. **[通知]** で、既存の Amazon Simple Notiﬁcation Service (Amazon SNS) トピックを選択するか、手動 ARN 入力を選択してトピックの Amazon リソースネーム (ARN) を入力します。Amazon SNS では、インターネットに接続されたスマートデバイスに通知をプッシュすることができます。デフォルトでは、通知は無効になります。詳細については、[https://aws.amazon.com/sns/](https://aws.amazon.com/sns/) を参照してください。

   1. **タグ**では、オプションでタグを適用してクラスターを検索およびフィルタリングしたり、 AWS コストを追跡したりできます。

   1. すべてのエントリと選択を確認し、必要な修正を行います。準備が完了したら、**クラスタの作成** を選択してクラスターを起動するか、**キャンセル** を選択してオペレーションをキャンセルします。

   クラスターのステータスが 使用可能** になり次第、EC2 にアクセス権を付与して接続し、使用を開始できます。詳細については、「[ステップ 3: クラスターへのアクセスの許可](getting-started.md#getting-started.authorizeaccess)」および「[ステップ 4: クラスターに接続する](getting-started.md#getting-startedclusters.connecttonode)」を参照してください。
**重要**  
クラスターが使用可能になった直後から、クラスターがアクティブである間は (実際に使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、クラスターを削除する必要があります。「[ステップ 5: クラスターを削除する](getting-started.md#clusters.delete)」を参照してください。

## スナップショットからの復元 (AWS CLI)
<a name="snapshots-restoring-CLI"></a>

`create-cluster` `--snapshot-name` または `--snapshot-arns` を含めて、新しいクラスターをスナップショットからのデータでシードします。‬‬‬‬‬‬‬

詳細については次を参照してください:
+ 「*MemoryDB ユーザーガイド*」の「[クラスターの作成 (AWS CLI)](getting-started.md#clusters.create.cli)」。
+  AWS CLI コマンドリファレンスの [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/create-cluster.html)。

## スナップショットからの復元 (MemoryDB API)
<a name="snapshots-restoring-API"></a>

MemoryDB API オペレーション `CreateCluster` を使用して MemoryDB スナップショットを復元できます。

`CreateCluster` `SnapshotName` または `SnapshotArns` を含めて、新しいクラスターをスナップショットからのデータでシードします。‬‬‬‬‬‬‬

詳細については次を参照してください:
+ 「*MemoryDB ユーザーガイド*」の「[クラスターの作成 (MemoryDB API)](getting-started.md#clusters.create.api)」。
+ 「*MemoryDB API リファレンス*」の「[CreateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateCluster.html)」。

# 外部で作成されたスナップショットによる新しいクラスターのシード
<a name="snapshots-seeding-redis"></a>

新しい MemoryDB クラスターを作成するときに、Valkey または Redis OSS .rdb スナップショットファイルのデータでシードできます。

MemoryDB スナップショットまたは ElastiCache (Redis OSS) スナップショットから新しい MemoryDB クラスターをシードする方法については、「[スナップショットからの復元](snapshots-restoring.md)」を参照してください。

.rdb ファイルを使用して新しい MemoryDB クラスターをシードするときは、以下を実行できます。
+ 新しいクラスターのシャード数を指定します。新しいクラスター内のシャードの数を指定します。この数は、スナップショットファイルの作成に使用されたクラスター内のシャードの数とは異なる場合があります。
+ 新しいクラスターに、スナップショットを作成したクラスターで使用されているものより大きいか小さい、異なるノードタイプを指定します。より小さいノードタイプにスケールダウンする場合は、新しいノードタイプに、データとエンジンのオーバーヘッドに対する十分なメモリがあることを確認してください。

**重要**  
スナップショットデータがノードのリソースを超えていないことを確認する必要があります。  
スナップショットが大きすぎる場合、クラスターのステータスは ‭`restore-failed`‬ になります。‬‬‬‬ その場合は、クラスターを削除してやり直す必要があります。  
ノードタイプおよび仕様の完全なリストについては、「‭[MemoryDB ノードタイプ固有のパラメータ](parametergroups.redis.md#parametergroups.redis.nodespecific)」を参照してください。
.rdb ファイルは、Amazon S3 サーバー側の暗号化 (SSE-S3) でのみ暗号化できます。詳細については、「[サーバー側の暗号化を使用したデータの保護](https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)」を参照してください。

## ステップ 1: 外部クラスターで、スナップショットを作成する
<a name="snapshots-seeding-create-snapshot"></a>

**MemoryDB クラスターにシードするスナップショットを作成するには**

1. 既存の Valkey または Redis OSS インスタンスに接続します。

1. ‭`BGSAVE`‬ オペレーションまたは ‭`SAVE`‬ オペレーションを実行してスナップショットを作成します。‬‬‬‬‬‬‬‬ .rdb ファイルの場所を書き留めておきます。

   `BGSAVE` は非同期処理であり、処理中も他のクライアントをブロックしません。詳細については、「[BGSAVE](http://valkey.io/commands/bgsave)」を参照してください。

   `SAVE` が同期され、完了するまで他のプロセスがブロックされます。詳細については、「[SAVE](http://valkey.io/commands/save)」を参照してください。

スナップショットの作成の詳細については、「[永続性](http://valkey.io/topics/persistence)」を参照してください。

## ステップ 2: Amazon S3 バケットとフォルダを作成する
<a name="snapshots-seeding-create-s3-bucket"></a>

スナップショットを作成したら、Amazon S3 バケット内のフォルダにアップロードする必要があります。これを行うには、最初にそのバケット内に Amazon S3 バケットとフォルダが必要です。既に適切なアクセス許可を持つ Amazon S3 バケットフォルダがある場合は、「[ステップ 3: スナップショットを Amazon S3 にアップロードする](#snapshots-seeding-upload)」に進むことができます。

**Amazon S3 バケットを作成するには**

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

1. Amazon S3 バケットを作成するには、*Amazon Simple Storage Service ユーザーガイド*の「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」の手順に従います。

   Amazon S3 バケットの名前は DNS に準拠している必要があります。それ以外の場合、MemoryDB はバックアップファイルにアクセスできません。DNS コンプライアンスのルールは次のとおりです。
   + 名前は、3～63 文字以内にする必要があります。
   + 名前は、ピリオド (.) で区切られた 1 つのラベルまたは一連の複数のラベルとして指定します。
     + 先頭の文字には小文字の英文字または数字を使用します。
     + 終了の文字には小文字の英文字または数字を使用します。
     + 小文字の英文字、数字、およびダッシュのみを含めます。
   + 名前は IP アドレスの形式にすることはできません (例: 192.0.2.0)。

   Amazon S3 バケットは、新しい MemoryDB クラスターと同じ AWS リージョンに作成することを強くお勧めします。このアプローチにより、MemoryDB が Amazon S3 から .rdb ファイルを読み取る場合のデータ転送速度が最大限に速くなります。
**注記**  
データを可能な限り安全に保つには、Amazon S3 バケットに対するアクセス許可をできるだけ制限します。同時に、バケットとその内容を使用して新しい MemoryDB クラスターをシードするためのアクセス許可を付与する必要があります。

**Amazon S3 バケットにフォルダを追加するには**

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

1. .rdb ファイルのアップロード先となるバケットの名前を選択します。

1. **Create folder** (フォルダの作成) を選択します。

1. 新しいフォルダの名前を入力します。

1. **保存** を選択します。

   バケット名とフォルダ名の両方の名前を書き留めます。

## ステップ 3: スナップショットを Amazon S3 にアップロードする
<a name="snapshots-seeding-upload"></a>

次に、「[ステップ 1: 外部クラスターで、スナップショットを作成する](#snapshots-seeding-create-snapshot)」で作成した .rdb ファイルをアップロードします。アップロード先は、「[ステップ 2: Amazon S3 バケットとフォルダを作成する](#snapshots-seeding-create-s3-bucket)」で作成した Amazon S3 バケットとフォルダです。このタスクの詳細については、[オブジェクトのアップロード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)をご参照ください。ステップ 2 と 3 の間に、作成したフォルダ名を選択します。

**.rdb ファイルを Amazon S3 フォルダにアップロードするには**

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

1. ステップ 2 で作成した Amazon S3 バケットの名前を選択します。

1. ステップ 2 で作成したフォルダの名前を選択します。

1. **アップロード**を選択します。

1. **ファイルの追加**を選択します。

1. アップロードする 1 つまたは複数のファイルを参照して見つけ、そのファイルを選択します。複数のファイルを選択するには、Ctrl キーを押しながら各ファイル名を選択します。

1. **開く** をクリックします。

1. 正しいファイルが **[アップロード]** ダイアログボックスに表示されることを確認してから、**[アップロード]** を選択します。

.rdb ファイルへのパスを記録します。例えば、バケット名が `amzn-s3-demo-bucket` で、パスが `myFolder/redis.rdb` の場合は、「`amzn-s3-demo-bucket/myFolder/redis.rdb`」と入力します。新しいクラスターをこのスナップショットのデータでシードする際にこのパスが必要です。

詳細については、「*‭‬Amazon Simple Storage Service ユーザーガイド‭‬*」の「‭[‬バケットの命名規則‭](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)‬」を参照してください。

## ステップ 4: MemoryDBに.rdb ファイルへの読み込みアクセスを許可する
<a name="snapshots-seeding-grant-access"></a>

AWS 2019 年 3 月 20 日より前に導入されたリージョンは、デフォルトで有効になっています。これらの AWS リージョンですぐに作業を開始できます。2019 年 3 月 20 日以降に導入されたリージョンはデフォルトでは無効になっています。[Managing AWS regions](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) で説明されているように、これらのリージョンを使用する前に、それらを有効にするか、オプトインする必要があります。

### MemoryDBに.rdb ファイルへの読み込みアクセスを許可する
<a name="snapshots-seeding"></a>

**スナップショットファイルへの読み込みアクセスを MemoryDB に許可するには**

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

1. .rdb ファイルを含む S3 バケットの名前を選択します。

1. .rdb ファイルを含むフォルダの名前を選択します。

1. .rdb スナップショットファイルの名前を選択します。選択したファイルの名前は、ページ先頭のタブの上に表示されます。

1. **アクセス許可** タブを選択します。

1. **許可** で、**バケットポリシー**を選択し、**編集**を選択します。

1. ポリシーを更新して、オペレーションの実行に必要なアクセス許可を MemoryDB に付与します。
   + `Principal` に `[ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ]` を追加します。
   + スナップショットを Amazon S3 バケットにエクスポートするために必要な、以下のアクセス許可を追加します。
     + `"s3:GetObject"`
     + `"s3:ListBucket"`
     + `"s3:GetBucketAcl"`

   次に、更新されたポリシーの例を示します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "Policy15397346",
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "us-east-1.memorydb-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/snapshot1.rdb",
                   "arn:aws:s3:::amzn-s3-demo-bucket/snapshot2.rdb"
               ]
           }
       ]
   }
   ```

------

1. **保存**を選択します。

## ステップ 5: MemoryDB クラスターと .rdb ファイルデータを提携させる
<a name="snapshots-seeding-seed-cluster"></a>

これで MemoryDB クラスターを作成し、.rdb ファイルのデータと提携する準備が整いました。クラスターを作成するには、[MemoryDB クラスターの作成](getting-started.md#clusters.create) の指示に従います。

お客様が MemoryDB に使用するよう指示した方法は、Amazon S3 にアップロードしたバックアップがどこにあるのかを検索するものですが、これはクラスターの作成に使用する方法によって異なります。

**MemoryDB クラスターと .rdb ファイルデータを提携させる**
+ MemoryDB コンソールの使用

  エンジンを選択したら、**[詳細設定]** セクションを展開し、**[データをクラスターにインポートする]** を見つけます。**[シード RDB ファイルの S3 ロケーション]** ボックスに、ファイルの Amazon S3 パスを入力します。複数の .rdb ファイルがある場合は、カンマ区切りのリストで各ファイルのパスを入力します。Amazon S3 パスは `amzn-s3-demo-bucket/myFolder/myBackupFilename.rdb` のようになります。
+ **の使用 AWS CLI**

  `create-cluster` または `create-cluster` オペレーションを使用する場合、パラメータ `--snapshot-arns` を使用して、各 .rdb ファイルの完全修飾 ARN を指定します 例えば、`arn:aws:s3:::amzn-s3-demo-bucket/myFolder/myBackupFilename.rdb`。ARN は、Amazon S3 に保存したスナップショットファイルに分解される必要があります。
+ MemoryDB API の使用

  `CreateCluster` または `CreateCluster` MemoryDB API オペレーションを使用する場合、パラメータ `SnapshotArns` を使用して、各 .rdb ファイルの完全修飾 ARN を指定します。例えば、`arn:aws:s3:::amzn-s3-demo-bucket/myFolder/myBackupFilename.rdb`。ARN は、Amazon S3 に保存したスナップショットファイルに分解される必要があります。

クラスターの作成処理中、スナップショットのデータがクラスターに書き込まれます。MemoryDB イベントメッセージを表示して、進行状況をモニタリングできます。これを行うには、MemoryDB コンソールを参照し、**[イベント]** を選択します。また、 AWS MemoryDB コマンドラインインターフェイスまたは MemoryDB API を使用してイベントメッセージを取得することもできます。

# スナップショットのタグ付け
<a name="snapshots-tagging"></a>

タグ形式で各スナップショットに独自のメタデータを割り当てることができます。タグを使用すると、用途別、所有者別、環境別などのさまざまな方法でスナップショットを分類できます。これは同じタイプのリソースが多数ある場合に役立ちます。割り当てたタグに基づいて、特定のリソースをすばやく識別できます。詳細については、「[タグを付けることができるリソース](tagging-resources.md#tagging-your-resources)」を参照してください。

コスト配分タグは、請求書の費用をタグ値別にグループ化することで、複数の AWS サービスにわたるコストを追跡する手段です。コスト配分タグの詳細については、「[コスト配分タグの使用](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)」を参照してください。

MemoryDB コンソール、 AWS CLI、または MemoryDB API を使用して、スナップショットのコスト配分タグを追加、一覧表示、変更、削除、またはコピーできます。詳細については、「[コスト配分タグによるコストのモニタリング](tagging.md)」を参照してください。

# スナップショットの削除
<a name="snapshots-deleting"></a>

自動スナップショットは、保持期限を過ぎると自動的に削除されます。クラスターを削除すると、その自動スナップショットもすべて削除されます。

MemoryDB には、スナップショットが自動と手動のいずれで作成されたかにかかわらず、いつでもスナップショットを削除できる削除 API オペレーションが用意されています。手動スナップショットには保持期限がないため、手動削除は手動スナップショットを削除する唯一の方法です。

MemoryDB コンソール、、 AWS CLIまたは MemoryDB API を使用してスナップショットを削除できます。

## スナップショットの削除 (コンソール)
<a name="snapshots-deleting-CON"></a>

以下の手順では、MemoryDB コンソールを使用してスナップショットを削除します。

**スナップショットを削除するには**

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

1. 左のナビゲーションペインで **[スナップショット]**を選択します。

   スナップショット 画面に、スナップショットのリストが表示されます。

1. 削除するスナップショットの名前の左にあるラジオボタンを選択します。

1. **アクション**を選択してから、**削除**を選択します。

1. このスナップショットを削除する場合は、テキストボックスに `delete` と入力し、**[削除]** を選択します。ルールをキャンセルするには、**[キャンセル]** を選択します。ステータスが *deleting* に変わります。

## スナップショットの削除 (AWS CLI)
<a name="snapshots-deleting-CLI"></a>

スナップショットを削除するには、次のパラメータを指定して delete-snapshot AWS CLI オペレーションを使用します。
+ `--snapshot-name` - 削除するスナップショット。

次のコードは、スナップショット `myBackup` を削除します。

```
aws memorydb delete-snapshot --snapshot-name myBackup
```

詳細については、*AWS CLI CLI コマンドリファレンス*の「[delete-snapshot](https://docs.aws.amazon.com/cli/latest/reference/memorydb/delete-snapshot.html)」を参照してください。

## スナップショットを削除する (MemoryDB API)
<a name="snapshots-deleting-API"></a>

スナップショットを削除するには、以下のパラメータを指定して ‭`DeleteSnapshot` API オペレーションを使用します。‬‬‬‬
+ `SnapshotName` - 削除するスナップショット。

次のコードは、スナップショット `myBackup` を削除します。

```
https://memory-db.us-east-1.amazonaws.com/
   ?Action=DeleteSnapshot
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &SnapshotName=myBackup
   &Timestamp=20210802T192317Z
   &Version=2021-01-01
   &X-Amz-Credential=<credential>
```

詳細については、「[スナップショットの削除](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteSnapshot.html)」 を参照してください。