ElastiCache 구성 요소 및 기능 - Amazon ElastiCache

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

ElastiCache 구성 요소 및 기능

다음은 Amazon ElastiCache 배포의 주요 구성 요소를 개괄적으로 설명한 것입니다.

ElastiCache 노드

노드는 ElastiCache 배포의 가장 작은 구성 요소입니다. 노드는 다른 노드와 독립적으로 존재하거나 다른 노드와 일부 관련되어 존재할 수 있습니다.

노드는 안전한 네트워크에 연결된 RAM의 크기가 고정된 청크입니다. 각 노드는 클러스터를 생성할 때 선택한 엔진 및 버전의 인스턴스를 실행합니다. 필요한 경우 클러스터의 노드를 다른 인스턴스 유형으로 스케일 업하거나 스케일 다운할 수 있습니다. 자세한 내용은 ElastiCache 규모 조정 단원을 참조하십시오.

클러스터 내 모든 노드는 인스턴스 유형이 동일하며, 동일한 캐시 엔진을 실행합니다. 각 캐시 노드에는 고유한 DNS(Domain Name Service) 이름 및 포트가 있습니다. 여러 유형의 캐시 노드가 지원되며 연결된 메모리 양이 각각 다릅니다. 지원되는 노드 인스턴스 유형의 목록은 지원되는 노드 유형 섹션을 참조하세요.

사용한 노드에 대해서만 비용을 지불하는 "사용한 만큼 지불"을 기준으로 노드를 구입할 수 있습니다. 또는 대폭 인하된 시간당 요금으로 예약 노드를 구입할 수 있습니다. 사용률이 높은 경우, 예약 노드를 구입하면 비용을 절약할 수 있습니다. 클러스터가 항상 사용 중에 있고 사용량 폭증을 처리하기 위해 가끔 노드를 추가하는 경우를 생각해 봅시다. 이 경우, 대부분의 시간을 실행하기 위해 여러 개의 예약된 노드를 구입할 수 있습니다. 그런 다음 노드를 가끔 추가하는 경우에 대해 “사용한 만큼 지불”을 기준으로 노드를 구입할 수 있습니다. 예약 노드에 대한 자세한 내용은 예약 노드 섹션을 참조하세요.

노드에 대한 자세한 내용은 ElastiCache에서 노드 관리 섹션을 참조하세요.

ElastiCache 샤드

Valkey 또는 Redis OSS 샤드(API 및 CLI에서 노드 그룹이라고 함)는 1~6개의 관련 노드 그룹입니다. 클러스터 모드가 활성화된 Valkey 또는 Redis OSS 클러스터에는 항상 샤드가 하나 이상 있습니다.

샤딩은 데이터 샤드라고 하는 더 작고 빠르며 쉽게 관리되는 부분으로 대규모 데이터베이스를 분리하는 데이터베이스 파티셔닝 방법입니다. 이렇게 하면 여러 별도의 섹션에 작업을 분산하여 데이터베이스 효율성을 높일 수 있습니다. 샤드를 사용하면 성능, 확장성 및 비용 효율성 향상 등 다양한 이점을 얻을 수 있습니다.

클러스터 모드가 활성화된 Valkey 및 Redis OSS 클러스터에는 최대 500개의 샤드가 있을 수 있으며, 샤드 간에 데이터가 분할됩니다. Valkey 또는 Redis OSS 엔진 버전이 5.0.6 이상인 경우 노드 또는 샤드 한도를 클러스터당 최대 500까지 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 서브넷 그룹 생성 섹션을 참조하세요. 5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 AWS 서비스 한도를 참조하고 한도 유형을 인스턴스 유형별 클러스터당 노드로 선택하세요.

다중 노드 샤드는 읽기/쓰기 기본 노드 하나와 1~5개의 복제본 노드를 통해 복제를 구현합니다. 자세한 내용은 고가용성을 위한 복제 그룹 사용 단원을 참조하십시오.

샤드에 대한 자세한 내용은 ElastiCache의 샤드 작업 섹션을 참조하세요.

ElastiCache 클러스터

클러스터는 하나 이상의 노드로 구성된 논리적 그룹입니다. 데이터는 Memcached 클러스터의 노드와 클러스터 모드가 활성화된 Valkey 또는 Redis OSS 클러스터의 샤드 간에 분할됩니다.

여러 ElastiCache 작업은 클러스터에서 다음 사항을 대상으로 합니다.

  • 클러스터 생성

  • 클러스터 수정

  • 클러스터의 스냅샷 생성(모든 Redis 버전)

  • 클러스터 삭제

  • 클러스터의 요소 보기

  • 비용 할당 태그를 클러스터에 추가 및 클러스터에서 삭제

