Google Cloud Associate Cloud Enginerで聞かれるGCPコマンドまとめ

勉強カテゴリー

Google Cloud Associate Cloud Enginerを受験するにあたって、模擬試験に出てきたコマンドをまとめておきます。

テストに限らず通常の業務でも使うようなコマンドなので、自分のための倉庫的な記事です。

※ACEのテストに合格したので、おすすめの勉強方法を以下にまとめました。

gcloudコマンド

全般

### gcloud config
# アクティブなgcloud構成のプロパティを表示
$ gcloud config list
# プロジェクトの設定に利用する gcloud config <section>/<property> value
$ gcloud config set compute/region us-central1
# プロジェクトの設定を削除するコマンド gcloud config unset
$ gcloud config unset compute/region
# アカウントの切り替え
$ gcloud config configurations activate <configuration name>
### gcloud projects
# プロジェクト一覧を取得
$ gcloud projects list
# IAMポリシーをプロジェクトにバインディングするコマンド
$ gcloud projects add-iam-policy-binding
### その他
# 対象プロジェクトで有効になっているGCP APIの一覧を取得
$ gcloud services list --project <project_id>
# 既存のロールから新しいロールを作成する
$ gcloud iam roles copy
# サービスアカウントのアクティベート
$ gcloud auth activate-service-account <service@account.name> --key-file key.json --project <project name>

Compute Engine

# インスタンスの作成
$ gcloud compute instances create <instance name>
# 起動スクリプトの指定
$ gcloud compute instances create --metadata-from-file startup-script=/path/to/file <instance name>
# 5GBメモリ、4CPUの数を指定
$ gcloud compute instaces create <instance name> --custom-cpu 4 --customer-memory 5
# インスタンスをリスト表示
$ gcloud compute instances list --filter="zone;(asia-northeast1-a us-central1-b)"
# imageのリスト表示
$ gcloud compute images list --filter=...
# セキュリティの設定
$ gcloud compute security-policies rules create --expression ... --action ...
# subnetのプレフィックス長の変更
$ gcloud compute networks subnetes expand-ip-range <subnet-name> --prefix-length=28
# マネージドインスタンスグループの作成
$ gcloud compute instance-groups managed set-autoscaling <group-name> --max-num-replicates 3 --target-cpu-utilization 0.7
# インスタンスへの接続
$ gcloud compute ssh --project=<project name> --zone=<zone> <instance-name>
# vpcの作成
$ gcloud compute networks create

App Engine

# デプロイ
$ gcloud app deploy
# トラフィックを移行せずにバージョンを指定してデプロイ
$ gcloud app deploy --no-promote --version=<version>
# トラフィックの移行
$ gcloud app versions migrate <version>
# ファイアウォールの設定
$ gcloud app firewall-rules create <priority> --action=<ALLOW ot DENY>
gcloud app firewall-rules create

Cloud Function

# デプロイ
$ gcloud functions deploy

Cloud Storage(gsutil)

# 特定オブジェクトへのACLの設定
$ gsutil acl set <life-or-canned_acl_name> url
# バケットへのACLの設定
$ gsutil defcal set <file-or-canned_acl_name> gs://<bucket_name>
# オブジェクトのダウンロード用署名付きURLの発行
$ gsutil signurl -d 10m /path/to/key.json gs://<bucket_name>
# オブジェクトのアップロード用署名付きURLの発行
$ gsutil signurl -m PUT -d 1h -c CONTENT_TYPE -u gs://<bucket_name>/<object_name>
# バケットにバージョニングを有効にする
$ gsutil versioning set on gs://backet-name

Kubernetes系

# クラスタの作成
$ gcloud container clusters create sample-cluster --zone=us-central1-a
# cluster poolのノードサイズを変更する
$ gcloud container clusters resize <cluster-name> --node-pool <node-pool-name> --num-node 5
# deploymentやserviceのデプロイコマンド(kubectl apply)
$ kubectl apply -f deployment.yaml
$ kubectl apply -f service.yaml.
# shellに侵入
$ kubectl exec -it <pod-name> --container <app-name> -- /bin/bash