Lesson 068 · AWS Learning Path

AWS 068: Instance metadata and IMDSv2

· Published · 7 min read

An EC2 workload requests an IMDSv2 token before retrieving instance metadata and temporary role credentials

The problem

A team uses Instance metadata and IMDSv2 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 Instance metadata and IMDSv2. 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:

  1. explain instance metadata is local instance information;
  2. explain imdsv2 is session oriented;
  3. explain require imdsv2 with httptokens;
  4. explain hop limit controls token response reach;
  5. explain role credentials rotate through imds;
  1. distinguish successful configuration from successful workload behavior;
  2. 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

ConceptWhat it means in practice
Instance metadata is local instance informationIMDS exposes categories such as instance identity, networking, events, IAM role credentials, and user data at a link-local address from the instance.
IMDSv2 is session orientedThe client first sends a PUT request for a token and includes that token in later metadata GET requests. Token lifetime can be set from one second to six hours.
Require IMDSv2 with HttpTokensSet HttpTokens to required to reject IMDSv1 requests. Newer account and AMI defaults can influence launch settings, so verify the effective instance option.
Hop limit controls token response reachThe response hop limit affects whether token responses can cross an additional network hop, which matters in container networking. Use the lowest value that supports the workload.
Role credentials rotate through IMDSAWS SDK credential providers obtain temporary instance-role credentials from metadata. Applications should not cache them beyond expiration or copy them elsewhere.
Metadata is not protected by IAM request authorizationAny process that can reach IMDS may read categories allowed by the instance settings. Host hardening and protection from SSRF remain important.

How to reason about it

Require IMDSv2, block untrusted processes and containers from metadata where possible, restrict the role itself, monitor credential use, and disable the metadata endpoint when it is unnecessary. IMDSv2 reduces common SSRF risk but does not make an overpowered role safe.

Use the following decision table as a starting point, then change the answer when the scenario changes.

RequirementPreferred directionWhy
Normal EC2 workload needs role credentialsIMDSv2 required and AWS SDK provider chainThe SDK obtains rotating credentials without stored keys.
Container cannot receive token responseTest and adjust hop limit narrowlyAn extra network hop may require a value above one.
Appliance never uses metadataDisable IMDS endpoint after validationRemoving an unused credential and information path reduces attack surface.
Application accepts arbitrary outbound URLsSSRF controls plus IMDSv2Input validation and egress protection remain necessary defense layers.

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

  1. Open EC2 Instances, select an instance, then Actions, Instance settings, Modify instance metadata options.
  2. Inspect endpoint state, IMDSv2 requirement, PUT response hop limit, and instance-tags-in-metadata setting.
  3. Cancel without saving unless the application and container networking have been tested with the proposed settings.

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

Inspect effective metadata options on every launch path.

aws ec2 describe-instances --instance-ids i-0123456789abcdef0 --query 'Reservations[0].Instances[0].MetadataOptions.{State:State,Endpoint:HttpEndpoint,Tokens:HttpTokens,Hop:HttpPutResponseHopLimit,Tags:InstanceMetadataTags}'

Tokens optional means IMDSv1 remains accepted. Update the launch template and account defaults as well as existing instances where supported.

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-imds-plan.md. Set the future instance metadata endpoint to enabled, tokens to required, hop limit to 1, and tags in metadata to disabled. Write the exact IMDSv2 token and metadata request sequence for later Session Manager testing, plus the expected HTTP failure for a tokenless request. Never request or print role credential values.

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:

  1. Control plane: the object or policy exists with the intended configuration.
  2. Data plane or behavior: the request, packet, session, storage path, or application does what the requirement states.
  3. 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

SymptomEvidence firstSmallest safe response
command cannot authenticatecredential source, expiry, caller preflightrestore approved temporary login
access is deniedaction, resource, principal, all policy layerscorrect only the missing or conflicting control
object appears missingaccount, Region, filters, pagination, permissionalign scope before creating anything
configured state exists but behavior failsroute, identity, dependency, logs, service statetest the next boundary in the path
cleanup is blockeddependency inventory and owning serviceremove 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

  1. What extra step does IMDSv2 require?

Expected direction: Obtain a token with an HTTP PUT and send it with metadata GET requests.

  1. What is the maximum IMDSv2 token TTL?

Expected direction: Six hours, or 21,600 seconds.

  1. Does IMDSv2 limit what the role may do?

Expected direction: No. The IAM role policy defines permission; IMDSv2 protects the credential delivery path.

  1. Why can hop limit one affect containers?

Expected direction: Container networking can add a hop between the process and token response.

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.

Official sources

Advertisement