Lesson 100 · AWS Learning Path

AWS 100: Listeners, rules and routing

· Published · 9 min read

A load balancer sends requests to healthy servers while bypassing one failed server and adding capacity

The real problem

A team recognizes the name Listeners, rules and routing but has not connected the feature to a real requirement, identity boundary, network or data path, failure mode, price dimension, and cleanup owner. A plausible configuration could still fail the workload.

Final outcome

The learner will produce a requirement-led artifact for Listeners, rules and routing, inspect the matching AWS control plane in the Management Console, run a matching CloudShell or AWS CLI query, interpret the output, diagnose one failure, defend one architecture choice, and prove cleanup or approved retained state.

The practical outcome is not a command transcript. It must show what was expected, what happened, what the result proves, what it does not prove, and which evidence would change the decision.

Learning objectives

By the end of this lesson, the learner can:

  • explain listener;
  • explain alb rule priority;
  • explain conditions;
  • explain actions;
  • explain weighted forwarding;
  • connect control-plane state to the real data, network, identity, or application behavior;
  • identify cost and cleanup ownership before any optional mutation;
  • troubleshoot from evidence without opening broad access or adding broad permissions.

Relationship model

Requirement
   |
   v
Identity and policy -> AWS configuration -> network or data path -> workload behavior
        |                    |                      |                    |
        +--------------------+----------------------+--------------------+
                                      |
                                      v
                         monitoring, cost, recovery, cleanup

Use this model to separate an AWS object that exists from a result that actually works. Every arrow is a verification boundary.

Prerequisites, permissions, Region, and safety

  • Learning baseline: This sequence assumes practical Linux knowledge but no prior cloud-computing or AWS knowledge. Cloud, networking, security, data, automation, and architecture concepts must come from completed earlier lessons. If a prerequisite checkpoint is incomplete, return to its linked lesson before continuing.
  • Confirm a non-root caller with aws sts get-caller-identity and keep the account number private.
  • Use ap-south-1 unless this lesson explicitly names a second Region.
  • Confirm the intended profile and Region with aws configure list before interpreting an empty result.
  • Use read-only List, Get, and Describe permissions for the named services. Design exercises run locally and require no resource-creation permission.
  • This is a no-create lesson. Console and CLI work is read-only, and every design artifact is created locally.
  • Never publish account IDs, public addresses, ARNs containing private account data, session IDs, presigned URLs, object data, credentials, or KMS material.
  • Do not use root, world-open SSH or RDP, disabled TLS verification, unowned resources, or irreversible retention controls in a training exercise.

Core model

ConceptWhat the learner must understand
ListenerA listener accepts a configured protocol and port on the load balancer and evaluates its default action plus any supported rules. A listener does not make the target application listen on the same port.
ALB rule priorityNondefault ALB rules are evaluated from the lowest numeric priority to the highest. The default rule is evaluated last and has no priority number.
ConditionsALB conditions can match host header, path pattern, HTTP header, method, query string, and source IP within documented limits. Conditions are combined according to rule semantics.
ActionsALB rules can forward, redirect, or return a fixed response, with authentication actions available for HTTPS listeners in supported configurations.
Weighted forwardingOne rule can distribute requests among multiple target groups by weight. Weights shift traffic but do not automatically fail over when one target group becomes empty or unhealthy.
NLB listenersNLB listeners route Layer 4 connections to a target group and do not provide ALB content-routing conditions. TLS listener policy and certificate choices remain separate.

How it works

Trace a request as client DNS to load-balancer node, listener protocol and port, certificate and security policy if TLS terminates, ordered rule evaluation, selected action, target-group protocol and port, target health, and response path.

Read the result in layers:

  1. Scope: account, Region, VPC, bucket, AZ, endpoint, principal, object version, or resource ARN.
  2. Control plane: the requested configuration exists and reached an expected state.
  3. Behavior: the request, connection, health check, replication, restore, or application result meets the requirement.
  4. Operations: monitoring, failure owner, cost, retention, rollback, and cleanup are known.

Control-plane success is necessary but not sufficient. A resource can be available while policy, routing, DNS, health, data, or application behavior remains wrong.

Architecture decision table

RequirementPreferred directionWhy
Send /api requests to an API fleetALB path ruleLayer 7 path matching selects the API target group.
Send old hostname to a new HTTPS URLALB redirect actionThe client receives an explicit redirect rather than backend forwarding.
Return a controlled maintenance messageFixed-response actionNo target is needed for the static response.
Shift 10 percent to a canaryWeighted target groups plus health and rollback monitoringWeight enables the shift, while external controls decide rollback.

Professional questions normally contain several valid services. State the requirement that selects one option, why the nearest alternative fails it, and what changed requirement would reverse the choice.

AWS Management Console guided practice

Before opening a service page, write the expected account, Region, starting state, and evidence. Do not choose Create, Save, Purchase, Lock, or Delete unless the lesson explicitly authorizes the live track.

  1. Open EC2 Load Balancers, select a supplied ALB, and open Listeners and rules; record listener protocol, port, default action, and certificate state.
  2. Open the rule editor without saving, order the sample host and path rules by priority, and predict the action for six supplied requests.
  3. Open the selected target groups and verify that frontend listener port, backend target port, and health-check port are treated as separate controls.

For each step, capture the field name and value in text. A screenshot may support the record but does not replace the explanation. Console labels can evolve, so use the service search and current documentation if a navigation label differs.

CloudShell and AWS CLI practice

CloudShell is the default browser-based command environment taught in AWS 028. AWS 029 and AWS 030 cover local CLI installation and authentication. This lesson therefore does not assume that an unconfigured local shell is ready.

Start every session with:

