4단계: 클러스터 노드에 연결 - 아마존 포 ElastiCache 레디스용

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

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

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

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

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

노드 엔드포인트 찾기

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

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

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

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

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

참고

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

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

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

  2. 탐색 창에서 Redis 캐시를 선택합니다.

    기존 Redis 서버리스 캐시, Redis(클러스터 모드 비활성화됨) 및 Redis(클러스터 모드 활성화됨) 클러스터의 목록이 있는 클러스터 화면이 나타납니다. Redis(클러스터 모드 비활성화됨) 클러스터 생성(콘솔) 섹션에서 생성한 클러스터를 선택합니다.

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

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

    Redis(클러스터 모드 비활성화됨) 클러스터의 기본 및 리더 엔드포인트

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

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

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

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

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

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

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

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

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

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

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

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 인스턴스에 로그인하여 클러스터 또는 복제 그룹에 연결할 수 있습니다. 다음 예제에서는 redis-cli 유틸리티를 사용하여 클러스터에 연결합니다. 최신 버전의 redis-cli는 암호화/인증이 활성화된 클러스터에 연결할 수 있도록 SSL/TLS도 지원합니다.

다음 예에서는 Amazon Linux 및 Amazon Linux 2를 실행하는 Amazon EC2 인스턴스를 사용합니다. 다른 Linux 배포판을 사용하여 redis-cli를 설치하고 컴파일하는 방법에 대한 자세한 내용은 해당 운영 체제의 설명서를 참조하세요.

참고

이 프로세스에서는 redis-cli 유틸리티를 계획되지 않은 용도로 사용하기 위해 연결을 테스트하는 방법만 다룹니다. 지원되는 Redis 클라이언트의 목록에 대해서는 Redis 설명서를 참조하세요. ElastiCache와 함께 AWS SDK를 사용하는 예는 ElastiCache 및 AWS SDK 시작 섹션을 참조하세요.

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

  1. 다음 명령을 실행하여 클러스터에 연결하고 primary-endpointport number를 클러스터의 엔드포인트 및 포트 번호로 바꿉니다. (Redis의 기본 포트는 6379입니다.)

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

    나타나는 Redis 명령 프롬프트는 다음과 유사합니다.

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

    set x Hello OK get x "Hello"

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

  1. 다음 명령을 실행하여 클러스터에 연결하고 configuration-endpointport number를 클러스터의 엔드포인트 및 포트 번호로 바꿉니다. (Redis의 기본 포트는 6379입니다.)

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

    이전 명령에서 -c 옵션은 -ASK 및 -MOVED 리디렉션 후에 클러스터 모드를 활성화합니다.

    나타나는 Redis 명령 프롬프트는 다음과 유사합니다.

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

    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"

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

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

참고

redis-cli에서 --tls 옵션을 사용하여 클러스터 모드가 활성화되거나 비활성화된 암호화된 클러스터에 연결할 수 있습니다. 클러스터에 AUTH 토큰이 설정되어 있는 경우 -a 옵션을 사용하여 AUTH 암호를 제공할 수 있습니다.

다음 예에서 cluster-endpointport number를 클러스터의 엔드포인트 및 포트 번호로 바꾸십시오. (Redis의 기본 포트는 6379입니다.)

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

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

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

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

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

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

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

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

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

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

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

Redis-cli 대안

클러스터에 클러스터 모드가 활성화되어 있지 않으며 짧은 테스트를 위해 클러스터에 연결해야 하지만 redis-cli 컴파일 과정을 거치고 싶지 않은 경우 telnet 또는 openssl을 사용할 수 있습니다. 다음 예제 명령에서 cluster-endpointport number를 클러스터의 엔드포인트 및 포트 번호로 바꾸십시오. (Redis의 기본 포트는 6379입니다.)

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

openssl s_client -connect cluster-endpoint:port number

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

Auth your-password

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

telnet cluster-endpoint port number

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

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

redis-cli를 사용하여 암호화가 활성화되지 않은 Redis 클러스터에 연결하려면
  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 링크를 복사하고 인터넷 브라우저에 붙여 넣어 GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504의 사용 가능한 릴리스에서 Redis 클라이언트에 대한 zip 파일을 다운로드합니다.

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

    명령 프롬프트를 열고 Redis 디렉터리로 변경한 다음 c:\Redis>redis-cli -h Redis_Cluster_Endpoint -p 6379 명령을 실행합니다.

    예:

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

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

    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 redis-cli