자세한 내용은 다음 관련 항목을 참조하세요.

일반적인 클러스터 구성

다음은 일반적인 클러스터 구성입니다.

Valkey 또는 Redis OSS 클러스터

클러스터 모드가 비활성화된 Valkey 또는 Redis OSS 클러스터에는 항상 하나의 샤드(API 및 CLI에서 하나의 노드 그룹)만 포함됩니다. Valkey 또는 Redis OSS 샤드에는 1~6개의 노드가 있습니다. 한 샤드에 노드가 두 개 이상 있는 경우 샤드에서는 복제를 지원합니다. 이 경우 한 노드는 읽기/쓰기 기본 노드이고 다른 노드는 읽기 전용 복제 노드입니다.

향상된 내결함성을 위해 Valkey 또는 Redis OSS 클러스터에 최소 두 개의 노드를 두고, 다중 AZ를 활성화하는 것이 좋습니다. 자세한 내용은 장애 완화 단원을 참조하십시오.

Valkey 또는 Redis OSS 클러스터 수요가 변경되면 스케일 업 또는 스케일 다운할 수 있습니다. 이렇게 하려면 클러스터를 다른 노드 인스턴스 유형으로 이동하세요. 애플리케이션이 읽기 집약적인 경우 클러스터에 읽기 전용 복제본을 추가하는 것이 좋습니다. 이렇게 하면 보다 적절한 수의 노드로 읽기를 분산할 수 있습니다.

데이터 계층화를 사용할 수도 있습니다. 자주 액세스하는 데이터는 메모리에 저장되고 자주 액세스하지 않는 데이터는 디스크에 저장됩니다. 데이터 계층화를 사용하면 메모리 요구 사항이 줄어들 수 있다는 장점이 있습니다. 자세한 내용은 ElastiCache의 데이터 계층화 단원을 참조하십시오.

ElastiCache는 Valkey 또는 Redis OSS 클러스터의 노드 유형을 더 큰 노드 유형으로 동적으로 변경하는 것을 지원합니다. 스케일 업 또는 스케일 다운에 대한 정보는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)에 대한 단일 노드 클러스터 조정 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)에 대한 복제본 노드 규모 조정 섹션을 참조하세요.

Memcached에 대한 일반적인 클러스터 구성

Memcached는 각 클러스터에 1~60개의 노드가 있는 각 AWS 리전에 대해 고객당 최대 300개의 노드를 지원합니다. 사용자는 데이터를 Memcached 클러스터의 노드에 두루 분할합니다.

Memcached 엔진을 실행할 때 클러스터는 1~60개의 노드로 구성될 수 있습니다. 사용자는 데이터베이스를 노드에 두루 분할합니다. 애플리케이션은 각 노드의 엔드포인트를 읽고 씁니다. 자세한 내용은 Auto Discovery를 참조하세요.

내결함성을 개선하려면 클러스터 AWS 리전 내의 다양한 가용 영역(AZs)에서 Memcached 노드를 찾습니다. 이렇게 하면 한 AZ에서 발생한 오류가 전체 클러스터 및 애플리케이션에 미치는 영향을 최대한 줄일 수 있습니다. 자세한 내용은 장애 완화 단원을 참조하십시오.

Memcached 클러스터 변경 시 요구 사항에 따라 노드를 추가 또는 제거하여 확장 또는 축소할 수 있습니다. 이로써 데이터는 새 노드 수에 두루 재분할됩니다. 데이터를 분할할 때 일관적 해싱을 사용하는 것이 좋습니다. 일관적 해싱에 대한 자세한 내용은 효율적인 로드 밸런싱을 위해 ElastiCache 클라이언트 구성(Memcached) 섹션을 참조하세요.

ElastiCache 복제

Valkey 및 Redis OSS의 경우, 한 샤드(API 및 CLI에서 노드 그룹이라고 함)에서 2~6개의 노드를 그룹화하여 복제를 구현합니다. 이러한 노드 중 하나는 읽기/쓰기 기본 노드입니다. 다른 모든 노드는 읽기 전용 복제본 노드입니다. 복제는 ElastiCache for Valkey 및 Redis OSS에만 사용할 수 있으며 ElastiCache for Memcached에는 사용할 수 없습니다.

각 복제본 노드는 기본 노드에서 데이터 사본을 유지합니다. 복제본 노드는 비동기식 복제 메커니즘을 사용하여 기본 노드와의 동기화를 유지합니다. 애플리케이션은 클러스터에 있는 모든 노드에서 읽을 수 있지만 기본 노드에만 쓸 수 있습니다. 읽기 전용 복제본은 여러 엔드포인트에 읽기를 분산하여 확장성을 향상합니다. 또한 읽기 전용 복제본은 여러 데이터 사본을 유지 관리하여 내결함성을 개선합니다. 다중 가용 영역에서 읽기 전용 복제본을 찾으면 내결함성이 더욱 개선됩니다. 내결함성에 대한 자세한 내용은 장애 완화 섹션을 참조하세요.

