ElastiCache for Valkey 및 ElastiCache for Redis OSS 자체 설계 클러스터의 연결 문제를 해결하려면 어떻게 해야 합니까?

5분 분량
0

Amazon ElastiCache for Valkey 및 Amazon ElastiCache for Redis OSS 자체 설계 클러스터의 연결 문제를 해결하고 싶습니다.

해결 방법

**클러스터 상태 확인 **

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

최근에 클러스터를 만든 경우 클러스터가 사용 가능 상태가 아니라면 연결 문제가 발생할 수 있습니다. 생성이 완료되었는지 확인하려면 클러스터와 클러스터에 연결된 각 노드의 상태를 확인합니다.

  • 상태 열에 사용 가능이 표시되면 클러스터가 연결을 수락할 준비가 된 것입니다.
  • 상태 열에 생성 중 또는 수정 중이 표시되면 클러스터 생성이 진행 중이거나 업데이트 중인 것입니다. 상태가 사용 가능으로 업데이트될 때까지 몇 분 정도 기다립니다.

클러스터 상태 확인

클러스터의 상태를 확인하려면 다음 소스에서 클러스터 관련 정보를 검토합니다.

보안 그룹 및 네트워크 ACL 구성 검토

연결을 시작하는 클러스터 및 리소스의 보안 그룹과 네트워크 액세스 제어 목록(네트워크 ACL) 구성을 검토하십시오. 리소스에 액세스하려면 보안 그룹과 네트워크 ACL을 구성해야 합니다. 자세한 내용은 ElastiCache 클러스터 또는 복제 그룹 액세스를 참조하십시오.

다음은 클라이언트 리소스의 예시입니다.

  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스
  • AWS Lambda 함수
  • Amazon Elastic Container Service(Amazon ECS) 컨테이너
  • Amazon Elastic Kubernetes Service(Amazon EKS) 컨테이너

클러스터의 보안 그룹을 검토하려면 다음 단계를 완료합니다.

  1. ElastiCache 콘솔을 엽니다.
  2. 탐색 창의 리소스에서 Valkey 캐시 또는 Redis OSS 캐시를 선택하고, 클러스터를 선택합니다.
  3. 클러스터 세부 정보 페이지에서 연결 및 보안 탭을 선택합니다.
  4. 연결된 보안 그룹 중 하나 이상이 클러스터의 포트에서 클라이언트 리소스에서 클러스터로의 인바운드 연결을 허용하는지 확인합니다.
  5. 포트 번호를 찾으려면 클러스터 엔드포인트를 검토합니다. 엔드포인트는 domain_name:port 형식입니다.
    참고: 기본적으로 클러스터의 포트는 6379/TCP입니다. 클러스터를 만들 때 포트 번호를 재정의할 수 있습니다.
  6. 클라이언트 리소스에서 보안 그룹이 클러스터의 포트에서 클러스터 서브넷의 CIDR 블록으로의 아웃바운드 연결을 허용하는지 확인합니다.
  7. 네트워크 ACL이 클라이언트와 클러스터 간의 나가는 연결 및 들어오는 연결을 허용하는지 확인합니다. 또한 라우팅 테이블에 적절한 경로가 있는지 확인합니다.
    참고: 기본적으로 네트워크 ACL은 모든 연결을 허용합니다.

네트워크 구성 문제를 추가로 해결하려면 Amazon Virtual Private Cloud(Amazon VPC) Network Access Analyzer를 사용합니다.

연결에 올바른 엔드포인트를 사용하는지 확인

올바른 엔드포인트를 사용하도록 클라이언트 측 애플리케이션을 구성해야 합니다. 자세한 내용은 ElastiCache에서 연결 엔드포인트 찾기를 참조하십시오.

Valkey 또는 Redis OSS 클러스터와 클라이언트 간의 TCP 연결 검토

Valkey 또는 Redis OSS 클러스터와 클라이언트 리소스 간에 TCP 연결이 있는지 확인합니다. ElastiCache 클러스터와 클라이언트 간의 연결을 확인하려면 클라이언트 리소스에서 curl 명령을 실행합니다.

$ curl -v telnet://example-cluster-endpoint:6379

참고: example-cluster-endpoint을 클러스터의 엔드포인트로 바꿉니다.

출력 예시:

*   Trying 172.31.1.242:6379...* Connected to example-cluster-endpoint (172.31.1.242) port 6379

위의 예시에서 출력의 Connected로 TCP 연결에 성공한 것을 확인할 수 있습니다.

