보안 웹 프록시 인스턴스 배포
이 빠른 시작 가이드에서는 보안 웹 프록시 인스턴스를 배포하고 테스트하는 방법을 설명합니다.
이 단계에서는 명시적 프록시로 작동하는 명시적 라우팅 모드에서 보안 웹 프록시를 배포하는 방법을 설명합니다. 명시적 라우팅 모드의 보안 웹 프록시 인스턴스는 Private Service Connect 서비스로 게시할 수 있습니다.
또는 다음 홉 라우팅 모드에서 보안 웹 프록시를 배포할 수 있습니다. 자세한 내용은 보안 웹 프록시를 다음 홉으로 배포를 참고하세요.
시작하기 전에
초기 설정 단계를 완료합니다.
선택사항: 이 가이드에 지정된
gcloud
명령줄 예시를 실행하려면 다음 개발 환경 중 하나에 Google Cloud CLI를 설치합니다.Cloud Shell
gcloud CLI로 이미 설정된 온라인 터미널을 사용하려면 Cloud Shell을 활성화하세요.
이 페이지 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 사용할 수 있는지 확인합니다.로컬 셸
로컬 개발 환경을 사용하려면 다음 단계를 수행합니다.
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
Linux 가상 머신 (VM) 인스턴스를 만듭니다.
gcloud compute instances create swp-test-vm \ --subnet=default \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-11
ZONE
을 테스트 VM 인스턴스의 영역으로 바꿉니다.Compute Engine은 VM을 만드는 사용자에게 Compute 인스턴스 관리자 역할(
roles/compute.instanceAdmin
)을 부여합니다. Compute Engine은 해당 사용자를 sudo 그룹에 추가합니다.방화벽 규칙을 만듭니다.
gcloud compute firewall-rules create default-allow-ssh \ --direction=INGRESS \ --priority=1000 \ --network=default \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=0.0.0.0/0
보안 웹 프록시 정책 만들기
콘솔
Google Cloud 콘솔에서 SWP 정책 페이지로 이동합니다.
정책 만들기를 클릭합니다.
만들려는 정책의 이름을 입력합니다(예:
policy1
).정책의 설명을 입력합니다(예:
My new swp policy
).리전 목록에서 웹 프록시 정책을 만들 리전을 선택합니다.
정책에 대한 규칙을 만들려면 규칙 추가를 클릭합니다. 자세한 내용은 보안 웹 프록시 규칙 만들기 섹션을 참고하세요.
만들기를 클릭합니다.
Cloud Shell
policy.yaml
파일을 생성합니다.description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 프로젝트 IDREGION
: 정책의 리전
보안 웹 프록시 정책을 만듭니다.
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml \ --location=REGION
보안 웹 프록시 규칙 만들기
콘솔
Google Cloud 콘솔에서 SWP 정책 페이지로 이동합니다.
정책 이름을 클릭합니다.
규칙 추가를 클릭합니다.
다음 규칙 필드를 채웁니다.
- 이름
- 설명
- 상태
- 우선순위: 규칙의 평가 순서(번호순)입니다. 규칙은 가장 높은 우선순위에서 가장 낮은 우선순위로 평가되며
0
는 가장 높은 우선순위입니다. - 작업 섹션에서 규칙과 일치하는 연결을 허용(허용)하거나 거부(거부)할지 지정합니다.
- 세션 일치 섹션에서 세션을 일치시키는 기준을 지정합니다.
SessionMatcher
의 구문에 대한 자세한 내용은 CEL 일치자 언어 참조를 참고하세요. 애플리케이션 일치 섹션에서 요청을 일치시키는 기준을 지정합니다. TLS 검사에 대한 규칙을 사용 설정하지 않았으므로 해당 요청은 HTTP 트래픽만 일치시킬 수 있습니다.
TPC 트래픽 일치에 대한 자세한 내용은 애플리케이션의 TCP 프록시 규칙 구성을 참고하세요.
만들기를 클릭합니다.
규칙 추가를 클릭하여 다른 규칙을 추가합니다.
Cloud Shell
여기에 표시된 대로
rule.yaml
파일을 만듭니다.SessionMatcher
의 구문에 대한 자세한 내용은 CEL 일치자 언어 참조를 참고하세요.name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org description: Allow wikipedia.org enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'www.wikipedia.org'
보안 정책 규칙을 만듭니다.
gcloud network-security gateway-security-policies rules import allow-wikipedia-org \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1
웹 프록시 설정
이 섹션에서는 명시적 프록시로 작동하는 명시적 라우팅 모드에서 보안 웹 프록시를 배포하는 방법을 설명합니다.
콘솔
Google Cloud 콘솔에서 웹 프록시 페이지로 이동합니다.
보안 웹 프록시 만들기를 클릭합니다.
만들려는 웹 프록시의 이름(예:
myswp
)을 입력합니다.웹 프록시에 대한 설명(예:
My new swp
)을 입력합니다.라우팅 모드에서 명시적 옵션을 선택합니다.
리전 목록에서 웹 프록시를 만들 리전을 선택합니다.
네트워크 목록에서 웹 프록시를 만들 네트워크를 선택합니다.
서브네트워크 목록에서 웹 프록시를 만들 서브네트워크를 선택합니다.
선택사항: 보안 웹 프록시 IP 주소를 입력합니다. 이전 단계에서 만든 서브네트워크에 있는 보안 웹 프록시 IP 주소 범위의 IP 주소를 입력할 수 있습니다. IP 주소를 입력하지 않으면 보안 웹 프록시 인스턴스가 선택한 서브네트워크에서 IP 주소를 자동으로 선택합니다.
인증서 목록에서 웹 프록시를 만드는 데 사용할 인증서를 선택합니다.
정책 목록에서 웹 프록시를 연결하기 위해 만든 정책을 선택합니다.
만들기를 클릭합니다.
Cloud Shell
gateway.yaml
파일을 생성합니다.name: projects/PROJECT_ID/locations/REGION/gateways/swp1 type: SECURE_WEB_GATEWAY addresses: ["IP_ADDRESS"] ports: [443] gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 network: projects/PROJECT_ID/global/networks/NETWORK subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK routingMode: EXPLICIT_ROUTING_MODE
다음을 바꿉니다.
gateway.yaml
를 기반으로 보안 웹 프록시 인스턴스를 만듭니다.gcloud network-services gateways import swp1 \ --source=gateway.yaml \ --location=REGION
보안 웹 프록시 인스턴스를 배포하는 데 몇 분 정도 걸릴 수 있습니다.
연결 테스트
이전에 프로비저닝한 VM에 연결합니다.
gcloud compute ssh swp-test-vm \ --zone=ZONE
ZONE
을 테스트 VM 인스턴스의 영역으로 바꿉니다.보안 웹 프록시 인스턴스를 테스트합니다.
curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.org
IP_ADDRESS
를 보안 웹 프록시 인스턴스의 IP 주소로 바꿉니다. 이 명령어는 www.wikipedia.org에서 반환된 HTTP 상태 코드를 출력합니다. 명령어가 성공하면 상태 코드는200
입니다. 하지만 프록시에 문제가 있으면 명령어가 연결 오류를 나타내는000
상태 코드를 반환합니다. 자세한 오류 메시지를 보려면 명령어에-v
옵션을 추가하세요.
이 페이지에 언급된 예에서는 TLS 검사가 구성되지 않았습니다. TLS 검사를 위해 보안 웹 프록시를 구성한 다음 보안 웹 프록시 인스턴스를 테스트하는 방법에 관한 자세한 내용은 TLS 검사 사용 설정을 참고하세요.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
swp1
보안 웹 프록시 인스턴스 삭제
콘솔
Google Cloud 콘솔에서 웹 프록시 페이지로 이동합니다. 모든 웹 프록시 목록을 보거나 특정 네트워크에서 사용할 수 있는 웹 프록시만 볼 수 있습니다.
삭제할 웹 프록시를 선택합니다.
삭제를 클릭합니다.
삭제를 다시 클릭하여 확인합니다.
Cloud Shell
gcloud network-services gateways delete swp1 \
--location=REGION
REGION
을 보안 웹 프록시 인스턴스의 리전으로 바꿉니다.
allow-wikipedia-org
규칙 삭제
콘솔
Google Cloud 콘솔에서 웹 프록시 페이지로 이동합니다. 모든 웹 프록시 목록을 보거나 특정 네트워크에서 사용할 수 있는 웹 프록시만 볼 수 있습니다.
정책을 클릭합니다.
삭제하려는 규칙을 선택합니다.
삭제를 클릭합니다.
삭제를 다시 클릭하여 확인합니다.
Cloud Shell
gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
--location=REGION \
--gateway-security-policy=policy1
REGION
을 정책의 리전으로 바꿉니다.
policy1
보안 웹 프록시 정책 삭제
콘솔
Google Cloud 콘솔에서 웹 프록시 페이지로 이동합니다. 모든 웹 프록시 목록을 보거나 특정 네트워크에서 사용할 수 있는 웹 프록시만 볼 수 있습니다.
삭제할 정책을 클릭합니다.
삭제를 클릭합니다.
삭제를 다시 클릭하여 확인합니다.
Cloud Shell
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
REGION
을 정책의 리전으로 바꿉니다.
swp-test-vm
Linux VM 인스턴스 삭제
콘솔
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
삭제할 인스턴스를 선택합니다.
삭제를 클릭합니다.
Cloud Shell
gcloud compute instances delete swp-test-vm