AWS 057: Internet Gateway
The problem
A team uses Internet Gateway as a label or Console setting without proving the identity, scope, behavior, failure boundary, cost, or operational result. The configuration appears complete but the real requirement remains untested.
Final outcome
The learner will inspect, explain, test, and document Internet Gateway. The submission must connect the Console and CLI view to the same AWS control, state what the evidence proves, diagnose one likely failure, and make a requirement-based architecture decision.
Learning outcomes
You will be able to:
- explain an internet gateway attaches to a vpc;
- explain ipv4 uses one-to-one address translation;
- explain a route is required;
- explain security still controls reachability;
- explain ipv6 does not use igw nat;
- distinguish successful configuration from successful workload behavior;
- preserve redacted evidence and complete the stated cleanup or retention decision.
Mental model
requirement
-> identity and permission
-> account, Region, and resource scope
-> configuration or request
-> observable state
-> workload result
-> failure evidence
-> cleanup or controlled retention
Never begin with a create button or a copied command. Start with the result that must be proven and the boundary that must remain protected.
Core facts
| Concept | What it means in practice |
|---|---|
| An internet gateway attaches to a VPC | It is a horizontally scaled, redundant VPC component that provides a route target for communication between the VPC and the internet. |
| IPv4 uses one-to-one address translation | For an instance public IPv4 or Elastic IP, the internet gateway maps between the public address and primary private IPv4 address of the network interface. The operating system sees the private address. |
| A route is required | A public subnet normally has 0.0.0.0/0 to the internet gateway and ::/0 for eligible IPv6 traffic. More-specific routes can direct selected traffic elsewhere. |
| Security still controls reachability | Security groups, network ACLs, host firewall, listening port, and application authentication remain necessary. An internet gateway performs no general content filtering. |
| IPv6 does not use IGW NAT | A globally unique IPv6 address can route through the internet gateway without address translation. Use an egress-only internet gateway when unsolicited inbound initiation must be blocked. |
| One VPC has one attached internet gateway | An internet gateway can attach to only one VPC at a time, and a VPC can have only one attached internet gateway. The component itself is designed for availability. |
How to reason about it
Internet gateway, public subnet, and public address solve different parts of the path. A common exam trap supplies only two. Always check route, address, security rules, return path, and whether the application listens on the destination address and port.
Use the following decision table as a starting point, then change the answer when the scenario changes.
| Requirement | Preferred direction | Why |
|---|---|---|
| Public web entry must be highly available | Internet-facing ALB across public subnets | Expose the managed load balancer and keep application instances private. |
| Private instances need outbound IPv4 internet | NAT gateway path | An internet gateway cannot directly route private-only source addresses to the internet. |
| IPv6 workload needs outbound-only internet | Egress-only internet gateway | It allows outbound-initiated IPv6 flow without NAT. |
| Administrator needs occasional private-instance access | Session Manager | Avoid adding public addresses and inbound SSH solely for administration. |
Prerequisites, permissions, Region, and cost
Run this lesson as the approved non-root course identity. Begin with aws sts get-caller-identity, confirm the private account record, and set the fixed project Region before any regional query. IAM resources are global within an account, while STS endpoints and the services reached by an identity can be regional.
Use only the read or change actions required for this lesson. An AccessDenied result is evidence to analyse, not permission to switch to root or attach AdministratorAccess. Record the action, resource, principal type, request context, and smallest justified correction.
The listed cost tier is T0 - no resource creation. Free Tier eligibility and credits are account-specific. Before a mutating lab, identify every resource that can charge, estimate its duration, start a timer, and write the reverse cleanup order. A budget reports cost after billing data arrives and is not a real-time stop control.
AWS Management Console method
- Open VPC Internet gateways and confirm which gateway is attached to the VPC.
- Open the source subnet route table and verify the IPv4 or IPv6 default route target.
- Open the EC2 instance Networking tab and check public addressing and security groups as separate requirements.
For every step record the service page, selected account and Region, exact object, visible state, and why that state matters. A Console label or green status is not enough unless it is tied to the final workload outcome.
AWS CLI or API evidence
Confirm attachment, subnet route, and public addressing as three separate checks.
aws ec2 describe-internet-gateways --filters Name=attachment.vpc-id,Values=vpc-0123456789abcdef0
aws ec2 describe-route-tables --filters Name=association.subnet-id,Values=subnet-0123456789abcdef0
aws ec2 describe-instances --instance-ids i-0123456789abcdef0 --query 'Reservations[0].Instances[0].PublicIpAddress'
An attached gateway without a matching route is unused. A route without a public IPv4 or routable IPv6 address does not complete direct internet access.
Before running the command, replace every placeholder, explain each option, and decide whether the operation is read-only or mutating. Capture the exit code immediately. Redact account IDs, ARNs, public addresses, request identifiers, and personal data before sharing.
The CLI and Console are clients of AWS APIs. Matching state across them increases confidence, but neither substitutes for data-plane or application verification.
Practical work
Create p04-igw-review.md. Trace all requirements for IPv4 internet communication: an attached nw-p04-igw, effective default route, public IPv4 or Elastic IP, security group, NACL, host listener, and return state. Use the planned public and private route tables to prove why the IGW alone provides neither an address nor permission. Do not attach a gateway yet.
The evidence package must include:
- non-root principal type, account verified privately, and Region;
- exact intended and observed state;
- one Console observation and the matching CLI or API result;
- one successful result and one denied, failed, or counterexample result;
- what each result does not prove;
- cost state and elapsed lab time;
- cleanup evidence or a named retained-state owner and next lesson.
Verification standard
Use three levels of proof:
- Control plane: the object or policy exists with the intended configuration.
- Data plane or behavior: the request, packet, session, storage path, or application does what the requirement states.
- Operations: monitoring, failure diagnosis, cost, ownership, and cleanup are known.
A control-plane response can precede final readiness. Use waiters or state polling where supported, then test the actual behavior. If a request times out, do not assume it failed. Inspect state and use documented idempotency before retrying a mutation.
Troubleshooting method
| Symptom | Evidence first | Smallest safe response |
|---|---|---|
| command cannot authenticate | credential source, expiry, caller preflight | restore approved temporary login |
| access is denied | action, resource, principal, all policy layers | correct only the missing or conflicting control |
| object appears missing | account, Region, filters, pagination, permission | align scope before creating anything |
| configured state exists but behavior fails | route, identity, dependency, logs, service state | test the next boundary in the path |
| cleanup is blocked | dependency inventory and owning service | remove dependants in reviewed reverse order |
Keep the original symptom and timestamp. State one hypothesis, make one reversible change, repeat the original test, and record rollback. Never open a management port to the world, expose credentials, disable TLS verification, format an unknown disk, or add broad permissions as a generic fix.
Architecture and certification decisions
Professional-level questions provide competing valid features. Identify the requirement that decides between them: human or workload identity, same-account or cross-account access, regional or zonal scope, stateful or stateless filtering, durable or ephemeral data, latency, RTO/RPO, cost, or operational ownership.
Explain why the selected option fits and why each plausible alternative fails one stated requirement. Do not rely on feature memorization or reproduce protected certification questions.
Knowledge check
- Does an internet gateway make every VPC instance public?
Expected direction: No. The subnet route, address, security rules, and application exposure must all permit access.
- What address does an EC2 operating system normally see for public IPv4 traffic?
Expected direction: Its private IPv4 address because the internet gateway performs the public-to-private mapping.
- Does IPv6 internet access require NAT?
Expected direction: No. It requires an IPv6 address, route, and security controls.
- Can two internet gateways be attached to one VPC for HA?
Expected direction: No. One highly available internet gateway attaches to the VPC.
Cost, cleanup, and retained state
Retain only the state explicitly required by the next P04 lesson and record it in the private resource ledger.
Cleanup evidence includes the final state query, not only a successful delete response. Search related resources, other Regions used by the lab, retained storage, public IPv4 addresses, logging destinations, and service-managed dependencies. Schedule a later billing review because cost data can lag.
Completion gate
Pass when the practical artifact explains the real problem, matches Console and CLI evidence, answers every knowledge check, diagnoses one failure without broadening access, records cost, and proves cleanup or approved retention. The learner must defend one decision orally and name the requirement that would change it.