

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

# バックアップのエクスポート
<a name="backups-exporting"></a>

Amazon ElastiCache は、ElastiCache for Redis OSS バックアップの Amazon Simple Storage Service (Amazon S3) バケットへのエクスポートをサポートしています。これにより、ElastiCache の外部からバックアップにアクセスできます。ElastiCache コンソール、、 AWS CLIまたは ElastiCache API を使用してバックアップをエクスポートできます。

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

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

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

## Amazon S3 バケットを作成する
<a name="backups-exporting-create-s3-bucket"></a>

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

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

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

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

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

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

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

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

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

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

## Amazon S3 バケットへのアクセス権を ElastiCache に付与する
<a name="backups-exporting-grant-access"></a>

ElastiCache では、スナップショットをコピーするために Amazon S3 バケットにアクセスする必要があります。アクセスコントロールリスト (ACLs) ではなく、Amazon S3 バケットポリシーを使用してアクセスを付与することをお勧めします。

**警告**  
Amazon S3 バケットにコピーされるバックアップは暗号化されますが、Amazon S3 バケットへのアクセス権を持つユーザーなら、誰でもデータにアクセスできます。したがって、この Amazon S3 バケットへの不正アクセスを防ぐよう IAM ポリシーを設定することを強くお勧めします。詳細については、「*Amazon S3 ユーザーガイド*」の「[アクセスの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)」を参照してください。

Amazon S3 バケットに次のバケットポリシーを追加します。を Amazon S3 バケットの名前`{{amzn-s3-demo-bucket}}`に置き換え、 をバケットの AWS リージョン ( など) `{{region}}`に置き換えます`us-east-1`。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ElastiCacheSnapshotExport",
            "Effect": "Allow",
            "Principal": {
                "Service": "{{region}}.elasticache-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}}/*"
            ]
        }
    ]
}
```

------

**Amazon S3 コンソールを使用してバケットポリシーを追加するには**

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

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

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

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

1. バケットポリシーをポリシーエディタに貼り付けます。`{{region}}` および `{{amzn-s3-demo-bucket}}`プレースホルダーを値に置き換えます。

1. **[Save changes]** (変更の保存) をクリックします。

ACLs[Amazon ElastiCache (Redis OSS) に S3 バケットへのアクセス権を付与するS3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html#object-ownership-elasticache-redis)」を参照してください。 *Amazon S3 *

## ElastiCache バックアップをエクスポートする
<a name="backups-exporting-procedures"></a>

これで、S3 バケットを作成し、そのバケットにアクセスするためのアクセス許可を ElastiCache に付与しました。次に、ElastiCache AWS コンソール、CLI、または ElastiCache API を使用してスナップショットをエクスポートできます。

### ElastiCache バックアップのエクスポート (コンソール)
<a name="backups-exporting-CON"></a>

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

**ElastiCache バックアップを Amazon S3 バケットにエクスポートするには**

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

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

1. バックアップのリストから、エクスポートするバックアップの名前の左にあるチェックボックスをオンにします。

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

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

   1. **[新しいバックアップ名]** ボックスに、新しいバックアップの名前を入力します。

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

      ElastiCache は、ここで入力した値に、インスタンス識別子と `.rdb` を追加します。たとえば、「`my-exported-backup`」と入力した場合、ElastiCache によって `my-exported-backup-0001.rdb` が作成されます。

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

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

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

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

**注記**  
S3 バケットにバックアップをエクスポートするためのアクセス許可が ElastiCache にない場合、以下のいずれかのエラーメッセージを受け取ります。「[Amazon S3 バケットへのアクセス権を ElastiCache に付与する](#backups-exporting-grant-access)」に戻り、示されたアクセス権限を追加して、バックアップのエクスポートを再試行してください。  
ElastiCache has not been granted READ permissions %s on the S3 Bucket。  
**解決策:** バケットで読み取りのアクセス権限を追加します。
ElastiCache has not been granted WRITE permissions %s on the S3 Bucket。  
**解決策:** バケットで書き込みのアクセス権限を追加します。
ElastiCache has not been granted READ\_ACP permissions %s on the S3 Bucket。  
**解決策:** バケットで**読み取り**のアクセス権限を追加します。

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

### ElastiCache サーバーレスバックアップのエクスポート (AWS CLI)
<a name="backups-exporting-CLI"></a>

**サーバーレスキャッシュのバックアップのエクスポート**

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

**パラメータ**
+ `--serverless-cache-snapshot-name` – コピーするバックアップの名前。
+ `--s3-bucket-name` – バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコピーは、指定したバケットで作成されます。

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

以下のオペレーションは、my-s3-bucket にバックアップをコピーします。

Linux、macOS、Unix の場合:

```
aws elasticache export-serverless-cache-snapshot \
    --serverless-cache-snapshot-name {{automatic.my-redis-2023-11-27}} \
    --s3-bucket-name {{my-s3-bucket}}
```

Windows の場合:

```
aws elasticache export-serverless-cache-snapshot ^
    --serverless-cache-snapshot-name {{automatic.my-redis-2023-11-27}} ^
    --s3-bucket-name {{my-s3-bucket}}
```

### ノードベースの ElastiCache クラスターバックアップのエクスポート (AWS CLI)
<a name="backups-exporting-self-designed-CON"></a>

**ノードベースのクラスターのバックアップのエクスポート**

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

**パラメータ**
+ `--source-snapshot-name` – コピーするバックアップの名前。
+ `--target-snapshot-name` – バックアップのコピーの名前。

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

  ElastiCache は、ここで入力した値に、インスタンス識別子と `.rdb` を追加します。たとえば、「`my-exported-backup`」と入力した場合、ElastiCache によって `my-exported-backup-0001.rdb` が作成されます。
+ `--target-bucket` – バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコピーは、指定したバケットで作成されます。

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

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

以下のオペレーションは、my-s3-bucket にバックアップをコピーします。

Linux、macOS、Unix の場合:

```
aws elasticache copy-snapshot \
    --source-snapshot-name {{automatic.my-redis-primary-2016-06-27-03-15}} \
    --target-snapshot-name {{my-exported-backup}} \
    --target-bucket {{my-s3-bucket}}
```

Windows の場合:

```
aws elasticache copy-snapshot ^
    --source-snapshot-name {{automatic.my-redis-primary-2016-06-27-03-15}} ^
    --target-snapshot-name {{my-exported-backup}} ^
    --target-bucket {{my-s3-bucket}}
```