AWS 080: Dependency-aware project cleanup and regional cost verification
The problem
A team uses Dependency-aware project cleanup and regional cost verification 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 Dependency-aware project cleanup and regional cost verification. 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 dependency order;
- explain exact targeting;
- explain retained-state decision;
- explain regional inventory;
- explain billing delay;
- 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 |
|---|---|
| Dependency order | Terminate instances and wait, detach/delete volumes, delete snapshots if not retained, release Elastic IPs, remove ENIs and flow logs, delete SG/NACL/route associations, detach/delete IGW, delete subnets, then delete VPC. |
| Exact targeting | Use the private ledger, Region, VPC ID, resource IDs, tags, and dependency queries. Never delete by a broad name or wildcard alone. |
| Retained-state decision | Every retained snapshot, log group, role, image, or evidence object needs owner, reason, cost, encryption, and expiry. |
| Regional inventory | Check the project Region first and all Regions used during labs. Global IAM and billing views need separate verification. |
| Billing delay | Resource absence is immediate technical evidence. Bills and Cost Explorer can update later, so schedule a follow-up cost review. |
| Final baseline | Preserve only the account security, contacts, budget, approved identity configuration, and redacted course evidence needed for later modules. |
How to reason about it
Cleanup is an architecture operation. A VPC deletion failure identifies a remaining dependency. Inspect the dependency instead of forcing deletion or removing unrelated resources.
Take before/after inventories and use waiters where supported. A successful delete API response can precede final disappearance, and a missing query caused by wrong Region is not cleanup proof.
Use the following decision table as a starting point, then change the answer when the scenario changes.
| Requirement | Preferred direction | Why |
|---|---|---|
| Snapshot needed for AWS 081 | Retain with expiry and budget owner | Preservation is explicit rather than accidental. |
| Unknown ENI blocks subnet | Identify requester and owning service | Do not attempt to detach service-managed interfaces blindly. |
| Bill still shows cost | Check resource inventories and data delay | Do not recreate resources to test billing. |
| Project fully complete | Delete P04 resources in reverse order | Return account to secure low-cost baseline. |
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 T1 - free or near-free with immediate cleanup. 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 EC2 Global View and regional EC2/VPC inventories to establish the exact P04 resource set.
- Delete workload, storage, address, logging, network-security, routing, gateway, subnet, and VPC dependencies in reviewed reverse order.
- Open Billing, Bills, Budgets, and Cost Explorer where available, record the follow-up review time, and confirm no budget alert is ignored.
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
Query the project tag and VPC dependencies after every cleanup phase.
aws resourcegroupstaggingapi get-resources --region ap-south-1 --tag-filters Key=Project,Values=NitWings-P04
aws ec2 describe-vpcs --region ap-south-1 --filters Name=tag:Project,Values=NitWings-P04
aws ec2 describe-addresses --region ap-south-1 --filters Name=tag:Project,Values=NitWings-P04
Empty project results support cleanup only after account, Region, service support, and permissions are verified. Record separately retained or untaggable resources.
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
Use p04-resource-ledger.md as the only cleanup target list. Take a before inventory, delete in dependency order, wait for terminal states, take an after inventory, list every retained item with expiry, and schedule billing verification for the next data refresh. Never use root or broad cross-account cleanup.
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
- Why can a VPC deletion fail?
Expected direction: Dependent resources or associations remain.
- Does an empty one-Region EC2 page prove global cleanup?
Expected direction: No.
- Does current bill data update immediately?
Expected direction: No. Schedule a follow-up review.
- What may remain?
Expected direction: Only explicitly owned, justified, costed, encrypted, and expiring state.
Cost, cleanup, and retained state
No workload resource should remain unless this lesson explicitly creates and retains one for the next numbered lab.
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.