Cline(Claude 3.7 Sonnet)にgcloudコマンドを網羅してもらった

AI

はじまり

リサちゃん
リサちゃん

最近Google Cloudを使い始めたんだけど、コマンドラインからいろんな操作ができるって聞いたよ。gcloud CLIっていうやつかな?

135ml
135ml

そうですよ! gcloud CLIはGoogle Cloudのリソースを管理するための強力なコマンドラインツールです。今日はそれで何ができるのか、詳しく見ていきましょうか?

リサちゃん
リサちゃん

オオッ、それは助かる!どんなサービスが使えるのか全部知りたいな!

135ml
135ml

了解です! それでは、gcloud CLIで利用できるサービスを全て解説していきますね!

Clineにgcloudをまとめてもらった。

この記事でGeminiにgcloudについてまとめてもらった時に、Clineならどうなるのか気になりました。

今回は、Clineにgcloud CLIで使えるコマンドを網羅してもらいました。使ったAIのモデルはClaude 3.7 Sonnetです。

たまにgcloudコマンドのヘルプにも載っていないようなものが登場しますが、かなりまとまっていたので記事にしました。

それでは見ていきましょう。

gcloud CLIとは?

gcloud CLIは、Google Cloud Platform(GCP)のリソースを管理するためのコマンドラインインターフェースです。ブラウザのコンソールを開かなくても、ターミナルから直接GCPのさまざまなサービスを操作できる便利なツールなんですよ。

gcloud CLI の概要  |  Google Cloud CLI Documentation

インストールは簡単で、Google Cloud SDKの一部として提供されています。macOS、Windows、Linuxなど、主要なOSに対応しているので、どの環境でも使えるのが嬉しいポイントです。

gcloud CLIの基本構造

gcloud CLIのコマンド構造は基本的に以下のようになっています:

gcloud [グループ] [サブグループ] [コマンド] [フラグ] [引数]

例えば、Compute Engineのインスタンスを一覧表示するコマンドは:

gcloud compute instances list --project=my-project

ここで、computeがグループ、instancesがサブグループ、listがコマンド、--project=my-projectがフラグとなります。

gcloud CLIで利用できるサービス一覧

それでは、gcloud CLIで利用できる主要なサービスを見ていきましょう!

1. Compute Engine (compute)

Compute Engineは、GCPの仮想マシンサービスです。gcloud CLIを使えば、インスタンスの作成、起動、停止、削除などの操作が簡単にできます。

# インスタンスの一覧表示
gcloud compute instances list

# インスタンスの作成
gcloud compute instances create my-instance --machine-type=e2-medium --zone=us-central1-a

# インスタンスの起動
gcloud compute instances start my-instance --zone=us-central1-a

# インスタンスの停止
gcloud compute instances stop my-instance --zone=us-central1-a

# インスタンスの削除
gcloud compute instances delete my-instance --zone=us-central1-a

また、ディスク、ファイアウォールルール、ロードバランサーなどの管理も可能です。

# ディスクの作成
gcloud compute disks create my-disk --size=100GB --zone=us-central1-a

# ファイアウォールルールの作成
gcloud compute firewall-rules create allow-http --allow tcp:80

# ロードバランサーの作成
gcloud compute forwarding-rules create my-lb --load-balancing-scheme=EXTERNAL

2. App Engine (app)

App Engineは、フルマネージドのアプリケーションプラットフォームです。gcloud CLIを使って、アプリケーションのデプロイや管理が行えます。

# アプリケーションの作成
gcloud app create --region=us-central

# アプリケーションのデプロイ
gcloud app deploy app.yaml

# アプリケーションの表示
gcloud app browse

# アプリケーションのログ表示
gcloud app logs read

3. Kubernetes Engine (container)

Google Kubernetes Engine(GKE)は、Kubernetesのマネージドサービスです。gcloud CLIを使って、クラスタの作成や管理ができます。

# クラスタの作成
gcloud container clusters create my-cluster --num-nodes=3 --zone=us-central1-a

# クラスタの認証情報の取得
gcloud container clusters get-credentials my-cluster --zone=us-central1-a

# クラスタの一覧表示
gcloud container clusters list

# クラスタの削除
gcloud container clusters delete my-cluster --zone=us-central1-a

4. Cloud Storage (storage)

