複数のリージョンでの復元

このページでは、複数のリージョンで Cassandra を復元する方法について説明します。

マルチリージョン デプロイでは、Apigee ハイブリッドがさまざまなデータセンターの複数の地理的位置にデプロイされます。デプロイに複数の Apigee 組織が存在する場合、復元プロセスではすべての組織のデータが復元されることに注意してください。複数組織の設定では、特定の組織のみ復元することはできません

Cassandra の復元

マルチリージョン デプロイでは、障害が発生したリージョンを復旧する方法が 2 つあります。このトピックでは、次の方法について説明します。

障害が発生したリージョンを復旧する

障害が発生したリージョンを正常なリージョンから復元するには、次の手順に沿います。

  1. 影響を受けたリージョンから正常に動作するリージョンに API トラフィックをリダイレクトします。障害が発生したリージョンから迂回されるトラフィックに対応できるよう容量を適宜計画します。
  2. 影響を受けたリージョンを廃止します。影響を受けた各リージョンに対して、ハイブリッド リージョンを廃止するで説明されている操作を行います。廃止が完了するまで待ってから次のステップに進みます。

  3. 影響を受けたリージョンを復元します。復元するには、GKE、GKE On-Prem、AKS でのマルチリージョン デプロイの説明に沿って、新しいリージョンを作成します。

バックアップからの復元

Cassandra のバックアップは、構成に基づいて、Cloud Storage 上またはリモート サーバー上のいずれかに存在します。バックアップから Cassandra を復元するには、次の手順に沿って操作します。

  1. すべてのリージョンから Apigee ハイブリッド デプロイを削除します。
    apigeectl delete -f overrides.yaml
  2. バックアップから目的のリージョンを復元します。詳細については、バックアップからのリージョンの復元をご覧ください。

  3. 削除したリージョンの参照を削除し、復元したリージョンの参照を KeySpaces メタデータに追加します。
  4. nodetool status オプションを使用してリージョン名を取得します。
    kubectl exec -n apigee -it apigee-cassandra-default-0 -- bash
          nodetool  -u ${APIGEE_JMX_USER} -pw ${APIGEE_JMX_PASSWORD} status |grep -i Datacenter
  5. KeySpaces レプリケーションを更新します。
    1. クライアント コンテナを作成し、CQL インターフェースから Cassandra クラスタに接続します。
    2. CQL インターフェースからユーザー キースペースのリストを取得します。
      cqlsh ${CASSANDRA_SEEDS} -u ${CASS_USERNAME} -p ${CASS_PASSWORD}
                  --ssl -e "select keyspace_name from system_schema.keyspaces;"|grep -v system
    3. キースペースごとに、CQL インターフェースから次のコマンドを実行して、レプリケーション設定を更新します。
      ALTER KEYSPACE KEYSPACE_NAME WITH replication = {'class': 'NetworkTopologyStrategy', 'REGION_NAME':3};

      ここで

      • KEYSPACE_NAME は、前の手順の出力に示されているキースペースの名前です。
      • REGION_NAME は手順 4 で取得したリージョン名です。