コマンド・ライン・インターフェース (CLI) を使用した接続
コマンド・ライン・インターフェース (CLI) から直接 Redis データベースにアクセスします。 CLIは、データベース内で作成されるデータ構造を直接操作し、監視することができる。 これは、キースペースとパフォーマンスの管理とモニターや、スクリプトのインストールと変更、といった管理アクティビティーにも役立ちます。
で導入されたユーザー管理機能のために、 redli クライアントをアップデートする必要がある。 Redis. クライアントを更新せずに接続しようとすると、次のようなエラーが表示されます: (error) WRONGPASS invalid username-password pair.
接続ストリング
接続文字列は配置の [概要]ページの [エンドポイント] パネルに表示され、Cloud Databases CLI プラグイン や Cloud Databases API からも取得できます。
クライアントが配置に接続するために必要な情報は、[*サービス資格情報]*ページで作成した資格情報の「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 データベースに接続します。 配置からサービス専有証明書をダウンロードして保存します。 そして、「構成された」接続文字列とサービス専有証明書へのパスを与えて、 redli。
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 が有効になっている接続をサポートしていません。 暗号化された接続で redis-cli。 stunnelのようなユーティリティをセットアップし、 redis-cli 接続を TLS
暗号化でラップする。
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 をテキストにデコードする。 このコマンドの出力をファイルにコピーして保存し、このファイルのパスをクライアントに提供します。