Cloud Storageは、オブジェクトストレージサービスです。gcloud CLIを使って、バケットやオブジェクトの管理ができます。

# バケットの作成
gcloud storage buckets create gs://my-bucket

# バケットの一覧表示
gcloud storage buckets list

# ファイルのアップロード
gcloud storage cp local-file.txt gs://my-bucket/

# ファイルのダウンロード
gcloud storage cp gs://my-bucket/file.txt ./

# バケットの削除
gcloud storage buckets delete gs://my-bucket

5. Cloud SQL (sql)

Cloud SQLは、マネージドのリレーショナルデータベースサービスです。gcloud CLIを使って、インスタンスの作成や管理ができます。

# インスタンスの作成
gcloud sql instances create my-instance --database-version=MYSQL_8_0 --tier=db-n1-standard-1

# インスタンスの一覧表示
gcloud sql instances list

# データベースの作成
gcloud sql databases create my-database --instance=my-instance

# ユーザーの作成
gcloud sql users create my-user --instance=my-instance --password=my-password

# インスタンスの削除
gcloud sql instances delete my-instance

6. Cloud Functions (functions)

Cloud Functionsは、サーバーレスの関数実行環境です。gcloud CLIを使って、関数のデプロイや管理ができます。

# 関数のデプロイ
gcloud functions deploy my-function --runtime=nodejs14 --trigger-http --entry-point=helloWorld

# 関数の一覧表示
gcloud functions list

# 関数の詳細表示
gcloud functions describe my-function

# 関数の呼び出し
gcloud functions call my-function --data='{"name":"World"}'

# 関数の削除
gcloud functions delete my-function

7. Cloud Run (run)

Cloud Runは、コンテナをサーバーレスで実行するサービスです。gcloud CLIを使って、サービスのデプロイや管理ができます。

# サービスのデプロイ
gcloud run deploy my-service --image=gcr.io/my-project/my-image --platform=managed

# サービスの一覧表示
gcloud run services list

# サービスの詳細表示
gcloud run services describe my-service

# サービスの削除
gcloud run services delete my-service

8. BigQuery (bq)

BigQueryは、大規模データ分析サービスです。gcloud CLIを使って、データセットやテーブルの管理、クエリの実行ができます。

# データセットの作成
gcloud bq mk --dataset my-project:my-dataset

# テーブルの作成
gcloud bq mk --table my-project:my-dataset.my-table name:STRING,age:INTEGER

# クエリの実行
gcloud bq query --use_legacy_sql=false 'SELECT * FROM `my-project.my-dataset.my-table` LIMIT 10'

# データセットの削除
gcloud bq rm --dataset --force my-project:my-dataset

9. Pub/Sub (pubsub)

Pub/Subは、メッセージングサービスです。gcloud CLIを使って、トピックやサブスクリプションの管理ができます。

# トピックの作成
gcloud pubsub topics create my-topic

# トピックの一覧表示
gcloud pubsub topics list

# サブスクリプションの作成
gcloud pubsub subscriptions create my-sub --topic=my-topic

# メッセージの発行
gcloud pubsub topics publish my-topic --message="Hello, World!"

# メッセージの受信
gcloud pubsub subscriptions pull my-sub --auto-ack

10. IAM & Admin (iam)

IAM(Identity and Access Management)は、アクセス制御サービスです。gcloud CLIを使って、ロールやポリシーの管理ができます。

# サービスアカウントの作成
gcloud iam service-accounts create my-sa --display-name="My Service Account"

# ロールの付与
gcloud projects add-iam-policy-binding my-project --member=serviceAccount:my-sa@my-project.iam.gserviceaccount.com --role=roles/editor

# ポリシーの表示
gcloud projects get-iam-policy my-project

# サービスアカウントキーの作成
gcloud iam service-accounts keys create key.json --iam-account=my-sa@my-project.iam.gserviceaccount.com

11. Cloud Build (builds)

Cloud Buildは、CIサービスです。gcloud CLIを使って、ビルドの実行や管理ができます。

# ビルドの実行
gcloud builds submit --config=cloudbuild.yaml .

# ビルドの一覧表示
gcloud builds list

# ビルドの詳細表示
gcloud builds describe BUILD_ID

# ビルドのログ表示
gcloud builds log BUILD_ID

12. Cloud Monitoring (monitoring)

