コマンド・ライン・インターフェース (CLI) を使用した接続
コマンド・ライン・インターフェース (CLI) から直接 Redis データベースにアクセスします。 CLIは、データベース内で作成されるデータ構造を直接操作し、監視することができる。 これは、キースペースとパフォーマンスの管理とモニターや、スクリプトのインストールと変更、といった管理アクティビティーにも役立ちます。
Redis 6で導入されたユーザー管理機能に対応して、 redli
クライアントを更新する必要があります。 クライアントを更新せずに接続しようとすると、次のようなエラーが表示されます: (error) WRONGPASS invalid username-password pair
.
接続ストリング
接続文字列はデプロイの「_概要_ページの「_エンドポイント_パネルに表示され、「Cloud DatabasesCLIプラグイン、 「Cloud DatabasesAPI 取得できる。
クライアントが配置に接続するために必要な情報は、[*サービス資格情報]*ページで作成した資格情報の「CLI」セクションにあります。 参照用に、接続文字列の構成要素を次の表に示します。
フィールド名 | 索引 | 説明 |
---|---|---|
Bin |
接続を作成するための推奨バイナリー。この場合は redli になります。 |
|
Composed |
デプロイメントへの接続を確立するための構成済みのコマンド。 このコマンドは、Bin 実行可能プログラムと Environment 変数設定を組み合わせ、コマンド・ライン・パラメーターとして Arguments を使用します。 |
|
Environment |
環境変数として設定したキー/値のリスト。 | |
Arguments |
0... | Bin フィールドに示されているコマンドに引数として渡される情報 |
Certificate |
Base64 | アプリケーションが適切なサーバーに接続することを確認するために使用する自己署名証明書。 base64 でエンコードされています。 |
Certificate |
名前 | 自己署名証明書に割り当てられた名前。 |
Type |
この接続情報を使用するパッケージのタイプ。この場合は cli です。 |
|
{: caption=redis``cli 接続情報" caption-side="top"} |
0...
は、1 つの配列にこれらのエントリーが 1 つ以上ある可能性があることを示しています。
redli
のインストール
redli
は、オープン・ソースの Redis コマンド・ライン・クライアントです。 スタンドアロンであり、redis-cli コマンド・ライン引数に似ていて、TLS/SSL Redis 接続のサポートを追加します。 これは URI 内の rediss:
プロトコルを認識し、URI 以外の接続のための --tls
フラグをサポートします。 これは TLS/SSL で保護された Redis にトンネルなしで接続できます。
リリース・ページからダウンロードしてインストールします。
redli
による接続
ibmcloud cdb deployment-connections
コマンドは、クライアント接続の確立に関係するあらゆる処理を行います。 例えば、「NewRedis」という名前のデプロイメントに接続するには、以下のコマンドを使用します。
ibmcloud cdb deployment-connections NewRedis --start
または
ibmcloud cdb cxn NewRedis -s
コマンドは「admin
パスワードの入力を促し、「redli
コマンドラインクライアントを実行してデータベースに接続する。
Cloud Databases プラグインをインストールしていない場合は、redli
コマンドを使用して Redis データベースに接続します。 デプロイメントから自己署名証明書をダウンロードして保存します。 Then, use redli
by giving it the "composed" connection string and the path to the self-signed certificate.
redli --uri rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0 --certfile /path/to/redis-cert.pem
redli
でサポートされている接続オプションとパラメーターはこの他にもあります。 詳細については、'redli
'GitHubレポ のドキュメントを参照のこと。
redis-cli
のインストール
redis-cli
は、Redis の公式にサポートされているコマンド・ライン・インターフェースです。 残念ながら、これは TLS 接続をサポートしていません。
redis-cli
使用する場合、追加の設定手順があります。 このインターフェースは Redis パッケージの一部として提供されているため、これを使用するには、ローカル環境に Redis をインストールする必要があります。 macOS, brewをインストールし、「brew install redis
起動する。
Linuxでは、ディストリビューションのパッケージ・マネージャーで最新のRedisパッケージを参照するか、その気になれば ソースをダウンロードして自分でビルドする。
redis-cli
による接続
redis-cli
は、TLS が有効になっている接続をサポートしていません。 If you want to use the redis-cli
with an encrypted connection, set up a utility like stunnel
,
which wraps the redis-cli
connection in TLS encryption.
stunnel
の設定
-
stunnel
をインストールします。 Linuxの場合はパッケージマネージャーを、Macの場合はHomebrewを使うか、あなたのプラットフォームに適したパッケージを ダウンロードしてください。 -
接続情報を取得します。 接続をセットアップするために、
stunnel
は Redis デプロイメントのホスト、ポート、証明書を必要とします。 ホストとポートは両方とも CLI の「composed」の接続ストリングから取得できます。 また、これらの文字列は、外部アプリケーションやドライバーを接続するために提供される 接続文字列ブレークダウン で解析されます。証明書は、サービス・クレデンシャル接続情報のBase64フィールドにある。 証明書をコピーし、デコードして、ファイルに保存します。
-
構成情報を
stunnel.conf
ファイルに追加します。 構成には、以下の情報が含まれています。- サービスの名前。 (
[redis-cli]
) - この stunnel が TLS クライアントであることを示す設定。(
client=yes
) - 接続を受け入れ、また接続を行うための IP アドレスとポート。(
accept=127.0.0.1:6830
) - 接続先のホスト名とポート。(
connect=
portal972-7.bmix-lon-yp-38898e17-ff6f-4340-9da8-2ba24c41e6d8.composeci-us-ibm-com.composedb.com:24370`) - 証明書へのパス。
[redis-cli] client=yes accept=127.0.0.1:6830 connect=sl-us-south-1-portal.7.dblayer.com:23870 verify=2 checkHost=sl-us-south-1-portal.7.dblayer.com CAfile=/path/to/redis/cert.crt
- サービスの名前。 (
-
stunnel
を実行します。コマンド・ラインで
stunnel
コマンドを入力します。 すぐにバックグラウンドで実行されます。 -
新しい端末ウィンドウで、ローカル・ホストとポートを指定した
redis-cli
を実行し、デプロイメントの資格情報で認証します。redis-cli -p 6830 -a <PASSWORD>
自己署名証明書の使用
- _Endpoints_パネルまたはサービス・クレデンシャル接続情報のBase64フィールドから証明書情報をコピーする。
- 必要に応じて、Base64 ストリングをテキストにデコードします。
- 証明書をファイルに保存します (提供される名前、または独自のファイル名を使用できます)。
- ドライバーまたはクライアントに証明書へのパスを提供します。
自己署名証明書の CLI プラグイン・サポート
CLIプラグインを使用して、デプロイメント用にデコードされた証明書を次のようなコマンドで表示できます:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
このコマンドはBase64をテキストにデコードする。 このコマンドの出力をファイルにコピーして保存し、このファイルのパスをクライアントに提供します。