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