SSL 인증서 개요

전송 계층 보안(TLS)은 네트워크 통신을 보호하기 위해 SSL 인증서에 사용되는 암호화 프로토콜입니다.

Google Cloud는 SSL 인증서를 사용하여 클라이언트에서 부하 분산기로 개인정보 보호 및 보안을 제공합니다. 이를 위해 부하 분산기에 SSL 인증서와 인증서의 해당 비공개 키가 있어야 합니다. 클라이언트와 부하 분산기 간의 통신은 비공개로 유지되며 이 비공개 키가 없는 제3자가 알아볼 수 없습니다.

부하 분산기

다음 표에는 SSL 인증서가 필요한 Google Cloud 부하 분산기의 유형이 요약되어 있습니다.

부하 분산기 유형 클라이언트에서 부하 분산기로 보내는 프로토콜
내부 HTTPS 부하 분산기 HTTPS 또는 HTTP/2
외부 HTTPS 부하 분산기 HTTPS 또는 HTTP/2
SSL 프록시 부하 분산기 SSL(TLS)

자체 관리형 SSL 인증서와 Google 관리형 SSL 인증서

직접 자체 관리형 인증서를 발급받거나 Google에서 대신 발급받아서 관리하는 Google 관리 형 인증서를 사용할 수 있습니다.

  • 자체 관리형 SSL 인증서는 사용자가 직접 가져와 프로비저닝하고 갱신하는 인증서입니다. 이 유형은 다음 중 하나일 수 있습니다.

    • 도메인 유효성 검사(DV)
    • 조직 유효성 검사(OV)
    • 확장 유효성 검사(EV) 인증서

    자세한 내용은 공개 키 인증서를 참조하세요.

  • Google 관리형 SSL 인증서는 도메인에서 Google Cloud가 가져오고 관리하는 인증서로, 자동 갱신됩니다. Google 관리형 인증서는 도메인 유효성 검사(DV) 인증서입니다. 인증서와 연결된 조직이나 개인의 ID를 보여주지 않으며 와일드 카드 일반 이름을 지원하지 않습니다.

외부 HTTP(S) 부하 분산기 및 SSL 프록시 부하 분산기의 경우 하나의 대상 프록시에서 Google 관리형, 자체 관리형 또는 두 가지 SSL 인증서 조합을 참조할 수 있습니다. 인증서는 순서에 관계없이 참조할 수 있습니다. 내부 HTTP(S) 부하 분산기의 경우 자체 관리형 인증서를 사용해야 합니다.

부하 분산기의 SSL 인증서 구성에 대한 자세한 내용은 다음 가이드를 참조하세요.

여러 SSL 인증서

대상 HTTPS 또는 대상 SSL 프록시당 최대 SSL 인증서 수까지 구성할 수 있습니다. 여러 도메인에서 하나의 부하 분산기 IP 주소와 포트를 사용하는 경우에는 복수의 SSL 인증서를 사용해야 하고, 각 도메인별로 서로 다른 SSL 인증서가 필요합니다.

SSL 인증서를 두 개 이상 지정할 경우 SSL 인증서 목록의 첫 번째 인증서가 대상 프록시와 연결된 기본 SSL 인증서로 간주됩니다.

클라이언트가 요청을 전송할 때 부하 분산기는 클라이언트에서 지정한 SNI 호스트 이름을 사용하여 클라이언트 SSL 연결을 협상하는 데 사용할 인증서를 선택합니다.

가능하면 부하 분산기는 일반 이름(CN) 또는 주체 대체 이름(SAN)이 클라이언트에서 지정한 SNI 호스트 이름과 일치하는 인증서를 선택합니다. RSA 및 ECDSA는 디지털 서명의 유형이며 클라이언트 소프트웨어는 이를 사용할 수 있어야 합니다.

사용 가능한 인증서를 하나도 선택하지 않거나 클라이언트가 SNI 호스트 이름을 지정하지 않으면 부하 분산기는 기본 인증서(목록의 첫 번째 인증서)를 사용하여 SSL을 협상합니다.

여러 SSL 인증서(확대하려면 클릭)
여러 SSL 인증서(확대하려면 클릭)

부하 분산기에서 백엔드까지 암호화

HTTP(S) 부하 분산, TCP 프록시 부하 분산, SSL 프록시 부하 분산의 경우 Google은 Google Cloud 내에서 Google 프런트엔드(GFE)와 백엔드 간의 트래픽을 자동으로 암호화합니다.

네트워크 수준의 암호화 외에도 보안 프로토콜을 백엔드 서비스 프로토콜로 사용할 수 있습니다. 보안 프로토콜에는 SSL, HTTPS, HTTP/2(TLS 사용)가 포함됩니다. GFE 기반 부하 분산기와 내부 HTTP(S) 부하 분산 및 Traffic Director에 사용할 수 있습니다.

보안 백엔드 서비스 프로토콜을 사용하여 부하 분산기를 백엔드에 연결하는 경우 GFE는 SSL 또는 HTTPS 클라이언트입니다. 마찬가지로 Traffic Director를 사용하여 구성된 클라이언트 측 프록시는 보안 백엔드 서비스 프로토콜을 사용하여 백엔드에 연결할 때, 프록시는 SSL 또는 HTTPS 클라이언트입니다.

