Halaman ini berisi tips yang mungkin berguna saat Anda menggunakan alat command line gcloud
untuk mengelola resource Compute Engine. Untuk mengetahui
daftar lengkap dari semua flag dan perintahgcloud compute
yang tersedia, Anda dapat menggunakan
bantuan perintah bawaan (--help
) atau
dokumentasi referensi yang dipublikasikan, ataudokumentasi inti gcloud.
Sebelum memulai
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
-
Mengambil informasi tentang resource
Anda dapat mengambil informasi resource Compute Engine dengan dua cara: menggunakan perintah list
untuk menampilkan daftar resource dan menggunakan perintah describe
untuk menampilkan detail tentang satu resource tertentu.
Mengambil resource dengan perintah list
Perintah list
dirancang untuk menampilkan tabel yang berisi
data paling relevan dan dapat dibaca manusia untuk resource yang diminta. Anda juga dapat memfilter hasil untuk menampilkan daftar yang lebih pendek dengan hasil yang lebih relevan.
- Pemfilteran ekspresi reguler untuk nama
- Anda dapat menggunakan
sintaksis RE2 untuk mencocokkan
nama resource (misalnya, nama instance atau disk). Lihat
perintah
gcloud compute instances list
. - Flag Perintah
--limit
Jumlah hasil maksimum yang akan ditampilkan. Flag ini sangat berguna saat digunakan dengan flag
--sort-by
seperti yang dijelaskan di bagian Mengambil resource dengan perintah deskripsi.--sort-by SORT_BY
Kolom untuk mengurutkan, jika ada. Untuk melakukan pengurutan dengan urutan menurun, awali nilai dengan tanda gelombang ("~"). Flag ini akan berinteraksi dengan flag lain yang diterapkan dalam urutan ini:
--flatten
,--sort-by
,--filter
,--limit
.
Mengambil resource dengan perintah describe
Perintah describe
dirancang untuk menampilkan data tentang satu resource. Anda
harus memberikan nama resource dalam perintah describe
. Jika tidak dapat
mengingat nama resource, Anda dapat menjalankan perintah list
untuk mendapatkan daftar
resource. Misalnya, dua perintah berikut mengilustrasikan skenario saat
Anda dapat mencantumkan image untuk mendapatkan nama image dan project terkait sehingga Anda
dapat memberikannya sebagai input untuk perintah describe
:
gcloud compute images list
NAME PROJECT FAMILY DEPRECATED STATUS ... centos-7-v20170620 centos-cloud centos-7 READY ... debian-9-stretch-v20170619 debian-cloud debian-9 READY ...
gcloud compute images describe debian-9-stretch-v20170619 --project debian-cloud
Output default dari perintah describe
adalah format YAML, tetapi Anda dapat menggunakan flag --format
untuk memilih antara format output JSON, YAML, dan teks.
Output berformat JSON dapat berguna jika Anda mengurai output, sedangkan output berformat
teks akan menempatkan setiap properti di baris terpisah.
gcloud compute regions describe us-central1 --format json
{ "creationTimestamp": "2013-09-06T10:36:54.847-07:00", "description": "us-central1", "id": "6837843067389011605", "kind": "compute#region", "name": "us-central1", ... "status": "UP", "zones": [ "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a", "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b", "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f" ] }
Contoh
Contoh perintah list
Saat membuat daftar resource, Anda akan mendapatkan tabel yang berisi
data ringkasan yang mudah dibaca. Misalnya, untuk menampilkan data ringkasan tentang instance di project Anda, gunakan perintah instances list
:
gcloud compute instances list
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS example-instance asia-east1-b e2-standard-2 10.240.95.199 107.167.182.44 RUNNING example-instance2 us-central1-a e2-standard-2 10.240.173.254 23.251.148.121 RUNNING test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
Anda dapat memfilter hasil dari perintah list
dengan ekspresi reguler, dengan menyertakan flag --filter
dengan operator key ~ value
. Misalnya, filter daftar instance agar hanya menyertakan instance yang mengandung kata "test" dalam nama instance:
gcloud compute instances list --filter="name ~ .*test.*"
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
Untuk menampilkan daftar operasi zona yang memiliki status
dari DONE
dan
tidak memiliki httpStatus
dari 200
, terapkan filter zone
pada perintah
operations list
, lalu
grep
hasilnya:
gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep -v 200
NAME HTTP_STATUS TYPE TARGET STATUS operation-1397752585735-4f73fa25b4b58-f0920fd5-254d709f 400 delete us-central1-a/disks/example-instance DONE operation-1398357613036-4f7cc80cb41e0-765bcba6-34bbd040 409 insert us-central1-a/instances/i-1 DONE operation-1398615481237-4f8088aefbe08-cc300dfa-2ce113cf 409 insert us-central1-a/instances/i-2 DONE
Untuk mendapatkan daftar disk di us-central1-a
yang diurutkan dalam urutan menurun berdasarkan
nama (--sort-by ~NAME
), gunakan
perintah disks list
:
gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"
Dalam beberapa skenario, Anda mungkin ingin memiliki link URI lengkap ke
resource tersebut, seperti permintaan yang meneruskan output dari perintah list
ke perintah atau aplikasi lain yang mengambil daftar resource link.
Untuk menampilkan link resource URI yang lengkap, gunakan flag --uri
dengan perintah list
.
gcloud compute instances list --uri --filter="name~'^example-.*'"
https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1 https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2
Untuk menggunakan output perintah list
yang sebelumnya dalam perintah yang menghapus instance, gunakan:
gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")
Contoh perintah describe
Untuk mendapatkan detail tentang satu instance saja, tentukan instance tersebut, termasuk zona-nya.
Misalnya, untuk menampilkan informasi tentang instance bernama "example-instance" di
zona "asia-east1-b", Anda dapat menggunakan
perintah instances describe
:
gcloud compute instances describe example-instance --zone asia-east1-b
Secara default, ini akan menampilkan output YAML. Untuk mengubah output ke JSON atau teks (satu properti
per baris), gunakan flag --format
. Misalnya, untuk menampilkan output teks untuk
instance yang sama, gunakan:
gcloud compute instances describe example-instance --zone asia-east1-b --format text
--- canIpForward: False creationTimestamp: 2014-04-19T06:43:04.087-07:00 disks[0].autoDelete: False disks[0].boot: True disks[0].deviceName: example-instance ...
Untuk mendapatkan detail tentang operasi tertentu, gunakan
perintah operations list
untuk menemukan URI operasi yang sepenuhnya memenuhi syarat:
gcloud compute operations list --filter="zone:(us-central1-a)"
NAME TYPE TARGET HTTP_STATUS STATUS operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 delete us-central1-a/instances/example-instance 200 DONE operation-1406155180632-4fee4040a67c1-bf581ed8-ab5af2b8 delete us-central1-a/instances/example-instance-2 200 DONE ...
Lalu, gunakan URI dalam
perintah
operations describe
:
gcloud compute operations describe \
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 --zone us-central1-a
endTime: '2014-07-23T15:40:02.463-07:00' id: '31755455923038965' insertTime: '2014-07-23T15:39:25.910-07:00' kind: compute#operation name: operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 operationType: delete progress: 100 ...
Perintah berikut mendapatkan setelan instance dalam format JSON (--format json
).
gcloud compute instances describe example-instance \
--zone us-central1-a
--format json
{ ... "name": "example-instance", "networkInterfaces": [ { "accessConfigs": [ { "kind": "compute#accessConfig", "name": "external-nat", "natIP": "107.167.187.66", "type": "ONE_TO_ONE_NAT" } ], "name": "nic0", "network": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default", "networkIP": "10.240.111.51" } ], ... "status": "RUNNING" ... }
Memeriksa pengguna mana yang Anda beri otorisasi
Untuk mencari tahu akun mana yang Anda beri otorisasi, gunakan perintah berikut:
gcloud auth list
Mencabut token refresh
Untuk mencabut kredensial akun di komputer tempat Anda menggunakan Google Cloud CLI, gunakan:
gcloud auth revoke
Hal ini akan memaksa Anda untuk menggunakan autentikasi ulang menggunakan gcloud init
.
Anda juga dapat mencabut izin gcloud CLI agar tidak dapat mengakses resource Anda. Anda dapat melakukannya, misalnya jika token refresh Anda disusupi. Untuk mencabut izin gcloud CLI:
- Login ke halaman Akun Google Anda.
- Klik Keamanan, lalu klik Lihat semua di bagian Izin akun.
- Pilih Google Cloud SDK, lalu klik Cabut Akses.
Memulai ulang instance
Untuk mereset instance bernama "example-instance" di zona "us-central1-a", gunakan perintah
instances reset
:
gcloud compute instances reset example-instance --zone us-central1-a
Untuk mengetahui informasi tentang implikasi dari tindakan reset, baca dokumentasi Mereset instance.