이 튜토리얼에서는 인증서 관리자를 사용하여 전역 자체 관리형 인증서를 리전 간 내부 애플리케이션 부하 분산기에 배포하는 방법을 보여줍니다.
전역 외부 부하 분산기 또는 리전 부하 분산기에 배포하려면 다음을 참고하세요.
목표
이 튜토리얼에서는 다음 작업을 완료하는 방법을 보여줍니다.
- 인증서 관리자에 자체 관리형 인증서 업로드
- 대상 HTTPS 프록시를 사용하여 지원되는 부하 분산기에 인증서를 배포합니다.
시작하기 전에
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
-
Install the Google Cloud CLI.
-
외부 ID 공급업체 (IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
-
Install the Google Cloud CLI.
-
외부 ID 공급업체 (IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init
인증서 관리자 소유자(
roles/certificatemanager.owner
)인증서 관리자 리소스를 만들고 관리하는 데 필요합니다.
Compute 부하 분산기 관리자 (
roles/compute.loadBalancerAdmin
) 또는 Compute 네트워크 관리자 (roles/compute.networkAdmin
)HTTPS 대상 프록시를 만들고 관리하는 데 필요합니다.
- 인증서 관리자의 역할 및 권한
- Compute Engine의 Compute Engine IAM 역할 및 권한
신뢰할 수 있는 서드 파티 인증 기관 (CA)을 사용하여 관련 키와 함께 인증서를 발급합니다.
인증서가 올바르게 연결되었고 신뢰할 수 있는 루트 인증서인지 확인합니다.
다음 PEM으로 인코딩된 파일을 준비합니다.
- 인증서 파일(CRT)
- 해당 비공개 키 파일(KEY)
Google Cloud 콘솔에서 인증서 관리자 페이지로 이동합니다.
인증서 탭에서 인증서 추가를 클릭합니다.
인증서 이름 필드에 인증서의 고유한 이름을 입력합니다.
선택사항: 설명 필드에 인증서에 대한 설명을 입력합니다. 설명을 통해 인증서를 식별할 수 있습니다.
위치에서 전역을 선택합니다.
범위에 모든 리전을 선택합니다.
인증서 유형에서 자체 관리형 인증서 만들기를 선택합니다.
인증서 필드에서 다음 중 하나를 수행합니다.
- 업로드 버튼을 클릭하고 PEM 형식의 인증서 파일을 선택합니다.
- PEM 형식 인증서의 내용을 복사하여 붙여넣습니다. 내용은
-----BEGIN CERTIFICATE-----
로 시작하고-----END CERTIFICATE-----
로 끝나야 합니다.
비공개 키 인증서 필드에서 다음 중 하나를 수행하세요.
- 업로드 버튼을 클릭하고 비공개 키를 선택합니다. 비공개 키는 PEM 형식이어야 하며 암호로 보호되지 않습니다.
- PEM 형식의 비공개 키 내용을 복사하여 붙여넣습니다. 비공개 키는
-----BEGIN PRIVATE KEY-----
로 시작하고-----END PRIVATE KEY-----
로 끝나야 합니다.
라벨 필드에서 인증서와 연결할 라벨을 지정합니다. 라벨을 추가하려면
라벨 추가를 클릭하고 라벨의 키와 값을 지정합니다.만들기를 클릭합니다.
새 인증서가 인증서 목록에 표시됩니다.
CERTIFICATE_NAME
: 인증서의 이름입니다.CERTIFICATE_FILE
: CRT 인증서 파일의 경로와 파일 이름입니다.PRIVATE_KEY_FILE
: KEY 비공개 키 파일의 경로 및 파일 이름입니다.PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.CERTIFICATE_NAME
: 인증서의 이름입니다.PEM_CERTIFICATE
: 인증서 PEM입니다.PEM_KEY
: 키 PEM입니다.PROXY_NAME
: 대상 프록시 이름URL_MAP
: URL 맵의 이름입니다. 부하 분산기를 만들 때 URL 맵을 만들었습니다.CERTIFICATE_NAME
: 인증서의 이름입니다.
필요한 역할
이 튜토리얼의 태스크를 완료하려면 다음 역할이 부여되었는지 확인하세요.
자세한 내용은 다음을 참조하세요.
부하 분산기 만들기
이 튜토리얼에서는 부하 분산기의 백엔드, 상태 점검, 백엔드 서비스, URL 맵을 이미 만들고 구성했다고 가정합니다. URL 맵의 이름은 이 튜토리얼의 후반부에서 필요하므로 URL 맵 이름을 기록해 둡니다.
교차 리전 내부 애플리케이션 부하 분산기를 만들지 않은 경우 VM 인스턴스 그룹 백엔드로 교차 리전 내부 애플리케이션 부하 분산기 설정을 참고하세요.
비공개 키 및 인증서 만들기
비공개 키와 인증서를 만들려면 다음을 수행합니다.
인증서를 요청하고 유효성을 검사하는 방법에 대한 자세한 내용은 비공개 키 및 인증서 만들기를 참고하세요.
인증서 관리자에 자체 관리형 인증서 업로드
인증서를 인증서 관리자에 업로드하려면 다음을 수행합니다.
콘솔
gcloud
리전 간 자체 관리형 인증서를 만들려면 certificate-manager certificates create
명령어를 사용합니다.
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE" \ --scope=all-regions
다음을 바꿉니다.
Terraform
자체 관리형 인증서를 업로드하려면 self_managed
블록과 함께 google_certificate_manager_certificate
리소스를 사용하면 됩니다.
API
다음과 같이 certificates.create
메서드에 POST
요청을 전송하여 인증서를 만듭니다.
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME { self_managed: { pem_certificate: "PEM_CERTIFICATE", pem_private_key: "PEM_KEY", scope: "ALL_REGIONS" } }
다음을 바꿉니다.
부하 분산기에 자체 관리형 인증서 배포
전역 자체 관리형 인증서를 배포하려면 대상 프록시에 직접 연결합니다.
대상 프록시에 인증서 직접 연결
새 대상 프록시 또는 기존 대상 프록시에 인증서를 연결할 수 있습니다.
인증서를 새 대상 프록시에 연결하려면 gcloud compute
target-https-proxies create
명령어를 사용합니다.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP \ --certificate-manager-certificates=CERTIFICATE_NAME \ --global
다음을 바꿉니다.
기존 대상 HTTPS 프록시에 인증서를 연결하려면 gcloud
compute target-https-proxies update
명령어를 사용합니다. 기존 대상 프록시의 이름을 모르는 경우 대상 프록시 페이지로 이동하여 대상 프록시의 이름을 확인합니다.
gcloud compute target-https-proxies update PROXY_NAME \ --global \ --certificate-manager-certificates=CERTIFICATE_NAME
대상 프록시를 만들거나 업데이트한 후 다음 명령어를 실행하여 확인합니다.
gcloud compute target-https-proxies list
삭제
이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 업로드된 인증서를 삭제하세요.
gcloud certificate-manager certificates delete CERTIFICATE_NAME
CERTIFICATE_NAME
을 대상 인증서의 이름으로 바꿉니다.
부하 분산기를 사용할 계획이 없다면 부하 분산기와 해당 리소스를 삭제합니다. 부하 분산 설정 삭제를 참고하세요.