Bird
Raised Fist0
GCPcloud~5 mins

Routes and routing in GCP - Commands & Configuration

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
Introduction
Routes in Google Cloud help direct network traffic from one place to another. Routing decides how data moves between virtual machines or to the internet, making sure it reaches the right destination.
When you want to control how traffic flows between virtual machines in your cloud network.
When you need to send traffic from your cloud network to the internet or other networks.
When you want to block or allow certain traffic by directing it through specific paths.
When you have multiple networks and want to connect them with clear traffic rules.
When you want to troubleshoot network issues by checking how routes are set up.
Commands
This command creates a route named 'example-route' in the 'default' network. It directs traffic destined for the 10.0.0.0/24 range to the virtual machine 'example-vm' in the specified zone.
Terminal
gcloud compute routes create example-route --network default --destination-range 10.0.0.0/24 --next-hop-instance example-vm --next-hop-instance-zone us-central1-a
Expected OutputExpected
Created [https://www.googleapis.com/compute/v1/projects/my-project/global/routes/example-route].
--network - Specifies the network where the route is created.
--destination-range - Defines the IP range this route applies to.
--next-hop-instance - Sets the VM that traffic will be sent to.
--next-hop-instance-zone - Specifies the zone of the next hop instance.
This command lists the route named 'example-route' to verify it was created and see its details.
Terminal
gcloud compute routes list --filter="name=example-route"
Expected OutputExpected
NAME NETWORK DEST_RANGE NEXT_HOP_INSTANCE NEXT_HOP_IP PRIORITY TAGS example-route default 10.0.0.0/24 projects/my-project/zones/us-central1-a/instances/example-vm 1000
--filter - Filters the list to show only the route with the specified name.
This command deletes the route named 'example-route' without asking for confirmation, cleaning up the route after use.
Terminal
gcloud compute routes delete example-route --quiet
Expected OutputExpected
Deleted [https://www.googleapis.com/compute/v1/projects/my-project/global/routes/example-route].
--quiet - Skips confirmation prompt for deletion.
Key Concept

If you remember nothing else from this pattern, remember: routes tell your cloud network where to send traffic based on destination addresses.

Common Mistakes
Using the wrong network name when creating a route.
The route will not apply to the intended network, so traffic won't be directed correctly.
Always check and specify the correct network name with the --network flag.
Setting an incorrect destination IP range.
Traffic outside the correct range won't follow the route, causing connectivity issues.
Verify the destination range matches the IP addresses you want to route.
Not specifying the correct next hop instance or zone.
Traffic will not reach the intended virtual machine, breaking communication.
Use the exact VM name and zone where the next hop instance is located.
Summary
Create routes to control where network traffic goes in your cloud network.
Use 'gcloud compute routes create' with destination range and next hop to set routes.
List routes to check their details and delete them when no longer needed.

Practice

(1/5)
1. What is the main purpose of a route in Google Cloud Platform networking?
easy
A. To create virtual machines
B. To store data in the cloud
C. To direct network traffic from one place to another
D. To monitor network usage

Solution

  1. Step 1: Understand what routes do in networking

    Routes tell network traffic where to go, like a map for data packets.
  2. Step 2: Identify the correct purpose in GCP context

    In GCP, routes guide traffic between subnets, VMs, and external networks.
  3. Final Answer:

    To direct network traffic from one place to another -> Option C
  4. Quick Check:

    Routes guide traffic = C [OK]
Hint: Routes always guide traffic flow in networks [OK]
Common Mistakes:
  • Confusing routes with storage or compute services
  • Thinking routes monitor traffic instead of directing it
  • Mixing routes with firewall rules
2. Which of the following is the correct way to specify a next hop in a GCP route configuration?
easy
A. nextHopAddress: "192.168.1.1"
B. nextHop: "192.168.1.1"
C. nextHopGateway: "192.168.1.1"
D. nextHopIp: "192.168.1.1"

Solution

  1. Step 1: Recall GCP route next hop syntax

    GCP routes use specific fields like nextHopIp to define the next hop IP address.
  2. Step 2: Match the correct field name

    Among options, only nextHopIp is valid for specifying an IP address as next hop.
  3. Final Answer:

    nextHopIp: "192.168.1.1" -> Option D
  4. Quick Check:

    Correct field for IP next hop = nextHopIp [OK]
Hint: Use nextHopIp to specify IP address next hop [OK]
Common Mistakes:
  • Using incorrect field names like nextHop or nextHopAddress
  • Confusing next hop IP with gateway name
  • Omitting quotes around IP address
3. Given the following route configuration snippet in GCP, what destination IP range will this route apply to?
{"destRange": "10.0.0.0/16", "nextHopIp": "192.168.1.1"}
medium
A. All IP addresses in 10.0.0.0 to 10.0.255.255
B. Only the IP 10.0.0.0
C. All IP addresses in 192.168.1.0/24
D. All IP addresses in 0.0.0.0/0

Solution

  1. Step 1: Understand CIDR notation 10.0.0.0/16

    The /16 means the first 16 bits are fixed, covering IPs from 10.0.0.0 to 10.0.255.255.
  2. Step 2: Identify the destination range

    The destRange field defines the IP range this route applies to, which is 10.0.0.0/16 here.
  3. Final Answer:

    All IP addresses in 10.0.0.0 to 10.0.255.255 -> Option A
  4. Quick Check:

    10.0.0.0/16 covers 10.0.0.0-10.0.255.255 [OK]
Hint: CIDR /16 covers 65,536 IPs starting at base address [OK]
Common Mistakes:
  • Thinking /16 means only one IP
  • Confusing nextHopIp with destination range
  • Assuming 0.0.0.0/0 means local subnet
4. You created a route with destination range 0.0.0.0/0 but forgot to specify a next hop. What will happen when you try to deploy this route?
medium
A. The route will fail to create due to missing next hop
B. The route will be created and direct traffic to the internet automatically
C. The route will create but traffic will be dropped silently
D. The route will create and send traffic to the default gateway

Solution

  1. Step 1: Recall route requirements in GCP

    Every route must have a destination and a next hop to know where to send traffic.
  2. Step 2: Understand deployment validation

    Without a next hop, GCP rejects the route creation because it cannot route traffic properly.
  3. Final Answer:

    The route will fail to create due to missing next hop -> Option A
  4. Quick Check:

    Missing next hop causes creation failure [OK]
Hint: Routes need next hop or gateway to deploy [OK]
Common Mistakes:
  • Assuming route auto-assigns next hop
  • Thinking route silently drops traffic
  • Confusing route creation with firewall rules
5. You want to route all traffic destined for 10.1.0.0/24 subnet through a VM instance with IP 192.168.5.10. Which route configuration is correct?
hard
A. {"destRange": "192.168.5.10/24", "nextHopIp": "10.1.0.0"}
B. {"destRange": "10.1.0.0/24", "nextHopIp": "192.168.5.10"}
C. {"destRange": "10.1.0.0/24", "nextHopGateway": "192.168.5.10"}
D. {"destRange": "0.0.0.0/0", "nextHopIp": "10.1.0.0"}

Solution

  1. Step 1: Identify destination subnet to route

    The destination subnet is 10.1.0.0/24, so destRange must be this value.
  2. Step 2: Specify next hop as VM IP

    The next hop should be the VM's IP 192.168.5.10, using nextHopIp field.
  3. Step 3: Validate correct JSON structure

    {"destRange": "10.1.0.0/24", "nextHopIp": "192.168.5.10"} correctly sets destRange and nextHopIp with proper values and syntax.
  4. Final Answer:

    {"destRange": "10.1.0.0/24", "nextHopIp": "192.168.5.10"} -> Option B
  5. Quick Check:

    Destination subnet + VM IP next hop = {"destRange": "10.1.0.0/24", "nextHopIp": "192.168.5.10"} [OK]
Hint: Destination subnet in destRange, VM IP in nextHopIp [OK]
Common Mistakes:
  • Swapping destination and next hop IPs
  • Using nextHopGateway instead of nextHopIp for VM IP
  • Setting wrong destination range