

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

# valkey-cli를 사용하여 전송 중 암호화를 통해 ElastiCache(Valkey) 또는 Amazon ElastiCache for Redis OSS에 연결
<a name="connect-tls"></a>

전송 중 암호화가 활성화된 ElastiCache for Redis OSS 캐시에서 데이터에 액세스하려면 Secure Sockets Layer(SSL)로 작업하는 클라이언트를 사용해야 합니다. Amazon Linux 2023에서 TLS와 함께 valkey-cli를 사용할 수도 있습니다. 클라이언트가 TLS를 지원하지 않는 경우 클라이언트 호스트에서 `stunnel` 명령을 사용하여 Redis OSS 노드에 SSL 터널을 생성할 수 있습니다.

## Linux를 사용한 암호화된 연결
<a name="connect-tls.linux"></a>

valkey-cli를 사용하여 Amazon Linux 2023에서 전송 중 데이터 암호화가 활성화된 Valkey 또는 Redis OSS 클러스터에 연결하려면 다음 단계를 따르세요.

1. EC2 인스턴스의 명령 프롬프트에서 Valkey 패키지를 설치합니다. 이 패키지에 포함된 valkey-cli 유틸리티는 TLS 지원으로 빌드됩니다.

   ```
   sudo dnf install valkey -y
   ```

1. 유틸리티가 설치되어 있는지 확인합니다.

   ```
   valkey-cli --version
   ```

1. 암호화 및 인증이 활성화된 클러스터에 연결하려면이 명령을 입력합니다. `--askpass` 옵션은 명령줄에서 암호를 가져오는 대신 암호를 입력하라는 메시지를 표시합니다. 그러면 암호가 셸 기록 및 프로세스 목록에서 제외됩니다.

   ```
   valkey-cli -h {{Primary or Configuration Endpoint}} --tls --askpass -p 6379
   ```
**참고**  
구성 엔드포인트를 사용하여 클러스터 모드 지원 캐시에 연결하는 경우 `-c` 플래그를 추가하여 클라이언트에서 클러스터 모드를 활성화합니다. 이렇게 하면 클라이언트가 `MOVED` 및 `ASK`리디렉션을 자동으로 따를 수 있습니다.  

   ```
   valkey-cli -c -h {{Configuration Endpoint}} --tls --askpass -p 6379
   ```
**참고**  
대신 Amazon Linux 2023에 redis6 패키지를 설치하는 경우 `redis6-cli` 대신 명령을 사용합니다`valkey-cli`.  

   ```
   redis6-cli -h {{Primary or Configuration Endpoint}} --tls -p 6379
   ```
