콘텐츠로 이동

구글 클라우드 CLI (gcloud)

Compute Engine, Cloud Storage 및 Kubernetes Engine을 포함한 Google Cloud Platform 서비스를 관리하기위한 포괄적 인 Google Cloud CLI 명령 및 워크플로우.

설치 및 인증

Command Description
gcloud auth login Login to Google Cloud
gcloud auth application-default login Login for application default credentials
gcloud auth list List authenticated accounts
gcloud auth revoke Revoke authentication
gcloud config list Show current configuration
gcloud config set project PROJECT_ID Set default project
gcloud config set compute/region us-central1 Set default region
gcloud config set compute/zone us-central1-a Set default zone

프로젝트 관리

Command Description
gcloud projects list List all projects
gcloud projects create PROJECT_ID Create new project
gcloud projects delete PROJECT_ID Delete project
gcloud projects describe PROJECT_ID Show project details
gcloud config get-value project Get current project
gcloud config configurations list List configurations
gcloud config configurations create CONFIG_NAME Create configuration
gcloud config configurations activate CONFIG_NAME Activate configuration

Compute 엔진

Instance 관리

Command Description
gcloud compute instances list List all instances
gcloud compute instances create INSTANCE_NAME --machine-type=e2-medium --image-family=ubuntu-2004-lts --image-project=ubuntu-os-cloud Create instance
gcloud compute instances start INSTANCE_NAME Start instance
gcloud compute instances stop INSTANCE_NAME Stop instance
gcloud compute instances delete INSTANCE_NAME Delete instance
gcloud compute instances reset INSTANCE_NAME Reset instance
gcloud compute instances describe INSTANCE_NAME Show instance details

SSH 및 원격 액세스

Command Description
gcloud compute ssh INSTANCE_NAME SSH into instance
gcloud compute ssh INSTANCE_NAME --zone=ZONE SSH with specific zone
gcloud compute scp LOCAL_FILE INSTANCE_NAME:REMOTE_PATH Copy file to instance
gcloud compute scp INSTANCE_NAME:REMOTE_PATH LOCAL_FILE Copy file from instance
gcloud compute os-login ssh-keys add --key-file=KEY_FILE Add SSH key

기계 종류 및 이미지

Command Description
gcloud compute machine-types list List machine types
gcloud compute machine-types list --filter="zone:us-central1-a" List machine types by zone
gcloud compute images list List all images
gcloud compute images list --filter="family:ubuntu-2004-lts" List images by family
gcloud compute images create IMAGE_NAME --source-disk=DISK_NAME Create custom image

디스크

Command Description
gcloud compute disks list List all disks
gcloud compute disks create DISK_NAME --size=100GB Create disk
gcloud compute disks delete DISK_NAME Delete disk
gcloud compute disks snapshot DISK_NAME --snapshot-names=SNAPSHOT_NAME Create snapshot
gcloud compute instances attach-disk INSTANCE_NAME --disk=DISK_NAME Attach disk
gcloud compute instances detach-disk INSTANCE_NAME --disk=DISK_NAME Detach disk

클라우드 스토리지

물통 가동

Command Description
gsutil ls List all buckets
gsutil mb gs://BUCKET_NAME Create bucket
gsutil rb gs://BUCKET_NAME Remove empty bucket
gsutil rm -r gs://BUCKET_NAME Remove bucket and contents
gsutil ls gs://BUCKET_NAME List objects in bucket
gsutil ls -l gs://BUCKET_NAME List objects with details

파일 작업

Command Description
gsutil cp FILE gs://BUCKET_NAME/ Upload file
gsutil cp gs://BUCKET_NAME/FILE . Download file
gsutil cp -r DIRECTORY gs://BUCKET_NAME/ Upload directory
gsutil rsync -r LOCAL_DIR gs://BUCKET_NAME/ Sync directory
gsutil rm gs://BUCKET_NAME/FILE Delete file
gsutil rm -r gs://BUCKET_NAME/DIRECTORY Delete directory

물통 윤곽

Command Description
gsutil versioning set on gs://BUCKET_NAME Enable versioning
gsutil versioning get gs://BUCKET_NAME Check versioning status
gsutil lifecycle set LIFECYCLE_CONFIG gs://BUCKET_NAME Set lifecycle policy
gsutil cors set CORS_CONFIG gs://BUCKET_NAME Set CORS policy
gsutil iam get gs://BUCKET_NAME Get bucket IAM policy
gsutil iam set POLICY_FILE gs://BUCKET_NAME Set bucket IAM policy

Google 쿠버네티스 엔진 (GKE)