Cloud Monitoringは、モニタリングサービスです。gcloud CLIを使って、スヌーズやダッシュボードの管理ができます。アラートポリシーを管理するために、gcloud alpha monitoring policiesというコマンドがアルファ版では使えましたが、現行版では存在しません。

# スヌーズの一覧表示
gcloud monitoring snoozes list

# スヌーズの詳細表示
gcloud monitoring snoozes describe SNOOZE_ID

# ダッシュボードの一覧表示
gcloud monitoring dashboards list

# ダッシュボードの詳細表示
gcloud monitoring dashboards describe DASHBOARD_ID

13. Cloud Logging (logging)

Cloud Loggingは、ログ管理サービスです。gcloud CLIを使って、ログの表示やフィルタリングができます。

# ログの表示
gcloud logging read "resource.type=gce_instance"

# ログのエクスポート
gcloud logging sinks create my-sink storage.googleapis.com/my-bucket --log-filter="resource.type=gce_instance"

# ログのフィルタリング
gcloud logging read "severity>=ERROR" --limit=10

# ログのメトリクスの作成
gcloud logging metrics create my-metric --description="My log metric" --filter="resource.type=gce_instance"

14. Cloud DNS (dns)

Cloud DNSは、DNSサービスです。gcloud CLIを使って、ゾーンやレコードの管理ができます。

# ゾーンの作成
gcloud dns managed-zones create my-zone --dns-name=example.com. --description="My DNS zone"

# ゾーンの一覧表示
gcloud dns managed-zones list

# レコードの追加
gcloud dns record-sets transaction start --zone=my-zone
gcloud dns record-sets transaction add --zone=my-zone --name=www.example.com. --type=A --ttl=300 "203.0.113.1"
gcloud dns record-sets transaction execute --zone=my-zone

# レコードの一覧表示
gcloud dns record-sets list --zone=my-zone

15. Cloud KMS (kms)

Cloud KMSは、鍵管理サービスです。gcloud CLIを使って、キーリングや鍵の管理ができます。

# キーリングの作成
gcloud kms keyrings create my-keyring --location=global

# 鍵の作成
gcloud kms keys create my-key --location=global --keyring=my-keyring --purpose=encryption

# 鍵の一覧表示
gcloud kms keys list --location=global --keyring=my-keyring

# データの暗号化
echo -n "Hello, World!" | gcloud kms encrypt --location=global --keyring=my-keyring --key=my-key --plaintext-file=- --ciphertext-file=encrypted.bin

# データの復号
gcloud kms decrypt --location=global --keyring=my-keyring --key=my-key --ciphertext-file=encrypted.bin --plaintext-file=decrypted.txt

16. Cloud Spanner (spanner)

Cloud Spannerは、グローバルに分散したリレーショナルデータベースサービスです。gcloud CLIを使って、インスタンスやデータベースの管理ができます。

# インスタンスの作成
gcloud spanner instances create my-instance --config=regional-us-central1 --description="My Spanner instance" --nodes=1

# インスタンスの一覧表示
gcloud spanner instances list

# データベースの作成
gcloud spanner databases create my-database --instance=my-instance

# データベースの一覧表示
gcloud spanner databases list --instance=my-instance

# スキーマの更新
gcloud spanner databases ddl update my-database --instance=my-instance --ddl="CREATE TABLE Users (UserId INT64 NOT NULL, Name STRING(1024)) PRIMARY KEY (UserId)"

17. Cloud Dataflow (dataflow)

Cloud Dataflowは、ストリーム処理および一括処理のサービスです。gcloud CLIを使って、ジョブの実行や管理ができます。

# ジョブの実行
gcloud dataflow jobs run my-job --gcs-location=gs://my-bucket/templates/my-template --region=us-central1

# ジョブの一覧表示
gcloud dataflow jobs list

# ジョブの詳細表示
gcloud dataflow jobs describe JOB_ID

# ジョブの停止
gcloud dataflow jobs cancel JOB_ID

18. Cloud Dataproc (dataproc)

Cloud Dataprocは、マネージドのHadoopおよびSparkサービスです。gcloud CLIを使って、クラスタの作成や管理、ジョブの実行ができます。

# クラスタの作成
gcloud dataproc clusters create my-cluster --region=us-central1 --num-workers=2

# クラスタの一覧表示
gcloud dataproc clusters list --region=us-central1

