このページでは、クラスタの転送中の暗号化を管理する方法について説明します。
Memorystore for Redis Cluste の転送中の暗号化の概要については、転送中の暗号化についてをご覧ください。
転送中の暗号化は、Memorystore クラスタを最初に作成するときにのみ有効にできます。このように作成されたインスタンスでは、転送中の暗号化は無効にできません。
転送中の暗号化を使用するインスタンスの作成
コンソール
gcloud
転送中の暗号化を使用する Redis クラスタを作成するには、create
コマンドを実行します。
gcloud alpha redis clusters create INSTANCE_ID \ --region=REGION_ID \ --network=NETWORK \ --replica-count=REPLICA_COUNT \ --shard-count=SHARD_COUNT \ --transit-encryption-mode=server-authentication
以下を置き換えます。
INSTANCE_ID は、作成する Memorystore for Redis Cluster インスタンスの ID です。インスタンス ID は 1〜63 文字にする必要があり、小文字、数字、ハイフンのみ使用できます。先頭は英小文字に、末尾は英小文字または数字にする必要があります。
REGION_ID は、インスタンスを配置するリージョンです。
NETWORK は、インスタンスの作成に使用されるネットワークです。形式
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID
を使用する必要があります。ここで使用するネットワーク ID は、サービス接続ポリシーで使用されるネットワーク ID と一致する必要があります。それ以外の場合、create
オペレーションは失敗します。REPLICA_COUNT は、必要なレプリカ数(シャードあたり)です。指定できる値は
0
、1
、2
です。SHARD_COUNT は、インスタンス内の 13 GB シャードの数を決定します。シャード数は、クラスタデータを格納するためのメモリの合計容量を決定します。クラスタ仕様の詳細については、クラスタとシャードの仕様をご覧ください。
次に例を示します。
gcloud alpha redis clusters create my-instance \ --region=us-central1 \ --network=projects/my-project-335118/global/networks/default \ --replica-count=1 \ --shard-count=3 \ --transit-encryption-mode=server-authentication
認証局をダウンロードする
クラスタで転送中の暗号化が有効になっている場合、get-cluster-certificate-authority
コマンドを実行すると、認証局の証明書が表示されます。
gcloud alpha redis clusters get-cluster-certificate-authority INSTANCE_ID
以下を置き換えます。
- INSTANCE_ID は、Memorystore for Redis Cluster インスタンスの ID です。
レスポンスの本文には、該当するすべての認証局の証明書が含まれます。
クライアント側に認証局をインストールする
接続元のクライアントにクラスタの認証局をインストールする必要があります。CA のインストールは、クライアントの種類によって異なります。次の手順では、Compute Engine Linux VM に CA をインストールする方法について説明します。
Compute Engine の Linux クライアントに SSH で接続します。
クライアントで
server_ca.pem
というファイルを作成します。sudo vim /tmp/server_ca.pem
認証局をダウンロードして、前の手順で作成した
server_ca.pem
ファイルに貼り付けます。CA のテキストは、正しい形式になっている必要があります。
server_ca.pem
ファイルは次のように表示されます。-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4 ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2 MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD 8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6 97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq 5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM 0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9 9DmrfdF0eFrfWw3VRNLwwXg= -----END CERTIFICATE-----
上の例で説明したように、ファイルでは次のガイドラインを使用する必要があります。
-----BEGIN CERTIFICATE-----
行と-----END CERTIFICATE-----
行を含む認証局全体をコピーします。CA のテキストが、完全に左揃えになっていることを確認します。CA のいずれの行の先頭にもスペースが含まれていないようにする必要があります。
各認証局は新しい行に追加する必要があります。CA の間に空白行を含めることはできません。
転送中暗号化用のクライアントの構成
クラスタへの接続に使用するクライアントは、TLS をサポートするか、サードパーティのサイドカーを使用して TLS を有効にする必要があります。
クライアントが TLS をサポートしている場合は、Redis インスタンスの IP(ポートは 6379
)と認証局を含むファイルを指すように TLS を構成します。サイドカーを使用する場合は、stunnel の使用をおすすめします。
stunnel と telnet を使用した Memorystore クラスタへの安全な接続
stunnel を使用して Compute Engine クライアントで転送中の暗号化を有効にする手順については、stunnel と telnet を使用した Memorystore インスタンスへの安全な接続をご覧ください。
認証局のローテーションを管理する
クラスタにアクセスするクライアントには、ダウンロード可能なすべての認証局をインストールする必要があります。
認証局のローテーション イベントが発生したときに必要な CA を所有していることを確実にするためには、以前の CA に加えて、新しい CA が利用可能になり次第それをインストールするのが、最も簡単な方法です。
必要な CA があることを確認するには、クライアント ファイルに保存されている CA が認証局のダウンロード時に示された CA と一致していることを確認します。ローテーション時に新しい CA と古い CA の両方がアクティブであるため、ダウンタイムを最小限に抑えることができます。