このページでは、Memorystore for Valkey バックアップ オペレーションを実行する方法について説明します。このページを読む前に、バックアップについて理解しておいてください。
始める前に
ユーザーまたは使用しているユーザー アカウントに、操作を行うための必要な権限があることを確認します。
Memorystore 管理者ロールと Memorystore 編集者ロールは、すべてのバックアップ オペレーションを実行できます。Memorystore 閲覧者ロールは、バックアップを表示してエクスポートできます。
オンデマンド バックアップの作成
オンデマンド バックアップを作成するには、gcloud memorystore instances
backup
コマンドを使用します。
gcloud
gcloud memorystore instances backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --location=REGION_ID
次のように置き換えます。
- INSTANCE_ID: Memorystore for Valkey インスタンスの ID。
- BACKUP_ID: バックアップの ID(
march-2025-backup
など)。 TTL_PERIOD: バックアップの有効期間(TTL)。バックアップが TTL 制限に達すると、Memorystore for Valkey はバックアップを自動的に削除します。
このパラメータの値は日数(
14d
など)に設定します。最小値は 1 日です。値を指定しない場合、デフォルト値は 100 年です。PROJECT_ID: プロジェクト ID。
REGION_ID: インスタンスが配置されているリージョン(
us-east1
など)。
このコマンドは、次の形式でオペレーション名を返します。
projects/PROJECT_ID/locations/REGION_ID/operations/operation-UID
オペレーションのステータスを確認するには、gcloud memorystore operations describe
コマンドを使用します。
gcloud memorystore operations describe projects/PROJECT_ID/locations/REGION_ID/operations/operation-UID
プロジェクトとリージョン内のすべてのオペレーションを一覧表示するには、gcloud memorystore operations list
コマンドを使用します。
gcloud memorystore operations list --projects=PROJECT_ID \ --location=REGION_ID
自動バックアップ スケジュールを構成する
日次バックアップ スケジュールは、インスタンスの作成時に構成することも、既存のインスタンスで有効にすることもできます。
自動バックアップ スケジュールが有効になっているインスタンスを作成する
次の例は、インスタンスの作成時に毎日のバックアップ スケジュールを設定する方法を示しています。インスタンスの作成時に使用できるその他のオプションについては、インスタンスを作成するをご覧ください。
gcloud
gcloud memorystore instances create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
次のように置き換えます。
- INSTANCE_ID: 作成する Memorystore for Valkey インスタンスの ID。
- START_TIME: Memorystore for Valkey がバックアップを開始する時刻。時刻は、UTC 時間の 24 時間制で
HH
の形式で指定します。例:23
。 RETENTION_POLICY: Memorystore for Valkey が各バックアップを保持する日数。このパラメータの値を日数(
7d
など)に設定します。最大値は 365 日、デフォルト値は 35 日です。インスタンスを削除した後でも、Memorystore for Valkey はバックアップを保持期間(最大 365 日)保持します。保持期間が終了する前にバックアップを削除するには、バックアップを手動で削除する必要があります。
既存のインスタンスでスケジュールされたバックアップを有効にする
インスタンスでスケジュールされたバックアップを有効にするには、gcloud memorystore instances update
コマンドを使用します。
gcloud
gcloud memorystore instances update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
次のように置き換えます。
- INSTANCE_ID: 更新する Memorystore for Valkey インスタンスの ID。
- START_TIME: Memorystore for Valkey がバックアップの取得を開始する日時を指定するタイムスタンプ。このタイムスタンプは、時間レベルで
HH
形式で指定し、UTC 時間の 24 時間制で指定する必要があります(例:23
)。タイムスタンプは、Memorystore for Valkey がバックアップを開始する 1 時間の期間も指定します。 RETENTION_POLICY: Memorystore for Valkey が各バックアップを保持する日数。このパラメータの値を日数(
7d
など)に設定します。インスタンスを削除した後も、Memorystore for Valkey は保持期間中バックアップを保持します。保持期間が終了する前にバックアップを削除するには、バックアップを手動で削除する必要があります。
既存のインスタンスでスケジュールされたバックアップを無効にする
インスタンスでスケジュールされたバックアップを無効にするには、gcloud memorystore instances update
コマンドを使用します。
gcloud
gcloud memorystore instances update INSTANCE_ID \ --automated-backup-mode=disabled
INSTANCE_ID は、更新する Memorystore for Valkey インスタンスの ID に置き換えます。
インスタンスの更新、メンテナンス、バックアップ オペレーションとの同時実行
インスタンスの更新オペレーションとメンテナンス オペレーションは、次の状況で進行中のバックアップ オペレーションをキャンセルできます。
- インスタンスを更新するオペレーションが進行中の場合、Memorystore for Valkey はバックアップ オペレーション リクエストを拒否します。
- バックアップ オペレーションが進行中の場合、Memorystore for Valkey はインスタンスを更新する受信オペレーションを拒否します。
- メンテナンス オペレーションとバックアップ オペレーションが同時に実行されることがあります。この場合、Memorystore for Valkey はそのインスタンスのバックアップ オペレーションをスキップします。
バックアップの一覧と説明を取得する
以降のセクションでは、バックアップに関する情報を確認する方法について説明します。
バックアップ コレクションを一覧表示する
バックアップ コレクションには、Memorystore for Valkey インスタンスのすべてのバックアップが含まれます。プロジェクトとリージョンのバックアップ コレクションを一覧表示するには、gcloud memorystore backup-collections list
コマンドを使用します。
gcloud
gcloud memorystore backup-collections list \ --project=PROJECT_ID \ --location=REGION_ID
次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- REGION_ID: インスタンスが配置されているリージョン(例:
us-east1
)
このコマンドは、バックアップ コレクションのリストを返します。
バックアップ コレクション内のバックアップを一覧表示する
バックアップ コレクション内のバックアップを一覧表示するには、gcloud memorystore backup-collections backups list
コマンドを使用します。
gcloud
gcloud memorystore backup-collections backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --location=REGION_ID
次のように置き換えます。
- BACKUP_COLLECTION: バックアップ コレクションの名前
- PROJECT_ID: プロジェクト ID
- REGION_ID: インスタンスが配置されているリージョン(例:
us-east1
)
このコマンドは、バックアップ コレクション内のバックアップのリストを返します。
バックアップを記述する
バックアップに関する情報を取得するには、gcloud memorystore backup-collections backups describe
コマンドを使用します。
gcloud
gcloud memorystore backup-collections backups describe BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION \ --project=PROJECT_ID \ --location=REGION_ID
次のように置き換えます。
- BACKUP_NAME: バックアップの名前(例:
2024-05-01-10-15-00
) - BACKUP_COLLECTION: バックアップ コレクションの名前
- PROJECT_ID: プロジェクト ID
- REGION_ID: インスタンスが配置されているリージョン(例:
us-east1
)
このコマンドは、次のようなバックアップに関する情報を返します。
backupFiles: - createTime: '2024-11-10T03:52:55.539Z' fileName: 3d2774dab822137c5bac9386f3fa69ee4c73b928.rdb sizeBytes: '694879680' - createTime: '2024-11-10T03:52:54.742Z' fileName: 7f5d99faaefc63ed8292a71da2552db3b06cdcff.rdb sizeBytes: '694925906' - createTime: '2024-11-10T03:52:54.972Z' fileName: 0aac1092a3fb81515aefb6b2421f31eb346c3961.rdb sizeBytes: '694784169' instance: projects/PROJECT_ID/locations/us-east1/instances/instance1 instanceUid: 57130520-636c-4ac7-ad7e-86f7cfb32838 createTime: '2024-11-10T03:52:40.899882388Z' expireTime: '2124-11-10T03:53:02.856981736Z' name: projects/PROJECT_ID/locations/us-east1/backupCollections/dda2f551-b416-47ff-b1cf-684e00483dc9/backups/march-2025-backup nodeType: HIGHMEM_MEDIUM shardCount: 3 state: ACTIVE totalSizeBytes: '2084589755'
バックアップを削除する
バックアップを削除するには、gcloud memorystore backup-collections backups delete
コマンドを使用します。
gcloud
gcloud memorystore backup-collections backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION \ --project=PROJECT_ID \ --location=REGION_ID
次のように置き換えます。
- BACKUP_NAME: バックアップの名前(例:
2024-05-01-10-15-00
) - BACKUP_COLLECTION: バックアップ コレクションの名前
- PROJECT_ID: プロジェクト ID
- REGION_ID: インスタンスが配置されているリージョン(例:
us-east1
)
バックアップをストレージ バケットにエクスポートする
バックアップを Cloud Storage バケットにエクスポートできます。
次の手順は、バックアップをエクスポートする方法を示しています。
Memorystore for Valkey サービス エージェントに Cloud Storage のリソースへのアクセス権を付与します。
Memorystore for Valkey が宛先の Cloud Storage バケットにアクセスできるように、Cloud Storage のリソースへのアクセス権をサービス エージェントに付与します。また、Memorystore for Valkey サービス エージェントでは次の命名形式が使用されます。
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
PROJECT_NUMBER は、インスタンスまたはバックアップが配置されているプロジェクトのプロジェクト番号に置き換えます。
サービス エージェントに、
storage.buckets.get
、storage.objects.create
、storage.objects.delete
、storage.folders.create
の権限をロールに割り当てるロールを付与します。たとえば、次のコマンドは、Cloud Storage バケットのサービス エージェントに
Storage Admin
ロールを割り当てます。gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com \ --role=roles/storage.admin
次のように置き換えます。
- BUCKET_NAME: 宛先 Cloud Storage バケットの名前。このバケットはリージョン バケットであり、バックアップと同じリージョンに存在する必要があります。Memorystore for Valkey には、バケットにアクセスし、バケット内にフォルダとオブジェクトを作成する権限が必要です。
- PROJECT_NUMBER: サービス エージェント名で使用されるプロジェクト番号。
バックアップを Cloud Storage バケットにエクスポートするには、
gcloud memorystore backup-collections backups export
コマンドを使用します。gcloud
gcloud memorystore backup-collections backups export BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION \ --location=REGION_ID \ --gcs-bucket=BUCKET_NAME
次のように置き換えます。
- BACKUP_NAME: Memorystore for Valkey バックアップの名前
- BACKUP_COLLECTION: バックアップ コレクションの名前
- REGION_ID: バックアップ コレクションが配置されているリージョン(例:
us-east1
) - BUCKET_NAME: Cloud Storage バケットの名前(
gs://
接頭辞なし)
バックアップからデータを復元する
バックアップからデータを復元するには、同じプロジェクトのマネージド バックアップから新しいインスタンスをシードするか、Cloud Storage バケットの RDB ファイルから新しいインスタンスをシードします。RDB ファイルからインスタンスをシードするには、Memorystore for Valkey にファイルへのアクセス権限が必要です。
バックアップから新しいインスタンスをシードする
次の例は、バックアップから新しいインスタンスにデータをインポートする方法を示しています。バックアップは、インスタンスと同じリージョンに存在する必要があります。また、インスタンスを作成するプリンシパルには、バックアップに対する redis.backups.get
権限が必要です。
gcloud
gcloud memorystore instances create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --location=REGION_ID
次のように置き換えます。
- INSTANCE_ID: 作成する Memorystore for Valkey インスタンスの ID。
- BACKUP_NAME: バックアップの名前。この名前の形式は
projects/PROJECT_ID/locations/REGION_ID/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
です。 - REGION_ID: インスタンスが配置されているリージョン(
us-east1
など)。
ストレージ バケット内の RDB ファイルから新しいインスタンスをシードする
Cloud Storage バケットに含まれている RDB ファイルから新しいインスタンスにデータをインポートできます。
次の手順では、Cloud Storage バケット内の RDB ファイルから新しいインスタンスにデータをインポートする方法について説明します。
Memorystore for Valkey サービス エージェントに Cloud Storage のリソースへのアクセス権を付与します。
Memorystore for Valkey が Cloud Storage バケット内の RDB ファイルにアクセスできるように、サービス エージェントに Cloud Storage のリソースへのアクセス権を付与します。また、Memorystore for Valkey サービス エージェントは次の命名形式を使用します。
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
PROJECT_NUMBER は、新しいインスタンスを作成するプロジェクトのプロジェクト番号に置き換えます。
サービス エージェントに、
storage.buckets.get
権限とstorage.objects.get
権限をロールに割り当てるロールを付与します。たとえば、次のコマンドは、Cloud Storage バケットのサービス エージェントに
Storage Admin
ロールを割り当てます。gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com --role=roles/storage.admin
次のように置き換えます。
- BUCKET_NAME: RDB ファイルが配置されているバケットの名前。このバケットは、バックアップと同じリージョン内のリージョン バケットであるか、デュアルリージョン バケットで、1 つのリージョンがバックアップと同じである必要があります。Memorystore for Valkey には、バケットにアクセスする権限が必要です。
- PROJECT_NUMBER: サービス エージェント名で使用されるプロジェクト番号。
Cloud Storage バケット内の RDB ファイルから新しいインスタンスにデータをインポートするには、
gcloud memorystore instances create
コマンドを使用します。gcloud
gcloud memorystore instances create INSTANCE_ID \ --gcs-source-uris=URI \ --location=REGION_ID \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT
次のように置き換えます。
- INSTANCE_ID: 作成する Memorystore for Valkey インスタンスの ID。
- URI: カンマで区切られた 1 つ以上の Cloud Storage Uniform Resource Identifier(URI)。例:
gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
。 - REGION_ID: インスタンスが配置されているリージョン(
us-east1
など)。 NODE_TYPE(省略可): インスタンスのノードタイプ。次の値が利用できます。
shared-core-nano
standard-small
highmem-medium
highmem-xlarge
パラメータを使用しない場合、
highmem-medium
がデフォルトのノードタイプになります。SHARD_COUNT: インスタンスのシャード数(1 ~ 250)。
Cloud Monitoring の指標
最近のバックアップ オペレーションとインポート オペレーションをモニタリングするには、Cloud Monitoring の指標を使用します。Memorystore for Valkey バックアップで使用可能な指標の一覧については、バックアップ指標をご覧ください。