ElastiCache 구성 요소 및 기능 - Amazon ElastiCache

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

ElastiCache 구성 요소 및 기능

다음은 Amazon ElastiCache 배포의 주요 구성 요소에 대한 개요입니다.

ElastiCache 노드

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

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

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

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

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

ElastiCache 샤드

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

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

클러스터 모드가 활성화된 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 Valkey 및 Redis 에서만 사용할 수 OSS있으며 ElastiCache (Memcached)에서는 사용할 수 없습니다.

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

Valkey 또는 Redis OSS 클러스터는 샤드 하나를 지원합니다( API 및 에서는 노드 그룹CLI이라고 함).

API 및 CLI 관점에서의 복제는 이전 버전과의 호환성을 유지하기 위해 다른 용어를 사용하지만 결과는 동일합니다. 다음 표에는 복제 구현을 위한 API 및 CLI 용어가 나와 있습니다.

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

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

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

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

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

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

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

ElastiCache 엔드포인트

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

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

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

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

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

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

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

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

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

ElastiCache (Memcached) 엔드포인트

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

자세한 내용은  엔드포인트 단원을 참조하십시오.

ElastiCache 파라미터 그룹

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

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

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

ElastiCache 보안

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

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

노드 액세스를 제한하는 것 외에도 는 지정된 버전의 를 실행하는 노드에 대한 암호화를 ElastiCache 지원TLS하며 제자리에 있습니다 ElastiCache. 자세한 내용은 다음 자료를 참조하세요.

ElastiCache 서브넷 그룹

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

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

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

ElastiCache 백업

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

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

ElastiCache 이벤트

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

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