이 문서에서는 보안 웹 프록시를 사용하는 데 필요한 초기 설정 단계를 설명합니다.
보안 웹 프록시를 사용하려면 다음 설정을 완료해야 합니다.
- 필요한 Identity and Access Management 역할을 가져옵니다.
- Google Cloud 프로젝트를 만들거나 선택합니다.
- 결제 및 관련 Google Cloud API를 사용 설정합니다.
- 프록시 서브넷을 만듭니다.
- 인증서 관리자에 SSL 인증서를 업로드합니다.
이 설정은 Secure Web Proxy를 처음 사용할 때만 필요합니다.
IAM 역할 획득
권한을 얻으려면 다음 단계를 따르세요.
-
보안 웹 프록시 인스턴스를 프로비저닝하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
정책을 구성하고 보안 웹 프록시 인스턴스를 프로비저닝: Compute 네트워크 관리자 역할 (
roles/compute.networkAdmin
) -
명시적 보안 웹 프록시 TLS 인증서 업로드: 인증서 관리자 편집자 역할 (
roles/certificatemanager.editor
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
-
정책을 구성하고 보안 웹 프록시 인스턴스를 프로비저닝: Compute 네트워크 관리자 역할 (
선택사항: 지속적인 정책 관리를 담당하는 사용자 집단이 있는 경우 보안 정책 관리자 역할(
roles/compute.orgSecurityPolicyAdmin
)을 부여하여 보안 정책을 관리하도록 허용합니다.
Google Cloud 프로젝트 만들기
Google Cloud 프로젝트를 만들거나 선택하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
Cloud Shell
Google Cloud 프로젝트를 만듭니다.
gcloud projects create PROJECT_ID
PROJECT_ID를 원하는 프로젝트 ID로 바꿉니다.
생성한 Google Cloud 프로젝트를 선택합니다.
gcloud config set project PROJECT_ID
결제 사용 설정
Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 자세한 내용은 프로젝트의 결제 사용 설정, 사용 중지, 변경 및 프로젝트의 결제 상태 확인을 참고하세요.
필요한 API 사용 설정
다음 Google Cloud API를 사용 설정해야 합니다.
compute.googleapis.com
certificatemanager.googleapis.com
networkservices.googleapis.com
networksecurity.googleapis.com
privateca.googleapis.com
(선택사항)
필요한 Google Cloud API를 사용 설정하려면 다음 단계를 따르세요.
콘솔
Compute Engine API를 사용 설정합니다.
Certificate Manager API를 사용 설정합니다.
Network Services API를 사용 설정합니다.
Network Security API를 사용 설정합니다.
선택사항: 프록시에 대해 TLS 검사를 구성하려면 Certificate Authority Service API를 사용 설정해야 합니다.
gcloud
다음 명령어를 실행합니다.
gcloud services enable \ --compute.googleapis.com \ --certificatemanager.googleapis.com \ --networkservices.googleapis.com \ --networksecurity.googleapis.com \ --privateca.googleapis.com
VPC 서브넷 만들기
보안 웹 프록시 인스턴스를 배포할 각 리전의 VPC 네트워크에 서브넷을 만듭니다. 이전에 서브넷을 만든 경우 purpose
매개변수의 값을 PRIVATE
로 지정하여 VPC 서브넷으로 재사용할 수 있습니다.
gcloud
gcloud compute networks subnets create VPC_SUBNET_NAME \
--purpose=PRIVATE \
--region=REGION \
--network=NETWORK_NAME \
--range=IP_RANGE
다음을 바꿉니다.
VPC_SUBNET_NAME
: VPC 서브넷에 사용할 이름REGION
: VPC 서브넷을 배포할 리전NETWORK_NAME
: VPC 네트워크의 이름입니다.IP_RANGE
: 서브넷 범위(예:10.10.10.0/24
)
프록시 서브넷 만들기
보안 웹 프록시를 배포할 각 리전에 프록시 서브넷을 만듭니다. 서브넷 크기를 최소 /26 또는 64의 프록시 전용 주소로 만듭니다. 보안 웹 프록시 연결은 보안 웹 프록시에 예약된 IP 주소 풀에 의해 제공되므로 서브넷 크기를 /23 또는 512 프록시 전용 주소로 사용하는 것이 좋습니다. 이 풀은 각 프록시의 이그레스 측에 Cloud NAT 및 VPC 네트워크의 대상과 상호작용할 수 있도록 고유한 IP 주소를 할당하는 데 사용됩니다.
gcloud
gcloud compute networks subnets create PROXY_SUBNET_NAME \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=REGION \
--network=NETWORK_NAME \
--range=IP_RANGE
다음을 바꿉니다.
PROXY_SUBNET_NAME
: 프록시 서브넷에 사용할 이름REGION
: 프록시 서브넷을 배포할 리전NETWORK_NAME
: 네트워크 이름IP_RANGE
: 서브넷 범위(예:192.168.0.0/23
)
SSL 인증서 배포
보안 웹 프록시의 경우 SSL 인증서는 선택사항입니다. 인증서 관리자를 사용하여 인증서를 배포하려면 다음 방법 중 하나를 사용하세요.
프로젝트별 DNS 승인을 사용하여 리전별 Google 관리형 인증서를 배포합니다. 자세한 내용은 리전별 Google 관리형 인증서 배포를 참조하세요.
Certificate Authority Service로 리전 Google 관리형 인증서 배포 자세한 내용은 CA 서비스를 사용하여 리전별 Google 관리형 인증서 배포를 참조하세요.
리전 자체 관리형 인증서 배포
다음 예에서는 인증서 관리자를 사용하여 리전별 자체 관리형 인증서를 배포하는 방법을 보여줍니다.
SSL 인증서를 만들려면 다음 안내를 따르세요.
openssl req -x509 -newkey rsa:2048 \ -keyout KEY_PATH \ -out CERTIFICATE_PATH -days 365 \ -subj '/CN=SWP_HOST_NAME' -nodes -addext \ "subjectAltName=DNS:SWP_HOST_NAME"
다음을 바꿉니다.
KEY_PATH
: 키를 저장할 경로(예:~/key.pem
)CERTIFICATE_PATH
: 인증서를 저장할 경로(예:~/cert.pem
)SWP_HOST_NAME
: 보안 웹 프록시 인스턴스의 호스트 이름입니다(예:myswp.example.com
).
SSL 인증서를 인증서 관리자에 업로드하려면 다음 단계를 따르세요.
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file=CERTIFICATE_PATH \ --private-key-file=KEY_PATH \ --location=REGION
다음을 바꿉니다.
CERTIFICATE_NAME
: 인증서의 이름CERTIFICATE_PATH
: 인증서 파일 경로KEY_PATH
: 키 파일의 경로
SSL 인증서에 대한 자세한 내용은 SSL 인증서 개요를 참고하세요.