자체 ElastiCache (Redis OSS) 클러스터 설계 - Amazon ElastiCache

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

자체 ElastiCache (Redis OSS) 클러스터 설계

다음은 자체 ElastiCache (Redis OSS) 클러스터를 설계하기 위해 수행해야 하는 일회성 작업입니다.

설정에 대한 자세한 내용은 섹션을 ElastiCache 참조하세요설정 ElastiCache.

1단계: 서브넷 그룹 생성

클러스터를 생성하기 전에 먼저 서브넷 그룹을 생성합니다. 캐시 서브넷 그룹은 에서 캐시 클러스터에 대해 지정할 수 있는 서브넷 모음입니다VPC. 에서 캐시 클러스터를 시작할 때 캐시 서브넷 그룹을 선택해야 VPC합니다. 그런 다음 해당 캐시 서브넷 그룹을 ElastiCache 사용하여 해당 서브넷 내의 IP 주소를 클러스터의 각 캐시 노드에 할당합니다.

새 서브넷 그룹을 생성할 때 사용 가능한 IP 주소의 수를 기록하세요. 서브넷에 무료 IP 주소가 거의 없는 경우 클러스터에 추가할 수 있는 노드의 수가 제약될 수 있습니다. 이 문제를 해결하기 위해 클러스터의 가용 영역에 충분한 수의 IP 주소가 있도록 서브넷 그룹에 하나 이상의 서브넷을 지정할 수 있습니다. 그 이후 클러스터에 더 많은 노드를 추가할 수 있습니다.

다음 절차는 mysubnetgroup(콘솔)이라는 서브넷 그룹과 AWS CLI를 생성하는 방법을 보여 줍니다.

다음 절차는 서브넷 그룹을 생성하는 방법을 보여줍니다(콘솔).

서브넷 그룹을 생성하려면(콘솔)
  1. AWS 관리 콘솔에 로그인하고 에서 ElastiCache 콘솔을 엽니다https://console.aws.amazon.com/elasticache/.

  2. 탐색 목록에서 [Subnet Groups]를 선택합니다.

  3. [Create Subnet Group]을 선택합니다.

  4. [Create Subnet Group] 마법사에서 다음을 수행합니다. 모든 설정이 원하는 대로 설정되었으면 [Yes, Create]를 선택합니다.

    1. [Name] 상자에 서브넷 그룹의 이름을 입력합니다.

    2. [Description] 상자에 서브넷 그룹에 대한 설명을 입력합니다.

    3. VPC ID 상자에서 VPC 생성한 Amazon을 선택합니다.

    4. 가용 영역서브넷 ID 목록에서 가용 영역 또는 로컬 영역과 프라이빗 서브넷의 ID를 선택한 다음 추가를 선택합니다.

      이미지: 서브넷 생성 VPC 화면
  5. 나타나는 확인 메시지에서 [Close]를 선택합니다.

새 서브넷 그룹이 ElastiCache 콘솔의 서브넷 그룹 목록에 나타납니다. 창 하단에서 서브넷 그룹을 선택하여 이 그룹과 연결된 모든 서브넷 등의 상세 내용을 확인할 수 있습니다.

명령 프롬프트에서 create-cache-subnet-group 명령을 사용하여 서브넷 그룹을 생성합니다.

Linux, macOS, Unix의 경우:

aws elasticache create-cache-subnet-group \ --cache-subnet-group-name mysubnetgroup \ --cache-subnet-group-description "Testing" \ --subnet-ids subnet-53df9c3a

Windows의 경우:

aws elasticache create-cache-subnet-group ^ --cache-subnet-group-name mysubnetgroup ^ --cache-subnet-group-description "Testing" ^ --subnet-ids subnet-53df9c3a

이 명령은 다음과 유사한 출력을 생성합니다.