export AWS_DEFAULT_REGION="ap-south-1"
aws sts get-caller-identity --query Arn --output text
aws configure list

Redact the account portion of the ARN before sharing. Then perform the topic query:

List listeners and ordered rules for an approved load balancer without changing them.

NW_ALB_ARN="$(aws elbv2 describe-load-balancers --names nw-p05-alb --query 'LoadBalancers[0].LoadBalancerArn' --output text)"
NW_LISTENER_ARN="$(aws elbv2 describe-listeners --load-balancer-arn "$NW_ALB_ARN" --query 'Listeners[0].ListenerArn' --output text)"
aws elbv2 describe-listeners --load-balancer-arn "$NW_ALB_ARN" --query 'Listeners[].{Arn:ListenerArn,Protocol:Protocol,Port:Port,Default:DefaultActions}' --output json
aws elbv2 describe-rules --listener-arn "$NW_LISTENER_ARN" --query 'Rules[].{Priority:Priority,Conditions:Conditions,Actions:Actions}' --output json

Expected interpretation:

Read priorities in numeric order and default last. Replace placeholders with owned ARNs. The rule output does not prove target health or client DNS reachability.

Replace every replace-with-... sample value before running its command, and use only an explicitly owned resource. Explain each option first. These queries are read-only; a successful response does not authorize a later create or delete operation.

Practical work

Create p05-listener-rule-plan.md for nw-p05-alb: HTTP port 80 default forwards to nw-p05-web-tg for the lab. Add a production-only plan where HTTP redirects to HTTPS 443, /api/* forwards to an API group, /static/* forwards to a static group, and default forwards to web. Include priorities, conditions, actions, expected matches, and a no-match result. Do not create rules.

The evidence package must contain:

  • the problem and final requirement in the learner's own words;
  • caller type and Region with private identifiers redacted;
  • exact planned values, ownership, and cost class;
  • one Console observation and matching CLI or API evidence;
  • one behavior result or supplied data-plane record;
  • one denied, failed, or counterexample result and evidence-led diagnosis;
  • one architecture choice plus the rejected alternative;
  • cleanup proof or explicit retained-state owner, expiry, and next lesson.

Verification standard

Use expected state before observed state. Record timestamps in UTC and preserve the original failure before changing anything. A passing submission answers all four questions:

  1. What exact requirement was tested?
  2. Which evidence proves the AWS configuration?
  3. Which evidence proves the workload behavior?
  4. What remains unproven or requires later monitoring?

If AWS returns no rows, verify account, Region, permission, filters, pagination, resource type, and deletion state before concluding that nothing exists.

Common failures and troubleshooting

SymptomEvidence firstLikely boundarySmallest safe response
object appears missingcaller, Region, filters, pagination, tagsscope or read permissionalign scope before creating a duplicate
state remains pending or unavailableservice state, events, dependencies, quotasdependency or capacitycorrect the named dependency and wait with a bound
AccessDeniedprincipal, action, resource, explicit-deny contextidentity, resource, endpoint, organization, or KMS policychange only the proven policy layer
configuration exists but behavior failsroute, DNS, security, listener, health, logs, object versiondata path or applicationtest the next boundary and change one control
bill is higher than expectedhours, bytes, requests, AZs, addresses, retentioncost model or retained resourcestop optional work and reconcile the ledger
cleanup is blockeddependency inventory and owning servicedeletion order or immutable stateremove owned dependants in reviewed reverse order

Do not troubleshoot by attaching administrator access, opening administration ports to the internet, disabling encryption, retrying uncontrolled creation, deleting unknown resources, or weakening retention.

Cost, cleanup, and retained state

No AWS resource is created. Close CloudShell and remove or redact downloaded evidence.

Cleanup evidence requires terminal state and an after-inventory. Search related ENIs, public IPv4 addresses, EBS volumes and snapshots, load balancers, target groups, Auto Scaling instances, endpoints, logs, S3 versions and delete markers, backup recovery points, and global IAM roles when they apply. Billing data can lag, so schedule a later review.

Architecture and certification decisions

  • Certification coverage: SAA-C03; SOA-C03; SAP-C02; DOP-C02.
  • Exam mapping: SAA D2-D4.
  • Explain service scope, failure boundary, consistency, recovery, security, operations, and price rather than matching a keyword.
  • Treat availability and durability, encryption and authorization, routing and filtering, health and lifecycle, backup and replication, and discount and capacity as separate concepts.
  • Do not reproduce protected certification questions.

Knowledge check

  1. When is the ALB default rule evaluated?

Expected direction: After all matching priority rules fail to match.

  1. Does listener port 80 require targets to listen on port 80?

Expected direction: No. The target group defines backend protocol and port.

  1. Do weighted target groups automatically provide failover?

Expected direction: No. Weighting alone does not redirect all traffic from an unhealthy group.

  1. Can NLB route by HTTP path?

Expected direction: No. Use ALB for Layer 7 content rules.

Completion gate and assessment

AreaPointsPassing evidence
Requirement and model15Correct scope, terminology, and final outcome
Console evidence15Current path and interpreted fields
CLI or API evidence15Scoped command, expected result, and limitations
Behavior or decision exercise20Reproducible result or defensible architecture reasoning
Troubleshooting15Original symptom, hypothesis, one change, retest, rollback
Security and cost10Least privilege, data protection, current price dimensions
Cleanup and handoff10Terminal-state proof or approved retained-state record

Pass at 80 out of 100 with no critical safety failure. A missing practical artifact, unexplained output, unsafe access, destructive action outside the owned scope, unplanned billed resource, or false cleanup claim requires remediation and a changed retest.

Official sources

Advertisement