Cluster 관리

Command Description
gcloud container clusters list List all clusters
gcloud container clusters create CLUSTER_NAME --num-nodes=3 Create cluster
gcloud container clusters delete CLUSTER_NAME Delete cluster
gcloud container clusters get-credentials CLUSTER_NAME Get cluster credentials
gcloud container clusters resize CLUSTER_NAME --num-nodes=5 Resize cluster
gcloud container clusters upgrade CLUSTER_NAME Upgrade cluster

노드 풀

Command Description
gcloud container node-pools list --cluster=CLUSTER_NAME List node pools
gcloud container node-pools create POOL_NAME --cluster=CLUSTER_NAME --num-nodes=2 Create node pool
gcloud container node-pools delete POOL_NAME --cluster=CLUSTER_NAME Delete node pool
gcloud container node-pools describe POOL_NAME --cluster=CLUSTER_NAME Describe node pool

클러스터 작업

Command Description
kubectl get nodes List cluster nodes
kubectl get pods --all-namespaces List all pods
kubectl apply -f MANIFEST_FILE Apply Kubernetes manifest
kubectl delete -f MANIFEST_FILE Delete resources from manifest

클라우드 기능

기능 관리

Command Description
gcloud functions list List all functions
gcloud functions deploy FUNCTION_NAME --runtime=python39 --trigger-http Deploy HTTP function
gcloud functions deploy FUNCTION_NAME --runtime=nodejs14 --trigger-topic=TOPIC_NAME Deploy Pub/Sub function
gcloud functions delete FUNCTION_NAME Delete function
gcloud functions describe FUNCTION_NAME Show function details
gcloud functions call FUNCTION_NAME Call function

기능 로그

Command Description
gcloud functions logs read FUNCTION_NAME Read function logs
gcloud functions logs read FUNCTION_NAME --limit=50 Read recent logs
gcloud functions logs read FUNCTION_NAME --start-time=2023-01-01 Read logs from date

클라우드 SQL

Instance 관리

Command Description
gcloud sql instances list List SQL instances
gcloud sql instances create INSTANCE_NAME --database-version=MYSQL_8_0 --tier=db-f1-micro Create MySQL instance
gcloud sql instances create INSTANCE_NAME --database-version=POSTGRES_13 --tier=db-f1-micro Create PostgreSQL instance
gcloud sql instances delete INSTANCE_NAME Delete instance
gcloud sql instances describe INSTANCE_NAME Show instance details
gcloud sql instances restart INSTANCE_NAME Restart instance

Database 운영

Command Description
gcloud sql databases list --instance=INSTANCE_NAME List databases
gcloud sql databases create DATABASE_NAME --instance=INSTANCE_NAME Create database
gcloud sql databases delete DATABASE_NAME --instance=INSTANCE_NAME Delete database

사용자 관리

Command Description
gcloud sql users list --instance=INSTANCE_NAME List users
gcloud sql users create USERNAME --instance=INSTANCE_NAME --password=PASSWORD Create user
gcloud sql users delete USERNAME --instance=INSTANCE_NAME Delete user
gcloud sql users set-password USERNAME --instance=INSTANCE_NAME --password=NEW_PASSWORD Change password

지원하다

Command Description
gcloud sql backups list --instance=INSTANCE_NAME List backups
gcloud sql backups create --instance=INSTANCE_NAME Create backup
gcloud sql backups restore BACKUP_ID --restore-instance=INSTANCE_NAME Restore backup

앱 엔진

Application 관리

Command Description
gcloud app deploy Deploy application
gcloud app deploy --version=VERSION_NAME Deploy specific version
gcloud app browse Open application in browser
gcloud app describe Show application details
gcloud app versions list List application versions
gcloud app versions delete VERSION_NAME Delete version

교통 관리

Command Description
gcloud app services list List services
gcloud app versions migrate VERSION_NAME Migrate traffic to version
gcloud app services set-traffic --splits=VERSION1=0.5,VERSION2=0.5 Split traffic

로그인

Command Description
gcloud app logs tail Stream application logs
gcloud app logs read Read application logs
gcloud app logs read --service=SERVICE_NAME Read service logs

클라우드 Pub/Sub

팟캐스트

Command Description
gcloud pubsub topics list List topics
gcloud pubsub topics create TOPIC_NAME Create topic
gcloud pubsub topics delete TOPIC_NAME Delete topic
gcloud pubsub topics describe TOPIC_NAME Show topic details
gcloud pubsub topics publish TOPIC_NAME --message="Hello World" Publish message

이름 *