# ジョブの実行
gcloud dataproc jobs submit spark --cluster=my-cluster --region=us-central1 --jar=gs://my-bucket/my-jar.jar -- arg1 arg2

# クラスタの削除
gcloud dataproc clusters delete my-cluster --region=us-central1

19. Cloud Bigtable (bigtable)

Cloud Bigtableは、NoSQLデータベースサービスです。gcloud CLIを使って、インスタンスやテーブルの管理ができます。

# インスタンスの作成
gcloud bigtable instances create my-instance --cluster=my-cluster --cluster-zone=us-central1-a --display-name="My Bigtable instance"

# インスタンスの一覧表示
gcloud bigtable instances list

# テーブルの作成
cbt -instance=my-instance createtable my-table

# テーブルの一覧表示
cbt -instance=my-instance ls

20. Cloud Memorystore (redis)

Cloud Memorystoreは、マネージドのRedisサービスです。gcloud CLIを使って、インスタンスの作成や管理ができます。

# インスタンスの作成
gcloud redis instances create my-instance --size=1 --region=us-central1 --redis-version=redis_6_x

# インスタンスの一覧表示
gcloud redis instances list

# インスタンスの詳細表示
gcloud redis instances describe my-instance --region=us-central1

# インスタンスの削除
gcloud redis instances delete my-instance --region=us-central1

21. Cloud Filestore (filestore)

Cloud Filestoreは、マネージドのファイルストレージサービスです。gcloud CLIを使って、インスタンスの作成や管理ができます。

# インスタンスの作成
gcloud filestore instances create my-instance --tier=BASIC_HDD --file-share=name=my-share,capacity=1TB --network=name=default --region=us-central1 --zone=us-central1-a

# インスタンスの一覧表示
gcloud filestore instances list

# インスタンスの詳細表示
gcloud filestore instances describe my-instance --zone=us-central1-a

# インスタンスの削除
gcloud filestore instances delete my-instance --zone=us-central1-a

22. Cloud Composer (composer)

Cloud Composerは、マネージドのAirflowサービスです。gcloud CLIを使って、環境の作成や管理ができます。

# 環境の作成
gcloud composer environments create my-environment --location=us-central1

# 環境の一覧表示
gcloud composer environments list --locations=us-central1

# 環境の詳細表示
gcloud composer environments describe my-environment --location=us-central1

# 環境の削除
gcloud composer environments delete my-environment --location=us-central1

23. Cloud Scheduler (scheduler)

Cloud Schedulerは、ジョブスケジューリングサービスです。gcloud CLIを使って、ジョブの作成や管理ができます。

# ジョブの作成
gcloud scheduler jobs create http my-job --schedule="0 * * * *" --uri=https://example.com/path --http-method=GET

# ジョブの一覧表示
gcloud scheduler jobs list

# ジョブの実行
gcloud scheduler jobs run my-job

# ジョブの削除
gcloud scheduler jobs delete my-job

24. Cloud Tasks (tasks)

Cloud Tasksは、非同期タスク実行サービスです。gcloud CLIを使って、キューやタスクの管理ができます。

# キューの作成
gcloud tasks queues create my-queue

# キューの一覧表示
gcloud tasks queues list

# キューの詳細表示
gcloud tasks queues describe my-queue

# タスクの作成
gcloud tasks create-http-task --queue=my-queue --url=https://example.com/path --method=GET

25. Cloud Endpoints (endpoints)

Cloud Endpointsは、APIマネジメントサービスです。gcloud CLIを使って、APIの管理やデプロイができます。

# APIの作成
gcloud endpoints services deploy openapi.yaml

# APIの一覧表示
gcloud endpoints services list

# APIの詳細表示
gcloud endpoints services describe my-service.endpoints.my-project.cloud.goog

# APIの削除
gcloud endpoints services delete my-service.endpoints.my-project.cloud.goog

26. Cloud Healthcare (healthcare)

Cloud Healthcareは、ヘルスケアデータ管理サービスです。gcloud CLIを使って、データセットやストアの管理ができます。

# データセットの作成
gcloud healthcare datasets create my-dataset --location=us-central1

# データセットの一覧表示
gcloud healthcare datasets list --location=us-central1

# FHIRストアの作成
gcloud healthcare fhir-stores create my-fhir-store --dataset=my-dataset --location=us-central1

