Google PCNE: 네트워크 자동화, 거버넌스 및 비용 운영 — 학습 가이드
다음의 일부입니다: Google Professional Cloud Network Engineer — 학습 가이드. 검증된 답안으로 연습하기: Google 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Google Cloud에서의 네트워크 자동화, 거버넌스, 비용 운영은 대규모 네트워크를 얼마나 안정적이고, 안전하며, 경제적으로 운영할 수 있는지를 결정하는 분리할 수 없는 분야입니다. 효과적인实践(practice)은 잘 구조화된 리소스 계층 구조와 최소 권한 IAM을 코드형 인프라(IaC) 및 이벤트 기반 워크플로와 결합하며, 이 모든 것은 명확한 예산, 할당량, 감사 가능성을 기반으로 합니다. 최종 목표는 예측 가능한 프로비저닝, 최소한의 수동 변경, 방어 가능한 규정 준수 증거, 그리고 네트워킹에 대한 투명한 단위 경제성을 확보하는 것입니다.
거버넌스 및 액세스 제어
리소스 계층 구조
- 조직 → 폴더 → 프로젝트는 권한 상속 및 정책 가드레일을 위한 컨트롤 플레인입니다. 프로덕션과 비-프로덕션을 별도의 폴더에 배치하여 정책과 할당량을 격리하십시오. VPC, 서브넷, 라우터, 전달 규칙, 인스턴스에 레이블을 사용하여 비용을 할당하고 리소스를 타겟팅하십시오.
- Shared VPC는 호스트 프로젝트에서 라우팅 및 연결을 통합하는 동시에 서비스 프로젝트에 컴퓨팅을 위임합니다. 각 서비스 프로젝트에 필요한 서브넷만 공유하여 네트워크를 명시적으로 노출하는 원칙을 따르고 의도하지 않은 경로 노출을 줄이십시오.
IAM 및 최소 권한
- 네트워크 관리와 보안 관리를 분리하십시오. Compute Network Admin은 네트워킹 구성 요소에 대한 전체 제어 권한과 방화벽 규칙에 대한 읽기 전용 액세스를 부여하는 반면, Security Admin은 방화벽 규칙과 SSL 인증서를 관리합니다. 이러한 분리는 과도한 권한을 가진 운영자를 방지하고 변경 관리와 일치합니다.
- 타겟팅된 역할 부여:
- 방화벽 규칙을 수정하려면 Shared VPC에 Security Admin을 사용하십시오.
- VLAN 연결 및 기타 핵심 네트워크 리소스를 관리하려면 Compute Network Admin이 적합합니다.
- 특정 리소스에 대한 자동화를 위해, 가능한 경우 프로젝트 전체 역할 대신 리소스 수준 권한을 부여하거나, 필요한 권한으로 제한된 커스텀 역할을 생성하십시오.
- 영구 키 대신 서비스 계정 가장(impersonation) 및 단기 토큰 사용을 선호하십시오. 가능한 경우 조직 정책을 통해 서비스 계정 키 생성을 비활성화하십시오. 온프레미스 또는 멀티 클라우드 자동화를 위해 Workload Identity Federation을 사용하여 키를 완전히 제거하십시오.
- 데이터 플레인 작업에 대해 최소 권한 액세스 원칙을 따르십시오. 예를 들어, Cloud Storage를 읽는 작업은 프로젝트에 대한 광범위한 편집자(editor) 역할이 아니라 대상 버킷에 대한 storage object viewer 역할만 필요합니다.
조직 정책
- 기본적으로 VM에 ‘외부 IP 없음’을 강제 적용하고, Private Google Access와 Cloud NAT를 사용하여 공개 주소 없이 Google API에 도달하도록 하십시오.
- 피어링 및 외부 공유를 승인된 패턴으로 제한하십시오 (예: 무분별한 확장을 방지하기 위해 VPC 피어링 구성 제한).
- 자격 증명 확산을 제한하기 위해 서비스 계정 키 생성 및 서비스 계정 사용을 제한하십시오.
- 실패 모드 및 절충점:
- 폴더 수준에서 지나치게 광범위하게 상속된 역할은 여러 프로젝트에 조용히 쓰기 접근 권한을 부여할 수 있습니다. 유효 권한 분석으로 역할 바인딩을 검토하십시오.
- Private Google Access 및 NAT에 대한 계획 없이 VM의 외부 IP를 차단하면 Google 서비스 호출 시 서비스 중단을 초래합니다.
- 자동 모드 서브넷을 가정했던 템플릿을 리팩토링하지 않고 VPC를 자동 모드에서 커스텀 모드로 전환하면 배포가 중단됩니다. 이후에는 커스텀 서브넷을 명시적으로 참조해야 합니다.
자동화, IaC, 및 이벤트 기반 운영
Terraform을 사용한 코드형 인프라(IaC)
- 모듈식 설계를 사용하십시오: 기본 요소(VPC, 서브넷, 방화벽, Cloud Router, Cloud NAT, 인터커넥트 연결)당 하나의 모듈을 만들고, 이를 조합하여 환경 스택을 구성합니다. 롤아웃을 제어하기 위해 모듈을 버전 관리하고 사용하는 스택에서 버전을 고정하십시오.
- 동시 변경을 방지하기 위해 잠금 기능이 있는 원격 저장소(예: 백엔드 패턴을 통해 Dynamo 스타일 잠금을 사용하는 Cloud Storage)에 상태(state)를 저장하십시오. 상태를 암호화하고 백업하며, 민감한 정보로 취급하십시오.
- 드리프트(Drift) 관리:
- CI에서 풀 리퀘스트(pull request)와 terraform plan을 통해 변경을 강제하여 의도된 상태와 실제 상태의 차이를 파악하십시오. 예약된 드리프트 감지(plan -detailed-exitcode)를 실행하고 드리프트가 나타나면 알림을 발생시키십시오.
- 프로덕션 환경에서 임시방편적인 gcloud 변경을 피하십시오. 긴급 수정이 필요한 경우, 이를 기록하고 즉시 코드에 반영하여 일치시키십시오.
- 멱등성(Idempotence) 및 가드레일: 항상 계획(plan), 검토(review), 적용(apply)하십시오. 영향 범위를 최소화하기 위해 타겟팅된 적용(apply)을 사용하십시오. 변수 유효성 검사 및 정책 기반 코드(예: Sentinel 또는 OPA)를 사용하여 중복되는 CIDR 또는 개방된 방화벽과 같은 안티패턴을 차단하십시오.
gcloud, API, 및 워크플로
- 지연 시간이 짧은 운영 작업에는 gcloud와 REST를 사용하되, 반복 가능한 스크립트로 래핑하십시오. 재시도 및 지수 백오프(exponential backoff)를 사용하여 최종 일관성 및 API 속도 제한을 처리하십시오.
- 이벤트 기반 운영:
- Cloud Scheduler + Pub/Sub + Cloud Run/Cloud Functions를 사용하여 할당량 확인, NAT 사용률 감사, 방화벽 로깅 샘플링과 같은 일상적인 작업을 자동화하십시오.
- Admin Activity 및 Data Access 로그를 Pub/Sub으로 스트리밍하여 가드레일 워크플로(예: 승인되지 않은 방화벽 규칙 변경 자동 복구)를 트리거하십시오.
- 예제 스니펫
- 역할 부여:
- gcloud projects add-iam-policy-binding PROJECT –member=user:alice@example.com –role=roles/compute.networkAdmin
- NGFW로 가는 기본 경로를 우회하여 Google API로 가는 경로 생성:
- gcloud compute routes create google-apis-egress –network=NET –destination-range=199.36.153.8/30 –next-hop-gateway=default-internet-gateway –priority=800
- 역할 부여:
운영상의 함정
- 여러 파이프라인이 공유 리소스(예: 공통 VPC의 방화벽)를 관리할 때 발생하는 경쟁 조건(Race condition)은 플래핑(flapping)을 유발합니다. 소유권 규칙과 폴더 범위 파이프라인을 사용하십시오.
- 높은 병렬 처리 시 API 불안정성은 할당량 오류를 유발합니다. 리전 및 리소스 유형별로 작업을 스로틀링하고 배치 처리하십시오.
비용, 할당량 및 용량 관리
할당량 및 API 한도
- 프로젝트별 및 리전별 할당량(주소, 전달 규칙, 방화벽 규칙, 상호 연결 첨부 파일, 라우터)을 추적합니다. 할당량 모니터링을 자동화하고 새 환경이 배포되기 전에 증가를 요청합니다. 사전 할당량 확인을 CI에 포함하여 조기에 실패하도록 합니다.
- 다음과 같은 방법으로 대규모로 프로비저닝합니다.
- 리전별 샤딩(리전별 할당량 경합을 피하기 위해 리전별로 리소스 생성).
- 사전 할당(피크 이벤트에 앞서 주소를 예약하고 라우터를 설정).
- 단계적 출시(백엔드 생성, 검증 후 연결).
이그레스 및 토폴로지 경제성
- VPC 내 리전 간 트래픽은 리전 간 이그레스 비용을 발생시킵니다. 지연 시간과 비용이 중요한 경우 통신하는 워크로드를 동일한 리전에 배치하거나 데이터를 리전별로 복제합니다.
- us-east1 및 europe-west1 근처의 사용자의 경우, 리전 서브넷이 있는 단일 VPC는 비공개 RFC1918 통신을 가능하게 하여 NAT 및 피어링 오버헤드를 최소화하면서 간단한 정책 및 라우팅을 허용합니다.
- NAT 및 전이적 라우팅 없이 프로젝트 또는 부서 간의 오버헤드가 적은 연결을 위해 VPC Network Peering을 사용하고, CIDR이 겹치지 않도록 유지합니다. 통신해서는 안 되는 부서를 격리하려면 별도의 VPC를 사용합니다.
- Cloud CDN은 HTTP(S) 트래픽의 이그레스를 줄이고 지연 시간을 개선합니다. 전역 HTTP(S) 부하 분산기는 CDN의 컨트롤 플레인입니다. 네트워크 부하 분산기는 엣지 배포 및 캐싱이 부족하기 때문에 웹 앱의 전역 지연 시간을 개선하지 않습니다.
- 상호 연결을 현명하게 선택하세요: 호스트 프로젝트의 VLAN 첨부 파일이 있는 Dedicated Interconnect는 관리를 중앙 집중화하고 대규모 공유 온프레미스 연결에 대한 프로젝트별 비용을 절감합니다. Cloud Router와 함께 Cloud VPN을 사용하는 것은 조직 간의 빠르고 암호화된 연결에 적합하며, 나중에 상호 연결로 발전할 수 있습니다.
비용 할당, 예산 및 예측
- 모든 네트워크 리소스에 부서, 환경 및 비용 센터에 대한 라벨로 태그를 지정합니다. 결제 데이터를 BigQuery로 내보내고 단위 비용(예: 서비스당 이그레스 $/GB)을 도출합니다.
- 프로젝트, 폴더 또는 라벨 세분성으로 예산을 생성합니다. Pub/Sub으로 알림을 보내고 ChatOps 또는 Cloud Run 응답기에 연결합니다. 초과 시 조치를 자동화합니다(예: 로깅 샘플링 감소 또는 중요하지 않은 테스트 환경 축소).
- 이그레스 최적화:
- 외부 IP 대신 Private Google Access 및 Cloud NAT를 사용하여 이그레스 경로를 제어하고 결제를 중앙 집중화하는 것을 선호합니다.
- 강제 터널링 토폴로지의 경우, 타사 방화벽을 통한 헤어피닝을 방지하기 위해 Google API에 대한 사용자 지정 경로를 기본 인터넷 게이트웨이에 추가하거나 온프레미스용 Private Google Access를 구성합니다.
- VPC Flow Logs 및 부하 분산기 로그를 분석하여 용량을 예측하고 계절성과 연관시킵니다. 피크에 앞서 NAT 게이트웨이 및 상호 연결 용량을 적절한 크기로 조정합니다.
감사 가능성 및 운영 우수성
로깅 및 증거
- Cloud Audit Logs:
- Admin Activity 로그는 VPC, 경로, 방화벽, 라우터, 부하 분산기에 대한 제어 영역 변경 사항을 캡처하며 항상 활성화되어 있습니다. 중앙에서 보관하고 필요한 경우 CMEK를 사용하여 보안 프로젝트로 라우팅합니다.
- 네트워킹 API에 대한 Data Access 로그는 양이 많을 수 있으므로 선택적으로 활성화하고 샘플링 또는 싱크를 적용합니다.
- VPC Flow Logs와 Firewall Rules Logging은 사고 대응 및 규정 준수를 위한 데이터 영역 증거를 제공합니다. 필요한 보존 기간 동안 저장하고 조사를 위해 BigQuery로 인덱싱합니다.
- 변경 기록: 모든 네트워크 변경은 불변의 계획 아티팩트와 티켓 참조가 있는 IaC에서 시작하도록 요구합니다. 예외적인 수동 변경의 경우,
gcloud명령어, 운영자, 타임스탬프, 사유를 중앙 레지스트리에 캡처합니다.
- Cloud Audit Logs:
보안 자격 증명 및 자동화 위험 관리
- 수명이 긴 서비스 계정 키를 제거합니다. IAM Conditions를 사용하여 리소스, 시간 또는 IP별로 자동화 범위를 지정합니다. 승인 워크플로를 통해 위험이 큰 권한(예:
compute.firewalls.update,compute.routers.updateBgpPeer)을 보호합니다. - CI/CD에 최소 권한 원칙을 적용하고, 환경별 서비스 계정을 사용하며, 토큰을 자주 교체합니다. 데이터 유출 위험이 있는 경우 VPC Service Controls를 사용하여 서비스 경계를 보호합니다.
- 수명이 긴 서비스 계정 키를 제거합니다. IAM Conditions를 사용하여 리소스, 시간 또는 IP별로 자동화 범위를 지정합니다. 승인 워크플로를 통해 위험이 큰 권한(예:
런북, 수명 주기 및 지속적인 개선
- 일상적인 운영을 위한 런북을 유지 관리합니다: 프로젝트를 Shared VPC에 온보딩, VPC 피어링 생성, IKEv2를 사용한 Cloud VPN 설정, 미리보기 모드의 Cloud Armor 규칙을 적용 모드로 승격.
- 수명 주기 정책 정의:
- 동일한 Terraform 모듈과 지역별 변수를 사용하여 Sandbox → Staging → Production으로 승격합니다.
- 피어링, NAT, 경로를 안전하게 제거하기 위한 서비스 해제 플레이북을 마련합니다.
- 지속적인 개선:
- 사후 검토는 모듈에 다시 피드백되어야 합니다(예: 명시적 허용 목록과 함께 기본 거부 이그레스 추가 또는 기본적으로 NAT 로깅 활성화).
- 조직 정책, 라벨, 예산을 정기적으로 검토하여 의도한 상태에서 벗어나는지 확인합니다.
실제 문제 시나리오
Contoso Retail은 북미와 유럽에서 운영됩니다. 사용자와 서비스는 주로 us-east1과 europe-west1에서 실행됩니다. 보안팀은 타사 NGFW로의 기본 경로 설정, VM에 외부 IP 미할당, 중앙 집중식 온프레미스 연결을 요구합니다. 또한 부서별 명확한 비용 할당과 자동화된 가드레일이 필요합니다.
- 거버넌스 및 토폴로지 구축
- us-east1과 europe-west1에 두 개의 리전 서브넷이 있는 단일 VPC를 가진 Shared VPC 호스트 프로젝트를 생성합니다. 근거: 리전 서브넷이 있는 단일 VPC는 간단한 라우팅 및 정책을 통해 리전 간 직접적인 RFC1918 통신을 허용하여 프로젝트별 오버헤드를 최소화합니다.
- 세 개의 서비스 프로젝트(마케팅, 공급망, 재무)에 필요한 서브넷만 공유합니다. 근거: 서브넷 수준 공유는 중앙 집중식 제어를 유지하면서 경로 및 방화벽 노출을 제한합니다.
- 격리해야 하는 레거시 재무 시스템을 위해 별도의 VPC를 생성하고, 필요한 경우 마케팅 및 공급망 프로젝트와만 피어링합니다. 근거: VPC 피어링은 두 부서에 짧은 지연 시간의 프라이빗 연결을 제공하면서 재무 시스템과의 격리를 유지합니다.
- 퍼블릭 IP 없이 Google 서비스에 안전하게 액세스하도록 구성
- 모든 공유 서브넷에서 Private Google Access를 활성화합니다. 근거: 외부 IP가 없는 인스턴스가 Google API에 비공개로 연결할 수 있습니다.
- 기본 경로가 NGFW로 향하기 때문에, 199.36.153.8/30에 대한 사용자 지정 정적 경로를 기본 인터넷 게이트웨이로 추가합니다. 근거: Google API 호출이 방화벽을 통해 헤어피닝(hairpinning)되지 않도록 하여 지연 시간을 줄이고 단일 장애 지점을 피합니다.
- 온프레미스 연결 중앙 집중화
- Shared VPC 호스트 프로젝트에 Dedicated Interconnect 및 VLAN 연결(attachment)을 배포하고, 리전별 Cloud Router에 연결합니다. 근거: 중앙 집중식 상호 연결은 비용과 운영 중복을 줄이고, Cloud Router는 성장을 위한 동적 라우팅을 제공합니다.
- 네트워크 운영자에게 Compute Network Admin 역할을, 보안팀에 Security Admin 역할을 부여합니다. 근거: 최소 권한 원칙과 직무 분리를 강제합니다. 네트워크 관리자는 보안팀의 승인 없이 방화벽을 변경할 수 없습니다.
- 프로비저닝 및 가드레일 자동화
- VPC, 서브넷, 라우터, NAT, 피어링, 방화벽 정책을 위한 Terraform 모듈을 구현합니다. 상태(state)를 원격으로 저장하고 잠금(locking)을 사용하며, CI에서
terraform plan을 통해 풀 리퀘스트 검토를 강제합니다. 근거: 반복 가능하고 버전 관리되는 변경과 드리프트 제어를 통해 장애를 최소화합니다. - 중복되는 CIDR과 내부 서브넷에 대한 0.0.0.0/0 인그레스를 차단하는 OPA 정책을 추가합니다. 근거: 검토 시점에 일반적인 잘못된 구성을 방지합니다.
- Cloud Scheduler를 사용하여 일일 할당량 확인 결과를 Pub/Sub에 게시합니다. Cloud Run 서비스가 Service Usage API를 호출하여 주소, 전달 규칙, 상호 연결 연결(attachment)에 대한 여유 공간을 확인합니다. 근거: 할당량 소진으로 인한 배포 실패를 방지합니다.
- 비용 최적화 및 정확한 할당
- Terraform을 통해 모든 네트워크 리소스에
env,dept,service라벨을 적용합니다. 결제 데이터를 BigQuery로 내보내고 부서별 예산을 정의하며 Pub/Sub로 알림을 보냅니다. 근거: 투명한 비용 할당과 급증에 대한 조기 경고를 통해 사전 조치가 가능합니다. - 글로벌 HTTP(S) 부하 분산기로 퍼블릭 웹 속성을 처리하고 Cloud CDN을 활성화합니다. 근거: 전 세계 사용자의 지연 시간을 개선하고 에지에서 캐시된 콘텐츠를 제공하여 이그레스 비용을 절감합니다.
- 감사 가능성 및 사고 대응 강화
- Admin Activity 및 Firewall Rules Logging을 CMEK가 적용된 중앙 로깅 프로젝트로 라우팅합니다. 근거: 위변조 방지 변경 기록과 데이터 영역 증거는 규정 준수 요구 사항을 충족합니다.
- 악의적인 것으로 의심되는 클라이언트에 대해 HTTP(S) 부하 분산기에 Cloud Armor 규칙을 미리보기 모드로 배포하고, 적용하기 전에 로그를 검토합니다. 근거: 완화 조치를 검증하면서 사용자 중단을 최소화합니다.
- 문서화 및 반복
- 프로젝트를 Shared VPC에 온보딩하고, 마케팅과 공급망 간에 VPC 피어링을 생성하며, BGP를 지원하지 않는 파트너를 위해 정책 기반 Cloud VPN을 구축하는 런북을 게시합니다. 근거: 표준화된 실행은 MTTR과 편차를 줄입니다.
- 각 변경 작업 기간 후에 메트릭(배포 시간, 오류, GB당 이그레스 비용, 캐시 적중률)을 수집하고 개선 사항을 모듈과 정책에 다시 피드백합니다. 근거: 지속적인 개선은 안정성과 비용 관리를 일상 운영에 내재화합니다.
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →