전역 자체 관리형 인증서 배포


이 튜토리얼에서는 인증서 관리자를 사용하여 전역 자체 관리형 인증서를 배포하는 방법을 설명합니다.

다음 부하 분산기에서 전역 자체 관리형 인증서를 지원합니다.

  • 전역 외부 애플리케이션 부하 분산기
  • 기본 애플리케이션 부하 분산기
  • 전역 외부 프록시 네트워크 부하 분산기
  • 리전 간 내부 애플리케이션 부하 분산기

자체 관리형 인증서를 리전 외부 애플리케이션 부하 분산기나 리전 내부 애플리케이션 부하 분산기에 배포하려면 리전 자체 관리형 인증서 배포를 참조하세요.

목표

이 튜토리얼에서는 다음 작업을 완료하는 방법을 보여줍니다.

  • 인증서 관리자에 자체 관리형 인증서 업로드
  • 대상 HTTPS 프록시를 사용하여 인증서를 지원되는 부하 분산기에 배포합니다.

인증서 배포 프로세스에 대한 자세한 내용은 배포 개요를 참조하세요.

시작하기 전에

  1. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  2. 이 튜토리얼의 태스크를 완료하려면 다음 역할이 부여되었는지 확인하세요.

    • 인증서 관리자 소유자: 인증서 관리자 리소스를 만들고 관리하는 데 필요합니다.
    • Compute 부하 분산기 관리자 또는 Compute 네트워크 관리자: HTTPS 대상 프록시를 만들고 관리하는 데 필요합니다.

    자세한 내용은 다음을 참조하세요.

부하 분산기 만들기

인증서를 배포하려는 부하 분산기를 만듭니다.

이 튜토리얼의 나머지 부분에서는 부하 분산기의 백엔드, 상태 확인, 백엔드 서비스, URL 맵을 이미 구성했다고 가정합니다. URL 맵 이름은 이 튜토리얼의 후반부에서 필요하므로 URL 맵 이름을 기록해 둡니다.

비공개 키 및 인증서 만들기

비공개 키와 인증서를 만들려면 다음을 수행합니다.

  1. 신뢰할 수 있는 서드 파티 인증 기관(CA)을 사용하여 관련 키와 함께 인증서를 발급합니다.

  2. 인증서가 올바르게 연결되었고 신뢰할 수 있는 루트 인증서인지 확인합니다.

  3. 다음 PEM 인코딩 파일을 준비합니다.

    • 인증서 파일(CRT)
    • 해당 비공개 키 파일(KEY)

인증서를 요청하고 유효성을 검사하는 방법에 대한 자세한 내용은 비공개 키 및 인증서 만들기를 참조하세요.

인증서 관리자에 자체 관리형 인증서 업로드

인증서를 인증서 관리자에 업로드하려면 다음을 수행합니다.

전역 외부 애플리케이션 부하 분산기, 기본 애플리케이션 부하 분산기 또는 전역 외부 프록시 네트워크 부하 분산기:

다음 명령어를 실행합니다.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE"

다음을 바꿉니다.

  • CERTIFICATE_NAME: 인증서의 고유한 이름
  • CERTIFICATE_FILE: CRT 인증서 파일의 경로와 파일 이름
  • PRIVATE_KEY_FILE: KEY 비공개 키 파일의 경로 및 파일 이름

리전 간 내부 애플리케이션 부하 분산기:

다음 명령어를 실행합니다.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    --scope=all-regions

다음을 바꿉니다.

  • CERTIFICATE_NAME: 인증서의 고유한 이름
  • CERTIFICATE_FILE: CRT 인증서 파일의 경로와 파일 이름
  • PRIVATE_KEY_FILE: KEY 비공개 키 파일의 경로 및 파일 이름

부하 분산기에 자체 관리형 인증서 배포

다음 섹션에서는 인증서 관리자에 업로드한 자체 관리형 인증서를 부하 분산기에 배포하는 방법을 설명합니다.

부하 분산기 유형에 따라 다음과 같이 인증서를 배포할 수 있습니다.

인증서 맵을 사용하여 인증서 배포

이 섹션에서는 인증서 맵을 사용하여 인증서를 배포하는 단계를 설명합니다.

인증서 맵 만들기

인증서와 연결된 인증서 맵 항목을 참조하는 인증서 맵을 만듭니다.

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

CERTIFICATE_MAP_NAME을 대상 인증서 맵의 이름으로 바꿉니다.

인증서 맵 항목 만들기

