Google ACE: Compute Engine 및 가상 머신 운영 — 학습 가이드
다음의 일부입니다: Google Associate Cloud Engineer — 학습 가이드. 검증된 답안으로 연습하기: Google 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Compute Engine은 범용 및 특수 워크로드를 실행하기 위한 유연하고 고성능인 가상 머신과 오케스트레이션 기본 요소를 제공합니다. Compute Engine에서의 운영 우수성이란 올바른 머신 계열과 디스크를 선택하고, 템플릿과 인스턴스 그룹으로 인스턴스 수명 주기를 구성하며, 강력한 자동 복구 및 자동 확장을 구축하고, 액세스 경로를 강화하며, 반복 가능한 복구 절차로 장애 모드에 대비하는 것을 의미합니다. 이 섹션에서는 수작업을 최소화하고 안정성과 비용 효율성을 극대화하는 설계 선택, 장단점, 운영 패턴에 대해 설명합니다.
머신 유형, 크기 조정 및 인스턴스 수명 주기
머신 계열
- 범용: E2(비용 최적화), N2(균형), N2D(AMD 기반), Tau T2D/T2A(스케일 아웃을 위한 높은 가격 대비 성능), 대부분의 워크로드에 적합합니다.
- 컴퓨팅 최적화: CPU 집약적인 작업을 위한 C3. 코어당 높은 성능이 필요할 때 선택합니다.
- 메모리 최적화: 인메모리 데이터베이스 및 분석을 위한 M-시리즈.
- GPU 및 가속기: CUDA 또는 ML 가속이 필요할 때 지원되는 계열에 연결합니다. 시작 프로세스에 드라이버 초기화가 포함되도록 해야 합니다.
커스텀 머신 유형
- 커스텀 vCPU와 메모리를 사용하여 워크로드의 크기를 적절하게 조정하고 낭비를 줄이세요. 특히 비대칭적인 요구사항(예: 메모리 사용량은 높지만 CPU 사용량은 보통)에 유용합니다.
- CPU 집약적인 서비스의 경우 더 높은 vCPU 수를 선호하고, 메모리 집약적인 서비스의 경우 RAM을 늘리고 가비지 컬렉터와 캐시가 조정되었는지 확인하세요.
- 코어 수에 연동된 라이선스 모델에 주의하세요. 커스텀 유형은 불필요한 라이선스 코어를 피하는 데 도움이 됩니다.
워크로드 크기 조정
- 개발 또는 이전 환경에서 측정한 리소스 프로필부터 시작하세요: P95에서의 CPU 사용률, 메모리 최고 사용량, 디스크 처리량/IOPS, 네트워크 대역폭.
- 트래픽이 폭증하는 경우 헤드룸을 계획하거나 자동 확장을 사용하세요. 안정적인 상태의 경우, 비용과 복원력의 균형을 맞추기 위해 피크 시 60–70% 사용률을 목표로 하세요.
- 배치 및 내결함성 작업에는 Spot VM(선점형)을 평가하세요. 언제든지 종료될 수 있으므로 체크포인팅과 재시도를 포함하여 설계해야 합니다.
인스턴스 수명 주기 리소스
- VM 인스턴스: 원자적 컴퓨팅 리소스입니다. 레이블과 일관된 이름 지정 규칙을 사용하여 자동화를 추진하세요.
- 인스턴스 템플릿: 머신 유형, 디스크, 서비스 계정, 메타데이터, 시작 스크립트를 포함하는 불변의 청사진입니다. 관리형 인스턴스 그룹의 기반이 되며 반복 가능한 배포를 보장합니다.
- 관리형 인스턴스 그룹(MIG): 선언적 크기, 자동 확장, 자동 복구, 순차적 업데이트, 리전(다중 영역) 배치, 인스턴스별 구성을 제공합니다. 상태 비저장 및 상태 저장 패턴 모두에 MIG를 사용하는 것이 좋습니다(상태 저장 MIG는 선택된 디스크/IP를 보존함).
- 비관리형 인스턴스 그룹: 레거시 집합의 부하 분산을 위한 간단한 모음입니다. 자동 확장/자동 복구 기능이 없습니다. 독립적으로 관리되는 VM을 등록해야 할 때만 사용하세요.
가용성, 자동 확장 및 유지보수
자동 확장
- 신호: CPU 사용률, 인스턴스당 초당 HTTP 부하 분산기 요청 수, Cloud Monitoring 측정항목, 큐 깊이. 포화 상태와 밀접하게 관련된 신호를 선택하세요. CPU는 동종의 CPU 집약적 워크로드에 대한 좋은 기준선입니다.
- 재사용 대기시간 및 안정화: 스래싱을 방지하도록 구성하세요. 앱이 워밍업하는 데 몇 분이 걸리는 경우, MIG 초기 지연을 늘리고 적절한 자동 확장 재사용 대기시간을 설정하세요.
- 정확히 하나(Exact-one) 패턴: VM을 정확히 하나만 유지하려면 MIG에서 자동 확장 min=1, max=1로 설정하세요. 이렇게 하면 자동 복구를 활성화하면서 상태를 보존할 수 있습니다.
자동 복구 및 상태 확인
- 상태 확인: 애플리케이션 활성(liveness)을 위해 HTTP(S) 확인을 사용하세요. TCP는 소켓 허용 여부만 확인합니다. 중요한 종속성을 실행하는 상태 엔드포인트를 구현하세요.
- 임계값 및 간격: 오탐(false positive) 없이 장애를 신속하게 감지하도록 확인 간격과 임계값을 조정하세요.
- 초기 지연: 시작 및 워밍업에 충분한 시간 동안 MIG 자동 복구 초기 지연을 설정하여 온라인 상태가 되는 정상 인스턴스가 조기에 교체되는 것을 방지하세요.
- 장애 모드: 잘못 구성된 상태 엔드포인트와 너무 짧은 초기 지연은 플래핑과 과다 프로비저닝을 유발합니다.
리전 MIG 및 배치
- 리전 MIG는 리전 내 여러 영역에 인스턴스를 분산하여 영역(zone) 장애 허용을 제공합니다. 용량 계획에 따라 영역별 대상 복제본 수를 선택하세요.
- 디스크나 IP를 보존해야 하는 경우 인스턴스별 구성과 상태 저장 정책을 사용하세요. 상태 조정으로 인해 VM 교체가 더 느려질 수 있음을 이해해야 합니다.
유지보수, 실시간 마이그레이션 및 예약
- 실시간 마이그레이션: 대부분의 VM에 대한 기본값입니다. 호스트 유지보수 중에 재부팅 없이 인스턴스가 이동됩니다. 마이그레이션을 허용할 수 없는 워크로드(예: 지연 시간에 민감한 HFT)의 경우 유지보수 정책을 종료로 설정하고 자동 복구에 의존하세요.
- 호스트 유지보수 기간은 실시간 마이그레이션으로 인해 투명하게 처리되지만 여전히 이벤트를 생성합니다. 모니터링하고 테스트하세요.
- 예약: 중요한 출시나 엄격한 SLO를 위해 용량을 보장하도록 영역별 예약을 생성하세요. 거버넌스에 따라 “특정” 또는 “모든” 예약 소비를 적용하세요. 예약은 용량 보장이며, 비용 계획을 위해 약정 사용 할인과 함께 사용하세요.
문제 해결 및 복구 작업
일반적인 진단
- 연결성: 방화벽 규칙, 서비스 계정 권한, 경로를 확인합니다. Network Intelligence Center 연결성 테스트를 사용합니다.
- 부팅 문제: 직렬 콘솔 로그를 검사하고, 스크린샷을 찍고, 시작 스크립트 출력을 확인합니다. 서명되지 않은 드라이버가 부팅을 차단하는 경우 보안 부팅을 일시적으로 비활성화한 후 문제를 해결합니다.
- 액세스 잠금: OS Login 관련 SSH 문제의 경우 IAM 역할과 사용자 계정에 키가 있는지 확인합니다. 비상 해결책(break-glass)으로 직렬 콘솔을 사용하여 사용자를 추가합니다.
- 디스크 손상: 부팅 디스크를 분리하여 복구 VM에 연결하고, 파일 시스템을 복구하고, 사용자 인증 정보를 순환시키고, 문제 해결 후 이미지를 캡처합니다.
MIG 및 부하 분산기 동작
- 과잉 프로비저닝: 인스턴스에 긴 준비(warm-up) 시간이 필요한 경우 MIG 초기 지연 시간과 오토스케일러 재사용 대기시간을 늘립니다. 그렇지 않으면 앱이 아직 초기화되는 동안 4xx/5xx 오류로 인해 스케일 아웃될 수 있습니다.
- 자동 복구 루프: 상태 엔드포인트의 의미와 종속성 준비 상태를 확인합니다. 시작 종속성을 시차를 두고 실행하거나 재시도를 추가합니다.
복구 패턴
- 템플릿 또는 이미지에서 인스턴스를 다시 생성합니다. 불변성 패턴은 MTTR을 줄입니다.
- 가장 최근의 성공적인 스냅샷에서 데이터를 복원합니다. 비즈니스 요구사항에 따라 RPO/RTO를 검증합니다.
- 리전 장애 시 리전 MIG 및 리전 간 스냅샷 복제를 사용하여 다른 영역이나 리전으로 장애 조치합니다.
운영 안전 장치
- 중요 용량에 대한 예약, 예약 소비 및 할당량에 대한 모니터링 기반 알림을 사용합니다.
- 감사 및 로깅: 중요한 서비스에 대해 관리자 활동 및 데이터 액세스 로그를 활성화합니다. OS Login 및 서비스 계정을 통해 액세스를 추적합니다.
간단한 예시
- 고정 내부 IP 예약:
undefined
- 프로젝트 수준에서 OS Login 활성화:
undefined
- HTTP 상태 확인을 생성하고 자동 복구 기능이 있는 MIG에 연결:
undefined
undefined
실제 문제 시나리오
Northwind Analytics는 Compute Engine에서 지연 시간에 민감한 API를 실행합니다. 인시던트 분석 결과, 배포 중 잦은 과잉 프로비저닝, 관리자 간의 간헐적인 SSH 액세스 혼선, 그리고 10.0.3.21에서 항상 연결 가능해야 하는 라이선스 원격 측정 서버 문제가 있는 것으로 나타났습니다. 목표는 확장성을 안정화하고, 액세스를 강화하며, 라이선스 엔드포인트의 안정성을 보장하는 것입니다.
접근 방식
- 적정 크기의 커스텀 머신 유형과 시작 부트스트래핑을 포함하는 인스턴스 템플릿 생성
- 근거: 템플릿은 불변성을 강제합니다. 커스텀 6 vCPU/20GB RAM 구성은 측정된 P95 CPU 및 메모리와 일치하면서 라이선스 비용을 증가시키는 초과 코어를 방지합니다. 시작 스크립트는 상태 확인이 통과된 후에만 API를 부하 분산기에 등록하여 준비(warm-up) 시간의 영향을 줄입니다.
- 외부 HTTP(S) Load Balancer 뒤에 리전 관리형 인스턴스 그룹 배포
- 근거: 리전 MIG는 영역 장애 허용을 위해 인스턴스를 여러 영역에 분산시킵니다. HTTP(S) 부하 분산기는 에지에서 TLS를 종료하고 인스턴스별 상태 확인을 수행하여 준비된 백엔드에만 트래픽을 전달합니다.
- 재사용 대기시간이 있는 CPU 기반 오토스케일링과 현실적인 초기 지연 시간이 있는 자동 복구 구성
- 근거: CPU는 이 API의 포화 상태와 강한 상관관계가 있습니다. 90초의 재사용 대기시간은 일시적인 스파이크로 인한 반복적인 스케일링(thrash)을 방지합니다. 200초의 초기 지연 시간은 컨테이너 준비(warm-up) 및 JIT와 일치시켜 오토스케일러가 콜드 스타트를 용량 부족으로 해석하는 것을 방지합니다.
- 상태 확인을 조정하고 애플리케이션 수준의 /healthz 추가
- 근거: 종속성(캐시, DB 연결)을 검증하는 HTTP 상태 확인은 그레이 장애(gray failure)를 감지합니다. 10초 간격과 3회의 비정상 임계값을 사용하면 감지 속도와 거짓 양성(false positive) 위험 사이의 균형을 맞출 수 있습니다.
- OS Login을 활성화하고 IAM 그룹에 관리자 액세스 권한 부여
- 근거: OS Login은 SSH 승인 및 추적을 중앙에서 관리합니다. 관리자는 자신의 Google 계정에 SSH 공개 키를 추가합니다. 대기 중인 그룹(on-call group)에 compute.osAdminLogin을 부여하면 감사 추적을 유지하면서 sudo 권한을 제공합니다. 이를 통해 VM별 키 불일치(key drift) 문제를 제거합니다.
- 라이선스 서버의 고정 내부 IP를 예약하고 작고 전용된 VM에 연결
- 근거: 10.0.3.21을 예약하면 주소의 가용성을 보장하고 우발적인 재사용을 방지합니다. 이 주소를 라이선스 VM의 NIC에 할당하여 종속 앱의 구성 변경이 필요 없도록 합니다. 방화벽 규칙의 범위를 허용된 소스 서브넷으로만 제한합니다.
- 최소 권한 IAM 원칙에 따라 전용 서비스 계정을 API 템플릿에 할당
- 근거: 최소 권한 원칙은 장애 발생 시 영향 범위(blast radius)를 줄입니다. 서비스 계정에는 필요한 역할(예: 특정 보안 비밀 및 Pub/Sub 주제에 대한 읽기 액세스)만 부여됩니다. 템플릿을 사용하면 모든 인스턴스가 올바른 ID를 상속받도록 보장합니다.
- Shielded VM으로 인스턴스를 강화하고 직렬 콘솔 비상 해결책(break-glass) 시행
- 근거: 보안 부팅 및 무결성 모니터링은 커널/부트로더 변조를 완화합니다. IAM으로 직렬 콘솔 액세스를 제한하고 감사를 위해 액세스를 기록합니다. SSH가 실패할 경우 복구를 위해 유지합니다.
- 상태 저장 디스크에 대한 스냅샷 일정을 구현하고 복원 테스트 수행
- 근거: API는 상태 비저장이지만, RPO를 충족하기 위해 라이선스 서버 및 모든 구성 디스크에 대한 스냅샷 일정을 수립합니다. 주기적인 복원 테스트는 도구와 런북(runbook)을 검증합니다.
- 검증 및 배포
- 근거: MIG의 롤링 업데이트 설정을 사용한 블루/그린 또는 카나리 업데이트는 위험을 줄입니다. 모니터링 대시보드를 통해 배포 중 인스턴스 수의 안정화, 관리자 액세스 추적 개선, 10.0.3.21에 대한 중단 없는 연결성을 확인합니다.
이 문제 연습하기 → · 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.
시험 합격하기 →