このページでは、Apigee ハイブリッドでの Cassandra の復元の概要について説明します。
復元を使用する理由
バックアップを使用すると、Apigee ハイブリッド インスタンスで回復不能なデータ損失が発生するなど、重大な障害が発生した場合に Apigee インフラストラクチャをゼロから復元できます。復元プロセスでは、バックアップのロケーションからデータが取得され、同じ数のノードを持つ新しい Cassandra クラスタにデータが復元されます。古い Cassandra クラスタからデータが取得されることはありません。復元プロセスの目標は、スナップショットのバックアップ データを使用して、Apigee ハイブリッド インストールを以前の運用状態に戻すことです。
次の場合、復元のためにバックアップを使用することはおすすめしません。
- Cassandra ノードの障害。
apps
、developers
、api_credentials
などのデータの偶発的な削除。- マルチリージョン ハイブリッド デプロイでの 1 つ以上のリージョンの停止。
Apigee Cassandra のデプロイと運用アーキテクチャは、単一リージョンの冗長性とフォールト トレランスに対応しています。多くの場合、ハイブリッドのマルチリージョンの本番環境として推奨される実装では、バックアップから復元するのではなく、リージョンのデコミッションと拡張手順を使用して、別のライブ リージョンからリージョンの障害を復元できます。
Cassandra のバックアップからの復元を実装開始する前に、次の点に注意してください。
- ダウンタイム: 復元中はダウンタイムが発生します。
- データ損失: 最後の有効なバックアップの時点から復元の完了時点までのデータは失われます。
- 復元にかかる時間: 復元にかかる時間はデータとクラスタのサイズによって異なります。
- データの選択: 特定のデータのみを選択して復元することはできません。選択したバックアップ全体が復元されます。
マルチリージョンでの復元
Apigee ハイブリッドを複数のリージョンにインストールした場合は、復元を実行する前に復元するリージョンのオーバーライド ファイルをチェックして、cassandra:hostNetwork
が false
に設定されていることを確認する必要があります。詳細については、複数のリージョンでの復元をご覧ください。
前提条件
以下の前提条件がすべて満たされていることを確認してください。復元に進む前に、前提条件となる障害を調査します。
- 次のコマンドを使用して、すべての Cassandra Pod が稼働していることを確認します。
kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-cassandra
出力は次の例のようになります。
NAME READY STATUS RESTARTS AGE apigee-cassandra-default-0 1/1 Running 0 14m apigee-cassandra-default-1 1/1 Running 0 13m apigee-cassandra-default-2 1/1 Running 0 11m exampleuser@example hybrid-files %
- 次のコマンドを使用して、Cassandra statefulset ですべての Pod が実行されていることを確認します。
kubectl get sts -n APIGEE_NAMESPACE -l app=apigee-cassandra
出力は次の例のようになります。
NAME READY AGE apigee-cassandra-default 3/3 15m
- 次のコマンドを使用して、ApigeeDatastore リソースが実行中の状態であることを確認します。
kubectl get apigeeds -n APIGEE_NAMESPACE
出力は次の例のようになります。
NAME STATE AGE default running 16m
- 次のコマンドを使用して、すべての Cassandra PVC のステータスが Bound であることを確認します。
kubectl get pvc -n APIGEE_NAMESPACE -l app=apigee-cassandra
出力は次の例のようになります。
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO standard-rwo 17m cassandra-data-apigee-cassandra-default-1 Bound pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO standard-rwo 15m cassandra-data-apigee-cassandra-default-2 Bound pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO standard-rwo 13m
- 次のコマンドを使用して、すべての Cassandra PV のステータスが Bound であることを確認します。
kubectl get pv -n APIGEE_NAMESPACE
出力は次の例のようになります。
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo 17m pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo 16m pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo 14m
- 次のコマンドを使用して、Apigee コントローラ リソースのステータスが実行中であることを確認します。
kubectl get pods -n APIGEE_NAMESPACE-system -l app=apigee-controller
出力は次の例のようになります。
NAME READY STATUS RESTARTS AGE apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m
復元方法
Cassandra の復元手順は、Apigee ハイブリッドが単一リージョンにデプロイされているか、複数のリージョンにデプロイされているかによって若干異なります。復元手順の詳細については、次のドキュメントをご覧ください。