전송 중 암호화가 있는 클러스터에 대한 연결 검토

TLS를 통해 Valkey 또는 Redis OSS 클러스터 트래픽을 전송하려면 전송 중 암호화를 사용해야 합니다. 클라이언트에서 연결을 설정하려면 클라이언트가 TLS를 지원해야 합니다.

TLS를 지원하는 valkey-cli 또는 redis-cli를 사용하는 경우 명령에 --tls 인수를 추가하여 TLS 지원을 켤 수 있습니다.

redis-cli 예시:

$ redis-cli -h example-encrypted-cluster-endpoint -p 6379 --tls

valkey-cli 예시:

$ valkey-cli -h example-encrypted-cluster-endpoint -p 6379 --tls

참고: example-encrypted-cluster-endpoint을 클러스터의 암호화된 엔드포인트로 바꿉니다.

출력 예시:

example-encrypted-cluster-endpoint:6379>

valkey-cli 또는 redis-cli에서 TLS를 지원하지 않는 경우 다음 오류가 표시됩니다.

"Unrecognized option or bad number of args for: '--tls' "

위와 같은 오류를 해결하려면 TLS를 지원하는 valkey-cli 또는redis-cli를 설치하십시오.

인증을 통한 클러스터 연결 검토

인증을 통한 클러스터 연결을 검토하려면 valkey-cli 또는 redis-cli를 사용합니다. 자세한 내용은 클러스터 노드에 연결암호화/인증 사용 클러스터에 연결 섹션을 참조하십시오.

redis-cli 예시:

redis-cli -h your-cluster-endpoint -p 6379 --tls -c --user your-user --askpass # Enter the password when prompted

valkey-cli 예시:

valkey-cli -h your-cluster-endpoint -p 6379 --tls -c --user your-user --askpass # Enter the password when prompted

참고: valkey-cliredis-cli 명령에 --tls--askpass 또는 -a 인수가 모두 필요합니다. 이러한 인수를 입력하지 않거나 잘못된 암호를 사용하면 NOAUTH 또는 AUTH failed 메시지가 표시됩니다. --tls 인수만을 포함하여 valkey-cli 또는 redis-cli를 사용하는 경우 **AUTH <password>**를 연결 후 사용하여 인증을 완료하십시오.

클라이언트 리소스의 DNS 속성 업데이트

DNS 문제가 있는 경우 "Name or service not known" 또는 "NXDOMAIN" 오류가 표시될 수 있습니다. 이러한 오류는 사용자 지정 DNS 서버를 통한 DNS 조회가 실패할 때 발생합니다. 이러한 오류를 해결하려면 Amazon VPC 클라이언트 리소스에 올바른 DNS 속성이 있는지 확인하십시오.

참고: Amazon DNS 서버를 가상 프라이빗 클라우드(VPC)에 사용하는 것이 좋습니다.

클라이언트 연결 검토

ElastiCache 클러스터의 클라이언트 연결 세부 정보를 검토하는 데 CurrConnectionsNewConnections와 같은 Valkey 및 Redis OSS 지표를 사용할 수 있습니다. ElastiCache는 4~6개의 연결을 사용하여 클러스터를 모니터링합니다.

클라이언트 연결 세부 정보를 찾으려면 다음 valkey-cli 또는 redis-cli 명령을 실행합니다.

$ CLIENT LIST

명령의 출력에는 IP 주소, 유휴 시간 및 기타 정보를 포함하여 연결된 모든 클라이언트가 나열됩니다. 자세한 내용은 Valkey 웹사이트의 CLIENT LIST와 Redis OSS 웹사이트의 CLIENT LIST를 참조하십시오.

클러스터와 클라이언트 리소스 간의 네트워크 연결 검토

ElastiCache 클러스터에 액세스하는 방법에 따라 지연 문제가 발생할 수 있습니다. 지연 시간을 최소화하려면 Amazon EC2 또는 동일한 Amazon VPC 내의 리소스에서 ElastiCache에 액세스하는 것이 좋습니다. 자세한 내용은 Amazon VPC의 ElastiCache 캐시에 액세스하기 위한 액세스 패턴ElastiCache 클러스터 또는 복제 그룹에 액세스를 참조하십시오.

관련 정보

지속적 연결 문제

Valkey 또는 Redis OSS 클러스터 또는 복제 그룹에 연결(Linux)

AWS 공식
AWS 공식업데이트됨 한 달 전
댓글 없음

관련 콘텐츠