{ "CacheSubnetGroup": { "VpcId": "vpc-37c3cd17", "CacheSubnetGroupDescription": "Testing", "Subnets": [ { "SubnetIdentifier": "subnet-53df9c3a", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ], "CacheSubnetGroupName": "mysubnetgroup" } }

자세한 내용은 AWS CLI 주제를 참조하세요.create-cache-subnet-group.

2단계: 클러스터 생성

프로덕션 용도로 사용할 클러스터를 생성하기 전에 비즈니스 요구 사항에 맞게 클러스터를 구성할 방법을 고려해야 합니다. 이러한 문제에 대해서는 에서 클러스터 준비 ElastiCache 섹션에서 다룹니다. 이 시작하기 연습의 목적에 따라, 클러스터 모드가 비활성화된 클러스터를 생성하고 적용되는 모든 위치에서 기본 구성 값을 그대로 사용합니다.

생성하려는 클러스터는 활성화되고 샌드박스에서 실행되지 않습니다. 인스턴스를 삭제할 때까지 인스턴스에 대한 표준 ElastiCache 사용 요금이 발생합니다. 여기에 설명된 연습을 한 번에 끝내고 연습을 마칠 때 클러스터를 삭제하면 총 청구 비용이 가장 적게 듭니다(일반적으로 1달러 미만). ElastiCache 사용률에 대한 자세한 내용은 Amazon 섹션을 ElastiCache 참조하세요.

클러스터는 Amazon VPC 서비스를 기반으로 가상 프라이빗 클라우드(VPC)에서 시작됩니다.

RedisOSS(클러스터 모드 비활성화됨) 클러스터 생성(콘솔)

ElastiCache 콘솔을 사용하여 RedisOSS(클러스터 모드 비활성화됨) 클러스터를 생성하려면
  1. 에 로그인 AWS Management Console 하고 에서 Amazon ElastiCache 콘솔을 엽니다https://console.aws.amazon.com/elasticache/.

  2. 오른쪽 상단 모서리의 목록에서 이 클러스터를 시작할 AWS 리전을 선택합니다.

  3. 탐색 창에서 시작하기(Get started)를 선택하세요.

  4. 생성을 VPC 선택하고 Virtual Private Cloud 생성(VPC)에 설명된 단계를 따릅니다.

  5. ElastiCache 대시보드 페이지에서 Valkey 캐시 또는 Redis OSS 캐시를 선택합니다. 이 연습에서는 Redis OSS 캐시 를 선택한 다음 Redis OSS 캐시 생성 을 선택합니다.

  6. 클러스터 설정(Cluster settings)에서 다음을 수행합니다.

    1. Configure and create a new cluster(새 클러스터 구성 및 생성)를 선택합니다.

    2. Cluster mode(클러스터 모드)에서 Enabled(사용 설정됨)를 선택합니다.

    3. Cluster info(클러스터 정보)에 Name(이름) 값을 입력합니다.

    4. (선택 사항) 설명(Description) 값을 입력합니다.

  7. Location(위치)에서 다음을 수행합니다.

    AWS Cloud
    1. AWS Cloud의 경우 Multi-AZ(다중 AZ) 및 Auto-failover(자동 장애 조치)의 기본 설정을 수락하는 것이 좋습니다. 자세한 내용은 다중 AZ 를 사용한 ElastiCache (Redis OSS)의 가동 중지 시간 최소화를 참조하세요.

    2. 클러스터 설정(Cluster settings)에서 다음을 수행합니다.

      1. 엔진 버전(Engine version)의 경우 사용 가능한 버전을 선택합니다.

      2. 포트(Port)의 경우 기본 포트인 6379를 사용합니다. 다른 포트를 사용해야 하는 경우 포트 번호를 입력합니다.

      3. 파라미터 그룹에서 파라미터 그룹을 선택하거나 새 파라미터 그룹을 만듭니다. 파라미터 그룹은 클러스터의 런타임 파라미터를 제어합니다. 파라미터 그룹에 대한 자세한 정보는 Valkey 및 Redis OSS 파라미터 ElastiCache 파라미터 그룹 생성 섹션을 참조하세요.

        참고

        파라미터 그룹을 선택하여 엔진 구성 값을 설정하면 해당 파라미터 그룹이 글로벌 데이터 스토어의 모든 클러스터에 적용됩니다. 파라미터 그룹 페이지에서 yes/no 글로벌 속성은 파라미터 그룹이 글로벌 데이터 스토어의 일부인지 여부를 나타냅니다.

      4. 노드 유형에서 아래쪽 화살표( Downward-pointing triangle icon, typically used to indicate a dropdown menu. )를 선택합니다. 노드 유형 변경 대화 상자에서 원하는 노드 유형의 인스턴스 패밀리 값을 선택합니다. 그런 다음 이 클러스터에 사용할 노드 유형을 선택한 다음 저장을 선택합니다.

        자세한 정보는 노드 크기 선택 섹션을 참조하세요.

        r6gd 노드 유형을 선택하는 경우 데이터 계층화가 자동으로 사용 설정됩니다. 자세한 내용은 의 데이터 계층화 ElastiCache 단원을 참조하십시오.

      5. Number of replicas(복제본 개수)의 경우 원하는 읽기 전용 복제본 개수를 선택합니다. 다중 AZ를 사용 설정한 경우 숫자는 1~5 사이가 되어야 합니다.

    3. 연결 아래

      1. 네트워크 유형에서 이 클러스터가 지원할 IP 버전을 선택합니다.

      2. 서브넷 그룹 의 경우 이 클러스터에 적용할 서브넷을 선택합니다. 는 해당 서브넷 그룹을 ElastiCache 사용하여 해당 서브넷 내의 서브넷 및 IP 주소를 선택하여 노드와 연결합니다. ElastiCache 클러스터에는 듀얼 스택 모드에서 작동하려면 IPv4 및 IPv6 주소가 할당된 듀얼 스택 서브넷이 필요하며, IPv6는 IPv6전용으로 작동하려면 전용 서브넷이 필요합니다.

        새 서브넷 그룹을 생성할 때 해당 서브넷 그룹이 속한 VPC ID를 입력합니다.

        자세한 내용은 다음을 참조하세요.

        에서 로컬 영역 사용 ElastiCache를 사용하는 경우 로컬 영역에 있는 서브넷을 선택하거나 생성해야 합니다.

        자세한 내용은 서브넷 및 서브넷 그룹 단원을 참조하십시오.

    4. 가용 영역 배치(Availability zone placements)의 경우 다음 두 가지 옵션이 있습니다.

      • 기본 설정 없음 - 가용 영역을 ElastiCache 선택합니다.

      • 가용 영역 지정 – 각 클러스터의 가용 영역을 지정합니다.

        가용 영역을 지정하도록 선택한 경우 샤드에 있는 각 클러스터에 대해 목록에서 가용 영역을 선택합니다.

      자세한 내용은 에 대한 리전 및 가용 영역 선택 ElastiCache 단원을 참조하십시오.

    5. 다음(Next)을 선택합니다.

    6. 고급 Redis OSS 설정에서

      1. 보안(Security)의 경우

        1. 데이터를 암호화하려면 다음과 같은 옵션이 있습니다.

          • 저장된 데이터 암호화 - 디스크에 저장된 데이터 암호화를 활성화합니다. 자세한 정보는 저장된 데이터 암호화를 참조하세요.

            참고

            Customer Managed AWS KMS 키를 선택하고 키를 선택하여 다른 암호화 키를 제공할 수 있습니다. 자세한 내용은 에서 AWS 고객 관리형 키 사용을 KMS참조하세요.

          • 전송 중 데이터 암호화 – 전송 데이터 암호화를 활성화합니다. 자세한 정보는 전송 중 데이터 암호화를 참조하세요. Redis OSS 엔진 버전 6.0 이상의 경우 전송 중 암호화를 활성화하면 다음 액세스 제어 옵션 중 하나를 지정하라는 메시지가 표시됩니다.

            • 액세스 제어 안 함 – 기본 설정입니다. 이 옵션은 클러스터에 대한 사용자 액세스를 제한하지 않는다는 의미입니다.

            • 사용자 그룹 액세스 제어 목록 - 클러스터에 액세스할 수 있는 사용자 집합이 정의된 사용자 그룹을 선택합니다. 자세한 내용은 콘솔 및 를 사용하여 사용자 그룹 관리 CLI 단원을 참조하십시오.

            • AUTH 기본 사용자 - Valkey 및 Redis OSS 서버의 인증 메커니즘입니다. 자세한 내용은 AUTH를 참조하세요.

          • AUTH – Redis OSS 서버의 인증 메커니즘입니다. 자세한 내용은 AUTH를 참조하세요.

          참고

          OSS 버전 3.2.10을 제외한 3.2.6 이상 Redis 버전의 경우 Redis가 유일한 옵션OSSAUTH입니다.

        2. 보안 그룹에서 이 클러스터에 사용할 보안 그룹을 선택합니다. 보안 그룹은 클러스터에 대한 네트워크 액세스를 제어하는 방화벽 역할을 합니다. 에 기본 보안 그룹을 사용하거나 새 보안 그룹을 VPC 생성할 수 있습니다.

          보안 그룹에 대한 자세한 내용은 Amazon 사용 설명서의 에 대한 보안 그룹을 VPC 참조하세요. VPC

    7. 정기적인 자동 백업을 예약할 경우 Enable automatic backups(자동 백업 활성화)를 선택한 후 자동으로 삭제되기 전에 각 자동 백업을 보존할 기간(일)을 입력합니다. 정기적인 자동 백업을 예약하지 않으려면 [Enable automatic backups] 확인란의 선택을 취소합니다. 어떤 경우든 수동 백업을 항상 생성할 수 있습니다.

      백업 및 복원에 대한 자세한 내용은 섹션을 참조하세요스냅샷 및 복원.

    8. (선택 사항) 유지 관리 기간을 지정합니다. 유지 관리 기간은 클러스터에 대한 시스템 유지 관리를 예약하는 ElastiCache 매주 일반적으로 1시간의 시간입니다. ElastiCache 에서 유지 관리 기간의 날짜 및 시간을 선택하거나(기본 설정 없음) 직접 날짜, 시간 및 기간을 선택할 수 있습니다(유지 관리 기간 지정 ). [Specify maintenance window]를 선택할 경우 목록에서 유지 관리 기간의 [Start day], [Start time] 및 [Duration](시간)을 선택합니다. 모든 시간은 UCT 시간입니다.

      자세한 내용은 ElastiCache 클러스터 유지 관리 단원을 참조하십시오.

    9. (선택 사항) 로그의 경우:

      • 로그 형식에서 텍스트 또는 를 선택합니다JSON.

      • 대상 유형에서 CloudWatch 로그 또는 Kinesis Firehose를 선택합니다.

      • 로그 대상 에서 새로 만들기를 선택하고 CloudWatch 로그 로그 그룹 이름 또는 Firehose 스트림 이름을 입력하거나 기존 선택을 선택한 다음 CloudWatch 로그 로그 로그 그룹 이름 또는 Firehose 스트림 이름을 선택합니다.

    10. 태그 의 경우 클러스터 및 기타 ElastiCache 리소스를 관리하는 데 도움이 되도록 태그 형식으로 각 리소스에 자체 메타데이터를 할당할 수 있습니다. 자세한 정보는 ElastiCache 리소스 태그 지정 섹션을 참조하세요.

    11. Next(다음)를 선택합니다.

    12. 입력 및 선택한 내용을 모두 검토한 다음 필요한 내용을 수정합니다. 준비가 되었으면 생성(Create)e을 선택합니다.

    On premises
    1. On premises(온프레미스)의 경우 Auto-failover(자동 장애 조치)를 사용 설정하는 것이 좋습니다. 자세한 내용은 다중 AZ를 사용한 ElastiCache (Redis OSS)의 가동 중지 시간 최소화를 참조하세요.

    2. 클러스터 생성을 완료하려면 Outposts 사용의 단계를 수행합니다.

클러스터의 상태를 사용할 수 있게 되면 즉시 Amazon에 EC2 액세스 권한을 부여하고 연결한 다음 사용을 시작할 수 있습니다. 자세한 내용은 단계 3. 클러스터에 대한 액세스 권한 부여4단계. 클러스터의 노드에 연결 단원을 참조하세요.

중요

클러스터를 사용할 수 있으면 클러스터를 활동적으로사용하지 않더라도 클러스터가 사용 설정되어 있는 매 시간 또는 60분 미만 단위로 비용이 청구됩니다. 이 클러스터의 요금 발생을 중지하려면 클러스터를 삭제해야 합니다. 에서 클러스터 삭제 ElastiCache을 참조하세요.

다음 CLI 코드는 복제본이 없는 RedisOSS(클러스터 모드 비활성화됨) 캐시 클러스터를 생성합니다.

Linux, macOS, Unix의 경우:

aws elasticache create-cache-cluster \ --cache-cluster-id my-cluster \ --cache-node-type cache.r4.large \ --engine redis \ --num-cache-nodes 1 \ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

Windows의 경우:

aws elasticache create-cache-cluster ^ --cache-cluster-id my-cluster ^ --cache-node-type cache.r4.large ^ --engine redis ^ --num-cache-nodes 1 ^ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

클러스터 모드가 활성화된 상태로 작업하려면 다음 주제를 참조하세요.

3단계: 클러스터에 대한 액세스 허가

이 섹션에서는 Amazon EC2 인스턴스를 시작하고 연결하는 데 익숙하다고 가정합니다. 자세한 내용은 Amazon EC2 시작 안내서를 참조하세요.

모든 ElastiCache 클러스터는 Amazon EC2 인스턴스에서 액세스하도록 설계되었습니다. 가장 일반적인 시나리오는 동일한 Amazon Virtual Private Cloud(Amazon VPC)의 Amazon EC2 인스턴스에서 ElastiCache 클러스터에 액세스하는 것입니다. 이 연습의 경우입니다.

기본적으로 클러스터에 대한 네트워크 액세스는 생성할 때 사용한 계정에만 제한됩니다. EC2 인스턴스에서 클러스터에 연결하려면 먼저 EC2 인스턴스가 클러스터에 액세스할 수 있는 권한을 부여해야 합니다. 필요한 단계는 클러스터를 EC2-VPC 또는 EC2-Classic으로 시작했는지에 따라 달라집니다.

가장 일반적인 사용 사례는 EC2 인스턴스에 배포된 애플리케이션이 동일한 의 클러스터에 연결해야 하는 경우입니다VPC. 동일한 에서 EC2 인스턴스와 클러스터 간의 액세스를 관리하는 가장 간단한 방법은 다음을 수행하는 VPC 것입니다.

  1. 클러스터의 VPC 보안 그룹을 생성합니다. 이 보안 그룹을 사용해 클러스터 인스턴스에 대한 액세스를 제한할 수 있습니다. 예를 들어 클러스터를 생성할 때 클러스터에 할당한 포트와 클러스터TCP에 액세스하는 데 사용할 IP 주소를 사용하여 액세스를 허용하는 이 보안 그룹에 대한 사용자 지정 규칙을 생성할 수 있습니다.

    Redis OSS 클러스터 및 복제 그룹의 기본 포트는 입니다6379.

    중요

    Amazon ElastiCache 보안 그룹은 Amazon Virtual Private Cloud 환경()에서 실행되지 않는 클러스터에만 적용됩니다VPC. Amazon Virtual Private Cloud를 실행하는 경우 콘솔 탐색 창에서 보안 그룹을 사용할 수 없습니다.

    Amazon 에서 ElastiCache 노드를 실행하는 경우 VPC보안 그룹과 다른 Amazon VPC 보안 ElastiCache 그룹을 사용하여 클러스터에 대한 액세스를 제어합니다. Amazon ElastiCache 에서 를 사용하는 방법에 대한 자세한 내용은 섹션을 VPC참조하세요. Amazon VPCs 및 ElastiCache 보안

  2. EC2 인스턴스(웹 및 애플리케이션 서버)에 대한 VPC 보안 그룹을 생성합니다. 이 보안 그룹은 필요한 경우 의 라우팅 테이블을 통해 인터넷에서 EC2 인스턴스에 대한 액세스를 허용할 수 VPC있습니다. 예를 들어 포트 22를 통해 EC2 인스턴스에 TCP 액세스할 수 있도록 이 보안 그룹에 규칙을 설정할 수 있습니다.

  3. 클러스터의 보안 그룹에서 EC2 인스턴스에 대해 생성한 보안 그룹의 연결을 허용하는 사용자 지정 규칙을 생성합니다. 그러면 보안 그룹의 모든 구성원이 클러스터에 액세스하도록 허용됩니다.

참고

를 사용할 계획이라면 활성화했는지 에서 로컬 영역 사용 ElastiCache확인하세요. 해당 로컬 영역에서 서브넷 그룹을 생성하면 VPC가 해당 로컬 영역으로 확장되고 VPC 는 서브넷을 다른 가용 영역의 서브넷으로 취급합니다. 모든 관련 게이트웨이 및 라우팅 테이블이 자동으로 조정됩니다.

다른 VPC 보안 그룹의 연결을 허용하는 규칙을 보안 그룹에 생성하려면
  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/vpc 에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 보안 그룹을 선택합니다.

  3. 클러스터 인스턴스에 사용할 보안 그룹을 선택하거나 만듭니다. [Inbound Rules]에서 [Edit Inbound Rules]를을 선택한 다음 [Add Rule][을 선택합니다. 이 보안 그룹은 다른 보안 그룹 멤버에 대한 액세스를 허용합니다.

  4. 유형에서 사용자 지정 TCP 규칙 을 선택합니다.

    1. [Port Range]에 대해 클러스터를 만들 때 사용한 포트를 지정합니다.

      Redis OSS 클러스터 및 복제 그룹의 기본 포트는 입니다6379.

    2. [Source] 상자에 보안 그룹 ID를 입력합니다. 목록에서 Amazon EC2 인스턴스에 사용할 보안 그룹을 선택합니다.

  5. 완료되면 [Save]를 선택합니다.

    이미지: 인바운드 VPC 규칙 편집 화면

액세스를 활성화했으면 이제 다음 섹션에 설명된 대로 노드에 연결할 수 있습니다.

다른 Amazon VPC, 다른 AWS 리전 또는 회사 네트워크에서 ElastiCache 클러스터에 액세스하는 방법에 대한 자세한 내용은 다음을 참조하세요.

4단계: 클러스터 노드에 연결

계속하기 전에 3단계: 클러스터에 대한 액세스 허가 단계를 완료하세요.

이 섹션에서는 Amazon EC2 인스턴스를 생성했고 연결할 수 있다고 가정합니다. 이 작업을 수행하는 방법에 대한 지침은 Amazon EC2 시작 안내서를 참조하세요.

Amazon EC2 인스턴스는 클러스터 노드에 연결하도록 권한을 부여한 경우에만 연결할 수 있습니다.

노드 엔드포인트 찾기

클러스터가 사용 가능한 상태이고 이에 대한 액세스 권한을 부여한 경우 Amazon EC2 인스턴스에 로그인하여 클러스터에 연결할 수 있습니다. 이를 수행하려면 먼저 엔드포인트를 결정해야 합니다.

Valkey 또는 RedisOSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트 찾기(콘솔)

RedisOSS(클러스터 모드 비활성화됨) 클러스터에 노드가 하나만 있는 경우 노드의 엔드포인트는 읽기 및 쓰기 모두에 사용됩니다. 클러스터에 여러 노드가 있는 경우 세 가지 유형의 엔드포인트(기본 엔드포인트, 리더 엔드포인트노드 엔드포인트)가 있습니다.

기본 엔드포인트는 항상 클러스터의 기본 노드로 확인되는 DNS 이름입니다. 기본 엔드포인트는 읽기 전용 복제본을 기본 역할로 승격하는 것과 같은 클러스터 변경의 영향을 받지 않습니다. 쓰기 활동의 경우 애플리케이션을 기본 엔드포인트에 연결하는 것이 좋습니다.

리더 엔드포인트는 ElastiCache (Redis OSS) 클러스터의 모든 읽기 전용 복제본 간에 엔드포인트에 대한 수신 연결을 균등하게 분할합니다. 애플리케이션이 연결을 생성하는 시기 또는 애플리케이션에서 연결을 다시 사용하는 방법과 같은 추가 요소가 트래픽 분산을 결정합니다. 리더 엔드포인트는 복제본이 추가 또는 제거되는 클러스터의 변경 사항을 실시간으로 반영합니다. ElastiCache (Redis OSS) 클러스터의 여러 읽기 전용 복제본을 서로 다른 AWS 가용 영역(AZ)에 배치하여 리더 엔드포인트의 고가용성을 보장할 수 있습니다.

참고

리더 엔드포인트는 로드 밸런서가 아닙니다. 이는 라운드 로빈 방식으로 복제본 노드 중 하나의 IP 주소로 확인되는 DNS 레코드입니다.

읽기 활동의 경우 애플리케이션은 클러스터의 어떤 노드에도 연결할 수 있습니다. 기본 엔드포인트와 달리, 노드 엔드포인트는 특정 엔드포인트로 확인됩니다. 복제본을 추가하거나 삭제하는 것과 같이 클러스터를 변경하면 애플리케이션에서 노드 엔드포인트를 업데이트해야 합니다.

RedisOSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트를 찾으려면
  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/elasticache/에서 ElastiCache 콘솔을 엽니다.

  2. 탐색 창에서 OSS 캐시 재분배 를 선택합니다.

    클러스터 화면에는 기존 Valkey 또는 Redis OSS 서버리스 캐시, RedisOSS(클러스터 모드 비활성화됨) 클러스터 및 RedisOSS(클러스터 모드 활성화됨) 클러스터가 포함된 목록이 표시됩니다. RedisOSS(클러스터 모드 비활성화됨) 클러스터 생성(콘솔) 섹션에서 생성한 클러스터를 선택합니다.

  3. 클러스터의 기본 엔드포인트 및/또는 리더 엔드포인트를 찾으려면 클러스터 이름(라디오 버튼 아님)을 선택합니다.

    이미지: RedisOSS(클러스터 모드 비활성화됨) 클러스터의 기본 엔드포인트

    RedisOSS(클러스터 모드 비활성화됨) 클러스터의 프라이머리 및 리더 엔드포인트

    클러스터에 노드가 하나 뿐이면 기본 엔드포인트가 없으며 다음 단계에서 계속할 수 있습니다.

  4. RedisOSS(클러스터 모드 비활성화됨) 클러스터에 복제본 노드가 있는 경우 클러스터의 이름을 선택한 다음 노드 탭을 선택하여 클러스터의 복제본 노드 엔드포인트를 찾을 수 있습니다.

    노드 화면에 클러스터의 각 노드, 기본 및 복제본이 엔드포인트와 함께 나열됩니다.

    이미지: RedisOSS(클러스터 모드 비활성화됨) 클러스터의 노드 엔드포인트

    RedisOSS(클러스터 모드 비활성화됨) 클러스터의 노드 엔드포인트

  5. 엔드포인트를 클립보드에 복사하려면

    1. 한 번에 엔드포인트 하나씩, 복사할 엔드포인트를 찾습니다.

    2. 엔드포인트 바로 앞에 있는 복사 아이콘을 선택합니다.

    엔드포인트가 클립보드에 복사됩니다. 엔드포인트를 사용하여 노드에 연결하는 방법에 대한 자세한 내용은 노드에 연결 섹션을 참조하세요.

RedisOSS(클러스터 모드 비활성화됨) 기본 엔드포인트는 다음과 같습니다. 전송 중 데이터 암호화가 활성화되어 있는지 여부에 따라 차이가 있습니다.

전송 중 데이터 암호화가 비활성화된 경우

clusterName.xxxxxx.nodeId.regionAndAz.cache.amazonaws.com:port redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379

전송 중 데이터 암호화가 활성화된 경우

master.clusterName.xxxxxx.regionAndAz.cache.amazonaws.com:port master.ncit.ameaqx.use1.cache.amazonaws.com:6379

사용자의 엔드포인트를 찾는 방법을 더 자세히 알아보려면 엔진과 실행 중인 클러스터 유형에 관한 주제를 참조하세요.

이제 필요한 엔드포인트가 있으므로 EC2 인스턴스에 로그인하고 클러스터 또는 복제 그룹에 연결할 수 있습니다. 다음 예제에서는 valkey-cli 유틸리티를 사용하여 클러스터에 연결합니다. 최신 버전의 valkey-cli는 암호화/인증 지원 클러스터를 연결하기 위해 SSL/TLS도 지원합니다.

다음 예제에서는 Amazon Linux 및 Amazon Linux 2를 실행하는 Amazon EC2 인스턴스를 사용합니다. 다른 Linux 배포와 함께 valkey-cli를 설치하고 컴파일하는 방법에 대한 자세한 내용은 특정 운영 체제에 대한 설명서를 참조하세요.

참고

이 프로세스는 계획되지 않은 용도로만 valkey-cli 유틸리티를 사용하여 연결을 테스트하는 것을 다룹니다. 지원되는 클라이언트 목록은 Valkey 설명서 를 참조하세요. 와 함께 를 AWS SDKs 사용하는 예제는 섹션을 ElastiCache참조하세요자습서: Python 및 시작하기 ElastiCache.

클러스터 모드가 비활성화된 암호화되지 않은 클러스터에 연결

  1. 다음 명령을 실행하여 클러스터에 연결하고 바꿉니다.primary-endpoint 그리고 port number 클러스터의 엔드포인트와 포트 번호를 사용합니다. (Valkey 및 Redis의 기본 포트OSS는 6379입니다.)

    src/valkey-cli -h primary-endpoint -p port number

    명령 프롬프트의 결과는 다음과 비슷합니다.

    primary-endpoint:port number
  2. 이제 Valkey 및 Redis OSS 명령을 실행할 수 있습니다.

    set x Hello OK get x "Hello"

클러스터 모드가 활성화된 암호화되지 않은 클러스터에 연결

  1. 다음 명령을 실행하여 클러스터에 연결하고 바꿉니다.configuration-endpoint 그리고 port number 클러스터의 엔드포인트와 포트 번호를 사용합니다. (Valkey 및 Redis의 기본 포트OSS는 6379입니다.)

    src/valkey-cli -h configuration-endpoint -c -p port number
    참고

    앞의 명령에서 옵션 -c는 - 및MOVED -ASK 리디렉션 다음에 클러스터 모드를 활성화합니다.

    명령 프롬프트의 결과는 다음과 비슷합니다.

    configuration-endpoint:port number
  2. 이제 Valkey 및 Redis OSS 명령을 실행할 수 있습니다. 리디렉션은 -c 옵션을 사용하여 활성화했기 때문에 발생합니다. 리디렉션이 활성화되지 않은 경우 명령은 MOVED 오류를 반환합니다. MOVED 오류에 대한 자세한 내용은 클러스터 사양 섹션을 참조하세요.

    set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"

암호화/인증이 활성화된 클러스터에 연결

기본적으로 valkey-cli는 Valkey 및 Redis 에 연결할 때 암호화되지 않은 TCP 연결을 사용합니다OSS. 이 옵션은 이전 명령줄 액세스 다운로드 및 설정 섹션에 표시된 대로 valkey-cli 컴파일 시 SSL/TLS를 BUILD_TLS=yes 활성화합니다. 활성화AUTH는 선택 사항입니다. 그러나 를 활성화하려면 전송 중 암호화를 활성화해야 합니다AUTH. 암호화 및 인증에 대한 ElastiCache 자세한 내용은 섹션을 참조하세요ElastiCache 전송 중 암호화(TLS).

참고

valkey-cli와 --tls 함께 옵션을 사용하여 클러스터 모드 활성화 및 비활성화된 암호화된 클러스터 모두에 연결할 수 있습니다. 클러스터에 AUTH 토큰 세트가 있는 경우 옵션을 사용하여 AUTH 암호를 -a 제공할 수 있습니다.

다음 예제에서는 를 교체해야 합니다.cluster-endpoint 그리고 port number 클러스터의 엔드포인트와 포트 번호를 사용합니다. (Redis의 기본 포트OSS는 6379입니다.)

클러스터 모드가 비활성화된 암호화된 클러스터에 연결

다음은 암호화 및 인증이 활성화된 클러스터에 연결하는 예제입니다.

src/valkey-cli -h cluster-endpoint --tls -a your-password -p port number

다음은 암호화만 활성화된 클러스터에 연결하는 예제입니다.

src/valkey-cli -h cluster-endpoint --tls -p port number

클러스터 모드가 활성화된 암호화된 클러스터에 연결

다음은 암호화 및 인증이 활성화된 클러스터에 연결하는 예제입니다.

src/valkey-cli -c -h cluster-endpoint --tls -a your-password -p port number

다음은 암호화만 활성화된 클러스터에 연결하는 예제입니다.

src/valkey-cli -c -h cluster-endpoint --tls -p port number

클러스터에 연결한 후 암호화되지 않은 클러스터에 대해 앞의 예제와 같이 Valkey 또는 Redis OSS 명령을 실행할 수 있습니다.

valkey-cli 또는 Redis-cli의 대안

클러스터 모드가 활성화되어 있지 않고 짧은 테스트를 위해 클러스터에 연결해야 하지만 valkey-cli 또는 redis-cli 컴파일을 거치지 않는 경우 텔넷 또는 openssl을 사용할 수 있습니다. 다음 예제 명령에서 cluster-endpoint 그리고 port number 클러스터의 엔드포인트와 포트 번호를 사용합니다. (Redis의 기본 포트OSS는 6379입니다.)

다음은 암호화 및/또는 인증이 활성화되어 있으며 클러스터 모드가 비활성화된 클러스터에 연결하는 예제입니다.

openssl s_client -connect cluster-endpoint:port number

클러스터에 암호가 설정되어 있으면 먼저 클러스터에 연결합니다. 연결 후 다음 명령을 사용하여 클러스터를 인증한 다음 Enter 키를 누릅니다. 다음 예에서는 를 바꿉니다.your-password 클러스터의 암호와 함께 사용합니다.

Auth your-password

다음은 암호화 또는 인증이 활성화되어 있지 않으며 클러스터 모드가 비활성화된 클러스터에 연결하는 예제입니다.

telnet cluster-endpoint port number

Valkey 또는 Redis OSS 를 사용하여 EC2 Windows 인스턴스에서 클러스터에 연결하려면 valkey-cli 패키지를 다운로드하고 valkey-cli.exe를 사용하여 EC2 Windows 인스턴스에서 Valkey 또는 Redis OSS 클러스터에 연결CLI해야 합니다.

다음 예제에서는 valkey-cli 유틸리티를 사용하여 암호화가 활성화되지 않고 Valkey 또는 Redis 를 실행하는 클러스터에 연결합니다OSS. Valkey 및 사용 가능한 명령에 대한 자세한 내용은 Valkey 웹 사이트의 Valkey 명령을 참조하세요.

valkey-cli를 사용하여 암호화가 활성화되지 않은 Valkey 또는 Redis OSS 클러스터에 연결하려면
  1. 원하는 연결 유틸리티를 사용하여 Amazon EC2 인스턴스에 연결합니다. Amazon EC2 인스턴스에 연결하는 방법에 대한 지침은 Amazon EC2 시작 안내서를 참조하세요.

  2. 인터넷 브라우저https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip에 링크를 복사하여 붙여넣어 의 사용 가능한 릴리스에서 Redis OSS 클라이언트의 zip 파일을 다운로드합니다. GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504

    원하는 폴더/경로에 zip 파일의 압축을 풉니다.

    명령 프롬프트를 열고 Valkey 디렉터리로 변경하고 명령을 실행합니다c:\Valkey>valkey-cli -h Valkey_Cluster_Endpoint -p 6379.

    예:

    c:\Valkey>valkey-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
  3. Valkey 또는 Redis OSS 명령을 실행합니다.

    이제 클러스터에 연결되어 다음과 같이 Valkey 또는 Redis OSS 명령을 실행할 수 있습니다.

    set a "hello" // Set key "a" with a string value and no expiration OK get a // Get value for key "a" "hello" get b // Get value for key "b" results in miss (nil) set b "Good-bye" EX 5 // Set key "b" with a string value and a 5 second expiration "Good-bye" get b // Get value for key "b" "Good-bye" // wait >= 5 seconds get b (nil) // key has expired, nothing returned quit // Exit from valkey-cli