Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk4 min

AWS Load Balancer Controller Tag Confusion: How an Ingress Can Put a Database at Risk

A public ALB does not automatically expose a database. Verify the Ingress annotations, resolved security group IDs, listener access, backend rules, and database network path.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A Kubernetes developer can contribute to internet exposure by configuring an internet-facing Application Load Balancer (ALB) with permissive inbound access—but a tag mix-up alone does not prove that a database is exposed. The risk depends on the security groups and listener rules actually used, the path from the load balancer to its targets, and the database’s own network rules. Check that whole chain rather than trusting a security group’s name or a Kubernetes annotation in isolation.

How can an Ingress configuration create a path toward a database?

The AWS Load Balancer Controller reads Kubernetes Ingress configuration and manages AWS load balancer resources. Several annotations affect different parts of that configuration. Confusing their roles—or assuming a friendly security group label proves which group is attached—can leave an unintended route or access rule in place.

As an Amazon Associate I earn from qualifying purchases.

  • alb.ingress.kubernetes.io/tags adds tags to AWS resources. It is not the setting that selects security groups for the load balancer.
  • alb.ingress.kubernetes.io/security-groups specifies security groups to attach to the load balancer. The v2.14 annotation reference says values can be security group IDs or names. A supplied name is matched against the security group’s AWS Name tag, not its groupName attribute.
  • alb.ingress.kubernetes.io/scheme controls whether the load balancer is internet-facing or internal.
  • alb.ingress.kubernetes.io/inbound-cidrs sets allowed source CIDR ranges for controller-managed frontend security groups. The effective exposure also depends on the configured listener ports and rules.
  • alb.ingress.kubernetes.io/manage-backend-security-group-rules concerns backend security group rules; it does not make a public frontend safe by itself.

These distinctions are documented in Kubernetes SIGs’ Annotations — AWS Load Balancer Controller v2.14 and Security Group Management — AWS Load Balancer Controller. A tag that labels a resource is not evidence that the intended security group was selected: resolve the configured value to the actual security group ID and verify the attached groups.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does an internet-facing ALB expose the database?

Not automatically. An internet-facing ALB can make its configured listener paths reachable from the internet when its inbound rules allow the source and port. Whether a database is reachable through that ALB depends on what the listener forwards to, the target’s network access, and whether the application provides a route to the database.

A separate possibility is direct database exposure. That depends on the database’s own security group rules, routing, and architecture—not merely on the ALB’s scheme. The controller documentation describes a backend security group for traffic from load balancers to targets. Custom security groups require backend access to be configured, either manually or through the documented backend-rule management option. Inspect the actual rules and traffic path rather than inferring database reachability from the ALB’s public status.

How to verify which security group an Ingress actually uses

Use the deployed controller version’s documentation when interpreting annotations. The following review identifies the relevant Kubernetes configuration and the AWS resources it resolves to; it does not assume a particular account or cluster setup.

  1. Find the Ingress and its effective annotations. Run kubectl get ingress -A -o yaml and identify the relevant resource, including its namespace, host rules, and alb.ingress.kubernetes.io/* annotations. Confirm the controller version deployed in the cluster before applying version-specific behavior.
  2. Resolve security group selection. Read alb.ingress.kubernetes.io/security-groups. For each configured name, find the AWS security group whose Name tag matches it, then record and verify the group ID. Do not use the tag alone as proof of identity.
  3. Inspect the ALB’s attached groups and inbound rules. In AWS, check the load balancer’s actual security groups, their inbound source ranges, protocols, and ports, and the ALB listeners and rules. Compare these with the Ingress scheme and inbound CIDR configuration. A broad CIDR is only consequential on ports and paths that are actually available.
  4. Trace backend and database access separately. Inspect target security group rules, routing, and the database’s own inbound rules. Determine whether requests can reach the database directly or only reach an application target that may connect to it.
  5. Review who can change the route. Check Kubernetes RBAC and whether the Ingress belongs to an explicit IngressGroup. Review other Ingress resources in that group for rules that can affect the shared ALB.

Why IngressGroup membership is a security boundary

An explicit IngressGroup can cause multiple Kubernetes Ingress resources to contribute rules to one ALB. The AWS Load Balancer Controller documentation warns that another Kubernetes user who can create or modify an Ingress may join the same explicit group and “add more rules or overwrite existing rules with higher priority.” Treat permission to join or change a shared group as permission that can affect the shared ALB’s routing. Restrict who can create or modify grouped Ingress resources, and use the controller’s documented grouping controls where shared membership is not acceptable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What to change if the configuration is too permissive

  • Prefer unambiguous security group IDs over names when selecting groups, then confirm the resolved IDs are attached to the intended load balancer.
  • Limit inbound sources and listener ports to the traffic the service needs. Keep the load balancer internal where public access is not required.
  • Keep database access private where required, and allow only the intended application or backend path rather than assuming an ALB rule controls database exposure.
  • For custom security groups, make sure backend access is configured correctly. Decide deliberately whether the controller or your team manages backend rules, and verify the resulting rules.
  • Limit IngressGroup membership through Kubernetes access controls and the controller’s documented options.

After a change, verify the AWS resources and rules that were actually reconciled; a corrected annotation is not itself confirmation that the live load balancer has the intended access.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.