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

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

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

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

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

Console

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

gcloud

転送中の暗号化を使用する Valkey インスタンスを作成するには、create コマンドを実行します。

gcloud beta memorystore instances create INSTANCE \
--location=REGION_ID \
--psc-auto-connections=network=projects/PROJECT_ID/global/networks/NETWORK_ID,projectId=PROJECT_ID \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--transit-encryption-mode=server-authentication

次のように置き換えます。

  • INSTANCE は、作成する Memorystore for Valkey インスタンスの ID です。インスタンス ID は 1〜63 文字にする必要があり、小文字、数字、ハイフンのみ使用できます。先頭は英小文字に、末尾は英小文字または数字にする必要があります。

  • REGION_ID は、インスタンスを配置するリージョンです。

  • PROJECT_ID は、インスタンスを作成するプロジェクトの ID です。

  • NETWORK_ID は、インスタンスの作成に使用するネットワークの ID です。

  • REPLICA_COUNT は、必要なレプリカ数(シャードあたり)です。指定できる値は 012 です。

  • NODE_TYPE は、選択したノードタイプです。次の値が利用できます。

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge

    ノードタイプとインスタンス構成の詳細については、インスタンスとノードの仕様をご覧ください。

  • SHARD_COUNT によってインスタンス内のシャードの数が決定されます。シャード数によって、インスタンス データを保存するための合計メモリ容量が決定されます。インスタンス仕様の詳細については、インスタンスとノードの仕様をご覧ください。

例:

gcloud beta memorystore instances create my-instance \
--location=us-central1 \
--psc-auto-connections=network=projects/PROJECT_ID/global/networks/NETWORK_ID,projectId=PROJECT_ID \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--transit-encryption-mode=server-authentication

認証局をダウンロードする

インスタンスで転送中の暗号化が有効の場合は、get-certificate-authority コマンドを実行すると、認証局の証明書が表示されます。

gcloud beta memorystore instances get-certificate-authority INSTANCE

次のように置き換えます。

  • INSTANCE は、Memorystore for Valkey インスタンスの 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 をサポートしている場合は、Valkey インスタンスの IP(ポートは 6379)と認証局を含むファイルを指すように TLS を構成します。サイドカーを使用する場合は、stunnel の使用をおすすめします。

stunnel と telnet を使用して Memorystore インスタンスに安全に接続する

stunnel を使用して Compute Engine クライアントで転送中の暗号化を有効にする手順については、stunnel と telnet を使用した Memorystore インスタンスへの安全な接続をご覧ください。

認証局のローテーションを管理する

インスタンスにアクセスするクライアントには、ダウンロード可能なすべての認証局をインストールする必要があります。

認証局のローテーション イベントが発生したときに必要な CA を所有していることを確実にするためには、以前の CA に加えて、新しい CA が利用可能になり次第それをインストールするのが、最も簡単な方法です。

必要な CA があることを確認するには、クライアント ファイルに保存されている CA が認証局のダウンロード時に表示された CA と一致していることを確認します。ローテーション中は新しい CA と古い CA の両方がアクティブになり、ダウンタイムを最小限に抑えることができます。

転送中の暗号化を使用するインスタンスに接続するコードサンプル

転送中の暗号化を使用するインスタンスに接続するようにクライアント ライブラリを設定する方法に関する Valkey 互換のコードサンプルについては、転送中の暗号化クライアント ライブラリのコードサンプルをご覧ください。