Bird
Raised Fist0
GCPcloud~10 mins

Creating a VM instance in GCP - Interactive Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the machine type for the VM instance.

GCP
gcloud compute instances create my-vm --machine-type=[1] --zone=us-central1-a
Drag options to blanks, or click blank then click option'
Afast-machine
Bsmall-vm
Clarge-instance
Dn1-standard-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using invalid machine type names like 'fast-machine'.
2fill in blank
medium

Complete the code to specify the image family for the VM instance.

GCP
gcloud compute instances create my-vm --image-family=[1] --image-project=debian-cloud --zone=us-central1-a
Drag options to blanks, or click blank then click option'
Aubuntu-1804-lts
Bdebian-10
Cdebian-11
Attempts:
3 left
💡 Hint
Common Mistakes
Using image names instead of image families.
3fill in blank
hard

Fix the error in the command to create a VM instance with a startup script.

GCP
gcloud compute instances create my-vm --metadata startup-script=[1] --zone=us-central1-a
Drag options to blanks, or click blank then click option'
A"#!/bin/bash echo Hello"
Bstartup-script.sh
Cstartup_script.sh
Dstartup.sh
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a filename instead of script content.
4fill in blank
hard

Fill both blanks to create a VM instance with a specific network and subnetwork.

GCP
gcloud compute instances create my-vm --network=[1] --subnet=[2] --zone=us-central1-a
Drag options to blanks, or click blank then click option'
Adefault
Bcustom-network
Cdefault-subnet
Dcustom-subnet
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing default and custom names incorrectly.
5fill in blank
hard

Fill all three blanks to create a VM instance with a specific machine type, image family, and zone.

GCP
gcloud compute instances create my-vm --machine-type=[1] --image-family=[2] --zone=[3]
Drag options to blanks, or click blank then click option'
Ae2-medium
Bdebian-11
Cus-west1-b
Dn1-standard-2
Attempts:
3 left
💡 Hint
Common Mistakes
Using invalid or mismatched values.

Practice

(1/5)
1. What does creating a VM instance in Google Cloud allow you to do?
easy
A. Create a database
B. Store files permanently
C. Run a virtual computer in the cloud
D. Send emails automatically

Solution

  1. Step 1: Understand VM instance purpose

    A VM instance is a virtual machine, like a computer inside the cloud.
  2. Step 2: Identify correct function

    Running a virtual computer matches the VM instance role, unlike storing files or sending emails.
  3. Final Answer:

    Run a virtual computer in the cloud -> Option C
  4. Quick Check:

    VM instance = virtual computer [OK]
Hint: VM means virtual machine, a computer in the cloud [OK]
Common Mistakes:
  • Confusing VM with storage service
  • Thinking VM creates databases directly
  • Assuming VM sends emails automatically
2. Which command correctly creates a VM instance named my-vm in zone us-central1-a with machine type e2-medium and image debian-11?
easy
A. gcloud create vm my-vm --zone us-central1-a --type e2-medium --image debian-11
B. gcloud compute vm create my-vm --zone=us-central1-a --machine-type=e2-medium --image debian-11
C. gcloud instances create --name my-vm --zone us-central1-a --machine e2-medium --image debian-11
D. gcloud compute instances create my-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud

Solution

  1. Step 1: Check correct command structure

    The correct command starts with 'gcloud compute instances create' followed by the instance name.
  2. Step 2: Verify flags and parameters

    Flags like '--zone', '--machine-type', '--image-family', and '--image-project' must be exact and use '=' sign.
  3. Final Answer:

    gcloud compute instances create my-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud -> Option D
  4. Quick Check:

    Correct gcloud syntax = gcloud compute instances create my-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud [OK]
Hint: Use 'gcloud compute instances create' with exact flags [OK]
Common Mistakes:
  • Using wrong command verbs like 'create vm'
  • Missing '=' in flags
  • Wrong flag names like '--machine' instead of '--machine-type'
3. What will happen if you run this command?
gcloud compute instances create test-vm --zone=us-east1-b --machine-type=n1-standard-1 --image-family=ubuntu-2004-lts --image-project=ubuntu-os-cloud
medium
A. The command will fail due to missing machine type
B. A VM named test-vm will be created in zone us-east1-b with Ubuntu 20.04 OS
C. A VM will be created but with default image, not Ubuntu
D. The VM will be created in the wrong zone

Solution

  1. Step 1: Analyze command parameters

    The command specifies instance name, zone, machine type, image family, and image project correctly.
  2. Step 2: Understand image selection

    Using '--image-family=ubuntu-2004-lts' with '--image-project=ubuntu-os-cloud' selects Ubuntu 20.04 LTS image.
  3. Final Answer:

    A VM named test-vm will be created in zone us-east1-b with Ubuntu 20.04 OS -> Option B
  4. Quick Check:

    Correct flags create VM with specified OS [OK]
Hint: Image family + project picks correct OS image [OK]
Common Mistakes:
  • Confusing image-family with image name
  • Omitting image-project causes errors
  • Wrong zone spelling
4. You tried to create a VM with:
gcloud compute instances create vm1 --zone=us-west1-c --machine-type=e2-small --image=debian-10

The command failed with an error about the image. What is the likely cause?
medium
A. The image name 'debian-10' is incorrect or deprecated
B. The zone 'us-west1-c' does not exist
C. The machine type 'e2-small' is invalid
D. You forgot to specify the project

Solution

  1. Step 1: Check image parameter validity

    Using '--image=debian-10' is often invalid because images require full name or image family with project.
  2. Step 2: Understand error cause

    Image errors usually mean the image name is wrong or deprecated, not zone or machine type.
  3. Final Answer:

    The image name 'debian-10' is incorrect or deprecated -> Option A
  4. Quick Check:

    Image errors = wrong image name [OK]
Hint: Use image family and project, not just image name [OK]
Common Mistakes:
  • Assuming zone or machine type caused image error
  • Not specifying image project with image family
  • Using outdated image names
5. You want to create a VM instance that automatically allows HTTP traffic and uses a custom startup script to install software. Which command correctly achieves this?
hard
A. gcloud compute instances create web-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud --tags=http-server --metadata=startup-script='sudo apt-get update && sudo apt-get install -y nginx'
B. gcloud compute instances create web-vm --zone=us-central1-a --machine-type=e2-medium --image=debian-11 --allow-http --script='install nginx'
C. gcloud compute instances create web-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud --firewall=http --startup='apt-get install nginx'
D. gcloud compute instances create web-vm --zone=us-central1-a --machine-type=e2-medium --image=debian-11 --http --metadata=startup='install nginx'

Solution

  1. Step 1: Enable HTTP traffic with tags

    Using '--tags=http-server' allows HTTP traffic via firewall rules.
  2. Step 2: Add startup script correctly

    '--metadata=startup-script=' followed by the script installs nginx on startup.
  3. Step 3: Verify image and machine type

    Using '--image-family=debian-11' and '--image-project=debian-cloud' is correct for Debian 11.
  4. Final Answer:

    gcloud compute instances create web-vm --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud --tags=http-server --metadata=startup-script='sudo apt-get update && sudo apt-get install -y nginx' -> Option A
  5. Quick Check:

    Tags + metadata=startup-script = correct setup [OK]
Hint: Use --tags for HTTP and --metadata for startup script [OK]
Common Mistakes:
  • Using wrong flags like --allow-http or --http
  • Incorrect metadata key name
  • Not specifying image project with image family