Tair (Redis OSS-compatible) は、クライアントとインスタンス間で転送中のデータの TLS 暗号化をサポートしています。TLS はデフォルトで無効になっています。
前提条件
以下の条件を満たしていることを確認してください。
-
インスタンスが以下のいずれかのタイプであること:
-
Tair (Enterprise Edition) メモリ最適化インスタンス
-
Tair (Enterprise Edition) 永続メモリインスタンス
-
Redis オープンソース版 5.0、6.0、または 7.0 インスタンス
-
-
インスタンスがマスター/レプリカアーキテクチャを使用していること
-
パブリックエンドポイントが割り当てられている場合、解放済みであること
-
ローカルディスクベースのクラスターインスタンスにプライベートエンドポイントが割り当てられている場合、解放済みであること
制限事項
| 制限事項 | 影響 | 対処方法 |
|---|---|---|
| 接続オーバーヘッド | TLS ハンドシェイクは、通常の接続よりも多くのリソースと時間を消費します。 | 永続的な接続を使用して、ハンドシェイクの頻度を減らしてください。 |
| データ転送オーバーヘッド | 暗号化により、ペイロードサイズに応じて処理オーバーヘッドが増加します。 | ご使用の環境でテストを実施し、影響を評価してください。 |
| パブリックエンドポイントなし | TLS を有効にすると、パブリックエンドポイントは使用できなくなります。クラシックネットワーク (非 VPC) のクラスターインスタンスの場合、ダイレクト接続エンドポイントも使用できなくなります。 | TLS を使用して VPC 経由で接続してください。「TLS が有効なインスタンスへの接続」をご参照ください。 |
| ゾーン移行なし | TLS を有効にすると、ゾーン移行は使用できなくなります。 | TLS を有効にする前に、ゾーンの選択を計画してください。 |
| エンドポイントまたはポートの変更 | TLS を有効にした後にエンドポイントまたはポートを変更すると、No subject alternative DNS name matching xxx found というエラーが発生します。 |
接続する前に TLS 証明書を更新してください。 |
TLS 暗号化の有効化
-
コンソールにログインし、[Instances] ページに移動します。リージョンを選択し、目的のインスタンスを見つけ、その ID をクリックします。
-
ナビゲーションペインで、[TLS Settings (SSL)] をクリックします。
-
[Enable] をクリックします。
-
ダイアログボックスで、[TLS version] を選択します。
バージョン 説明 [TLSv1.3] (デフォルト、推奨) RFC 8446 (2018)。TLSv1.2 よりも高速かつ安全です。Redis エンジン 5.5 以降およびプロキシのマイナーバージョン 7.0.1 以降が必要です。コンソールで選択できない場合は、まずマイナーバージョンをアップグレードしてください。 [TLSv1.2] RFC 5246 (2008)。強力な暗号化を提供します。 [TLSv1.1] RFC 4346 (2006)。TLSv1.0 の脆弱性を修正しています。 [TLSv1.0] RFC 2246 (1999)。SSL 3.0 に基づいています。BEAST および POODLE 攻撃に対して脆弱です。 -
[OK] をクリックします。
警告この操作によりインスタンスが再起動され、数秒間の接続中断が発生する可能性があります。オフピーク時間帯に実行し、アプリケーションが自動再接続をサポートしていることを確認してください。
-
ページを更新して、TLS のステータスを確認します。
CA 証明書のダウンロード
TLS を有効にした後、[TLS Settings (SSL)] ページで [Download CA Certificate] をクリックします。パッケージには以下が含まれます。
| ファイル | 説明 |
|---|---|
ApsaraDB-CA-Chain.p7b |
Windows 用 CA 証明書 |
ApsaraDB-CA-Chain.pem |
Linux、その他のシステム、またはアプリケーション用 CA 証明書 |
ApsaraDB-CA-Chain.jks |
CA 証明書チェーンをインポートするための Java トラストストア |
CA 証明書はアカウント内のすべての Tair インスタンスで共有され、パスワードで保護されていません。
TLS 設定の管理
TLS を有効にした後、[TLS Settings (SSL)] ページで TLS 設定を管理します。
CA 証明書の更新
[Update Certificate] をクリックし、[OK] をクリックします。
証明書の有効期間は 3 年間です (カスタマイズ不可)。システムは、有効期限の 20 日前に証明書更新のメンテナンスイベントを作成します。スケジュールを変更するには、[Event Center] > [Scheduled Events] に移動してください。また、いつでも [Update Certificate] をクリックできます。更新するたびに、有効期間が 3 年間延長されます。
この操作により、数秒間の接続中断が発生します。オフピーク時間帯に実行し、アプリケーションが自動再接続をサポートしていることを確認してください。
証明書を更新した後、または TLS バージョンを変更した後に、証明書ファイルを再ダウンロードする必要はありません。
TLS バージョンの変更
[TLS version] の横にある編集アイコンをクリックし、バージョンを選択します。[TLSv1.3] を推奨します。TLSv1.3 には Redis エンジン 5.5 以降およびプロキシのマイナーバージョン 7.0.1 以降が必要です。選択できない場合は、まずマイナーバージョンをアップグレードしてください。
最小 TLS バージョン ドロップダウンリストが使用できない場合は、インスタンスのマイナーバージョンをアップグレードしてから再試行してください。「マイナーバージョンとプロキシバージョンのアップグレード」をご参照ください。
TLS 暗号化の無効化
[TLS Status] の横にあるスイッチをオフにします。
この操作によりインスタンスが再起動されます。数秒間の接続中断が発生する可能性があります。オフピーク時間帯に実行し、アプリケーションが自動再接続をサポートしていることを確認してください。
よくある質問
インスタンスで TLS を有効にできないのはなぜですか?
クラシックネットワークで読み書き分離アーキテクチャを使用しているインスタンスでは、TLS はサポートされていません。
関連 API
|
API |
説明 |
|
インスタンスの TLS (SSL) 暗号化を設定します。 |