다음과 같은 경우 백엔드 인스턴스에 연결하기 위한 보안 프로토콜이 권장됩니다.

  • 부하 분산기(또는 Traffic Director)에서 백엔드 인스턴스로 감사 가능하고 암호화된 연결이 필요한 경우

  • 부하 분산기가 인터넷 NEG를 통해 Google Cloud 외부에 있는 백엔드 인스턴스에 연결하는 경우. 인터넷 NEG 백엔드와의 통신은 공개 인터넷을 전송할 수 있습니다. 부하 분산기가 인터넷 NEG에 연결되면 공개 CA 서명 인증서가 유효성 검사 요구사항을 충족해야 합니다.

부하 분산기와 백엔드 간에 보안 프로토콜을 사용하려면 다음 요구사항에 유의하세요.

  • 부하 분산기의 백엔드 서비스는 SSL(TLS), HTTPS 또는 HTTP/2 프로토콜을 사용해야 합니다.

  • 백엔드 인스턴스 소프트웨어는 백엔드 서비스와 동일한 프로토콜을 사용하여 트래픽을 제공해야 합니다. 예를 들어 백엔드 서비스가 HTTPS를 사용하는 경우 HTTPS를 사용하도록 백엔드 인스턴스를 구성해야 합니다. HTTP/2 프로토콜을 사용하는 경우 백엔드는 TLS를 사용해야 합니다. 구성 안내는 백엔드 인스턴스의 소프트웨어 문서를 참조하세요.

  • 백엔드 인스턴스에 비공개 키와 인증서를 설치해야 합니다. 이러한 인증서는 부하 분산기의 SSL 인증서와 일치하지 않아도 됩니다. 설치 안내는 백엔드 인스턴스의 소프트웨어 문서를 참조하세요.

  • 백엔드 인스턴스에서 실행 중인 소프트웨어는 SSL 또는 HTTPS 서버로 작동해야 합니다. 구성 안내는 백엔드 인스턴스의 소프트웨어 문서를 참조하세요.

인스턴스 그룹 또는 영역별 NEG 백엔드를 사용할 때는 다음 사항에 유의하세요.

  • GFE가 백엔드에 대한 TLS 세션을 시작하면 GFE는 서버 이름 표시(SNI) 확장 프로그램을 사용하지 않습니다.

  • GFE가 Google Cloud 내 백엔드에 연결하는 경우 GFE는 백엔드에 있는 모든 인증서를 수락합니다. GFE는 인증서 유효성 검사를 수행하지 않습니다. 예를 들어 다음 상황에서도 인증서가 유효한 것으로 간주됩니다.

    • 인증서가 자체 서명됩니다.
    • 인증서가 알 수 없는 인증 기관(CA)에 의해 서명됩니다.
    • 인증서가 만료되었거나 아직 유효하지 않습니다.
    • CNsubjectAlternativeName 속성이 Host 헤더 또는 DNS PTR 레코드와 일치하지 않습니다.
Google 암호화에 대한 자세한 내용은 Google Cloud의 전송 중인 데이터 암호화를 참조하세요.

부하 분산기, SSL 인증서, 대상 프록시

Google Cloud SSL 인증서 리소스에는 비공개 키와 SSL 인증서 자체가 모두 포함됩니다.

대상 프록시는 부하 분산기의 프런트엔드와 백엔드 서비스(SSL 프록시 부하 분산기용) 또는 URL 맵(HTTPS 부하 분산기용) 간의 논리적 연결을 나타냅니다.

다음 다이어그램에서는 대상 프록시와 연결된 SSL 인증서가 부하 분산 아키텍처에 어떻게 부합하는지 보여줍니다.

대상 프록시, SSL 인증서, 기타 부하 분산기 구성요소(확대하려면 클릭)
대상 프록시, SSL 인증서, 기타 부하 분산기 구성요소(확대하려면 클릭)

SSL 인증서 범위

Google Cloud에는 리전 및 전역의 두 가지 SSL 인증서 리소스 범위가 있습니다.

부하 분산기 유형 SSL 인증서 리소스의 범위 gcloud 참조 API 참조
내부 HTTPS 부하 분산기 리전 gcloud compute ssl-certificates --region regionSslCertificates
외부 HTTPS 부하 분산기 전역 gcloud compute ssl-certificates --global sslCertificates
SSL 프록시 부하 분산기 전역 gcloud compute ssl-certificates --global sslCertificates

대상 프록시

SSL 인증서는 다음 유형의 대상 프록시와 연결됩니다.

부하 분산기 유형 대상 프록시 유형 gcloud 참조 API 참조
내부 HTTPS 부하 분산기 리전 gcloud compute target-https-proxies --region regionTargetHttpsProxies
외부 HTTPS 부하 분산기 전역 gcloud compute target-https-proxies --global targetHttpsProxies
SSL 프록시 부하 분산기 전역 gcloud compute target-ssl-proxies --global targetSslProxies

제한사항

  • 각 대상 프록시에 대해 제한된 수의 SSL 인증서가 지원됩니다. 자세한 내용은 대상 HTTPS 또는 대상 SSL 프록시당 SSL 인증서 제한을 참조하세요.

  • 제한된 수의 도메인이 Google 관리형 인증서별로 지원됩니다. 자세한 내용은 Google 관리형 SSL 인증서별 도메인 제한을 참조하세요.

  • SSL 프록시 부하 분산에서 Google 관리형 인증서를 사용하는 경우 부하 분산기의 전달 규칙은 TCP 포트 443을 사용하여 Google 관리형 인증서를 자동으로 갱신해야 합니다.

  • Google Cloud 부하 분산기는 클라이언트 인증서 기반 인증(상호 TLS, mTLS)을 지원하지 않습니다.

  • Google 관리형 SSL 인증서는 와일드 카드 사용을 지원하지 않습니다.

다음 단계