転送中の暗号化を管理する

このページでは、クラスタの転送中の暗号化を管理する方法について説明します。

Memorystore for Redis Cluste の転送中の暗号化の概要については、転送中の暗号化についてをご覧ください。

転送中の暗号化は、Memorystore クラスタを最初に作成するときにのみ有効にできます。このように作成されたインスタンスでは、転送中の暗号化は無効にできません。

転送中の暗号化を使用するインスタンスの作成

コンソール

Memorystore for Redis クラスタ インスタンスを作成するの手順に従います。

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 は、必要なレプリカ数(シャードあたり)です。指定できる値は 012 です。

  • 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 をインストールする方法について説明します。

  1. Compute Engine の Linux クライアントに SSH で接続します。

  2. クライアントで server_ca.pem というファイルを作成します。

    sudo vim /tmp/server_ca.pem
    
  3. 認証局をダウンロードして、前の手順で作成した 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 の両方がアクティブであるため、ダウンタイムを最小限に抑えることができます。