バックアップを管理

このページでは、Memorystore for Valkey バックアップ オペレーションを実行する方法について説明します。このページを読む前に、バックアップについて理解しておいてください。

始める前に

  1. ユーザーまたは使用しているユーザー アカウントに、操作を行うための必要な権限があることを確認します。

    Memorystore 管理者ロールと Memorystore 編集者ロールは、すべてのバックアップ オペレーションを実行できます。Memorystore 閲覧者ロールは、バックアップを表示してエクスポートできます。

  2. Google Cloud CLI をインストールして更新します

オンデマンド バックアップの作成

オンデマンド バックアップを作成するには、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 バケットにエクスポートできます。

次の手順は、バックアップをエクスポートする方法を示しています。

  1. 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.getstorage.objects.createstorage.objects.deletestorage.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: サービス エージェント名で使用されるプロジェクト番号。
  2. バックアップを 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 ファイルから新しいインスタンスにデータをインポートする方法について説明します。

  1. 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: サービス エージェント名で使用されるプロジェクト番号。
  2. 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 バックアップで使用可能な指標の一覧については、バックアップ指標をご覧ください。