Command Description
gcloud pubsub subscriptions list List subscriptions
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME Create subscription
gcloud pubsub subscriptions delete SUBSCRIPTION_NAME Delete subscription
gcloud pubsub subscriptions pull SUBSCRIPTION_NAME Pull messages
gcloud pubsub subscriptions pull SUBSCRIPTION_NAME --auto-ack Pull and acknowledge

IAM (Identity 및 Access Management)

서비스 계정

Command Description
gcloud iam service-accounts list List service accounts
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME Create service account
gcloud iam service-accounts delete SERVICE_ACCOUNT_EMAIL Delete service account
gcloud iam service-accounts keys create KEY_FILE --iam-account=SERVICE_ACCOUNT_EMAIL Create service account key
gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL List service account keys

IAM 정책

Command Description
gcloud projects get-iam-policy PROJECT_ID Get project IAM policy
gcloud projects add-iam-policy-binding PROJECT_ID --member=user:EMAIL --role=ROLE Add IAM binding
gcloud projects remove-iam-policy-binding PROJECT_ID --member=user:EMAIL --role=ROLE Remove IAM binding
gcloud iam roles list List predefined roles
gcloud iam roles create ROLE_NAME --project=PROJECT_ID --file=ROLE_DEFINITION Create custom role

클라우드 구축

회사연혁

Command Description
gcloud builds list List builds
gcloud builds submit --tag gcr.io/PROJECT_ID/IMAGE_NAME Build and push image
gcloud builds submit --config=cloudbuild.yaml Build with config file
gcloud builds describe BUILD_ID Show build details
gcloud builds cancel BUILD_ID Cancel build

트리거

Command Description
gcloud builds triggers list List build triggers
gcloud builds triggers create github --repo-name=REPO_NAME --repo-owner=OWNER --branch-pattern=main Create GitHub trigger
gcloud builds triggers delete TRIGGER_ID Delete trigger
gcloud builds triggers run TRIGGER_NAME Run trigger manually

사업영역

모형: VPC 네트워크

Command Description
gcloud compute networks list List VPC networks
gcloud compute networks create NETWORK_NAME --subnet-mode=custom Create custom VPC
gcloud compute networks delete NETWORK_NAME Delete VPC network
gcloud compute networks subnets list List subnets
gcloud compute networks subnets create SUBNET_NAME --network=NETWORK_NAME --range=10.0.0.0/24 Create subnet

방화벽 규칙

Command Description
gcloud compute firewall-rules list List firewall rules
gcloud compute firewall-rules create RULE_NAME --allow tcp:80,tcp:443 --source-ranges 0.0.0.0/0 Create firewall rule
gcloud compute firewall-rules delete RULE_NAME Delete firewall rule
gcloud compute firewall-rules describe RULE_NAME Show firewall rule details

로드밸런서

Command Description
gcloud compute url-maps list List URL maps
gcloud compute backend-services list List backend services
gcloud compute target-http-proxies list List HTTP proxies
gcloud compute forwarding-rules list List forwarding rules

모니터링 및 로깅

클라우드 로깅

Command Description
gcloud logging logs list List available logs
gcloud logging read "resource.type=gce_instance" Read logs by resource
gcloud logging read "timestamp>=2023-01-01T00:00:00Z" Read logs by time
gcloud logging sinks list List log sinks
gcloud logging sinks create SINK_NAME DESTINATION --log-filter=FILTER Create log sink

클라우드 모니터링

Command Description
gcloud alpha monitoring policies list List alerting policies
gcloud alpha monitoring channels list List notification channels

최고의 연습

계정 관리

  1. 서비스 계정: 서비스 계정 사용
  2. **IAM 원칙 **: 최소 권한의 원칙을 따르십시오.
  3. VPC 소개 Security**: 개인 서브넷 및 방화벽 규칙 사용
  4. 명세 Secret Management: 민감한 데이터를 위한 Secret Manager 사용

비용 최적화

  1. ** 리소스 라벨 ** : 비용 추적을위한 라벨 리소스
  2. Preemptible Instances: 배치 작업 부하에 대한 preemptible VMs 사용
  3. ** 완료 Use**: 예측 가능한 워크로드에 대한 최적의 사용 할인
  4. 명세 Auto-scaling: 동적 워크로드를 위한 자동 스케일링 구성

회사연혁

  1. ** Code**: Deployment Manager 또는 Terraform 사용
  2. CI/CD: 지속적인 통합을 위한 Cloud Build 사용
  3. Monitoring: 종합 모니터링 및 경고 설정
  4. 명세 Backup Strategy: 자동화된 백업 전략 구현