Amazon ElastiCache Redis 클러스터에 대해 재해 복구 또는 내결함성을 구현하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 9월 15일

Amazon ElastiCache Redis 클러스터 데이터에 대해 재해 복구 또는 내결함성을 구현해야 합니다. 사용 가능한 옵션은 무엇입니까?

해결 방법

사용 가능한 내결함성 솔루션은 데이터 내구성, 성능 저하 및 비용 측면에서 각각 자체적으로 균형을 맞춥니다. 사용 사례에 가장 적합한 솔루션을 선택합니다.

다중 AZ

다중 AZ는 데이터 보존, 최소 가동 중단 시간 및 애플리케이션 성능이 가장 중요한 경우 최상의 옵션입니다.

  • 잠재적 데이터 손실 – 낮음. 다중 AZ에서는 하드웨어 관련 문제를 비롯하여 모든 시나리오에 대한 내결함성을 제공합니다.
  • 성능 영향 – 낮음. 사용 가능한 옵션 중에서 다중 AZ는 프로세스를 구현한 후 후속 수동 절차가 없기 때문에 가장 빠른 복구 시간을 제공합니다.
  • 비용 – 낮음에서 높음. 다중 AZ는 가장 저렴한 옵션입니다. 하드웨어 장애로 인한 데이터 손실 위험을 감당할 수 없거나 정전에 대한 대처 방안으로 다른 옵션에서 요구되는 가동 중단 시간을 감당할 수 없는 경우 다중 AZ를 사용합니다.

다중 AZ에 대한 자세한 내용은 다중 AZ로 Redis용 ElastiCache의 가동 중지 시간 최소화를 참조하세요.

일일 자동 백업

클러스터의 리소스 사용률이 낮다고 예상되는 경우 따로 일일 자동 백업을 예약할 수 있습니다. ElastiCache는 클러스터 백업을 생성한 후 캐시에서 Redis RDB 파일로 모든 데이터를 기록합니다. Redis 버전 2.8.22 이상에서는 성능을 개선시킬 수 있는 미분기(forkless) 백업을 구현합니다.

참고: Redis 백업 및 복원은 클러스터 모드가 비활성화된 cache.t1.micro 노드에서 지원되지 않습니다.

  • 잠재적 데이터 손실 – 높음(최대 1일량). 일일 자동 백업은 최대 35일 동안 보존됩니다.
  • 성능 영향 – 중간에서 높음. 하루 동안 여러 파일 백업을 실행하면 성능에 영향을 줍니다. 성능을 개선하려면 지정된 지속성 전용 보조 노드에서 RDB 스냅샷을 활성화하는 방법을 고려합니다. 그런 다음, 기본 노드 및 다른 모든 보조 노드에서 RDB 스냅샷 및 Redis AOF(Append-Only File)를 모두 비활성화합니다.
  • 비용 – 낮음에서 중간. 스토리지 비용은 백업 수 및 데이터 보존 기간과 함께 증가합니다.

백업 및 복원을 구현하기 전에 백업 제약 조건에 의한 제한 사항을 고려합니다. Redis를 실행하는 ElastiCache 클러스터의 백업을 구현하는 방법에 대한 포괄적인 정보는 Redis용 ElastiCache 백업 및 복원을 참조하세요. 자세한 내용은 수동 백업 만들기를 참조하세요.

Redis AOF(Append-Only File)를 사용하여 수동 백업

AOF를 사용한 수동 백업은 무기한 보존되며, 테스트 및 아카이브에 유용합니다. 24시간 내 노드당 최대 20회 수동 백업을 예약할 수 있습니다.

Redis 클러스터에 대해 AOF를 활성화하려면 appendonly 파라미터를 yes로 설정하여 파라미터 그룹을 생성합니다. 그런 다음, 클러스터에 파라미터 그룹을 할당합니다.

AOF를 사용할 때 다음 사항에 유의하세요.

  • 성능을 개선하려면 지정된 지속성 전용 보조 노드에서 RDB 스냅샷을 활성화하는 방법을 고려합니다. 그런 다음, 기본 노드 및 다른 모든 보조 노드에서 RDB 스냅샷 및 AOF를 모두 비활성화합니다.
  • 성능을 개선하려면 appendfsync 파라미터 값을 everysec 또는 no로 설정하여 필요할 때마다 또는 1초마다 디스크에 기록합니다.
  • AOF는 Redis 버전 2.8.21 이하를 사용하는 경우에만 지원됩니다.
  • AOF는 장애 완화: Redis AOF(Append Only File)에서 설명하는 제한 사항에 따릅니다.
  • AOF는 cache.t1.micro 및 cache.t2.* 노드나 다중 AZ 복제 그룹에 대해서는 지원되지 않습니다. 이러한 유형의 노드에서 appendonly 파라미터 값은 무시됩니다.

AOF를 사용한 수동 백업은 Redis 버전 2.8.21 이하에서 기본적으로 제공하는 기능을 사용하여 상대적으로 저렴한 비용으로 높은 수준의 데이터 지속성을 유지하는 경우에 적합한 옵션입니다.

  • 잠재적 데이터 손실 – 낮음에서 중간. AOF는 어느 정도의 내결함성을 제공하지만, 하드웨어 관련 캐시 노드 장애로부터 데이터를 보호할 수 없으므로 데이터 손실 위험이 있습니다.
  • 성능 영향 – 낮음에서 높음. AOF 성능 영향은 연결된 appendfsync 파라미터 값과 밀접한 관련이 있습니다. 이 값은 AOF 출력 버퍼가 디스크에 데이터를 기록하는 빈도를 제어합니다. 출력 버퍼가 디스크에 기록하는 빈도가 높을수록 성능에 미치는 영향도 커집니다. 이 파라미터에 대해 always 옵션을 선택하면 캐시 데이터가 수정될 때마다 버퍼가 플러시됩니다. 따라서 이 옵션은 권장되지 않습니다. AOF 파일은 빠르게 커질 수 있기 때문에 디스크 공간 요구 사항을 확인하는 것이 좋습니다. AOF에 대한 또 다른 성능 고려 사항은 AOF 파일을 다시 재생하는 데 필요한 시간입니다. Redis 노드를 캐시 데이터로 채우는 데 몇 분 정도 필요할 수 있습니다. 이 시간 동안 애플리케이션은 데이터베이스를 직접 쿼리하여 캐시되지 않은 데이터에 대한 쿼리만 충족할 수 있습니다.
  • 비용 – 낮음에서 중간. AOF 비용은 AOF 파일을 다시 재생해야 할 때마다 수반되는 시간 요구 사항 및 성능 고려 사항과 매우 밀접한 관련이 있습니다. 디스크 공간 요구 사항은 앞서 설명한 스냅샷 옵션보다 큽니다.

자세한 내용은 Redis용 ElastiCache AOF(Append Only Files)를 참조하세요.