시니어 GCP 클라우드 엔지니어 면접 질문과 답변

Milad Bonakdar
작성자
아키텍처, GKE, Cloud Run, IAM, 비용, BigQuery, 안정성 트레이드오프를 중심으로 시니어 GCP 면접을 준비하세요.
소개
시니어 GCP 클라우드 엔지니어 면접은 Google Cloud 서비스 이름을 아는지보다 프로덕션 의사결정을 설명할 수 있는지를 봅니다. 특정 워크로드에 대해 GKE, Cloud Run, Cloud SQL, Spanner, Shared VPC, IAM 제어, 비용 가드레일을 왜 선택하는지 말할 수 있어야 합니다.
각 질문은 시니어답게 답하는 연습에 사용하세요. 요구사항을 먼저 정리하고, 선택을 설명하고, 위험을 짚고, 프로덕션에서 어떻게 운영할지까지 말하는 방식이 좋습니다.
아키텍처 및 설계
1. GCP에서 고가용성 애플리케이션을 설계하십시오.
답변: 중복성 및 확장성을 갖춘 프로덕션 환경에 적합한 아키텍처:
주요 구성 요소:
설계 원칙:
- 다중 영역 배포
- 지표 기반 자동 확장
- 데이터베이스를 위한 관리형 서비스
- 정적 콘텐츠를 위한 CDN
- 상태 점검 및 모니터링
희소성: 매우 일반적 난이도: 어려움
Google Kubernetes Engine (GKE)
2. GKE에서 애플리케이션을 배포하고 관리하는 방법은 무엇입니까?
답변: GKE는 Google의 관리형 Kubernetes 서비스입니다.
배포 프로세스:
언급하면 좋은 GKE 기능:
- 컨트롤 플레인과 노드 가용성을 위한 리전 클러스터
- Cluster autoscaling과 Horizontal Pod Autoscaling
- 장기 서비스 계정 키 대신 Workload Identity Federation for GKE 사용
- 공급망 관리를 위한 Binary Authorization과 이미지 스캔
- Cloud Logging, Cloud Monitoring, SLO, 알림
희소성: 매우 일반적 난이도: 어려움
서버리스 및 고급 서비스
3. Cloud Functions와 Cloud Run은 언제 사용해야 합니까?
답변: 어떤 운영 책임을 가져야 하는지에 따라 선택합니다. 좋은 답변은 트리거, 패키징, 런타임 제어, 확장 방식, 운영 복잡도를 비교합니다.
Cloud Functions:
- Pub/Sub, Cloud Storage, Eventarc, 단순 HTTP용 작은 이벤트 핸들러에 적합
- 인프라 표면적이 작음
- 사용자 지정 컨테이너가 필요 없고 함수 단위 배포를 원할 때 적합
- 컨테이너 서비스보다 런타임 형태에 대한 제어는 적음
Cloud Run:
- 컨테이너화된 HTTP 서비스, API, 워커, 이벤트 기반 서비스에 적합
- 의존성, 동시성, CPU 할당, 시작 동작, 트래픽 분할을 더 많이 제어
- 0으로 확장 가능하며 지연 시간에 민감한 경로에는 최소 인스턴스를 사용할 수 있음
- 이식성, 사용자 지정 런타임, 서비스 단위 책임이 필요할 때 대체로 더 나은 기본 선택
희소성: 일반적 난이도: 중간
고급 네트워킹
4. Shared VPC를 설명하고 언제 사용해야 하는지 설명하십시오.
답변: Shared VPC를 사용하면 여러 프로젝트가 공통 VPC 네트워크를 공유할 수 있습니다.
장점:
- 중앙 집중식 네트워크 관리
- 프로젝트 간 리소스 공유
- 간소화된 청구
- 일관된 보안 정책
아키텍처:
사용 사례:
- 대규모 조직
- 다중 팀 환경
- 중앙 집중식 네트워크 관리
- 규정 준수 요구 사항
희소성: 일반적 난이도: 중간-어려움
비용 최적화
5. GCP 비용을 최적화하는 방법은 무엇입니까?
답변: 비용 최적화 전략:
1. 적정 규모:
2. 약정 사용 할인:
- 예측 가능한 워크로드에는 1년 또는 3년 약정 사용
- 지출 패턴에는 유연한 약정, 특정 컴퓨팅 사용에는 리소스 기반 약정 고려
- 낭비를 고정하지 않도록 적정 규모 조정과 함께 사용
3. Spot VM:
4. 스토리지 수명 주기:
5. 모니터링:
- Cloud Billing 보고서
- 예산 알림
- 서비스/프로젝트별 비용 분석
희소성: 매우 일반적 난이도: 중간
보안
6. GCP에서 보안 모범 사례를 구현하는 방법은 무엇입니까?
답변: 계층형 모델을 사용합니다. 먼저 ID를 설계하고, 노출을 줄이는 private networking, 민감 데이터 암호화, 로그와 Security Command Center 기반 지속 탐지를 결합합니다.
1. IAM 모범 사례:
면접에서는 프로덕션에서 기본 역할을 피하고, 사람 ID와 워크로드 ID를 분리하며, 단기 자격 증명과 Workload Identity Federation을 선호하고, IAM 바인딩을 정기적으로 검토한다고 말하세요.
2. VPC 보안:
- Private Google Access
- VPC Service Controls
- DDoS 보호를 위한 Cloud Armor
3. 데이터 암호화:
4. 모니터링:
- Cloud Audit Logs
- Security Command Center
- Cloud Logging 및 Monitoring
희소성: 매우 일반적 난이도: 어려움
데이터 분석
7. 대규모 분석을 위해 BigQuery를 설계하고 최적화하는 방법은 무엇입니까?
답변: BigQuery는 Google의 서버리스, 고도로 확장 가능한 데이터 웨어하우스입니다.
아키텍처:
- 컬럼 스토리지
- 자동 확장
- SQL 인터페이스
- 페타바이트 규모
- 쿼리당 지불 가격
테이블 설계:
최적화 전략:
1. 파티셔닝:
2. 클러스터링:
3. 쿼리 최적화:
4. 비용 관리:
데이터 로딩:
모범 사례:
- 항상 파티션 필터 사용
- 높은 카디널리티 열을 기준으로 클러스터링
- SELECT * 방지
- 대규모 데이터 세트에 대한 대략적인 함수 사용
- 쿼리 비용 모니터링
- 반복되는 쿼리에 대한 구체화된 뷰 사용
- 적절한 경우 데이터 비정규화
희소성: 매우 일반적 난이도: 어려움
고급 데이터베이스 서비스
8. Cloud Spanner와 Cloud SQL은 언제 사용해야 합니까?
답변: 규모, 일관성 및 지리적 요구 사항에 따라 선택하십시오.
Cloud Spanner:
- 전 세계적으로 분산된 관계형 데이터베이스
- 수평적 확장 (무제한)
- 지역 간 강력한 일관성
- 99.999% 가용성 SLA
- 더 높은 비용
Cloud SQL:
- 지역적 관리형 데이터베이스 (MySQL, PostgreSQL, SQL Server)
- 수직적 확장 (제한됨)
- 단일 지역 (읽기 복제본 포함)
- 99.95% 가용성 SLA
- 더 낮은 비용
비교:
Cloud Spanner 예제:
Python 클라이언트:
Cloud SQL 예제:
언제 사용해야 하는가:
Cloud Spanner를 사용하는 경우:
- 글로벌 배포가 필요한 경우
- 지역 간에 강력한 일관성이 필요한 경우
- 단일 지역을 넘어 확장해야 하는 경우
- 금융 거래
- 미션 크리티컬 애플리케이션
- 더 높은 비용을 감당할 수 있는 경우
Cloud SQL을 사용하는 경우:
- 지역 애플리케이션
- MySQL/PostgreSQL에 익숙한 경우
- 비용에 민감한 경우
- 중간 규모 (< 10TB)
- 기존 SQL 워크로드
- 글로벌 일관성이 필요하지 않은 경우
희소성: 일반적 난이도: 중간-어려움
보안 및 규정 준수
9. VPC Service Controls를 구현하는 방법은 무엇입니까?
답변: VPC Service Controls는 데이터 유출을 방지하기 위해 GCP 리소스 주위에 보안 경계를 만듭니다.
주요 개념:
- 서비스 경계: 리소스 주변의 경계
- 액세스 수준: 액세스 조건
- 수신/송신 규칙: 데이터 흐름 제어
아키텍처:
설정:
서비스 경계 생성:
수신/송신 규칙:
송신 규칙:
지원되는 서비스:
- Cloud Storage
- BigQuery
- Cloud SQL
- Compute Engine
- GKE
- Cloud Functions
- 그 외 다수
테스트:
모니터링:
사용 사례:
- 데이터 유출 방지
- 규정 준수 요구 사항 (HIPAA, PCI-DSS)
- 민감한 데이터 보호
- 프로덕션 환경 격리
- 다중 테넌트 보안
모범 사례:
- 드라이 런 모드에서 시작
- 시행 전에 철저히 테스트
- 세분화된 제어를 위해 액세스 수준 사용
- VPC SC 로그 모니터링
- 경계 문서화
- 정기적인 액세스 검토
희소성: 드뭄 난이도: 어려움
결론
숙련된 GCP 클라우드 엔지니어 면접은 깊은 기술 지식과 실무 경험을 요구합니다. 다음 사항에 집중하십시오.
- 아키텍처: 고가용성, 확장성, 재해 복구
- GKE: 컨테이너 오케스트레이션, 배포 전략
- 서버리스: Cloud Functions, Cloud Run 사용 사례
- 네트워킹: Shared VPC, 하이브리드 연결
- 비용 최적화: 적정 규모, 약정 사용, 수명 주기 정책
- 보안: IAM, 암호화, VPC 컨트롤
가능하면 사고 대응, 마이그레이션, 비용 검토, 안정성 개선처럼 직접 다룬 경험에 답변을 연결하세요. 서비스 목록만 말하는 것보다 훨씬 강합니다.


