전송 중인 데이터 암호화 관리

이 페이지에서는 클러스터의 전송 중인 데이터 암호화를 관리하는 방법을 설명합니다.

Memorystore for Redis Cluster의 전송 중인 데이터 암호화에 대한 개요는 전송 중인 데이터 암호화 정보를 참조하세요.

Memorystore 클러스터를 처음 만든 경우에만 전송 중인 데이터 암호화를 사용 설정할 수 있습니다. 이러한 방식으로 생성된 클러스터에서는 전송 중인 데이터 암호화를 중지할 수 없습니다.

전송 중인 데이터 암호화로 인스턴스 만들기

콘솔

Memorystore for Redis Cluster 인스턴스 만들기의 단계를 따릅니다.

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 는 인스턴스의 13GB 샤드 수를 결정합니다. 샤드 개수는 클러스터 데이터를 저장하기 위한 총 메모리 용량을 결정합니다. 클러스터 사양에 대한 자세한 내용은 클러스터 및 샤드 사양을 참조하세요.

예를 들면 다음과 같습니다.

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. SSH를 사용해 Compute Engine Linux 클라이언트에 연결합니다.

  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, 인증 기관이 포함된 파일을 가리키도록 구성합니다. 사이드카를 사용할 경우에는 Stunnel을 사용하는 것이 좋습니다.

Stunnel 및 telnet을 사용해 Memorystore 클러스터에 안전하게 연결하기

Stunnel을 사용하여 Compute Engine 클라이언트에 전송 중인 데이터 암호화를 사용 설정하는 방법은 Stunnel 및 telnet을 사용해 Memorystore 인스턴스에 안전하게 연결하기를 참조하세요.

인증 기관 순환 관리

클러스터에 액세스하는 클라이언트에 다운로드 가능한 모든 인증 기관을 설치해야 합니다.

인증 기관 순환 이벤트가 발생할 때 필요한 CA가 있는지 확인하는 가장 간단한 방법은 새 CA를 사용할 수 있게 되면 이전 CA에 추가로 새 CA를 설치하는 것입니다.

필요한 CA가 있는지 확인하려면 클라이언트 파일에 저장된 CA가 인증 기관을 다운로드할 때 표시된 CA와 일치하는지만 확인하면 됩니다. 다운타임을 최소화하기 위해 새 CA 및 이전 CA 모두 순환 중에 활성화됩니다.