Checkpoint
Create a virtual machine with gcloud
/ 100
Memulai Cloud Shell dan gcloud
GSP002
Ringkasan
Cloud Shell menyediakan akses command line ke resource komputasi yang dihosting di Google Cloud. Cloud Shell adalah virtual machine berbasis Debian dengan direktori beranda persisten berukuran 5 GB yang memudahkan Anda mengelola project dan resource Google Cloud. Alat command line gcloud
dan aplikasi utilitas lainnya yang Anda perlukan sudah terinstal di Cloud Shell sehingga dapat langsung digunakan untuk bekerja.
Dalam lab praktik ini, Anda akan mempelajari cara untuk terhubung ke resource komputasi yang dihosting di Google Cloud melalui Cloud Shell dengan alat gcloud
.
Sebaiknya ketik sendiri perintah dalam lab ini agar Anda dapat lebih memahami konsep intinya. Banyak lab akan menyertakan blok kode yang berisi perintah yang diperlukan. Anda dapat dengan mudah menyalin dan menempel perintah dari blok kode ke tempat yang sesuai selama lab berlangsung.
Yang akan Anda lakukan
- Berlatih menggunakan perintah
gcloud
. - Terhubung ke layanan komputasi yang dihosting di Google Cloud.
Prasyarat
- Pemahaman tentang editor teks Linux standar, seperti
vim
,emacs
, ataunano
.
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account. -
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}} Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}} Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan. -
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
- Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
-
Klik Authorize.
-
Output Anda sekarang akan terlihat seperti ini:
Output:
- (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
Output:
Contoh output:
gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Setelah Cloud Shell diaktifkan, Anda dapat menggunakan command line untuk memanggil alat gcloud
Cloud SDK atau alat lain yang tersedia di instance virtual machine. Di lab ini, selanjutnya Anda akan menggunakan direktori $HOME
. Direktori ini digunakan dalam penyimpanan persistent disk untuk menyimpan file di seluruh project dan di antara sesi Cloud Shell. Direktori $HOME
Anda bersifat pribadi dan tidak dapat diakses oleh pengguna lain.
Tugas 1. Mengonfigurasi lingkungan Anda
Di bagian ini, Anda akan mempelajari aspek lingkungan pengembangan yang dapat Anda sesuaikan.
Memahami region dan zona
Resource Google Compute Engine tertentu tersedia berdasarkan region atau zona. Region adalah lokasi geografis spesifik tempat Anda dapat menjalankan resource. Setiap region memiliki satu atau beberapa zona. Misalnya, region us-central1
menunjukkan suatu region di Amerika Serikat Bagian Tengah yang memiliki zona us-central1-a
, us-central1-b
, us-central1-c
, dan us-central1-f
. Tabel berikut ini menunjukkan zona di regionnya masing-masing:
Amerika Serikat Bagian Barat | Amerika Serikat Bagian Tengah | Amerika Serikat Bagian Timur | Eropa Barat | Asia Timur |
---|---|---|---|---|
us-west1-a | us-central1-a | us-east1-b | europe-west1-b | asia-east1-a |
us-west1-b | us-central1-b | us-east1-c | europe-west1c | asia-east1-b |
- | us-central1-c | us-east1-d | europe-west1-d | asia-east1-c |
- | us-central1-f | - | - | - |
Resource yang tersedia di suatu zona disebut sebagai resource zona. Instance dan persistent disk virtual machine tersedia berdasarkan zona. Jika Anda ingin memasang persistent disk ke instance virtual machine, kedua resource harus berada dalam zona yang sama. Demikian pula, jika Anda ingin menetapkan alamat IP statis ke suatu instance, instance tersebut harus berada di region yang sama dengan alamat IP statis.
-
Tetapkan region ke
gcloud config set compute/region {{{project_0.default_region | REGION}}} -
Untuk melihat setelan region project, jalankan perintah berikut:
gcloud config get-value compute/region -
Tetapkan zona ke
: gcloud config set compute/zone {{{project_0.default_zone | ZONE}}} -
Untuk melihat setelan zona project, jalankan perintah berikut:
gcloud config get-value compute/zone
Menemukan informasi project
-
Salin project ID Anda ke papan klip atau editor teks. Project ID tercantum di 2 tempat:
- Pada Konsol Cloud, di Dashboard, di bagian Project info. (Klik Navigation menu (), lalu klik Cloud overview > Dashboard.)
- Di tab lab dekat nama pengguna dan sandi Anda.
-
Di Cloud Shell, jalankan perintah
gcloud
berikut, guna melihat project ID untuk project Anda:gcloud config get-value project -
Di Cloud Shell, jalankan perintah
gcloud
berikut untuk melihat detail tentang project:gcloud compute project-info describe --project $(gcloud config get-value project) Temukan nilai metadata zona dan region di output. Di lab ini, selanjutnya Anda akan menggunakan zona (
google-compute-default-zone
) dari output.Catatan: Jika kunci serta nilai google-compute-default-region
dangoogle-compute-default-zone
tidak muncul di output, artinya tidak ada zona atau region default yang ditetapkan. Outputnya mencakup informasi berguna lainnya mengenai project Anda. Luangkan waktu untuk menjelajahi ini secara lebih detail.
Menyetel variabel lingkungan
Variabel lingkungan menentukan lingkungan dan menghemat waktu Anda saat menulis skrip yang berisi API atau file yang dapat dieksekusi.
-
Buat variabel lingkungan untuk menyimpan Project ID Anda:
export PROJECT_ID=$(gcloud config get-value project) -
Buat variabel lingkungan untuk menyimpan Zona Anda:
export ZONE=$(gcloud config get-value compute/zone) -
Untuk memverifikasi bahwa variabel Anda sudah ditetapkan dengan benar, jalankan perintah berikut:
echo -e "PROJECT ID: $PROJECT_ID\nZONE: $ZONE" Jika variabel ditetapkan dengan benar, perintah echo akan menampilkan Project ID dan Zona Anda.
Membuat virtual machine dengan alat gcloud
Gunakan alat gcloud
untuk membuat instance virtual machine (VM) baru.
-
Untuk membuat VM Anda, jalankan perintah berikut:
gcloud compute instances create gcelab2 --machine-type e2-medium --zone $ZONE Output:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-326fae68bc3d/zones/us-east1-c/instances/gcelab2]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gcelab2 {{{project_0.default_zone | ZONE}}} e2-medium 10.128.0.2 34.67.152.90 RUNNING Detail perintah
- Dengan perintah
gcloud compute
, Anda dapat mengelola resource Compute Engine dalam format yang lebih sederhana daripada Compute Engine API. - Perintah
instances create
akan membuat instance baru. -
gcelab2
adalah nama VM. - Flag
--machine-type
menentukan jenis mesin sebagai e2-medium. - Flag
--zone
menentukan lokasi pembuatan VM. - Jika Anda menghapus flag
--zone
, alatgcloud
dapat menyimpulkan zona yang diinginkan berdasarkan properti default Anda. Setelan instance lain yang diperlukan, sepertimachine type
danimage
, akan ditetapkan ke nilai default jika tidak ditentukan dalam perintahcreate
.
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan. Setelah berhasil membuat virtual machine dengan alat
gcloud
, skor penilaian akan ditampilkan.Membuat virtual machine dengan gcloud - Untuk membuka bantuan terkait perintah
create
, jalankan perintah berikut:
gcloud compute instances create --help Catatan: Tekan Enter atau spasi untuk men-scroll konten bantuan. Untuk menutup konten, ketik Q. - Dengan perintah
Menjelajahi perintah gcloud
Alat gcloud
menawarkan panduan penggunaan sederhana yang tersedia dengan menambahkan flag -h
(yang artinya bantuan) di akhir perintah gcloud
.
-
Jalankan perintah berikut:
gcloud -h
Anda dapat mengakses bantuan yang lebih terperinci dengan menambahkan flag --help
ke suatu perintah atau menjalankan perintah gcloud help
.
-
Jalankan perintah berikut:
gcloud config --help Untuk keluar, ketik
Q
, lalu tekan Enter. -
Jalankan perintah berikut:
gcloud help config Perintah
gcloud config --help
dangcloud help config
menampilkan hasil yang sama. Keduanya menampilkan bantuan yang lengkap dan mendetail.Ada flag global di
gcloud
yang mengatur perilaku perintah di tingkat setiap pemanggilan. Flag menggantikan setiap nilai yang diatur dalam properti SDK. -
Lihat daftar konfigurasi di lingkungan Anda:
gcloud config list -
Untuk melihat semua properti dan setelannya:
gcloud config list --all -
Tampilkan daftar komponen:
gcloud components list Perintah ini menampilkan komponen
gcloud
yang siap Anda gunakan dalam lab ini.
Tugas 2. Memfilter output command line
Antarmuka command line (CLI) gcloud
adalah alat yang ampuh untuk bekerja di command line.
Anda mungkin ingin informasi spesifik ditampilkan.
-
Buat daftar instance komputasi yang tersedia di project:
gcloud compute instances list Catatan: Memiliki banyak resource yang di-deploy dalam suatu project merupakan hal yang sangat umum. Untungnya gcloud
memiliki beberapa pemformatan cerdas yang dapat membantu mengidentifikasi resource tertentu.Contoh Output:
NAME: gcelab2 ZONE: {{{project_0.default_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING -
Buat daftar virtual machine gcelab2:
gcloud compute instances list --filter="name=('gcelab2')" Contoh Output:
NAME: gcelab2 ZONE: {{{project_0.default_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING
Dalam perintah di atas, Anda meminta gcloud
untuk hanya menampilkan informasi yang cocok dengan kriteria, yaitu nama instance virtual yang cocok dengan kriteria.
-
Buat daftar aturan firewall dalam project:
gcloud compute firewall-rules list Output:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False -
Buat daftar aturan firewall untuk jaringan default:
gcloud compute firewall-rules list --filter="network='default'" Output:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False -
Buat daftar aturan firewall untuk jaringan default di mana aturan izin cocok dengan aturan ICMP:
gcloud compute firewall-rules list --filter="NETWORK:'default' AND ALLOW:'icmp'" Output:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False
Tugas 3. Menghubungkan ke instance VM Anda
Perintah gcloud compute
mempermudah proses terhubung ke instance Anda.
Perintah gcloud compute ssh
memberikan wrapper di sekitar SSH, yang menangani autentikasi dan pemetaan nama instance ke alamat IP.
-
Untuk terhubung ke VM menggunakan SSH, jalankan perintah berikut:
gcloud compute ssh gcelab2 --zone $ZONE Output:
WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. Do you want to continue? (Y/n) -
Untuk melanjutkan, ketik Y.
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase) -
Untuk mengosongkan frasa sandi, tekan Enter dua kali.
Catatan: Anda telah terhubung ke virtual machine yang dibuat sebelumnya di lab. Apakah Anda melihat bagaimana command prompt berubah? Perintah sekarang mengatakan sesuatu seperti sa_107021519685252337470@gcelab2. - Referensi sebelum @ menunjukkan akun yang digunakan.
- Setelah tanda @ yang menunjukkan mesin host sedang diakses.
-
Instal server web
nginx
ke virtual machine:sudo apt install -y nginx -
Anda tidak perlu melakukan apa pun di tahap ini. Untuk memutuskan koneksi dari SSH dan keluar dari remote shell, jalankan perintah berikut:
exit Anda akan kembali ke command prompt project.
Tugas 4. Memperbarui firewall
Saat menggunakan resource komputasi seperti virtual machine, penting untuk memahami aturan firewall terkait.
-
Buat daftar aturan firewall untuk project:
gcloud compute firewall-rules list Output:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False Dari output di atas, Anda dapat melihat ada dua jaringan yang tersedia. Jaringan
default
adalah lokasi virtual machinegcelab2
. -
Coba akses layanan nginx yang berjalan di virtual machine
gcelab2
.Catatan: Komunikasi dengan virtual machine akan gagal karena tidak memiliki aturan firewall yang sesuai. Server web nginx mengharapkan komunikasi pada tcp:80. Agar komunikasi berjalan, Anda perlu:
- Menambahkan tag ke virtual machine gcelab2
- Menambahkan aturan firewall untuk traffic http
-
Tambah tag ke virtual machine:
gcloud compute instances add-tags gcelab2 --tags http-server,https-server -
Perbarui aturan firewall untuk mengizinkan:
gcloud compute firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server -
Buat daftar aturan firewall untuk project:
gcloud compute firewall-rules list --filter=ALLOW:'80' Output:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-http default INGRESS 1000 tcp:80 False -
Verifikasi komunikasi dimungkinkan untuk http ke virtual machine:
curl http://$(gcloud compute instances list --filter=name:gcelab2 --format='value(EXTERNAL_IP)')
Anda akan melihat output nginx
default.
Tugas 5. Melihat log sistem
Melihat log sangat penting untuk memahami cara kerja project Anda.
Gunakan gcloud
untuk mengakses berbagai log yang tersedia di Google Cloud.
-
Lihat log yang tersedia di sistem:
gcloud logging logs list Output:
NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/GCEGuestAgent NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/OSConfigAgent NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/autoscaler.googleapis.com%2Fstatus_change NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Factivity NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Fdata_access NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Fsystem_event NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fautoscaler NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Finstance_group_manager_events NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fshielded_vm_integrity NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/run.googleapis.com%2Fstderr NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/run.googleapis.com%2Fstdout -
Lihat log yang terkait dengan resource komputasi:
gcloud logging logs list --filter="compute" Output:
NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fautoscaler NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Finstance_group_manager_events NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fshielded_vm_integrity -
Baca log yang terkait dengan jenis resource
gce_instance
:gcloud logging read "resource.type=gce_instance" --limit 5 -
Baca log untuk virtual machine tertentu:
gcloud logging read "resource.type=gce_instance AND labels.instance_name='gcelab2'" --limit 5
Tugas 6. Menguji pemahaman Anda
Pertanyaan pilihan ganda berikut akan memperkuat pemahaman Anda mengenai konsep lab ini.
Selamat!
Anda telah mempelajari cara meluncurkan Cloud Shell dan menjalankan beberapa contoh perintah gcloud
.
Langkah berikutnya/Pelajari lebih lanjut
-
Untuk mempelajari Cloud Shell lebih lanjut, lihat dokumentasi Cloud Shell atau video YouTube, Using Google Cloud Shell.
-
Untuk mempelajari
gcloud
lebih lanjut, baca dokumentasi gcloud atau tonton video YouTube yang berjudul Getting Help with gcloud.
Lanjutkan pembelajaran dengan mengikuti lab-lab berikut ini:
- Layanan Penyediaan dengan Google Cloud Marketplace
- Membuat Persistent Disk
- Mengonfigurasi Jaringan melalui gcloud
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 09 September 2024
Lab Terakhir Diuji pada 09 September 2024
Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.