이 페이지에서는 하나 이상의 인증서를 인증서 관리자로 마이그레이션하는 단계를 설명합니다. 다음과 같은 시나리오를 다룹니다.
- 타사 인증서를 인증서 관리자로 마이그레이션합니다.
- Cloud Load Balancing 인증서를 인증서 관리자로 마이그레이션합니다. Cloud Load Balancing 인증서에 대한 자세한 내용은 Cloud Load Balancing 문서의 SSL 인증서 개요를 참조하세요.
두 시나리오 모두 구성 중에 오류가 발생하지 않는 한 다운타임이 발생하지 않습니다.
이 페이지에 언급된 인증서 관리자 항목에 대한 자세한 내용은 인증서 관리자 작동 방식을 참조하세요.
타사 인증서를 인증서 관리자로 마이그레이션
이 섹션에서는 서드 파티 서비스에서 제공하는 인증서 하나 이상을 인증서 관리자로 마이그레이션하는 방법을 설명합니다.
시작하기 전에 지원되는 부하 분산기를 선택하고 설정해야 합니다. 인증서 관리자를 사용하면 다음 부하 분산기 리소스에서 사용할 전송 계층 보안(TLS) 인증서를 획득하고 관리할 수 있습니다.
애플리케이션 부하 분산기에서 사용하는 대상 HTTPS 프록시는 다음과 같습니다.
- 전역 외부 애플리케이션 부하 분산기
- 기본 애플리케이션 부하 분산기
- 리전 외부 애플리케이션 부하 분산기(미리보기)
- 리전 내부 애플리케이션 부하 분산기(미리보기)
- 리전 간 내부 애플리케이션 부하 분산기(미리보기)
프록시 네트워크 부하 분산기에서 사용하는 대상 SSL 프록시는 다음가 같습니다.
- 전역 외부 프록시 네트워크 부하 분산기
- 기본 프록시 네트워크 부하 분산기
마이그레이션하려는 인증서마다 다음 단계를 완료합니다.
DNS 승인을 사용하여 Google 관리형 인증서 배포(튜토리얼)의 설명에 따라 DNS 승인을 사용하여 대상 인증서를 배포합니다(삭제 단계는 포함하지 않음). 부하 분산기로 마이그레이션하는 모든 인증서에 대해 단일 인증서 맵을 사용합니다.
이전 단계에서 배포한 각 인증서에 대해 다음 명령어를 사용하여 부하 분산기의 IP 주소에 있는 인증서를 사용하는 각 도메인에 대한 연결을 테스트합니다.
openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
다음을 바꿉니다.
DOMAIN_NAME
: 대상 도메인의 이름IP_ADDRESS
: 부하 분산기의 IP 주소
연결 테스트에 대한 자세한 내용은 OpenSSL로 테스트를 참조하세요.
부하 분산기의 IP 주소를 가리키도록 DNS A 및 AAAA 레코드 업데이트의 단계를 완료하여 타사 서비스에서 Cloud Load Balancing으로 트래픽을 전환합니다.
Cloud Load Balancing 인증서를 인증서 관리자로 마이그레이션
이 섹션에서는 하나 이상의 Cloud Load Balancing 인증서를 인증서 관리자로 마이그레이션하는 방법을 설명합니다.
마이그레이션할 인증서 식별
마이그레이션하려는 인증서를 식별하려면 다음 단계를 완료하세요.
대상 부하 분산기에서 대상 프록시의 이름을 식별합니다.
연결된 인증서를 포함하여 대상 프록시에 대한 정보를 가져오려면 다음 명령어를 사용하여 마이그레이션할 인증서를 식별합니다.
gcloud compute target-https-proxies describe TARGET_PROXY_NAME
TARGET_PROXY_NAME
을 대상 프록시의 이름으로 바꿉니다.출력은 다음과 비슷합니다.
creationTimestamp: '2021-10-06T04:05:07.520-07:00' fingerprint: c9Txdx6AfcM= id: '365692570234384780' kind: compute#targetHttpsProxy name: my-proxy selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/targetHttpsProxies/my-proxy sslCertificates: - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-first-certificate - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-second-certificate urlMap: https://www.googleapis.com/compute/v1/projects/my-project/global/urlMaps/my-map
자세한 내용은 대상 프록시 정보 가져오기를 참조하세요.
인증서 관리자에서 인증서 만들기
다음과 같이 인증서 관리자에서 선택한 인증서를 만듭니다.
- 자체 관리형 인증서마다 자체 관리형 인증서 업로드 단계를 완료합니다.
- Google 관리형 인증서마다 DNS 승인을 사용하여 Google 관리형 인증서 배포(튜토리얼)의 단계를 완료하여 DNS 승인을 통해 인증서를 만드는 것이 좋습니다('부하 분산기에 인증서 배포' 단계는 포함하지 않음). 이 단계는 이 가이드의 뒷부분에서 완료합니다.
다음 단계로 이동하기 전에 인증서가 활성 상태인지 확인에 설명된 대로 각 인증서 상태가 ACTIVE
로 변경될 때까지 기다립니다.
각 인증서가 발급되고 상태가 ACTIVE
로 변경되는 데 몇 시간이 걸릴 수 있습니다.
인증서 맵 만들기
전역 외부 애플리케이션 부하 분산기 또는 기본 애플리케이션 부하 분산기에 인증서를 배포하려면 인증서 맵 만들기의 단계를 완료하여 인증서 맵을 만듭니다.
리전 외부 애플리케이션 부하 분산기 또는 리전 내부 애플리케이션 부하 분산기에 인증서를 배포하기 위한 인증서 맵이 필요하지 않습니다.
인증서 맵 항목 만들기
전역 외부 애플리케이션 부하 분산기나 기본 애플리케이션 부하 분산기에 인증서를 배포하려면 인증서 맵 항목을 만듭니다. 리전 외부 애플리케이션 부하 분산기나 리전 내부 애플리케이션 부하 분산기에 인증서를 배포하기 위해 인증서 맵 항목이 필요하지 않습니다.
마이그레이션하려는 각 인증서에 대해 다음과 같이 해당 인증서를 참조하는 인증서 맵 항목을 만듭니다.
다음 명령어를 사용하여 인증서의 세부정보를 가져옵니다.
gcloud compute ssl-certificates --project=my-project describe CERTIFICATE_NAME
CERTIFICATE_NAME
을 대상 인증서의 이름으로 바꿉니다.출력은 다음과 비슷합니다.
-----BEGIN CERTIFICATE----- MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63 ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5 cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499 iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b 9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9 NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9 WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw 9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy +qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8= -----END CERTIFICATE----- creationTimestamp: '2021-05-06T04:39:21.736-07:00' expireTime: '2022-06-07T01:10:34.000-07:00' id: '6422259403966690822' kind: compute#sslCertificate managed: domainStatus: a.my-domain1.example.com: ACTIVE b.my-domain2.example.com: ACTIVE domains: - a.my-domain1.example.com - b.my-domain2.example.com status: ACTIVE name: my-certificate selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-certificate subjectAlternativeNames: - a. my-domain1.example.com - b. my-domain2.example.com type: MANAGED
subjectAlternativeNames
필드에 나열된 각 도메인에 대해 인증서 맵 항목 만들기의 단계를 완료하여 해당 도메인을 포함하는 인증서 맵 항목을 만듭니다. 단일 도메인에 두 개 이상의 인증서가 적용되는 경우 하나의 인증서 맵 항목만 만들고 해당 도메인을 포함하는 유효한 인증서를 사용하면 됩니다.선택사항: 기본 인증서 맵 항목 만들기에 설명된 대로 원래 프록시에 연결된 인증서 목록의 첫 번째 인증서에 해당하는 인증서를 참조하는 기본 인증서 맵 항목을 만듭니다.
다음 명령어를 사용하여 생성된 각 인증서 맵 항목이 활성 상태인지 확인합니다.
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
다음을 바꿉니다.
CERTIFICATE_MAP_ENTRY_NAME
: 대상 인증서 맵 항목 이름CERTIFICATE_MAP_NAME
: 이 인증서 맵 항목이 연결된 인증서 맵의 이름
출력은 다음과 비슷합니다.
createTime: '2021-09-06T10:01:56.229472109Z' name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/my-map-entry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
선택사항: 새 부하 분산기에서 구성 테스트
다운타임을 최소화하기 위해서는 프로덕션 트래픽을 제공하지 않는 새 부하 분산기에서 새로 구성된 인증서 맵을 테스트하는 것이 좋습니다. 이렇게 하면 프로덕션 환경에서 마이그레이션을 진행하기 전에 오류를 감지하고 해결할 수 있습니다.
다음과 같이 구성을 테스트합니다.
외부 애플리케이션 부하 분산기 설정에 설명된 대로 새 대상 프록시로 새 부하 분산기를 만듭니다.
외부 애플리케이션 부하 분산기를 사용하는 경우 대상 프록시에 인증서 맵 연결에 설명된 대로 테스트하려는 인증서 맵을 새 부하 분산기의 대상 프록시에 연결합니다.
리전 외부 애플리케이션 부하 분산기 또는 리전 내부 애플리케이션 부하 분산기를 사용하는 경우 리전 자체 관리형 인증서 배포에 설명된 대로 인증서를 대상 프록시에 연결합니다.
마이그레이션에 포함된 각 대상 도메인에 대해 다음 명령어를 사용하여 새 부하 분산기의 IP 주소에서 도메인에 대한 연결을 테스트합니다.
openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
다음을 바꿉니다.
DOMAIN_NAME
: 대상 도메인의 이름IP_ADDRESS
: 새 부하 분산기의 IP 주소
연결 테스트에 대한 자세한 내용은 OpenSSL로 테스트를 참조하세요.
테스트 환경 삭제
다음과 같이 이전 단계에서 만든 테스트 환경을 삭제합니다.
인증서 맵을 프록시에서 분리합니다.
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
PROXY_NAME
을 대상 프록시의 이름으로 바꿉니다.부하 분산기 삭제에 설명된 대로 테스트 부하 분산기를 삭제합니다.
이전 단계에서 만든 인증서, 인증서 맵 또는 인증서 맵 항목을 삭제하지 마세요.
대상 부하 분산기에 새 인증서 맵 적용
새 인증서 구성을 테스트하고 유효한지 확인한 후 다음과 같이 대상 부하 분산기에 새 인증서 맵을 적용합니다.
외부 애플리케이션 부하 분산기를 사용하는 경우 대상 프록시에 인증서 맵 연결에 설명된 대로 새 인증서 맵을 적절한 대상 프록시에 연결합니다.
리전 외부 애플리케이션 부하 분산기 또는 리전 내부 애플리케이션 부하 분산기를 사용하는 경우 리전 자체 관리형 인증서 배포에 설명된 대로 인증서를 대상 프록시에 연결합니다.
구성 변경이 적용되고 부하 분산기가 새 인증서를 제공하기 시작할 때까지 기다립니다. 이 작업은 일반적으로 몇 분 정도 걸리지만 최대 30분이 걸릴 수 있습니다.
트래픽에 문제가 있으면 프록시에서 인증서 맵 분리 단계를 완료하여 대상 프록시에서 새 인증서 맵을 분리합니다. 이렇게 하면 부하 분산기가 원래 구성으로 되돌아갑니다. 그렇지 않으면 이제 새 구성이 완료됩니다.
리전 외부 애플리케이션 부하 분산기 또는 리전 내부 애플리케이션 부하 분산기를 사용하는 경우 이전에 연결된 기본 인증서를 연결하여 변경사항을 되돌립니다.
다음 단계
- DNS 승인을 사용하여 Google 관리형 인증서 배포(튜토리얼)
- 부하 분산기 승인을 사용하여 Google 관리형 인증서 배포(튜토리얼)
- CA 서비스를 사용하여 Google 관리형 인증서 배포(튜토리얼)
- 전역 자체 관리형 인증서 배포(튜토리얼)
- 리전 자체 관리형 인증서 배포(튜토리얼)(미리보기)