# HL7v2ストアの作成
gcloud healthcare hl7v2-stores create my-hl7v2-store --dataset=my-dataset --location=us-central1

27. Cloud IoT Core (iot)・・・非推奨です。

このコマンドだけ、2025-03-25時点で非推奨でした。

gcloud iotコマンドは、gcloud --helpにも載っていませんし、GoogleからCloud IoT Coreは非推奨だというお触れが出されています。2023年から非推奨のようです。

IoT Core から環境を移行する  |  Cloud Architecture Center  |  Google Cloud
moonrise-replace659e1014d41c46b1a131934f7486485fmoonrise-replace から移行するためのプランを設計して実装する方法。

Cloud IoT Coreは、IoTデバイス管理サービスです。gcloud CLIを使って、レジストリやデバイスの管理ができます。

28. Cloud Asset (asset)

Cloud Assetは、資産インベントリサービスです。gcloud CLIを使って、資産の一覧表示やエクスポートができます。

# 資産の一覧表示
gcloud asset list --project=my-project --content-type=resource

# 資産のエクスポート
gcloud asset export --project=my-project --content-type=resource --output-path=gs://my-bucket/assets.json

# 資産の履歴の表示
gcloud asset history --project=my-project --asset-names=//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance --content-type=resource

29. Cloud Deployment Manager (deployment-manager)

Cloud Deployment Managerは、インフラストラクチャ管理サービスです。gcloud CLIを使って、デプロイメントの作成や管理ができます。

# デプロイメントの作成
gcloud deployment-manager deployments create my-deployment --config=config.yaml

# デプロイメントの一覧表示
gcloud deployment-manager deployments list

# デプロイメントの詳細表示
gcloud deployment-manager deployments describe my-deployment

# デプロイメントの削除
gcloud deployment-manager deployments delete my-deployment

30. Cloud Security Command Center (scc)

Cloud Security Command Centerは、セキュリティ管理サービスです。gcloud CLIを使って、ファインディングやアセットの管理ができます。

# ファインディングの一覧表示
gcloud scc findings list --organization=ORGANIZATION_ID --source=SOURCE_ID

# アセットの一覧表示
gcloud scc assets list --organization=ORGANIZATION_ID --source=SOURCE_ID

# ソースの一覧表示
gcloud scc sources list --organization=ORGANIZATION_ID

まとめ

今回は、gcloud CLIで利用できる主要なサービスを30個紹介しました。これらのサービスを使いこなせば、Google Cloudのリソースをコマンドラインから効率的に管理できるようになります。

gcloud CLIの魅力は、GUIでの操作をスクリプト化できることです。複雑な操作も自動化できるので、DevOpsの実践には欠かせないツールと言えるでしょう。

また、gcloud helpコマンドを使えば、各コマンドの詳細なヘルプを表示できます。わからないことがあれば、このコマンドを活用してみてください。

# 基本的なヘルプ
gcloud help

# 特定のコマンドのヘルプ
gcloud compute instances create --help

また、今回gcloud helpコマンドの出力を眺めていたら、公式チートシート的な情報も転がっていました。用途によって有用なgcloudコマンドを調べることが出来ます。

gcloud cheat-sheet

gcloud CLIは非常に多機能なので、今回紹介したサービス以外にも多くの機能があります。ぜひ公式ドキュメントも参照しながら、自分のニーズに合った使い方を見つけてみてください。

・・・という感じにClineはまとめてくれました。

これでBraveとかのMCPサーバ建てたらどうなっちゃうんでしょうか。

おしまい

リサちゃん
リサちゃん

すごい!こんなにたくさんのサービスがgcloud CLIから使えるんだね!

135ml
135ml

そうなんですよ、Google Cloudのほぼすべてのサービスがコマンドラインから操作できるんです。特に自動化やCI/CDパイプラインを構築する際には、とても便利ですよ!

リサちゃん
リサちゃん

これは勉強になったよ!早速使ってみるね。ありがとう、135ml!

135ml
135ml

どういたしまして!何か困ったことがあったらいつでも聞いてくださいね!

リサちゃん
リサちゃん

・・・この会話は流石にキモいなあ。

135ml
135ml

そんなこと言われたって・・・。

以上になります!

コメント

タイトルとURLをコピーしました