転送中の暗号化について

このページでは、Memorystore for Redis Cluster の転送中の暗号化の概要を説明します。

転送中の暗号化を使用して接続する手順については、転送中の暗号化の管理をご覧ください。

Memorystore for Redis Cluster は、TLS プロトコル バージョン 1.2 以降のみをサポートしています。

はじめに

Memorystore for Redis Cluster は、Transport Layer Security(TLS)プロトコルを使用してすべての Redis トラフィックを暗号化することをサポートしています。転送中の暗号化が有効になっている場合、Redis クライアントは安全な接続を介してのみ通信を行います。TLS 用に構成されていない Redis クライアントはブロックされます。転送中の暗号化を有効にする場合は、Redis クライアントが TLS プロトコルを使用できることを確認する必要があります。

転送中の暗号化の前提条件

Memorystore for Redis で転送中の暗号化を使用するには、次のものが必要です。

  1. TLS またはサードパーティの TLS サイドカーをサポートする Redis クライアント

  2. Redis インスタンスにアクセスするクライアント マシンにインストールされた認証局

オープンソースの Redis バージョン 6.0 より前のネイティブ TLS はサポートされていません。そのため、すべての Redis クライアント ライブラリで TLS がサポートされているわけではありません。TLS をサポートしていないクライアントを使用している場合は、クライアントの TLS を有効にする stunnel サードパーティ プラグインを使用することをおすすめします。stunnel を使用して Redis インスタンスに接続する方法の例については、stunnel と telnet を使用した Redis インスタンスへの安全な接続をご覧ください。

認証局

転送中の暗号化を使用する Redis クラスタには、クラスタ内のマシンの証明書を認証するために使用される一意の認証局(CA)があります。各 CA は証明書によって識別されます。証明書は、Redis インスタンスにアクセスするクライアントに対して、ダウンロードしてインストールする必要があります。

認証局のローテーション

CA はインスタンスの作成時から 10 年間有効です。また、CA が期限切れになる前に、新しい CA が利用可能になります。

古い CA は、有効期限まで有効です。この間の期間に、Redis インスタンスに接続するクライアントに新しい CA をダウンロードしてインストールできます。古い CA は、有効期限が切れたらクライアントからアンインストールできます。

CA のローテーション手順については、認証局のローテーションの管理をご覧ください。

サーバー証明書のローテーション

サーバー側の証明書のローテーションは毎週行われます。新しいサーバー証明書は新しい接続にのみ適用され、ローテーション中は既存の接続が維持されます。

転送中の暗号化を有効にした場合のパフォーマンスへの影響

転送中の暗号化機能では、処理にオーバーヘッドを伴うデータの暗号化と復号を行います。このため、転送中の暗号化を有効にすると、パフォーマンスの低下を招く可能性があります。また、転送中の暗号化では、追加の接続のそれぞれに関連リソースのコストがかかります。転送中の暗号化に関連するレイテンシを判断するには、転送中の暗号化が有効になっているクラスタと無効になっているクラスタの両方でアプリケーションのパフォーマンスを比較します。

パフォーマンスを改善するためのガイドライン

  • 可能なときは、クライアントの接続数を減らします。オンデマンドの有効期間が短い接続を作成するのではなく、長期の接続を確立してそれを再利用します。

  • Memorystore クラスタのサイズを増やします。

  • Memorystore クライアント ホストマシンの CPU リソースを増やします。CPU 数の多いクライアント マシンでは、パフォーマンスが向上します。Compute Engine VM を使用する場合は、コンピューティング最適化インスタンスをおすすめします。

  • ペイロードが大きければ大きいほど、より多くの往復が必要となるため、アプリケーション トラフィックに関連付けられたペイロード サイズを減らします。