

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# valkey-cli を使用した送信中の暗号化による ElastiCache (Valkey) または Amazon ElastiCache for Redis OSS への接続
<a name="connect-tls"></a>

送信中の暗号化が有効な ElastiCache for Redis OSS キャッシュのデータにアクセスするには、Secure Socket 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` という 2 つの接続があります。パラメータは次のように設定されます。
   + この stunnel インスタンスがクライアントであることを指定するために、**client** は yes に設定されています。
   + **accept** はクライアント IP に設定されています。この例では、プライマリはポート 6379 の Redis OSS のデフォルト 127.0.0.1 に設定されています。レプリカは別のポートを呼び出し、6380 に設定する必要があります。エフェメラルポート 1024～65535 を使用できます。詳細については、*Amazon VPC ユーザーガイド*の「[一時ポート](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports)」を参照してください。
   + **connect** は Redis OSS サーバーエンドポイントに設定されています。詳細については、「[ElastiCache での接続エンドポイントの検索](Endpoints.md)」を参照してください。

1. `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 パスワードが使用されなかった場合、この例では valkey-cli を使用して、Amazon Linux で valkey-cli の完全パスを使用して ElastiCache for Redis OSS サーバーに接続します。

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

     Redis OSS クラスターの作成中に AUTH パスワードが使用された場合、この例では valkey-cli を使用して、Amazon Linux で valkey-cli の完全パスを使用して Redis OSS サーバーに接続します。

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

   OR
   + ディレクトリを redis-7.2.5 に変更し、次の操作を行います。

     ElastiCache for Redis OSS クラスターの作成中に AUTH パスワードが使用されなかった場合、この例では valkey-cli を使用して、Amazon Linux で valkey-cli の完全パスを使用して ElastiCache for Redis OSS サーバーに接続します。

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

     Redis OSS クラスターの作成中に AUTH パスワードが使用された場合、この例では valkey-cli を使用して、Amazon Linux で valkey-cli の完全パスを使用して Valkey または Redis OSS サーバーに接続します。

     ```
     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 トンネルを停止して閉じるには、`pkill` stunnel プロセスを実行します。

   ```
   sudo pkill stunnel
   ```