Bird
Raised Fist0
AWScloud~10 mins

Listener rules and routing in AWS - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the protocol for the listener.

AWS
listener = elbv2.Listener(self, "Listener",
    load_balancer=alb,
    port=80,
    protocol=[1],
    default_target_groups=[target_group])
Drag options to blanks, or click blank then click option'
AHTTPS
BTCP
CHTTP
DUDP
Attempts:
3 left
💡 Hint
Common Mistakes
Using HTTPS on port 80 causes connection errors.
Using TCP or UDP protocols for HTTP listeners.
2fill in blank
medium

Complete the code to add a listener rule that forwards requests with path '/images/*' to the image target group.

AWS
listener.add_action("ImageRule",
    priority=10,
    conditions=[elbv2.ListenerCondition.path_patterns([[1]])],
    action=elbv2.ListenerAction.forward([image_target_group]))
Drag options to blanks, or click blank then click option'
A"/images/*"
B"/docs/*"
C"/videos/*"
D"/api/*"
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong path pattern like '/videos/*' for images.
Forgetting the wildcard '*' to match all subpaths.
3fill in blank
hard

Fix the error in the listener rule condition to correctly match host header 'example.com'.

AWS
listener.add_action("HostRule",
    priority=5,
    conditions=[elbv2.ListenerCondition.host_headers([[1]])],
    action=elbv2.ListenerAction.forward([host_target_group]))
Drag options to blanks, or click blank then click option'
A"example"
B"example.com"
C"*.example.com"
Dexample.com
Attempts:
3 left
💡 Hint
Common Mistakes
Omitting quotes around the host string.
Using incomplete or incorrect host patterns.
4fill in blank
hard

Fill both blanks to create a listener rule that forwards requests with method POST and path '/submit' to the submit target group.

AWS
listener.add_action("SubmitRule",
    priority=15,
    conditions=[elbv2.ListenerCondition.http_request_methods([[1]]), elbv2.ListenerCondition.path_patterns([[2]])],
    action=elbv2.ListenerAction.forward([submit_target_group]))
Drag options to blanks, or click blank then click option'
A"POST"
B"GET"
C"/submit"
D"/home"
Attempts:
3 left
💡 Hint
Common Mistakes
Using GET instead of POST for form submissions.
Incorrect path pattern like '/home' instead of '/submit'.
5fill in blank
hard

Fill all three blanks to define a listener rule that forwards requests with host 'api.example.com', path '/v1/*', and method GET to the api target group.

AWS
listener.add_action("ApiRule",
    priority=20,
    conditions=[elbv2.ListenerCondition.host_headers([[1]]), elbv2.ListenerCondition.path_patterns([[2]]), elbv2.ListenerCondition.http_request_methods([[3]])],
    action=elbv2.ListenerAction.forward([api_target_group]))
Drag options to blanks, or click blank then click option'
A"api.example.com"
B"/v1/*"
C"GET"
D"POST"
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up HTTP methods or using wrong host names.
Forgetting to include wildcards in path patterns.

Practice

(1/5)
1. What does a listener rule in AWS Elastic Load Balancer do?
easy
A. It monitors CPU usage of servers.
B. It creates new virtual machines automatically.
C. It stores data permanently for applications.
D. It directs incoming traffic to specific targets based on conditions.

Solution

  1. Step 1: Understand listener role

    A listener waits for incoming traffic on a load balancer and applies rules to route it.
  2. Step 2: Identify what rules do

    Listener rules check conditions like URL path or host header to send traffic to the right target group.
  3. Final Answer:

    It directs incoming traffic to specific targets based on conditions. -> Option D
  4. Quick Check:

    Listener rules route traffic [OK]
Hint: Listener rules route traffic based on conditions [OK]
Common Mistakes:
  • Confusing listener rules with server creation
  • Thinking listener rules store data
  • Mixing monitoring with routing
2. Which of the following is the correct way to specify a path pattern condition in an AWS listener rule?
easy
A. Method: 'POST'
B. PathPattern: '/images/*'
C. SourceIP: '192.168.1.1'
D. HostHeader: 'example.com'

