이 페이지에서는 Apigee Hybrid의 Cassandra 복원을 간략하게 설명합니다.
복원을 사용해야 하는 이유
재해로 인해 Apigee Hybrid 인스턴스의 복구 불가능한 데이터 손실과 같은 치명적인 오류가 발생할 경우 backups을 사용하여 처음부터 Apigee 인프라를 복원할 수 있습니다. 복원은 백업 위치에서 데이터를 가져와 노드 수가 동일한 새 Cassandra 클러스터에 복원합니다. 이전 Cassandra 클러스터에서는 클러스터 데이터를 가져오지 않습니다. 복원 프로세스의 목표는 스냅샷의 백업 데이터를 사용하여 Apigee Hybrid 설치를 이전 작동 상태로 되돌리는 것입니다.
다음과 같은 시나리오에서는 백업을 사용하여 복원하지 않는 것이 좋습니다.
- Cassandra 노드에 오류가 발생함
apps
,developers
,api_credentials
와 같은 데이터가 실수로 삭제됨- 멀티 리전 하이브리드 배포에서 하나 이상의 리전이 작동 중지됨
Apigee Cassandra 배포와 운영 아키텍처는 단일 리전에 대해 중복성과 내결함성을 처리합니다. 대부분의 경우 권장되는 하이브리드의 멀티 리전 프로덕션 구현은 백업에서 복원하는 대신 리전 해제 및 확장 절차를 사용하여 다른 라이브 리전에서 리전 오류를 복구할 수 있음을 의미합니다.
Cassandra 백업에서 복원을 구현하기 전에 다음 사항에 유의하세요.
- 다운타임: 복원이 진행되는 동안 다운타임이 발생합니다.
- 데이터 손실: 유효한 백업이 마지막으로 실행된 시간과 복원이 완료된 시간 사이에 데이터 손실이 발생합니다.
- 복원 시간: 복원 시간은 데이터 및 클러스터의 크기에 따라 다릅니다.
- 데이터 선택: 특정 데이터만 선택하여 복원할 수 없습니다. 복원은 내가 선택한 전체 백업을 복원합니다.
멀티 리전 복원
여러 리전에 Apigee Hybrid를 설치한 경우 복원을 수행하기 전에 복원하려는 리전의 재정의 파일을 확인하여 cassandra:hostNetwork
가 false
로 설정되었는지 확인해야 합니다. 자세한 내용은 여러 리전에서 복원을 참조하세요.
기본 요건
다음 기본 요건을 모두 충족하는지 확인합니다. 복원을 진행하기 전에 기본 요건 실패를 조사합니다.
- 다음 명령어를 사용하여 모든 Cassandra 포드가 준비되어 실행되는지 확인합니다.
kubectl get pods -n apigee -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에 모든 포드가 실행 중인 것으로 표시되는지 확인합니다.
kubectl get sts -n apigee -l app=apigee-cassandra
다음 예시와 같은 출력이 표시됩니다.
NAME READY AGE apigee-cassandra-default 3/3 15m
- 다음 명령어를 실행하여 ApigeeDatastore 리소스가 실행 중 상태인지 확인합니다.
kubectl get apigeeds -n apigee
다음 예시와 같은 출력이 표시됩니다.
NAME STATE AGE default running 16m
- 다음 명령어를 사용하여 모든 Cassandra PVC가 결합됨 상태인지 확인합니다.
kubectl get pvc -n apigee -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가 결합됨 상태인지 확인합니다.
kubectl get pv -n apigee
다음 예시와 같은 출력이 표시됩니다.
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-system -l app=apigee-controller
다음 예시와 같은 출력이 표시됩니다.
NAME READY STATUS RESTARTS AGE apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m
복원 방법
Cassandra 복원 단계는 Apigee Hybrid가 단일 리전 또는 멀티 리전에 배포되었는지에 따라 약간씩 달라집니다. 자세한 복원 단계는 다음 문서를 참조하세요.