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


이 튜토리얼에서는 인증서 관리자를 사용하여 자체 관리형 인증서를 리전 외부 애플리케이션 부하 분산기 또는 리전 내부 애플리케이션 부하 분산기에 배포하는 방법을 보여줍니다.

전역 외부 또는 리전 간 부하 분산기에 배포하려면 다음을 참고하세요.

목표

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

  • 인증서 관리자에 자체 관리형 인증서 업로드
  • 대상 HTTPS 프록시를 사용하여 리전 외부 애플리케이션 부하 분산기 또는 리전 내부 애플리케이션 부하 분산기에 인증서를 배포합니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine, Certificate Manager APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Compute Engine, Certificate Manager APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

필요한 역할

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

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

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

부하 분산기 만들기

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

비공개 키 및 인증서 만들기

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

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

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

  3. 다음과 같은 PEM으로 인코딩된 파일을 준비합니다.

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

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

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

인증서를 인증서 관리자에 업로드하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 인증서 관리자 페이지로 이동합니다.

    인증서 관리자로 이동

  2. 인증서 탭에서 인증서 추가를 클릭합니다.

  3. 인증서 이름 필드에 인증서의 고유한 이름을 입력합니다.

  4. 선택사항: 설명 필드에 인증서에 대한 설명을 입력합니다. 설명을 통해 인증서를 식별할 수 있습니다.

  5. 위치리전을 선택합니다.

  6. 리전 목록에서 리전을 선택합니다.

  7. 인증서 유형에서 자체 관리형 인증서 만들기를 선택합니다.

  8. 인증서 필드에서 다음 중 하나를 수행합니다.

    • 업로드 버튼을 클릭하고 PEM 형식의 인증서 파일을 선택합니다.
    • PEM 형식 인증서의 내용을 복사하여 붙여넣습니다. 내용은 -----BEGIN CERTIFICATE-----로 시작하고 -----END CERTIFICATE-----로 끝나야 합니다.
  9. 비공개 키 인증서 필드에서 다음 중 하나를 수행합니다.

    • 업로드 버튼을 클릭하고 비공개 키를 선택합니다. 비공개 키는 PEM 형식이어야 하며 암호로 보호되지 않습니다.
    • PEM 형식의 비공개 키 내용을 복사하여 붙여넣습니다. 비공개 키는 -----BEGIN PRIVATE KEY-----로 시작하고 -----END PRIVATE KEY-----로 끝나야 합니다.
  10. 라벨 필드에서 인증서에 연결할 라벨을 지정합니다. 라벨을 추가하려면 라벨 추가를 클릭하고 라벨의 키와 값을 지정합니다.

  11. 만들기를 클릭합니다.

    새 인증서가 인증서 목록에 표시됩니다.

gcloud

리전 자체 관리형 인증서를 만들려면 certificate-manager certificates create 명령어를 실행합니다.

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

다음을 바꿉니다.

  • CERTIFICATE_NAME: 인증서의 이름입니다.
  • CERTIFICATE_FILE: CRT 인증서 파일의 경로와 파일 이름입니다.
  • PRIVATE_KEY_FILE: KEY 비공개 키 파일의 경로 및 파일 이름입니다.
  • LOCATION: 대상 Google Cloud 위치입니다.

Terraform

자체 관리형 인증서를 업로드하려면 self_managed 블록과 함께 google_certificate_manager_certificate 리소스를 사용하면 됩니다.

API

다음과 같이 certificates.create 메서드에 POST 요청을 전송하여 인증서를 만듭니다.

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME
{
  self_managed: {
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
  }
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_NAME: 인증서의 이름입니다.
  • PEM_CERTIFICATE: 인증서 PEM입니다.
  • PEM_KEY: 키 PEM입니다.
  • LOCATION: 대상 Google Cloud 위치입니다.

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

자체 관리형 인증서를 배포하려면 대상 프록시에 직접 연결합니다.

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

인증서 맵을 새 대상 프록시 또는 기존 대상 프록시에 연결할 수 있습니다.

인증서 맵을 새 대상 프록시에 연결하려면 gcloud compute target-https-proxies create 명령어를 사용합니다.

gcloud compute target-https-proxies create PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME" \
    --url-map=URL_MAP \
    --region=LOCATION

다음을 바꿉니다.

  • PROXY_NAME: 대상 프록시 이름
  • URL_MAP: URL 맵의 이름입니다. 부하 분산기를 만들 때 URL 맵을 만들었습니다.
  • LOCATION: HTTPS 대상 프록시를 만들 대상 Google Cloud 위치입니다.
  • CERTIFICATE_NAME: 인증서의 이름입니다.

인증서 맵을 기존 대상 HTTPS 프록시에 연결하려면 gcloud compute target-https-proxies update 명령어를 사용합니다. 기존 대상 프록시의 이름을 모르는 경우 대상 프록시 페이지로 이동하여 대상 프록시의 이름을 확인합니다.

gcloud compute target-https-proxies update PROXY_NAME \
    --region=LOCATION \
    --certificate-manager-certificates=CERTIFICATE_NAME

대상 프록시를 만들거나 업데이트한 후 다음 명령어를 실행하여 확인합니다.

gcloud compute target-https-proxies list

삭제

이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 업로드한 인증서를 삭제합니다.

gcloud certificate-manager certificates delete CERTIFICATE_NAME

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

부하 분산기를 사용하지 않을 계획이라면 부하 분산기와 리소스를 삭제합니다. 부하 분산 설정 삭제를 참고하세요.

다음 단계