Valkey 또는 Redis OSS 클러스터는 한 개의 샤드(API 및 CLI에서 노드 그룹)를 지원합니다.

API 및 CLI 각각에서의 복제는 다른 용어를 사용하여 이전 버전과의 호환성을 유지하지만, 결과는 동일합니다. 다음 표는 복제 구현을 위한 API 및 CLI 용어를 보여줍니다.

복제 비교: Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 및 Valkey 또는 Redis OSS(클러스터 모드 활성화됨)--> 클러스터 모드가 활성화된 Valkey 또는 Redis OSS 클러스터와 클러스터 모드가 비활성화된 Valkey 또는 Redis OSS 클러스터 비교

다음 표에서 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹과 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹의 기능을 비교할 수 있습니다.

클러스터 모드가 비활성화된 Valkey 또는 Redis OSS 클러스터 클러스터 모드가 활성화된 Valkey 또는 Redis OSS 클러스터
샤드(노드 그룹) 1 1~500  
각 샤드(노드 그룹)의 복제본 수 0~5 0~5
데이터 파티셔닝 아니요
복제본 추가/삭제
노드 그룹 추가/삭제 아니요
확장 지원
엔진 업그레이드 지원
복제본을 기본 노드로 승격 자동
Multi-AZ 선택 사항 필수
백업/복구
참고:
복제본이 없는 기본 노드에서 장애가 발생할 경우 기본 노드에 저장된 데이터가 모두 손실됩니다.
백업 및 복원을 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨)로 마이그레이션할 수 있습니다.
백업 및 복원을 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 크기를 조정할 수 있습니다.

모든 샤드(API 및 CLI에서 노드 그룹) 및 노드가 동일한 AWS 리전에 있어야 합니다. 그러나 해당 AWS 리전 내의 여러 가용 영역에 개별 노드를 프로비저닝할 수 있습니다.

읽기 전용 복제본은 데이터가 둘 이상의 노드(기본 및 하나 이상의 읽기 전용 복제본)에 복제되므로 잠재적인 데이터 손실이 방지됩니다. 안정성과 복구 속도를 높이려면 여러 가용 영역에 읽기 전용 복제본을 하나 이상 생성하는 것이 좋습니다.

글로벌 데이터 스토어를 활용할 수도 있습니다. Redis OSS용 글로벌 데이터 스토어 기능을 사용하면 AWS 리전 간에 완전 관리형의 빠르고 안정적이며 안전한 복제를 수행할 수 있습니다. 이 기능을 사용하면 ElastiCache용 리전 간 읽기 전용 복제본 클러스터를 생성하여 AWS 리전 간 지연 시간이 짧은 읽기 및 재해 복구를 활성화할 수 있습니다. 자세한 내용은 글로벌 데이터 스토어를 사용하여 AWS 리전 간 복제를 참조하세요.

복제: 제한 및 제외
  • 노드 유형 T1에서는 다중 AZ가 지원되지 않습니다.

ElastiCache 엔드포인트

엔드포인트는 애플리케이션이 ElastiCache 노드 또는 클러스터에 연결하는 데 사용하는 고유한 주소입니다.

클러스터 모드가 비활성화된 Valkey 또는 Redis OSS에 대한 단일 노드 엔드포인트

단일 노드 Valkey 또는 Redis OSS 클러스터에 대한 엔드포인트는 읽기 및 쓰기 모두를 위해 클러스터에 연결하는 데 사용됩니다.

클러스터 모드가 비활성화된 Valkey 또는 Redis OSS에 대한 다중 노드 엔드포인트

클러스터 모드가 비활성화된 다중 노드 Valkey 또는 Redis OSS 클러스터에는 두 가지 유형의 엔드포인트가 있습니다. 기본 엔드포인트는 기본 역할의 특정 노드가 변경된 경우에도 항상 클러스터의 기본 노드에 연결됩니다. 클러스터에 대한 모든 쓰기를 위해 기본 엔드포인트를 사용합니다.

리더 엔드포인트를 사용하여 모든 읽기 전용 복제본 사이에 수신 연결을 고르게 분할합니다. 읽기 작업에는 개별 노드 엔드포인트(API/CLI에서는 읽기 엔드포인트라고 함)를 사용하세요.

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 엔드포인트

