Tair (Redis OSS-compatible) は Transport Layer Security (TLS) プロトコルをサポートしています。TLS は、古い Secure Sockets Layer (SSL) プロトコルよりも強力な暗号化を使用し、より高いセキュリティを提供します。これにより、転送中のデータを保護できます。
背景情報
TLS は、現在非推奨の SSL プロトコルをベースに構築されており、コンピューターネットワーク上で通信セキュリティを提供するための広く使用されている標準的な暗号化プロトコルとなっています。SSL と比較して、TLS には次の利点があります。
強化された暗号化: 高度暗号化標準 (AES) アルゴリズムなどのより強力な技術を使用して暗号化を提供します。
強化されたセキュリティ: Secure Hash Algorithm 2 (SHA-2) などのより安全なアルゴリズムとプロトコルを使用します。
互換性の向上: より多くのブラウザやサーバーと互換性があり、より多くの暗号化プロトコルと暗号スイートをサポートする最新のプロトコルとして機能します。
タイムリーな更新: 暗号化アルゴリズムとプロトコルのリアルタイム更新をサポートします。
この文脈では、トランスポートレイヤーでネットワーク接続を暗号化したい場合は、TLS の使用を推奨します。デフォルトでは、TLS は無効になっています。
前提条件
インスタンスは次の要件を満たす必要があります。
インスタンスは Tair (Enterprise Edition) のメモリ最適化インスタンスまたは永続メモリインスタンス、あるいは Redis Open-Source Edition 5.0、6.0、または 7.0 インスタンスであること。
インスタンスは、[高可用性] を確保するためにマスター/レプリカアーキテクチャを使用していること。
インスタンスにパブリックエンドポイントが割り当てられている場合は、パブリックエンドポイントを解放します。パブリックエンドポイントが解放された後にのみ、インスタンスの TLS 暗号化を有効にできます。
説明ローカルディスクベースのクラスターインスタンスにプライベートエンドポイントが割り当てられている場合は、インスタンスの TLS 暗号化を有効にする前にプライベートエンドポイントを解放してください。
考慮事項
TLS 接続の作成には、認証やキー交換など、複数のハンドシェイクステップが必要です。これらのステップは、かなりの計算リソースと時間を消費するため、TLS 接続の作成は標準接続の作成よりもはるかに遅くなります。短時間で多数の TLS 接続を迅速に作成することはできません。TLS 接続を頻繁に作成すると、通常のリクエストのレイテンシーが大幅に増加します。したがって、永続的な TLS 接続を使用してこのオーバーヘッドを削減してください。パフォーマンスへの影響を最小限に抑えるために、TLS 接続の頻繁な作成と破棄は避けてください。
TLS 接続が確立された後、すべてのデータを暗号化および復号化する必要があるため、データを転送すると追加のオーバーヘッドが発生します。このオーバーヘッドはコンテンツサイズとともに増加します。
説明具体的なパフォーマンスへの影響はシナリオによって異なります。特定の環境での影響を評価するためにテストを実行する必要があります。
TLS 暗号化を有効にすると、インスタンスのパブリックエンドポイントをリクエストできなくなります。クラシックネットワークのクラスターインスタンスの場合、ダイレクト接続エンドポイントもリクエストできません。クライアントは、VPC を介して TLS 暗号化を使用してのみインスタンスに接続できます。接続例については、「インスタンスへの TLS (SSL) 暗号化接続を有効にする」をご参照ください。
TLS 暗号化を有効にすると、インスタンスを別のゾーンに移行できなくなります。
TLS 暗号化を有効にした後、インスタンスのエンドポイントまたはポート番号を変更した場合は、接続する前にインスタンスの TLS 証明書を更新する必要があります。そうしないと、
xxx に一致するサブジェクト代替 DNS 名が見つかりませんというエラーが報告されます。
手順
コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスを見つけてインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[TLS (SSL) 設定] をクリックします。
[ワンクリックで有効化] をクリックします。
表示されるダイアログボックスで、[TLS バージョン] を選択します。
パラメーターの説明:
[TLSv1.3] (推奨): 2018 年に公開された RFC 8446。TLSv1.2 と比較して、[TLSv1.3] はより高速で安全です。
[TLSv1.2] (推奨): 2008 年に公開された RFC 5246。強力な暗号化技術を使用して高レベルのセキュリティを提供します。
[TLSv1.1]: 2006 年に公開された RFC 4346。TLSv1.0 のいくつかの脆弱性を修正しています。
[TLSv1.0]: 1999 年に公開された RFC 2246。SSLv3.0 に基づいています。このバージョンは、BEAST や POODLE などのさまざまな攻撃に対して脆弱です。
[OK] をクリックします。
警告この操作によりインスタンスが再起動され、数秒間続く一時的な接続エラーが発生する可能性があります。この操作はオフピーク時に実行し、アプリケーションが自動的に再接続するように設定されていることを確認することをお勧めします。
その後、コンソールページを更新して TLS 機能のステータスを確認できます。
TLS を有効にした後、ページの CA証明書をダウンロードする をクリックして CA 証明書をクライアントにインポートできます。ダウンロードされたファイルは、次の 3 つのファイルを含む圧縮パッケージです。
ApsaraDB-CA-Chain.p7b: Windows で CA 証明書をインポートするために使用されます。
ApsaraDB-CA-Chain.pem: Linux などの他のシステムやアプリケーションで CA 証明書をインポートするために使用されます。
ApsaraDB-CA-Chain.jks: Java 用のトラストストア証明書ストアファイルです。Java プログラムに CA 証明書チェーンをインポートするために使用されます。
異なるインスタンス用にダウンロードされた CA 証明書は同じです。証明書ファイルはパスワードで保護されていません。アカウント配下のすべての Tair インスタンスへの接続に使用できます。
TLS 暗号化設定の管理
インスタンスの TLS 暗化を有効にした後、次の操作を実行できます。
コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスを見つけてインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[TLS (SSL) 設定] をクリックします。
必要に応じて、次のいずれかの操作を実行します。
操作
説明
CA 証明書の更新
ページで [証明書の更新] をクリックし、次に [OK] をクリックします。
TLS 暗号化を有効にすると、証明書のデフォルトの有効期間は 3 年になります。有効期間はカスタマイズできません。システムは、証明書の有効期限が切れる 20 日前に O&M イベントを開始して証明書を更新します。 に移動して O&M 時間を変更できます。また、いつでも [証明書の更新] をクリックすることもできます。更新後、証明書はさらに 3 年間有効になります。
警告この操作により、数秒間続く一時的な接続エラーが発生します。この操作はオフピーク時に実行し、アプリケーションが自動的に再接続するように設定されていることを確認してください。
TLS バージョンの変更
[TLS バージョン] の右側にある
アイコンをクリックし、ドロップダウンリストから使用する TLS バージョンを選択します。[TLSv1.2] バージョンの使用を推奨します。説明TLSの最低バージョン ドロップダウンリストが利用できない場合は、インスタンスのマイナーバージョンをアップグレードして再試行してください。詳細については、「」または「マイナーバージョンとプロキシバージョンのアップグレード」をご参照ください。
TLS 暗号化の無効化
[TLS ステータス] の右側にあるスイッチをオフにします。
警告この操作によりインスタンスが再起動されます。数秒間続く一時的な接続エラーが発生する可能性があります。この操作はオフピーク時に実行し、アプリケーションが自動的に再接続するように設定されていることを確認してください。
証明書を更新したり TLS バージョンを変更したりした後、証明書ファイルを再度ダウンロードする必要はありません。既存のファイルを引き続き使用できます。
関連 API
API | 説明 |
インスタンスの TLS (SSL) 暗号化機能を設定します。 |
次のステップ
よくある質問
インスタンスの TLS 機能を有効にできないのはなぜですか?
インスタンスが クラシックネットワークで読み書き分離アーキテクチャを使用している場合、TLS 機能を有効にすることはできません。