Valkey、Redis OSS、または Memcached エンジン用の ElastiCache 上で稼働する ElastiCache Serverless クラスターまたはセルフマネージドクラスターに接続する方法を教えてください。

所要時間4分
0

Amazon ElastiCache for Valkey、Amazon ElastiCache for Redis OSS、または Amazon ElastiCache for Memcached エンジンで実行する Amazon ElastiCache Serverless クラスターまたはセルフマネージドクラスターの接続をテストしようとしています。

簡単な説明

注: 次の解決策では、予期しない使用状況に関する接続のみをテストします。サポートされているクライアントのリストについては、「Connect with Redis クライアント API ライブラリ」(Redis のウェブサイト) および、「クライアントライブラリ」(Valkey のウェブサイト) を参照してください。

ElastiCache クラスターの設定に応じて、次のセクションの手順を実行して接続をテストします。

  • 暗号化されていない ElastiCache for Valkey または ElastiCache for Redis OSS クラスターに接続します。これには、(クラスターモード無効) クラスターと (クラスターモード有効) クラスターが含まれます。
  • 暗号化 ElastiCache for Valkey または ElastiCache for Redis OSS クラスターに接続します。これには、(クラスターモード無効) クラスターと (クラスターモード有効) クラスターが含まれます。
  • Telnet または OpenSSL を使用して (クラスターモード無効) クラスターに接続します。
  • ElastiCache for Memcached クラスターに接続します。これには、暗号化されていないクラスターと暗号化されたクラスターが含まれます。
  • ElastiCache Serverless のキャッシュに接続します。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

暗号化されていない ElastiCache for Valkey または ElastiCache for Redis OSS クラスターに接続する

ElastiCache は、Valkey および Redis OSS クラスターにおいて、(クラスターモード無効) クラスターと (クラスターモード有効) の両方をサポートしています。クラスターへの接続をテストするには、valkey-cli または redis6-cli を使用します。詳細については、「Valkey CLI」(Valkey のウェブサイト) および「Redis CLI」(Redis のウェブサイト) を参照してください。

注: valkey-cli のインストール方法については、「Linux での暗号化接続」を参照してください。クラスターが暗号化されていない場合は、BUILD_TLS パラメータを指定しないでください。Amazon Linux 2023 でテストする場合は、redis6 パッケージをインストールしてください。このパッケージには、デフォルトの暗号化サポート付きの redis6-cli が含まれています。

Redis エンドポイントを特定する方法については、「ElastiCache での接続エンドポイントを特定する」を参照してください。

**(クラスターモード無効) Valkey または Redis OSS クラスターに接続する **

(クラスターモード無効) クラスターに接続するには、次のコマンドを実行します。

Amazon Linux 2023:

redis6-cli -h yourEndpoint -p 6379

Amazon Linux、Amazon Linux 2:

src/valkey-cli -h yourEndpoint -p 6379

注: 実際のものでそれぞれ、yourEndpoint をクラスターのエンドポイントに、6379 をポート番号に置き換えます。

上記のコマンドは、次の例のような Valkey コマンドプロンプトを返します。

yourEndpoint:6379>

(クラスターモード有効) Valkey または Redis OSS クラスターに接続する

(クラスターモード有効) クラスターに接続するには、次のコマンドを実行します。

Amazon Linux 2023:

redis6-cli -c -h yourConfigEndpoint -p 6379

Amazon Linux、Amazon Linux 2:

src/valkey-cli -c -h yourConfigEndpoint -p 6379

注: 実際のものでそれぞれ、yourConfigEndpoint をクラスターのエンドポイントに、6379 をポート番号に置き換えます。-c パラメータを指定すると、-ASK および -MOVED のリダイレクト後にクラスターモードが有効になります。リダイレクトを有効にしなかった場合は、コマンドは MOVED エラーを返します。

上記のコマンドは、次の例のような Valkey コマンドプロンプトを返します。

yourConfigEndpoint:>

暗号化 ElastiCache for Valkey または ElastiCache for Redis OSS クラスターに接続する

(クラスターモード有効) または (クラスターモード無効) の暗号化クラスターに接続するには、valkey-cli--tls パラメータを使用します。--tls パラメータを指定すると、クラスターの転送中の暗号化が有効になります。クラスターに AUTH トークンが設定されている場合は、-a パラメータを使用して AUTH パスワードを指定します。または、AUTH コマンドを使用して認証を行います。コマンド例を次に示します。

転送中の暗号化を有効にした後、クライアント設定を更新し、新しい TLS 固有のエンドポイントを使用するようにします。詳細については、「転送中の暗号化を有効にする際のベストプラクティス」を参照してください。

注: Valkey または Redis OSS バージョン 7 以降のクラスターでは、既存の ElastiCache クラスターで転送中の暗号化を有効にできます。Valkey または Redis OSS クラスターの TLS 設定を変更するためにクラスターを再構築する必要はありません。

(クラスターモード無効) 暗号化クラスターに接続する

暗号化と認証が有効な状態で (クラスターモード無効) クラスターに接続するには、次のコマンドを実行します。

Amazon Linux 2023:

redis6-cli -h yourEndpoint -p 6379 --tls

AUTH <username> <password>

Amazon Linux、Amazon Linux 2:

src/valkey-cli -h yourEndpoint -p 6379 –tls

AUTH <username> <password>

注: 実際のものでそれぞれ、yourEndpoint をクラスターのエンドポイントに、6379 をポート番号に置き換えます。コマンドの単一引数形式で AUTH を使用し、パスワードのみを指定した場合、Valkey CLI はユーザー名が default であると見なします。詳細については、Valkey のウェブサイトで AUTH コマンドを参照してください。