클러스터 모드가 활성화된 Valkey 또는 Redis OSS 클러스터에는 단일 구성 엔드포인트가 있습니다. 구성 엔드포인트에 연결되면 애플리케이션이 클러스터의 각 샤드에 대한 기본 및 읽기 엔드포인트를 찾을 수 있습니다.

자세한 내용은 ElastiCache에서 연결 엔드포인트 찾기 단원을 참조하십시오.

ElastiCache for Memcached 엔드포인트

Memcached 클러스터의 각 노드에는 고유한 엔드포인트가 있습니다. 클러스터에도 구성 엔드포인트라는 엔드포인트가 있습니다. Auto Discovery를 사용하기로 설정하고 구성 엔드포인트를 연결한 경우에는 클러스터에서 노드를 추가하거나 제거한 후에도 애플리케이션이 자동으로 각 노드 엔드포인트를 파악합니다. 자세한 내용은 Auto Discovery를 참조하세요.

자세한 내용은 ElastiCache에서 연결 엔드포인트 찾기 단원을 참조하십시오.

ElastiCache 파라미터 그룹

캐시 파라미터 그룹은 지원되는 엔진 소프트웨어에 대한 런타임 설정을 관리하는 간단한 방법입니다. 메모리 사용량, 제거 정책, 항목 크기 등을 제어하는 데 여러 가지 파라미터가 사용됩니다. ElastiCache 파라미터 그룹이란 클러스터에 적용할 수 있는 엔진별 파라미터의 이름이 지정된 모음을 말합니다. 이를 통해 해당 클러스터에 있는 모든 노드가 정확히 동일한 방법으로 구성되게 할 수 있습니다.

지원되는 파라미터의 목록, 해당 기본값 및 수정할 수 있는 사항은 DescribeEngineDefaultParameters 섹션(CLI: describe-engine-default-parameters)을 참조하세요.

ElastiCache 파라미터 그룹에 대한 자세한 내용은 ElastiCache 파라미터 그룹을 사용해 엔진 파라미터 구성 섹션을 참조하세요.

ElastiCache 보안

향상된 보안을 위해 ElastiCache 노드 액세스는 허용하는 Amazon EC2 인스턴스에 실행되는 애플리케이션으로 제한됩니다. 보안 그룹을 사용하여 클러스터에 액세스할 수 있는 Amazon EC2 인스턴스를 제어할 수 있습니다.

기본적으로 모든 새 ElastiCache 클러스터는 Amazon Virtual Private Cloud(Amazon VPC) 환경에서 시작됩니다. 서브넷 그룹을 사용하여 특정 서브넷에서 실행 중인 Amazon EC2 인스턴스에서의 액세스 권한을 클러스터에 부여할 수 있습니다.

ElastiCache는 노드 액세스를 제한하는 것 외에 지정된 버전의 ElastiCache를 실행 중인 노드의 TLS 및 실행 중 암호화를 지원합니다. 자세한 내용은 다음 자료를 참조하세요.

ElastiCache 서브넷 그룹

서브넷 그룹은 Amazon VPC 환경에서 실행 중인 클러스터에 대해 지정할 수 있는 서브넷(일반적으로 프라이빗 서브넷) 모음입니다.

Amazon VPC에서 클러스터를 생성하는 경우 캐시 서브넷 그룹을 지정해야 합니다. ElastiCache는 캐시 서브넷 그룹을 사용하여 캐시 노드에 연결된 서브넷 내의 서브넷 및 IP 주소를 선택할 수 있습니다.

Amazon VPC 환경에서 캐시 서브넷 그룹을 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

ElastiCache 백업

백업은 Valkey 또는 Redis OSS 클러스터, 서버리스 캐시 또는 Memcached 서버리스 캐시의 특정 시점 사본입니다. 백업을 사용하여 기존 클러스터를 복원하거나 새 클러스터를 시드할 수 있습니다. 백업은 클러스터의 모든 데이터와 일부 메타데이터로 구성됩니다.

클러스터에서 실행되는 Valkey 또는 Redis OSS 버전에 따라 백업 프로세스를 완료하는 데 필요한 예약된 메모리의 양이 달라집니다. 자세한 내용은 다음 자료를 참조하세요.

ElastiCache 이벤트

캐시 클러스터에서 중요 이벤트가 발생하면 ElastiCache는 특정 Amazon SNS 주제에 알림을 전송합니다. 이러한 이벤트로는 노드 추가 실패 또는 성공, 보안 그룹 수정 등을 들 수 있습니다. 주요 이벤트를 모니터링하면 클러스터의 현재 상태를 파악할 수 있으며, 많은 경우에 교정 작업을 수행할 수도 있습니다.

ElastiCache 이벤트에 대한 자세한 내용은 ElastiCache 이벤트에 대한 Amazon SNS 모니터링 섹션을 참조하세요.