인증서 맵 항목을 만들고 자체 관리형 인증서인증서 맵과 연결합니다.

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME" \
    --hostname="HOSTNAME"

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 인증서 맵 항목의 고유한 이름
  • CERTIFICATE_MAP_NAME: 인증서 맵 항목이 연결된 인증서 맵 이름
  • CERTIFICATE_NAME: 인증서 맵 항목과 연결할 인증서 이름
  • HOSTNAME: 인증서 맵 항목과 연결할 호스트 이름

인증서 맵 항목이 활성 상태인지 확인

인증서 맵을 대상 프록시에 연결하기 전에 다음 명령어를 실행하여 인증서 맵 항목이 활성 상태인지 확인합니다.

gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 인증서 맵 항목의 고유한 이름
  • CERTIFICATE_MAP_NAME: 인증서 맵 항목이 연결된 인증서 맵 이름

인증서 맵 항목이 활성 상태이면 Google Cloud CLI는 다음과 비슷한 출력을 반환합니다.

certificates:
createTime: '2021-09-06T10:01:56.229472109Z'
hostname: example.com
name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry
state: ACTIVE
updateTime: '2021-09-06T10:01:58.277031787Z'

HTTPS 대상 프록시 만들기

HTTPS 대상 프록시를 만들려면 대상 프록시 만들기를 참조하세요.

대상 프록시에 인증서 맵 연결

구성된 인증서 맵을 대상 프록시에 연결하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 대상 프록시 페이지로 이동합니다.

    대상 프록시로 이동

  2. 대상 프록시의 이름을 확인합니다.

  3. 인증서 맵을 대상 프록시에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute target-https-proxies update PROXY_NAME \
       --certificate-map="CERTIFICATE_MAP_NAME"
    

    다음을 바꿉니다.

    • PROXY_NAME: 대상 프록시의 이름
    • CERTIFICATE_MAP_NAME: 인증서 맵 항목 및 관련 인증서를 참조하는 인증서 맵의 이름입니다.

TLS(SSL) 인증서가 프록시에 직접 연결된 경우 이 프록시는 직접 연결된 인증서보다 인증서 맵에서 참조하는 인증서를 선호합니다.

전달 규칙 만들기

전달 규칙을 설정하고 부하 분산기 설정을 완료합니다. 자세한 내용은 전달 규칙 사용을 참조하세요.

대상 프록시에 인증서 직접 연결

인증서를 프록시에 직접 연결하려면 다음 명령어를 실행합니다.

gcloud compute target-https-proxies update PROXY_NAME \
    --url-map=URL_MAP \
    --global \
    --certificate-manager-certificates=CERTIFICATE_NAME

다음을 바꿉니다.

  • PROXY_NAME: 프록시의 고유한 이름
  • URL_MAP: URL 맵의 이름 부하 분산기를 만들 때 URL 맵을 만들었습니다.
  • CERTIFICATE_NAME: 인증서의 이름.

삭제

이 튜토리얼의 변경사항을 되돌리려면 다음 단계를 완료합니다.

  1. 인증서 맵을 프록시에서 분리합니다.

    gcloud compute target-https-proxies update PROXY_NAME \
       --clear-certificate-map
    

    PROXY_NAME을 대상 프록시의 이름으로 바꿉니다.

    프록시에서 인증서 맵을 분리하기 전에 다음 사항에 유의하세요.

    • 하나 이상의 TLS(SSL) 인증서가 프록시에 직접 연결되어 있는지 확인합니다. 프록시에 연결된 인증서가 없으면 인증서 맵을 분리할 수 없습니다.
    • 프록시에서 인증서 맵을 분리하면 프록시가 프록시에 직접 연결된 TLS(SSL) 인증서를 사용하여 프록시를 다시 시작할 수 있습니다.
  2. 인증서 맵에서 인증서 맵 항목을 삭제합니다.

    gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
       --map="CERTIFICATE_MAP_NAME"
    

    다음을 바꿉니다.

    • CERTIFICATE_MAP_ENTRY_NAME: 대상 인증서 맵 항목의 이름
    • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름
  3. 인증서 맵을 삭제합니다.

    gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
    

    CERTIFICATE_MAP_NAME을 대상 인증서 맵의 이름으로 바꿉니다.

  4. 업로드된 인증서를 삭제합니다.

    gcloud certificate-manager certificates delete CERTIFICATE_NAME
    

    CERTIFICATE_NAME을 대상 인증서의 이름으로 바꿉니다.

다음 단계