GCP를 실무 흐름으로 이해하기
Google Cloud Platform의 핵심 서비스와 DevOps 자동화를 학습합니다. GKE(Google Kubernetes Engine) 하이브리드 운영, Cloud Run 서버리스 컨테이너 배포, VPC 방화벽 설계, 그리고 IAM 서비스 어카운트 인증 및 gcloud CLI를 다룹니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.
Google Cloud Platform의 핵심 서비스와 DevOps 자동화를 학습합니다. GKE(Google Kubernetes Engine) 하이브리드 운영, Cloud Run 서버리스 컨테이너 배포, VPC 방화벽 설계, 그리고 IAM 서비스 어카운트 인증 및 gcloud CLI를 다룹니다.
Google Cloud Platform의 핵심 서비스와 DevOps 자동화를 학습합니다. GKE(Google Kubernetes Engine) 하이브리드 운영, Cloud Run 서버리스 컨테이너 배포, VPC 방화벽 설계, 그리고 IAM 서비스 어카운트 인증 및 gcloud CLI를 다룹니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.
설치 명령을 외우기보다 트래픽, 런타임, 관측, 장애 대응이 어떤 순서로 이어지는지 파악합니다.
글로 읽은 내용을 머릿속에 오래 남기려면 먼저 흐름을 그림으로 잡는 편이 좋습니다. 아래 두 그림은 GCP를 학습할 때 계속 되돌아볼 수 있는 기준 지도입니다.
GCP를 처음 펼칠 때는 세부 명령보다 큰 그림이 먼저입니다. 이 섹션에서는 앞으로 배울 개념들이 어떤 문제를 풀기 위해 등장했는지부터 잡아봅니다.
# GKE 클러스터 생성 예시
gcloud container clusters create "gke-dev-cluster" \\
--region "asia-northeast3" \\
--num-nodes "3" \\
--enable-autoscaling --min-nodes "1" --max-nodes "5" \\
--enable-ip-alias
# 클러스터 자격증명 가져오기
gcloud container clusters get-credentials gke-dev-cluster --region asia-northeast3여기서는 Cloud Run 서버리스 배포을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.
# 소스코드에서 컨테이너 빌드 및 배포를 한번에 수행
gcloud run deploy my-api-service \\
--source . \\
--region asia-northeast3 \\
--allow-unauthenticated \\
--set-env-vars="ENV=production,MODEL=gpt-4o-mini"여기서는 IAM 서비스 어카운트 보안을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.
# 서비스 어카운트 생성
gcloud iam service-accounts create my-app-sa \\
--description="App Service Account" \\
--display-name="my-app-sa"
# S3 호환 Storage 관리자 권한 부여
gcloud projects add-iam-policy-binding my-project-id \\
--member="serviceAccount:my-app-sa@my-project-id.iam.gserviceaccount.com" \\
--role="roles/storage.admin"여기서는 Cloud Monitoring & Logging을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.
# 알림 채널(이메일) 생성
gcloud alpha monitoring channels create \
--display-name="oncall-email" \
--type=email \
--channel-labels=email_address=oncall@example.com
# Cloud Run 5xx 비율 알림 정책 생성 (정책 JSON 파일 참조)
gcloud alpha monitoring policies create --policy-from-file=cloudrun-5xx-policy.json
# 최근 ERROR 로그 확인
gcloud logging read "resource.type=cloud_run_revision AND severity>=ERROR" \
--limit 20 --format="table(timestamp, textPayload)"| 지표 | 의미 | 왜 중요한가 |
|---|---|---|
| run.googleapis.com/request_count (5xx) | Cloud Run이 5xx를 반환한 횟수 | 애플리케이션 장애의 가장 직접적인 신호 |
| container/cpu/core_usage_time | GKE 파드의 CPU 사용량 | HPA 스케일링 판단과 리소스 요청량 조정 근거 |
| logging.googleapis.com severity=ERROR | 심각도 ERROR 이상 로그 건수 | 알림으로 연결해 장애를 조기에 감지 |
여기서는 gcloud CLI 자동화을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.
# 활성화된 프로젝트 목록 및 프로젝트 설정
gcloud config set project my-project-id
gcloud config set compute/zone asia-northeast3-a
# 가상머신(GCE) 목록 조회
gcloud compute instances listGCP 실무 설계은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
| 결정 지점 | 확인 질문 | 실무 기준 |
|---|---|---|
| 경계 | GCP 코드에서 바뀌기 쉬운 부분은 어디인가? | 입출력, 설정, 외부 연동, 핵심 규칙을 분리합니다. |
| 상태 | 상태가 어디서 생성되고 어디서 사라지는가? | 상태 소유자와 수명 주기를 코드로 드러냅니다. |
| 장애 | 실패했을 때 호출자는 무엇을 받는가? | timeout, fallback, error contract를 먼저 정합니다. |
이 섹션은 GCP 운영 기준을 실무 관점에서 정리합니다. 개념을 외우기보다, 어떤 상황에서 이 기준을 꺼내 쓸지에 초점을 맞춰보세요.
GCP 검증 전략은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
| 품질 축 | 검증 방법 | 완료 기준 |
|---|---|---|
| 정확성 | 정상/실패 케이스를 자동화합니다. | 핵심 시나리오가 재현 가능하게 통과합니다. |
| 회귀 방지 | 버그 수정 시 동일 케이스를 테스트로 남깁니다. | 같은 장애가 다시 배포되지 않습니다. |
| 운영성 | 로그, 메트릭, 알림을 확인합니다. | 문제가 생겼을 때 원인 추적 경로가 있습니다. |