https://www.for-engineer.life/entry/google-compute-engine/
https://dara-blog.com/conect-ssh-gcp
https://qiita.com/G-awa/items/e6904b040caa0096fba0
前提:
OS: CentOS7
作業ユーザ: testuser
-- 1. gcloudコマンドのインストール
curl https://sdk.cloud.google.com | bash
source ~/.bash_profile
gcloud --version
gcloud init
※コンソールで実行
-- 2. プロジェクト作成
gcloud projects list
gcloud projects create project01-9999999 \
--name="project01"
-- プロジェクトを請求先アカウントに紐づける(GUIから実施)
-- 3. プロジェクト設定
gcloud config list
gcloud config set project project01-9999999
gcloud config list
-- 4. インスタンス作成
-- 4.1 Compute Engineの有効化
gcloud services enable compute.googleapis.com
-- 4.2 マシンタイプ確認
gcloud compute machine-types list \
--zones=asia-northeast1-a \
--sort-by=CPUS,MEMORY_GB
-- 4.3 サービスアカウント確認
gcloud iam service-accounts list
-- 4.4 ディスクタイプ確認
gcloud compute disk-types list \
--zones=asia-northeast1-a
-- 4.5 イメージ確認
gcloud compute images list
-- 4.6 インスタンス作成
gcloud compute instances create instance-1 \
--project=project01-9999999 \
--zone=asia-northeast1-a \
--machine-type=e2-micro \
--network-interface=network-tier=STANDARD,subnet=default \
--maintenance-policy=TERMINATE \
--provisioning-model=SPOT \
--service-account=999999999999-compute@developer.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \
--create-disk=auto-delete=yes,boot=yes,device-name=instance-1,image=projects/centos-cloud/global/images/centos-7-v20220621,mode=rw,size=20,type=projects/project01-9999999/zones/asia-northeast1-a/diskTypes/pd-standard \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--preemptible
-- 5. SSH接続
-- 5.2 インスタンスに公開鍵を設定する
gcloud compute instances add-metadata instance-1 \
--zone=asia-northeast1-a \
--metadata=ssh-keys="testuser:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAXBAQDPOfAbh3viQV5z8JtXfb4ruejb7LWI+9PLogAqrlAk4gJdX0NTPROj1oIUasdTDlX4Cb52dPdzjbzIV/KeXPyn03g4g6VWjev9ItJ3mHlPXhoGEujoslG8GaRQ63BSXtB+ydX5zWmfDkCmRLbkFqqX2gSi5FlZeJMzl2s16nl73tG0Xe6E+SiIderNRWfViS3X0hX/+siXindfaB8jbMgYIQJ4ZCXhcRCw39LM1ESY7zhAj4BXfhqKoX3llHRZH4DZYvKYEeyHEWXSjVDcZqoOAPRNHgttpY3nx7lGNUcd2gADIe9mpXzXIPhWDLx3pnC9MH1DNAp+roxKbi9S8tix testuser@mmm127"
gcloud compute instances describe instance-1
ssh -i ~/.ssh/id_rsa testuser@192.0.2.1
-- 6. インスタンス停止/起動
gcloud compute instances list
gcloud compute instances stop instance-1
gcloud compute instances start instance-1
gcloud compute instances describe instance-1
-- 7. クリーンアップ
-- インスタンス削除
gcloud compute instances delete instance-1
gcloud compute instances list
-- プロジェクト削除
gcloud projects list
gcloud projects delete project01-9999999