(クラスターモード有効) 暗号化クラスターに接続する

暗号化と認証が有効な (クラスターモード有効) クラスターに接続するには、次のコマンドを実行します。

Amazon Linux 2023:

redis6-cli -c -h yourConfigEndpoint -p 6379 –tls

AUTH <username> <password>

Amazon Linux、Amazon Linux 2:

src/valkey-cli -c -h yourConfigEndpoint -p 6379 –tls

AUTH <username> <password>

注: 実際のものでそれぞれ、yourConfigEndpoint をクラスターのエンドポイントに、6379 をポート番号に置き換えます。コマンドの単一引数形式で AUTH を使用し、パスワードのみを指定した場合、Valkey CLI はユーザー名が default であると見なします。詳細については、Valkey のウェブサイトで AUTH コマンドを参照してください。

OpenSSL の telnet を使用して (クラスターモード無効) クラスターに接続する

valkey-cli を設定せずに簡易テストを実行するには、telnet または OpenSSL を使用して (クラスターモード無効) クラスターに接続します。telnet または OpenSSL を使用して接続した後に、Valkey コマンドを実行します。

次のコマンドの例では、暗号化または認証が行われた (クラスターモード無効) クラスターに接続します。

openssl s_client -connect master.valkeycmdencrypted.dcba18.use1.cache.amazonaws.com:6379

クラスターにパスワードを設定した場合は、そのクラスターに接続し、次のコマンドを実行するとクラスターを認証できます。次に、Enter キーを押します。

AUTH <username> <password>

注: usernamepassword を実際のユーザー認証情報に置き換えます。

次のコマンドの例では、暗号化または認証が有効になっていない (クラスターモード無効) クラスターに接続します。

telnet yourEndpoint 6379

ElastiCache for Memcached クラスターに接続する

Memcached 用 ElastiCache クラスターに接続するには、使用するクラスターに応じて次の手順を実行します。

暗号化されていない Memcached クラスターに接続する

暗号化されていない Memcached クラスターに接続するには、telnet ユーティリティを使用します。次の手順を実行します。

  1. テストする接続元のインスタンスに、telnet ユーティリティをインストールします。

    CentOS ベースのシステムの場合は、次のコマンドを実行します:

    sudo yum install telnet

    Debian ベースのシステム (Ubuntu) では、次のコマンドを実行します。

    sudo apt-get install telnet

    詳細については、「EC2 インスタンスへの接続」を参照してください。

  2. エンドポイントに接続するには、次のコマンドを実行します。

    telnet yourEndpoint 11211

    注: 実際のものでそれぞれ、yourendpoint をクラスターエンドポイントに、11211 をノードのポートに置き換えます。

    出力例:

    Trying 128.0.0.1...
    Connected to mycachecluster.dcba18.0001.usw2.cache.amazonaws.com.
    Escape character is '^]'.>

暗号化 Memcached クラスターに接続する

Memcached バージョン 1.6.12 以降を実行するクラスターでは、転送中の暗号化をサポートしています。Telnet は暗号化をサポートしていないため、暗号化が有効な Memcached クラスターへの接続には OpenSSL を使用します。

注: クラスターの作成時のみ、そのクラスターで転送時の暗号化を有効にできます。クラスターの変更では、転送中の暗号化を有効または無効にすることはできません。詳細については、「ElastiCache の転送時の暗号化 (TLS)」を参照してください。

エンドポイントに接続するには、次のコマンドを実行します。

openssl s_client -quiet -crlf -connect yourEndpoint:11211

注: 実際のものでそれぞれ、yourEndpoint をエンドポイントに、11211 をノードのポートに置き換えます。

出力例:

depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  verify return:1  depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M02  verify return:1  
depth=0 CN = *.testwithtls.qtyxq7.apse2.cache.amazonaws.com  
verify return:1

ElastiCache Serverless のキャッシュに接続する

デフォルトでは、ElastiCache Serverless は、すべてのクラスターを転送中の暗号化を有効化して起動します。このオプションは無効にできません。選択したクライアントライブラリでは、TLS 接続を確立する機能をサポートしている必要があります。

Valkey および Redis OSS 用の ElastiCache Serverless では、キャッシュは同じホスト名を持つ 2 ポートをアドバタイズします ( プライマリポート: 6379 および読み取りポート: 6380)。プライマリポートでは読み取りと書き込みが可能です。読み取りポートでは READONLY コマンドを使用して遅延を軽減し、結果整合性のある読み込みを実現します。

同様に、ElastiCache Serverless for Memcached のキャッシュでは、同じホスト名を持つ 2 ポートをアドバタイズします ( プライマリポート: 11211 および読み取りポート: 11212)。これらのポートへのリソースアクセスを許可するには、セキュリティグループとネットワークアクセスコントロールリスト (ネットワーク ACL) を更新します。

ElastiCache Serverless キャッシュに接続するには、使用するエンジンとポートに応じて次のコマンドを実行します。

Valkey または Redis OSS (Amazon Linux 2023):

redis6-cli -c -h yourEndpoint -p 6379 –tls

Valkey または Redis OSS (Amazon Linux または Amazon Linux 2):

src/valkey-cli -c -h yourEndpoint -p 6379 –tls

Memcached:

openssl s_client -connect yourEndpoint:11212 -crlf

注: yourEndpoint を実際のクラスターのエンドポイントに置き換えます。

関連情報

コマンドリファレンス (Valkey のウェブサイト)

ElastiCache の転送中暗号化 (TLS)

独自設計の ElastiCache for Redis クラスターにおける接続の問題をトラブルシューティングする方法を教えてください

コメントはありません

関連するコンテンツ