장애 완화 - 아마존 ElastiCache

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

장애 완화

Amazon ElastiCache 구현을 계획할 때는 장애가 애플리케이션과 데이터에 미치는 영향을 최소화하도록 계획을 세워야 합니다. 이 섹션의 항목은 애플리케이션 및 데이터를 장애로부터 보호하기 위해 취할 수 있는 접근 방식을 다룹니다.

Memcached 실행 시 장애 완화

Memcached 엔진을 실행할 때 장애의 영향을 최소화하기 위한 다음과 같은 옵션이 있습니다. 장애 완화 계획에서 해결할 장애 유형에는 노드 장애와 가용 영역 장애의 두 유형이 있습니다.

노드 장애 완화

서버리스 캐시는 복제된 다중 AZ 아키텍처를 통해 노드 장애를 자동으로 완화하므로 노드 장애가 애플리케이션에 영향을 미치지 않도록 합니다. 자체 설계된 클러스터에서 노드 장애로 인한 영향을 완화하려면 캐시 데이터를 더 많은 노드로 분산합니다. 자체 설계된 클러스터는 복제를 지원하지 않으므로 노드 장애가 발생하면 항상 클러스터에서 일부 데이터가 손실됩니다.

Memcached 클러스터를 생성할 때 1~60개 이상의 노드로 클러스터를 생성할 수 있으며, 특별 요청에 따라 그 이상도 생성할 수 있습니다. 더 많은 노드로 데이터를 분할하면 노드에 장애가 발생할 경우 데이터 손실이 줄어듭니다. 예를 들어, 10개의 노드에 데이터를 분할하면 단일 노드는 캐시된 데이터의 약 10%를 저장합니다. 이 경우, 노드 장애로 인해 대체 노드가 생성되고 프로비저닝될 때 대체해야 하는 캐시의 약 10%가 손실됩니다. 동일한 데이터가 3개의 대형 노드에 캐시된 경우 노드의 장애가 발생하면 캐시된 데이터의 약 33%가 손실됩니다.

Memcached 클러스터에 60개 이상의 노드가 필요하거나 한 AWS 지역에 총 300개 이상의 노드가 필요한 경우 https://aws.amazon.com/contact-us/ /에서 ElastiCache 한도 증가 요청 양식을 작성하십시오. elasticache-node-limit-request

Memcached 클러스터에서 노드 수를 지정하는 방법에 대한 자세한 내용은 Memcached 클러스터 생성(콘솔) 섹션을 참조하세요.

가용 영역 장애 완화

서버리스 캐시는 복제된 다중 AZ 아키텍처를 통해 가용 영역 장애를 자동으로 완화하므로 AZ 장애가 애플리케이션에 영향을 미치지 않도록 합니다.

자체 설계된 클러스터에서 가용 영역 장애로 인한 영향을 완화하려면 가능한 한 많은 가용 영역에 노드를 배치합니다. 드물지만 AZ 장애가 발생할 경우 해당 AZ에 캐시된 데이터가 손실되며 다른 AZ에 캐시된 데이터는 손실되지 않습니다.

그러면 여러 개의 노드가 필요한 이유는 무엇입니까?

내 리전에 가용 영역이 3개만 있는 경우 AZ 장애 시 내 데이터의 약 1/3이 손실되므로 3개가 넘는 노드가 필요한 이유는 무엇입니까?

매우 좋은 질문입니다. 노드와 가용 영역이라는 두 개의 구분된 장애 유형을 완화하려고 시도하고 있습니다. 맞습니다. 가용 영역에 데이터가 분산되어 있으며 영역 중 하나에 장애가 발생하면 보유한 노드 수와 상관없이 해당 AZ에 캐시된 데이터만 손실됩니다. 그러나 노드 장애 시 더 많은 노드가 있으면 손실된 데이터의 비율이 감소됩니다.

클러스터에 포함할 노드 수를 결정하기 위한 "마법 공식"은 없습니다. 데이터 손실의 영향과 장애 가능성 및 비용을 비교하여 자체적인 결론을 내려야 합니다.

Memcached 클러스터에서 노드 수를 지정하는 방법에 대한 자세한 내용은 Memcached 클러스터 생성(콘솔) 섹션을 참조하세요.

리전 및 가용 영역에 대한 자세한 내용은 리전 및 가용 영역을 참조하세요.

추천

추가 구성 없이 내결함성이 자동으로 향상되므로 자체 설계된 클러스터에서 서버리스 캐시를 생성하는 것이 좋습니다. 하지만 자체 설계된 클러스터를 생성할 때 계획해야 할 장애의 유형에는 개별 노드 장애와 광범위한 가용 영역 장애라는 2가지 유형이 있습니다. 가장 좋은 장애 완화 계획은 두 유형의 장애를 모두 해결하는 것입니다.

노드 장애로 인한 영향 최소화

Memcached를 실행하고 노드에 데이터를 분할할 때 더 많은 노드를 사용할수록 노드에 장애가 발생할 때 데이터 손실이 줄어듭니다.

가용 영역 장애의 영향 최소화

가용 영역 장애의 영향을 최소화하려면 가능한 한 여러 개의 서로 다른 가용 영역에서 노드를 시작하는 것이 좋습니다. AZ에 노드를 균등하게 분산하면, 드물지만 AZ 장애가 발생할 경우 영향을 최소화합니다. 이 작업은 서버리스 캐시에서 자동으로 수행됩니다.