**참고**  
Linux 배포에서 Valkey 패키지를 제공하지 않는 경우 대신 소스에서 유틸리티를 빌드할 수 있습니다. `gcc`, `make`및 OpenSSL 개발 패키지를 설치하고 [Valkey 웹 사이트의 Valkey 설치](https://valkey.io/topics/installation/)에 설명된 대로 현재 소스 릴리스를 다운로드한 다음를 실행합니다`make valkey-cli BUILD_TLS=yes`. 소스에서 빌드한 클라이언트는 패키지 업데이트를 수신하지 않으므로 새 릴리스를 사용할 수 있게 되면 직접 업데이트해야 합니다.

## stunnel을 사용한 암호화된 연결
<a name="connect-tls.stunnel"></a>

valkey-cli를 사용하여 stunnel을 통한 전송 중 데이터 암호화가 활성화된 Redis OSS 클러스터에 연결하려면 다음 단계를 따르세요.

1. SSH를 사용하여 클라이언트에 연결하고 `stunnel`을 설치합니다.

   ```
   sudo yum install stunnel
   ```

1. `'/etc/stunnel/valkey-cli.conf'` 파일을 생성하는 동시에 편집하기 위한 다음 명령을 실행하여 ElastiCache for Redis OSS 클러스터 엔드포인트를 아래 제공된 출력을 템플릿으로 사용하여 1개 이상의 연결 파라미터에 추가하세요.

   ```
   vi /etc/stunnel/valkey-cli.conf
   
   				
   fips = no
   setuid = root
   setgid = root
   pid = /var/run/stunnel.pid
   debug = 7 
   delay = yes
   options = NO_SSLv2
   options = NO_SSLv3
   [valkey-cli]
      client = yes
      accept = 127.0.0.1:6379
      connect = primary.ssltest.wif01h.use1.cache.amazonaws.com:6379
   [valkey-cli-replica]
      client = yes
      accept = 127.0.0.1:6380
      connect = ssltest-02.ssltest.wif01h.use1.cache.amazonaws.com:6379
   ```

   이 예에서는 구성 파일에 두 가지 연결, 즉 `valkey-cli`와 `valkey-cli-replica`가 있습니다. 파라미터는 다음과 같이 설정되어 있습니다.
   + **client**는 이 stunnel 인스턴스를 클라이언트로 지정하기 위해 yes로 설정되어 있습니다.
   + **accept**는 클라이언트 IP로 설정되어 있습니다. 이 예에서는 프라이머리 노드가 Redis OSS 기본인 포트 6379의 127.0.0.1로 설정되어 있습니다. 복제본은 다른 포트를 호출해야 하며 6380으로 설정되어야 합니다. 휘발성 포트 1024\~65535를 사용할 수 있습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [휘발성 포트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports) 섹션을 참조하세요.
   + **연결**은 Redis 서버 엔드포인트로 설정되어 있습니다. 자세한 내용은 [ElastiCache에서 연결 엔드포인트 찾기](Endpoints.md) 단원을 참조하십시오.

1. Start `stunnel`.

   ```
   sudo stunnel /etc/stunnel/valkey-cli.conf
   ```

   `netstat` 명령을 사용하여 터널이 시작되었는지 확인합니다.

   ```
   sudo netstat -tulnp | grep -i stunnel
   				
   tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      3189/stunnel        
   tcp        0      0 127.0.0.1:6380              0.0.0.0:*                   LISTEN      3189/stunnel
   ```

1. 터널의 로컬 엔드포인트를 사용하여 암호화된 Redis OSS 노드에 연결합니다.
   + ElastiCache for Redis OSS 클러스터 생성 중 AUTH 암호를 사용하지 않은 경우, 이 예에서는 Amazon Linux에서 valkey-cli에 대한 완전한 경로로 ElastiCache for Redis OSS 서버에 연결하기 위해 valkey-cli를 사용합니다.

     ```
     /home/ec2-user/redis-7.2.5/src/valkey-cli -h localhost -p 6379
     ```

     Redis OSS 클러스터 생성 중 AUTH 암호가 사용된 경우 이 예에서는 Amazon Linux에서 valkey-cli에 대한 완전한 경로로 Redis OSS 서버에 연결하기 위해 valkey-cli를 사용합니다.

     ```
      /home/ec2-user/redis-7.2.5/src/valkey-cli -h localhost -p 6379 -a {{my-secret-password}}
     ```

   또는
   + redis-7.2.5로 디렉토리를 변경하고 다음을 수행합니다.

     ElastiCache for Redis OSS 클러스터 생성 중 AUTH 암호를 사용하지 않은 경우, 이 예에서는 Amazon Linux에서 valkey-cli에 대한 완전한 경로로 ElastiCache for Redis OSS 서버에 연결하기 위해 valkey-cli를 사용합니다.

     ```
     src/valkey-cli -h localhost -p 6379
     ```

     Redis OSS 클러스터 생성 중 AUTH 암호가 사용된 경우 이 예에서는 Amazon Linux에서 valkey-cli에 대한 완전한 경로로 Valkey 또는 Redis OSS 서버에 연결하기 위해 valkey-cli를 사용합니다.

     ```
     src/valkey-cli -h localhost -p 6379 -a {{my-secret-password}}	
     ```

   이 예에서는 Telnet을 사용하여 Valkey Redis OSS 서버에 연결합니다.

   ```
   telnet localhost 6379
   			
   Trying 127.0.0.1...
   Connected to localhost.
   Escape character is '^]'.
   auth MySecretPassword
   +OK
   get foo
   $3
   bar
   ```

1. SSL 터널을 중단하고 닫으려면 stunnel 프로세스를 `pkill`합니다.

   ```
   sudo pkill stunnel
   ```