Solution

  1. Step 1: Identify path pattern syntax

    Path patterns use wildcards like '*' to match URL paths, e.g., '/images/*'.
  2. Step 2: Match option to path pattern

    PathPattern: '/images/*' correctly shows a path pattern condition; others show different conditions.
  3. Final Answer:

    <code>PathPattern: '/images/*'</code> -> Option B
  4. Quick Check:

    Path pattern uses wildcard * [OK]
Hint: Path patterns use '*' wildcard for matching paths [OK]
Common Mistakes:
  • Confusing host header with path pattern
  • Using IP or method instead of path pattern
  • Missing quotes or wrong syntax
3. Given these listener rules with priorities:
1: HostHeader = 'app.example.com' -> TargetGroupA
2: PathPattern = '/api/*' -> TargetGroupB
What happens when a request comes to app.example.com/api/data?
medium
A. Traffic goes to TargetGroupB because path pattern matches better.
B. Traffic is rejected because two rules match.
C. Traffic goes to TargetGroupA because host header rule has higher priority.
D. Traffic goes to a default target group.

Solution

  1. Step 1: Check rule priorities

    Rules are checked in order of priority number; lower number means higher priority.
  2. Step 2: Evaluate matching rules

    Request matches both host header and path pattern, but host header rule has priority 1.
  3. Final Answer:

    Traffic goes to TargetGroupA because host header rule has higher priority. -> Option C
  4. Quick Check:

    Lower priority number wins routing [OK]
Hint: Lower priority number rules apply first [OK]
Common Mistakes:
  • Assuming path pattern overrides host header
  • Thinking multiple matches cause rejection
  • Ignoring rule priority order
4. You created a listener rule with priority 5 for path pattern /app/*, but traffic to /app/home is not routed correctly. What is a likely cause?
medium
A. Another rule with priority 1 matches the request first.
B. Path pattern syntax /app/* is invalid.
C. Listener rules do not support path patterns.
D. Target group is not attached to the load balancer.

Solution

  1. Step 1: Check rule priority impact

    Rules with lower priority numbers are evaluated first and can override later rules.
  2. Step 2: Consider other matching rules

    If a rule with priority 1 matches the request, the priority 5 rule won't be used.
  3. Final Answer:

    Another rule with priority 1 matches the request first. -> Option A
  4. Quick Check:

    Lower priority number rules block later ones [OK]
Hint: Check for higher priority rules blocking traffic [OK]
Common Mistakes:
  • Thinking path pattern syntax is wrong
  • Believing listener rules ignore path patterns
  • Assuming target group attachment causes routing failure
5. You want to route traffic to different target groups based on both host header and path pattern. Which setup correctly achieves this in AWS listener rules?
hard
A. Create a rule with priority 1: HostHeader = 'shop.example.com' AND PathPattern = '/products/*' -> TargetGroupShop
B. Create two separate rules with same priority: one for HostHeader, one for PathPattern
C. Use only one rule with PathPattern to cover all hosts
D. Set listener to forward all traffic to a single target group and filter inside the app

Solution

  1. Step 1: Understand combined conditions

    Listener rules can combine multiple conditions like host header AND path pattern in one rule.
  2. Step 2: Evaluate options

    Create a rule with priority 1: HostHeader = 'shop.example.com' AND PathPattern = '/products/*' -> TargetGroupShop correctly uses combined conditions with a single priority rule; others either conflict or do not filter properly.
  3. Final Answer:

    Create a rule with priority 1: HostHeader = 'shop.example.com' AND PathPattern = '/products/*' -> TargetGroupShop -> Option A
  4. Quick Check:

    Combine conditions in one rule for precise routing [OK]
Hint: Combine host and path in one rule for exact routing [OK]
Common Mistakes:
  • Using same priority for multiple rules causing conflicts
  • Relying on app filtering instead of load balancer routing
  • Using only path pattern ignoring host header
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard