

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

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

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

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

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

1. valkey-cli 유틸리티를 다운로드하고 컴파일합니다. 이 유틸리티는 Valkey 소프트웨어 배포에 포함되어 있습니다.

1. EC2 인스턴스의 명령 프롬프트에 사용 중인 Linux 버전에 적합한 명령을 입력합니다.

   **Amazon Linux 2023**

   Amazon Linux 2023을 사용하는 경우 다음을 입력합니다.

   ```
   sudo dnf install gcc jemalloc-devel openssl-devel tcl tcl-devel -y
   wget -O valkey-8.0.0.tar.gz https://github.com/valkey-io/valkey/archive/refs/tags/8.0.0.tar.gz
   tar xvzf valkey-8.0.0.tar.gz
   cd valkey-8.0.0
   make valkey-cli BUILD_TLS=yes
   sudo install -m 755 src/valkey-cli /usr/local/bin/
   ```

   **Amazon Linux 2**

   Amazon Linux 2를 사용하는 경우 다음을 입력합니다.

   ```
   sudo yum -y install openssl-devel gcc
   wget -O valkey-7.2.6.tar.gz https://github.com/valkey-io/valkey/archive/refs/tags/7.2.6.tar.gz
   tar xvzf valkey-7.2.6.tar.gz
   cd valkey-7.2.6
   make distclean
   make valkey-cli BUILD_TLS=yes
   sudo install -m 755 src/valkey-cli /usr/local/bin/
   ```

   **Amazon Linux**

   Amazon Linux를 사용하는 경우 다음을 입력합니다.

   ```
   sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget
   wget -O valkey-8.0.0.tar.gz https://github.com/valkey-io/valkey/archive/refs/tags/8.0.0.tar.gz
   tar xvzf valkey-8.0.0.tar.gz
   cd valkey-8.0.0
   make valkey-cli CC=clang BUILD_TLS=yes
   sudo install -m 755 src/valkey-cli /usr/local/bin/
   ```

   Amazon Linux에서 다음 추가 단계를 실행해야 할 수도 있습니다.

   ```
   sudo yum install clang
   CC=clang make
   sudo make install
   ```

1. valkey-cli 유틸리티를 다운로드하고 설치한 후에는 선택적 `make-test` 명령을 실행하는 것이 좋습니다.

1. 암호화 및 인증이 활성화된 클러스터에 연결하려면 다음 명령을 입력합니다.

   ```
   valkey-cli -h {{Primary or Configuration Endpoint}} --tls -a {{'your-password'}} -p 6379
   ```
**참고**  
Amazon Linux 2023에 redis6을 설치하는 경우 이제 `valkey-cli` 대신 `redis6-cli` 명령을 사용할 수 있습니다.  

   ```
   redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
   ```

## 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
   ```