GCP Reference
Google Cloud Platform 레퍼런스
GCP Reference 소개
GCP CLI 레퍼런스는 Google Cloud Platform의 세 가지 주요 CLI 도구인 gcloud, gsutil, bq에 대한 검색 가능한 명령어 치트 시트입니다. Compute(VM 인스턴스, Cloud Run, Cloud Functions), Storage(Cloud Storage 버킷 생성, 파일 업로드/다운로드, rsync), BigQuery(쿼리, 데이터셋 생성, 데이터 로드 및 내보내기), Kubernetes(GKE 클러스터 생성, kubectl 연동), IAM(서비스 계정, 정책 바인딩, 커스텀 역할), 네트워킹(VPC, 방화벽 규칙, 고정 IP, Cloud DNS, 로드 밸런서)의 다섯 가지 서비스 범주를 다룹니다.
Google Cloud Platform은 확장 가능한 인프라를 구축하는 클라우드 엔지니어, SRE, 데이터 엔지니어, DevOps 팀이 널리 사용합니다. gcloud CLI는 컴퓨팅 리소스 프로비저닝과 서비스 관리의 주요 인터페이스이며, gsutil은 객체 스토리지 작업을, bq는 BigQuery 페타바이트급 데이터 웨어하우스의 빠른 인터페이스를 제공합니다. 배포 스크립트 작성, CI/CD 파이프라인 구축, 새 팀원의 GCP 워크플로 온보딩 시 이 레퍼런스가 특히 유용합니다.
모든 항목은 실제 플래그 값이 포함된 정확한 명령어 구문과 터미널이나 스크립트에서 바로 활용할 수 있는 여러 줄의 셸 예제를 보여줍니다. 명령어는 여섯 개의 탐색 가능한 카테고리로 구성되어 있어 관련 서비스 영역으로 빠르게 이동할 수 있습니다. gcloud compute instances list --filter="status=RUNNING"이나 스토리지 클래스 및 리전 플래그가 포함된 gsutil mb 등 가장 일반적인 실무 사용 패턴도 포함합니다.
주요 기능
- Compute 명령어: gcloud compute instances create/list/ssh, gcloud run deploy, gcloud functions deploy
- Storage 명령어: gsutil mb, gsutil cp(업로드/다운로드/재귀), gsutil ls, gsutil rsync
- BigQuery 명령어: bq query(표준 SQL), bq mk --dataset, bq load(GCS에서 CSV), bq extract
- GKE 및 Kubernetes: gcloud container clusters create/get-credentials, kubectl apply -f, kubectl get pods
- IAM 명령어: 서비스 계정 생성, 프로젝트 정책 바인딩, 커스텀 역할 생성, 서비스 계정 인증
- 네트워킹 명령어: VPC 생성, 방화벽 규칙, 고정 IP 예약, Cloud DNS 영역, 로드 밸런서 포워딩 규칙
- zone, region, machine-type, image-family, --allow-unauthenticated 등 실제 플래그 값이 포함된 셸 예제
- gcloud(리소스 관리), gsutil(객체 스토리지), bq(분석) 세 가지 CLI를 한 곳에서 검색
자주 묻는 질문
GCP CLI 레퍼런스는 무엇을 다루나요?
이 레퍼런스는 GCP의 세 가지 주요 CLI 도구를 다룹니다. Compute Engine, Cloud Run, GKE, IAM, 네트워킹 리소스를 관리하는 gcloud, Cloud Storage 버킷 및 객체 작업을 처리하는 gsutil, BigQuery 쿼리 실행 및 데이터셋 관리를 위한 bq입니다. 정확한 명령어 구문과 플래그 이름을 빠르게 찾아야 하는 엔지니어를 위해 설계되었습니다.
gcloud로 GCP VM 인스턴스를 생성하려면 어떻게 하나요?
gcloud compute instances create에 인스턴스 이름과 플래그를 지정합니다. --zone으로 영역, --machine-type으로 인스턴스 크기(예: e2-medium), --image-family와 --image-project로 OS 이미지를 선택합니다. 예: gcloud compute instances create my-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud.
gsutil cp와 gsutil rsync의 차이는 무엇인가요?
gsutil cp는 -r 플래그로 재귀 복사를 포함해 특정 파일이나 디렉터리를 Cloud Storage로 복사하거나 다운로드합니다. gsutil rsync는 로컬 디렉터리와 GCS 버킷 디렉터리를 동기화하여 내용이 다른 파일만 복사하고, 로컬 파일시스템의 rsync와 유사하게 대상에만 존재하는 파일을 선택적으로 삭제할 수도 있습니다.
Cloud Run에 컨테이너화된 애플리케이션을 배포하려면 어떻게 하나요?
gcloud run deploy에 서비스 이름, gcr.io 또는 Artifact Registry의 컨테이너 이미지를 가리키는 --image 플래그, 완전 관리형 Cloud Run을 위한 --platform=managed, 배포 리전을 위한 --region, 공개 접근을 허용하는 --allow-unauthenticated를 지정합니다. 프로비저닝, 스케일링, TLS를 자동으로 처리합니다.
BigQuery 쿼리를 명령줄에서 실행하려면 어떻게 하나요?
bq query --use_legacy_sql=false 뒤에 표준 SQL 쿼리를 작은따옴표로 감싸서 입력합니다. 백틱으로 감싼 구문으로 테이블을 참조합니다: `project.dataset.table`. LIMIT으로 결과 크기를 제한하세요. 대용량 결과의 경우 bq query --destination_table을 사용해 다른 테이블에 결과를 저장하는 것이 좋습니다.
GCP에서 서비스 계정에 권한을 부여하려면 어떻게 하나요?
먼저 gcloud iam service-accounts create로 서비스 계정을 생성한 다음, gcloud projects add-iam-policy-binding으로 프로젝트에 미리 정의된 역할이나 커스텀 역할을 바인딩합니다. member는 serviceAccount:name@project.iam.gserviceaccount.com 형식으로, 역할은 --role 플래그에 roles/storage.admin과 같이 지정합니다.
kubectl을 GKE 클러스터에 연결하려면 어떻게 하나요?
gcloud container clusters get-credentials에 클러스터 이름과 --zone 플래그를 지정하여 실행합니다. 이 명령은 클러스터 인증 정보를 가져와 로컬 kubeconfig 파일을 업데이트하여 kubectl 명령이 GKE 클러스터를 대상으로 작동하도록 합니다. 실행 후에는 kubectl get pods, kubectl apply -f 등의 명령을 GKE 클러스터에 대해 사용할 수 있습니다.
HTTP 및 HTTPS 트래픽을 허용하는 방화벽 규칙을 생성하려면 어떻게 하나요?
gcloud compute firewall-rules create에 규칙 이름, VPC를 지정하는 --network, HTTP와 HTTPS를 허용하는 --allow=tcp:80,tcp:443, 모든 IP에서의 트래픽을 허용하는 --source-ranges=0.0.0.0/0을 지정합니다. 운영 환경에서는 보안 강화를 위해 소스 범위를 특정 CIDR 블록으로 제한하세요.