Tair (Redis OSS-compatible) は、より高いデータセキュリティを提供するために、Transport Layer Security (TLS) プロトコルをサポートしています。 SSLプロトコルと比較して、TLSプロトコルはより優れた暗号化技術と強化されたセキュリティを備えています。
背景情報
TLSは、現在廃止されているSSLプロトコルに基づいて構築され、コンピュータネットワーク上で通信セキュリティを提供するために広く使用されている標準暗号プロトコルになります。 SSLと比較して、TLSには次の利点があります。
強化された暗号化: Advanced encryption Standard (AES) アルゴリズムなどのより強力なテクノロジーを使用して暗号化を提供します。
強化されたセキュリティ: セキュアハッシュアルゴリズム2 (SHA-2) などのより安全なアルゴリズムとプロトコルを使用します。
互換性の向上: より多くのブラウザやサーバーと互換性のある最新のプロトコルとして機能し、より多くの暗号化プロトコルと暗号スイートをサポートします。
タイムリーな更新: 暗号化アルゴリズムとプロトコルのリアルタイム更新をサポートします。
このコンテキストでは、トランスポート層でネットワーク接続を暗号化する場合は、TLSを使用することを推奨します。 デフォルトでは、TLSは無効になっています。
前提条件
TLS暗号化を有効にするインスタンスは、次の要件を満たしています。
インスタンスは、Tair (Enterprise Edition) DRAMベースまたは永続メモリ最適化インスタンス、またはRedis Open-Source Edition 5.0、6.0、または7.0インスタンスです。
インスタンスは、マスターレプリカアーキテクチャを使用して高可用性を確保します。
パブリックエンドポイントがインスタンスに割り当てられている場合は、パブリックエンドポイントをリリースします。 インスタンスのTLS暗号化は、パブリックエンドポイントがリリースされた後にのみ有効にできます。
説明プライベートエンドポイントが
ローカルディスクベースのクラスターインスタンスは、インスタンスのTLS暗号化を有効にする前にプライベートエンドポイントをリリースします。
注意事項
TLS接続を作成するときは、認証やキー交換など、いくつかのハンドシェイク手順が必要です。 これらのステップは、かなりのコンピューティングリソースと多くの時間を消費する。 TLS接続の作成は、共通接続の作成よりも大幅に遅くなります。 TLS接続を短期間で作成することはできません。 TLS接続を頻繁に作成すると、リクエスト処理が大幅に遅延します。 したがって、永続的なTLS接続を使用してこのようなオーバーヘッドを削減し、パフォーマンスの低下を防ぐためにTLS接続を頻繁に作成および削除しないようにすることをお勧めします。
TLS接続が作成された後、TLS接続を介して送信されるすべてのデータは暗号化および復号化され、追加のオーバーヘッドが発生します。 これは、送信されるデータのサイズを増大させる。
説明パフォーマンスへの影響は、ビジネスシナリオによって異なります。 テストを実行して、特定のビジネス環境のパフォーマンスへの影響を評価できます。
インスタンスのTLS暗号化を有効にすると、インスタンスのパブリックエンドポイントを申請することはできません。 クラシッククラスターインスタンスのTLS暗号化を有効にした場合、インスタンスのプライベートエンドポイントも申請できません。 クライアントは、仮想プライベートクラウド (VPC) とTLSプロトコルを介してのみインスタンスに接続できます。 TLSが有効になっているインスタンスに接続する方法の詳細については、「クライアントを使用してTLS (SSL) 暗号化が有効になっているインスタンスに接続する」をご参照ください。
インスタンスのTLS暗号化を有効にすると、インスタンスをゾーン間で移行することはできません。
TLS暗号化が有効になっているインスタンスのエンドポイントまたはポート番号を変更する場合は、インスタンスに接続する前にインスタンスのTLS証明書を更新します。 それ以外の場合、
No subject alternative DNS name matching xxx found
エラーが返されます。
手順
コンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスIDをクリックします。
左側のナビゲーションウィンドウで、TLS設定 (SSL)をクリックします。
有効化をクリックします。
表示されるダイアログボックスで、TLSバージョンを選択します。
TLSバージョンパラメータの有効値:
TLSv1.3 (推奨): TLS 1.3は2018年にリリースされ、その仕様はRFC 8446で定義されています。 TLS 1.2と比較して、TLS 1.3はより速く、より安全な通信を促進します。
TLSv1.2 (推奨): TLS 1.2は2008年にリリースされ、その仕様はRFC 5246で定義されています。 このバージョンには、より強力な暗号化技術と強化されたセキュリティが付属します。
TLSv1.1: TLS 1.1は2006年にリリースされ、その仕様はRFC 4346で定義されています。 このバージョンには、TLS 1.0で見つかった既知の脆弱性の修正が含まれています。
TLSv1.0: TLS 1.0は1999年にリリースされ、その仕様はRFC 2246で定義されています。 SSL 3.0のアップグレード版として、TLS 1.0はBEASTやPOODLEなどの攻撃の影響を受けやすいです。
OKをクリックします。
警告この操作により、インスタンスで数秒間継続する一時的な接続が発生する可能性があります。 オフピーク時にこの操作を実行し、アプリケーションがインスタンスに自動的に再接続できることを確認することを推奨します。
ページを更新して、インスタンスのTLSステータスを更新できます。
TLSを有効にした後、SSL 証明書のダウンロード をクリックしてCA証明書をクライアントにエクスポートできます。 ダウンロードしたパッケージには、次のファイルが含まれます。
ApsaraDB-CA-Chain.p7b: このファイルは、CA証明書をWindowsオペレーティングシステムにインポートするために使用されます。
ApsaraDB-CA-Chain.pem: このファイルは、LinuxやアプリケーションなどのWindows以外のシステムにCA証明書をインポートするために使用されます。
異なるインスタンスに提供されるCA証明書は同じであり、任意のインスタンスに接続するために使用できます。
TLS設定の管理
インスタンスでTLSを有効にすると、次の操作を実行できます。
コンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスIDをクリックします。
左側のナビゲーションウィンドウで、TLS設定 (SSL)をクリックします。
ビジネス要件に基づいて、次のいずれかの操作を実行します。
API 操作
指示
CA証明書の更新
表示されるページで、[証明書の更新] をクリックします。 [OK] をクリックします。
TLSを有効にすると、TLS証明書は3年間のデフォルトの有効期間で発行されます。 証明書にカスタムの有効期間を指定することはできません。 Tair (Redis OSS互換) は、証明書の有効期限が切れる20日前にプロアクティブO&Mを開始し、証明書の有効期間を更新します。
を選択して、O&M時間を変更できます。 または、[証明書の更新] をクリックしてCA証明書を更新し、CA証明書を再度ダウンロードして設定することもできます。 CA証明書が更新された後、その有効性はさらに3年間延長されます。警告この操作により、インスタンスで数秒間継続する一時的な接続が発生する可能性があります。 オフピーク時にこの操作を実行し、アプリケーションがインスタンスに自動的に再接続できることを確認することを推奨します。
TLSバージョンの変更
TLSバージョンの右側にあるアイコンをクリックし、ドロップダウンリストから変更するバージョンを選択します。 TLSv1.2を選択することを推奨します。
説明最小 TLS バージョン ドロップダウンリストが使用できない場合は、インスタンスを最新のマイナーバージョンに更新してから再試行してください。 詳細については、「」「インスタンスのマイナーバージョンの更新」をご参照ください。
TLS暗号化の無効化
TLSステータスをオフにします。
警告この操作により、インスタンスで数秒間継続する一時的な接続が発生する可能性があります。 オフピーク時にこの操作を実行し、アプリケーションがインスタンスに自動的に再接続できることを確認することを推奨します。
CA証明書を更新した後、またはTLSバージョンを変更した後、CA証明書を再度ダウンロードする必要はありません。
関連する API 操作
API 操作 | 説明 |
インスタンスのTLS (SSL) 設定を変更します。 |
次のステップ
よくある質問
インスタンスのTLSを有効にできないのはなぜですか?
お使いのインスタンスが読み書き分離アーキテクチャを使用するクラシックインスタンスの場合、インスタンスに対してTLSを有効にすることはできません。