Amazon Keyspaces のバックアップから指定された時点にテーブルを復元する - Amazon Keyspaces (Apache Cassandra 向け)

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

Amazon Keyspaces のバックアップから指定された時点にテーブルを復元する

次のセクションでは、既存の Amazon Keyspaces テーブルを指定された時点に復元する方法を示します。

注記

この手順は、使用しているテーブルが point-in-time リカバリで設定されていることを前提としています。テーブルPITRに対して を有効にするには、「」を参照してくださいAmazon Keyspaces のテーブルPITR用に を設定する

重要

復元中は、 を変更または削除しないでください。 AWS Identity and Access Management (IAM) 復元を実行するアクセス許可をIAMプリンシパル (ユーザー、グループ、ロールなど) に付与する ポリシー。行った場合、予期しない動作が発生する場合があります。例えば、テーブルの復元中にテーブルの書き込みアクセス許可を削除すると、基盤となるRestoreTableToPointInTimeオペレーションは復元されたデータをテーブルに書き込むことができません。

アクセス許可を変更または削除できるのは、復元オペレーションが完了した後のみです。

Console
コンソールを使用してテーブルを指定された時点に復元する
  1. にサインインする AWS Management Console、ホーム で Amazon Keyspaces https://console.aws.amazon.com/keyspaces/コンソールを開きます。

  2. コンソールの左側のナビゲーションペインで、[テーブル] を選択します。

  3. テーブルのリストで、復元するテーブルを選択します。

  4. テーブルのバックアップタブの P oint-in-time リカバリセクションで、復元 を選択します。

  5. 新しいテーブル名には、復元されたテーブルの新しい名前を入力しますmytable_restored。例えば、。

  6. 復元オペレーションのポイントインタイムを定義するために、次の 2 つのオプションのいずれかを選択できます。

    • あらかじめ設定されている [Earliest] (最も早い時間) を選択します。

    • [Specify date and time] (日時の指定) を選択し、新しいテーブルの復元時点の日付と時刻を入力します。

    注記

    [Earliest] (最古) の時点から現在の時点までの期間内の任意の特定時点の状態に復元できます。Amazon Keyspaces により、選択した日時 (day:hour:minute:second) に基づいた状態にテーブルデータが復元されます。

  7. [Restore (復元)] を選択して、復元プロセスを開始します。

    復元中のテーブルのステータスは、[Restoring (復元中)] と表示されます。復元プロセスが完了すると、復元されたテーブルのステータスがアクティブ に変わります。

Cassandra Query Language (CQL)
を使用してテーブルをポイントインタイムに復元する CQL
  1. アクティブなテーブルは、 point-in-time earliest_restorable_timestamp から現在の時刻までの間に復元できます。デフォルトは現在の時刻です。

    テーブルに対して point-in-time リカバリが有効になっていることを確認するには、この例system_schema_mcs.tablesに示すように をクエリします。

    SELECT custom_properties FROM system_schema_mcs.tables WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';

    P oint-in-time リカバリは、次のサンプル出力に示すように有効になっています。

    custom_properties ----------------- { ..., "point_in_time_recovery": { "earliest_restorable_timestamp":"2020-06-30T19:19:21.175Z" "status":"enabled" } }
    • テーブルを現在の時刻に復元します。WITH restore_timestamp = ... 句を省略すると、現在のタイムスタンプが使用されます。

      RESTORE TABLE mykeyspace.mytable_restored FROM TABLE mykeyspace.mytable;
    • 8601 形式の restore_timestamp ISO で定義される特定の時点に復元することもできます。過去 35 日間の任意の時点を指定できます。たとえば、次のコマンドでは EarliestRestorableDateTime にテーブルを復元します。

      RESTORE TABLE mykeyspace.mytable_restored FROM TABLE mykeyspace.mytable WITH restore_timestamp = '2020-06-30T19:19:21.175Z';

      構文の完全な説明については、言語リファレンスの「RESTORE TABLE」を参照してください。

  2. テーブルの復元が成功したことを確認するには、system_schema_mcs.tables をクエリしてテーブルのステータスを確認します。

    SELECT status FROM system_schema_mcs.tables WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable_restored'

    クエリには次の出力が表示されます。

    status ------ RESTORING

    復元中のテーブルのステータスは、[Restoring (復元中)] と表示されます。復元プロセスが完了すると、テーブルのステータスはアクティブ に変わります。

CLI
を使用してテーブルをポイントインタイムに復元する AWS CLI
  1. PITR が有効になっていmyTableる という名前のシンプルなテーブルを作成します。コマンドは読みやすくするため、別々の行に分割されています。

    aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --point-in-time-recovery 'status=ENABLED'
  2. 新しいテーブルのプロパティを確認し、 earliestRestorableTimestampの を確認しますPITR。

    aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'

    このコマンドの出力では、以下の値が返ります。

    { "keyspaceName": "myKeyspace", "tableName": "myTable", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/myKeyspace/table/myTable", "creationTimestamp": "2022-06-20T14:34:57.049000-07:00", "status": "ACTIVE", "schemaDefinition": { "allColumns": [ { "name": "id", "type": "int" }, { "name": "date", "type": "timestamp" }, { "name": "name", "type": "text" } ], "partitionKeys": [ { "name": "id" } ], "clusteringKeys": [], "staticColumns": [] }, "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": "2022-06-20T14:34:57.049000-07:00" }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "ENABLED", "earliestRestorableTimestamp": "2022-06-20T14:35:13.693000-07:00" }, "defaultTimeToLive": 0, "comment": { "message": "" } }
    • テーブルを特定の時点に復元するには、8601 restore_timestamp ISO 形式で を指定します。過去 35 日間の任意の時点を 1 秒間隔で選択できます。たとえば、次のコマンドでは EarliestRestorableDateTime にテーブルを復元します。

      aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored' --restore-timestamp "2022-06-20 21:35:14.693"

      このコマンドの出力は、復元されたテーブルARNの を返します。

      { "restoredTableARN": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/myKeyspace/table/myTable_restored" }
    • テーブルを現在の時刻に復元するには、 restore-timestampパラメータを省略できます。

      aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored1'"