以前のバージョンから暗号化されたテーブルを移行する

暗号化されたテーブルをDataStax Enterpriseのより新しいバージョンに移行するには、特定のアクションが必要です。

DataStax Enterpriseの以前のバージョンから最新のバージョンに暗号化されたテーブルを移行するための手順。

手順

  1. dse_system.encrypted_keysテーブルを含んでいるキースペース全体のバックアップを作成します。
  2. すべてのシステム・キーのバックアップを作成します。
  3. DataStaxアップグレード・ガイド』の指示に従って、クラスターをDataStax Enterprise 5.1にアップグレードします。
  4. クラスターを再起動します。
  5. dse_system.encrypted_keysテーブルが、cqlsh DESCRIBE KEYSPACESコマンドを使用して作成されたことを確認します。

    dse_system.encrypted_keysテーブルを復元する必要がある場合は、テーブルを読み込みます。何もTRUNCATEしたり、削除したりしないでください。

  6. dse_system.encrypted_keysテーブルが作成されている場合は、次のステップに進みます。それ以外の場合は、テーブルを手動で作成します。
    CREATE KEYSPACE dse_system WITH replication = {'class': 'EverywhereStrategy'};
    
    USE dse_system;
    
    CREATE TABLE encrypted_keys (
      key_file text,
      cipher text,
      strength int,
      key_id timeuuid,
      key text,
      PRIMARY KEY (key_file, cipher, strength, key_id)
    );
    注: EverywhereStrategyは、dse_systemキースペースとsolr_adminキースペースのデフォルトのレプリケーション・ストラテジです。EverywhereStrategyの他のインスタンスを使用または変更しないでください。
  7. すべてのSSTableを再度書き込みます。
    $ nodetool upgradesstables --include-all-sstables
  8. 検索インデックス・ファイルが暗号化されているかどうかを確認します。
    dsetool list_index_files keyspace_name.table_name
  9. オフラインのインデックス暗号化を実行します。
    要件:
    • 暗号化構成を含むリモート・ノードを実行している必要があります。
    • ローカル・ノードはオフラインです。
    • このコマンドを実行するユーザーには、インデックス・ファイルを含むディレクトリーに対する読み取りおよび書き込みパーミッションが付与されている必要があります。
    dsetool upgrade_index_files keyspace_name.table_name -h IP_address [options]
    以下のオプションを指定できます。
    keyspace_name.table_name
    必須。検索インデックスのキースペース名とテーブル名。キースペース名とテーブル名の大文字と小文字は区別されます。大文字を含む名前は二重引用符で囲みます。
    -h IP_address
    必須。インデックスの暗号化に使用される暗号化構成を含むリモート・ノードのホスト名またはIPアドレス。リモート・ノードを実行している必要があります。
    -c port
    暗号化構成を含むリモート・ノードのDSEポート。
    --backup
    正常にアップグレードした後のバックアップとして、現在のインデックスからのインデックス・ファイルを保持します。保持されたインデックス・ファイルのバックアップは、--workspaceディレクトリーに移動されます。指定しない場合、現在のインデックスからのインデックス・ファイルは削除されます。
    --workspace directory
    アップグレード・プロセスのワークスペース・ディレクトリー。アップグレード済みのインデックスは、このディレクトリーで作成されます。指定しない場合、デフォルトのディレクトリーは、検索インデックス・ファイルが含まれている同じディレクトリーになります。
    --index directory
    検索インデックス・ファイルを含むデータ・ディレクトリー。指定しない場合、デフォルトのディレクトリーは検索インデックス名から推測されます。