Bird
Raised Fist0
GCPcloud~30 mins

Routes and routing in GCP - Mini Project: Build & Apply

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
PMC: Routes and routing
📖 Scenario: You are setting up a simple web application on Google Cloud Platform (GCP). To make sure users reach the right parts of your app, you need to create routes that direct traffic properly.Think of routes like street signs in a city. Each sign points visitors to the correct destination. In this project, you will create routing rules for your app using GCP's Cloud Run service and URL maps.
🎯 Goal: Build a routing configuration on GCP that directs traffic to two different Cloud Run services based on the URL path.You will create a URL map with two routes: one for /app1/* and another for /app2/*. Each route will send traffic to its respective Cloud Run service.
📋 What You'll Learn
Create a URL map resource with routing rules
Define two backend services representing Cloud Run apps
Set routing rules to direct /app1/* to backend service 1
Set routing rules to direct /app2/* to backend service 2
💡 Why This Matters
🌍 Real World
Routing is essential in cloud applications to direct user requests to the correct services. This project simulates setting up routing rules for a multi-service web app on GCP.
💼 Career
Cloud engineers and DevOps professionals often configure routing and load balancing to ensure applications are reachable and scalable.
Progress0 / 4 steps
1
Create backend services for Cloud Run apps
Create two backend services named backend-app1 and backend-app2 representing your Cloud Run applications. Use the exact names and set the protocol to HTTP.
GCP
Hint

Use google_compute_backend_service resource with name and protocol set to HTTP.

2
Create a URL map resource
Create a URL map resource named app-url-map that will hold routing rules for your backend services.
GCP
Hint

Use google_compute_url_map resource with the name app-url-map.

3
Add routing rules to the URL map
Add routing rules to app-url-map so that requests to /app1/* go to backend-app1 and requests to /app2/* go to backend-app2. Use path_matcher blocks with path_rules for each route.
GCP
Hint

Use path_matcher blocks with path_rule inside the URL map to route paths to backend services.

4
Set default service for unmatched routes
Set the default_service attribute in app-url-map to point to backend-app1 so that any requests not matching /app1/* or /app2/* go to backend-app1.
GCP
Hint

Set the default_service attribute at the top level of the URL map resource.

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