AWS
guides.
Troubleshoot and operate AWS infrastructure, from storage and networking to compute, identity, monitoring and recovery.
All engineering insights ↗Cloud and infrastructure library ↗
AWS articles
100 guides
AWS vs Azure vs Google Cloud: Choose for the Workload ↗
Compare cloud providers using workload dependencies, skills, security, recovery and measured costs instead of a generic winner.
AWS IAM Roles for Workloads: A Safer Starting Point ↗
Use workload roles and temporary credentials where supported, separating application permissions from deployment access and auditing the trust boundary.
AWS CloudTrail vs CloudWatch: Which Records What? ↗
Distinguish AWS API audit events from operational metrics and application logs, then plan retention and alerts for each evidence source.
EC2 ENA Allowance Drops: Explain Loss Despite Low Average Traffic ↗
Use EC2 ENA counter deltas to separate bandwidth, packet-rate and tracked-connection pressure. Verify application impact beyond low average byte graphs.
Route 53 Resolver Outbound DNS: Test the Rule and Return Path ↗
Troubleshoot Route 53 Resolver outbound DNS with rule associations, target consistency, TCP and UDP reachability, and explicit hybrid lookup tests.
AWS Network Firewall: Diagnose Asymmetric Inspection Paths ↗
Trace forward and return routes through AWS Network Firewall. Diagnose endpoint asymmetry, NAT placement and centralized inspection before widening rules.
CloudTrail Integrity Validation: Verify the Digest Chain and Scope ↗
Validate CloudTrail digest chains over an explicit account, Region and interval. Separate file integrity from delivery coverage and audit selector scope.
ALB 502 vs 504: Find the Failed Connection Boundary ↗
Distinguish ALB-generated 502 and 504 errors from target failures. Correlate resets, idle deadlines, backend timing and deployment drain evidence.
S3 Gateway Endpoints: Verify Routes Before Tightening Bucket Policy ↗
Trace S3 gateway endpoint route associations and caller policies. Test sourceVpce restrictions, object access and recovery paths before tightening a bucket.
EBS gp3 Performance: Separate IOPS, Throughput, and EC2 Limits ↗
Separate gp3 IOPS and throughput limits from aggregate EC2 EBS capacity. Measure request size, queueing and application completion before resizing storage.
EC2 CPU Credits: Diagnose Throttling and Unlimited Charges ↗
Diagnose EC2 CPU credit exhaustion, Standard-mode throttling and Unlimited surplus usage with workload evidence, sustained tests and reviewed capacity choices.
GitHub Actions OIDC to AWS: Match the Actual Subject Claim Before Granting Deployment Access ↗
Design GitHub-to-AWS OIDC trust around observed subject claims, repository identity, environment protection, narrow deployment roles, and explicit rejection tests.
Amazon EFS Slowing Down: Separate Throughput Limits From Small-File Workload Costs ↗
Diagnose EFS latency using throughput mode, burst credits, metadata work, client behaviour, and a representative benchmark before changing storage capacity.
EventBridge Scheduler and Daylight Saving: Define Which Business Day a Job Belongs To ↗
Design scheduled work for named time zones, daylight saving transitions, duplicate attempts, missed business dates, and a completion ledger operations can audit.
Secrets Manager Rotation: Keep Application Connection Pools Ready for New Credentials ↗
Plan AWS secret rotation around startup, cached credentials, connection pools, retry boundaries, and tests that prove a new connection can authenticate.
RDS Proxy Connection Pinning: Explain Why a Proxy Still Reaches the Database Limit ↗
Trace RDS Proxy session pinning to application behaviour, measure backend connection pressure, and test safe changes without altering transaction correctness.
AWS NAT Gateway Port Exhaustion: Diagnose Connection Pressure Before Scaling Servers ↗
Investigate NAT gateway connection pressure with destination-level evidence, connection reuse, bounded retries, and an egress design that matches workload demand.
Route 53 Failover: Make the Health Check Represent a Usable Service ↗
Build Route 53 failover checks around customer outcomes, DNS caching, dependency health, standby readiness, and a controlled failback exercise.
S3 Storage Costs Rising? Find Abandoned Multipart Uploads Before Deleting Objects ↗
Investigate S3 storage from abandoned multipart uploads, choose a safe abort threshold, and validate cleanup without deleting completed customer files.
AWS Cross-Account Access: Test the Customer Boundary Behind an External ID ↗
Design and test AWS cross-account roles with external IDs, narrow permissions, tenant isolation, and an offboarding process that operations teams can verify.
VPC Reachability Analyzer Says Reachable: Why the Application Can Still Time Out ↗
Use VPC Reachability Analyzer with guest, DNS, TLS, and application evidence to diagnose timeouts without mistaking a network model for a live test.
AWS KMS Grants: Handle New Permission Timing Without Broadening Access ↗
Diagnose new KMS grant timing, distinguish propagation from policy denial, and design bounded retries with grant identity and cleanup evidence.
ECR Tag Immutability: Handle Release Collisions Without Rebuilding a Different Artifact ↗
Handle ECR immutable-tag collisions, distinguish retries from conflicting builds, and promote the verified image digest through deployment environments.
SSM Run Command: Prove the Change Reached Every Intended Server ↗
Interpret SSM command, invocation, and plugin status correctly, then build idempotent server changes with explicit targeting and post-change evidence.
AWS DMS CDC: Keep Source Logs Long Enough to Complete a Safe Cutover ↗
Review AWS DMS CDC checkpoints, source-log retention, replication delay, and validation before a database migration cutover or task restart.
EBS Snapshots for Databases: Verify Consistency Across Every Required Volume ↗
Plan application-consistent EBS database snapshots, map every required volume, preserve recovery dependencies, and prove the result with a restore exercise.
ALB Deregistration Delay: Finish Active Requests During a Deployment ↗
Coordinate ALB target draining, application shutdown, and deployment timing so active requests finish and long-lived connections recover predictably.
CloudFront Signed Cookies: Protect Private Content Without Breaking Shared Caching ↗
Design CloudFront signed-cookie access for private files with scoped policies, secure delivery, origin protection, and realistic browser acceptance tests.
S3 Batch Operations: Validate the Manifest Before Changing Thousands of Objects ↗
Plan S3 Batch Operations with version-aware manifests, scoped permissions, completion reports, and a retry process that avoids repeating successful changes.
AWS Lambda and SQS: Recover Failed Messages Without Repeating the Whole Batch ↗
Configure Lambda SQS partial batch responses, preserve FIFO ordering, and test duplicate-safe processing with a practical failure and recovery checklist.
ACM DNS validation: check the public CNAME path ↗
Trace ACM certificate validation through public authoritative DNS, exact CNAME names, CAA policy and certificate deployment identity.
CloudFormation change sets: review replacement and execution ↗
Review adds, replacements and deletions in a CloudFormation change set, then validate runtime dependencies and recovery before executing the selected change.
CloudFormation drift: understand what was compared ↗
Interpret CloudFormation drift results using supported resource properties, explicit template values, nested-stack scope and the operational intent of manual changes.
AWS RAM shares: check acceptance and consumer permissions ↗
Investigate an invisible or unusable shared AWS resource by checking share scope, invitation state, resource association and consumer identity.
PrivateLink interface endpoints: verify DNS and traffic ↗
Trace an AWS service request through private DNS, endpoint network interfaces, security groups and endpoint policy before widening network access.
Cost Allocation Tags: Verify Activation and History ↗
Turn resource tags into usable AWS cost dimensions by checking key activation, historical tag presence, backfill scope, and refreshed billing data.
Auto Scaling Hooks: Resolve Instances Waiting on Lifecycle ↗
Trace Auto Scaling lifecycle waits through event delivery, hook identity, heartbeat deadlines, completion results, and application readiness evidence.
Spot Interruptions: Verify Checkpoints Before the Notice ↗
Prepare Spot workloads with durable progress, interruption signals, bounded draining, and recovery tests that do not depend on advance warning.
EC2 IMDSv2: Verify Software and Container Reachability ↗
Migrate EC2 workloads to IMDSv2 using usage evidence, compatible software, container-path testing, and launch-template checks for replacement instances.
Organizations SCPs: Trace an Inherited Access Denial ↗
Investigate an AWS Organizations denial by walking root, OU and account policies, then test a narrow correction without confusing SCP limits with IAM grants.
AWS Config Recorder: Explain Missing Resource History ↗
Diagnose missing AWS Config history by checking account and Region, recorder status, inclusion or exclusion strategy, global-resource placement, and delivery.
AWS WAF Logs: Verify Filtering and Data Protection ↗
Check AWS WAF log completeness and sensitive-field handling by separating logging filters, redaction, sampled requests, and web ACL data protection.
API Gateway REST Throttles: Find the Effective Limit ↗
Diagnose REST API 429 responses by comparing usage-plan, method, stage, account and backend evidence, then verify client backoff and capacity.
Kinesis Consumer Lag: Separate Reading from Processing ↗
Investigate Kinesis backlog by comparing per-consumer lag, shard distribution, shared read limits, processing duration, and the remaining retention window.
ECR Lifecycle Policies: Preview the Release Impact ↗
Review ECR lifecycle rules against deployed digests, rollback requirements, tag patterns, and multi-architecture manifests before applying retention.
Cognito M2M Tokens: Connect Custom Scopes to API Actions ↗
Set up Cognito client-credentials authorization with a confidential client, explicit resource-server scopes, secure token handling, and API enforcement tests.
Cognito Callback Errors: Trace the Exact Redirect URI ↗
Resolve Cognito callback failures by comparing app-client registration, authorization and token requests, proxy-derived URLs, and a complete test sign-in.
EventBridge Scheduler: Make Time-Zone Behavior Explicit ↗
Set EventBridge Scheduler recurrence with an explicit time zone, daylight-saving policy, flexible window, and evidence that scheduled work completed.
SQS FIFO: Find the Message Group That Limits Progress ↗
Diagnose FIFO queue backlog through message-group distribution, in-flight work, deduplication identifiers, and the business ordering boundary.
SQS Visibility: Match the Lease to the Work ↗
Reduce avoidable SQS duplicate work by measuring processing time, extending visibility deliberately, and verifying deletion with the current receipt handle.
SNS Filters: Match the Scope to the Published Message ↗
Diagnose SNS messages missing from a subscription by comparing filter scope, attribute types, JSON body shape, and controlled matching and nonmatching events.
Step Functions Retry and Catch: Preserve Business Effects ↗
Design Step Functions error handling around named failures, bounded retries, retained input, and verification of business effects after ambiguous timeouts.
Lambda Python Layers: Match Runtime and Architecture ↗
Diagnose Lambda layer import failures by checking archive paths, Python versions, Linux compatibility, native architecture, and the exact published layer version.
Lambda Async Destinations: Verify the Failure Record ↗
Trace Lambda asynchronous failures from retry settings to destination permissions, record delivery, and an idempotent business recovery procedure.
Lambda Concurrency: Separate Capacity from Warm Environments ↗
Choose Lambda reserved and provisioned concurrency using measured demand, downstream limits, alias routing, and evidence of throttling or provisioned spillover.
DynamoDB Streams: Recover a Lambda Batch Deliberately ↗
Investigate DynamoDB stream backlog with iterator age, record-level failures, partial batch configuration, and a durable recovery plan for discarded work.
DynamoDB TTL: Enforce Expiration Before Physical Deletion ↗
Handle expired DynamoDB items safely by validating timestamp format, enforcing application expiry, and monitoring eventual TTL cleanup as a separate process.
Aurora Reader Endpoints: Check Connections and Consistency ↗
Explain uneven Aurora read traffic by tracing endpoint selection, connection-pool lifetime, replica membership, and business consistency needs.
RDS Blue/Green: Prove Readiness Before Switchover ↗
Prepare an RDS blue/green change with engine-specific replication checks, application tests, connection recovery, and a review of resource-ID dependencies.
RDS IAM Authentication: Match the Token and Database User ↗
Diagnose RDS IAM database login failures by matching the caller, immutable resource ID, database username, endpoint, token freshness, and TLS settings.
RDS Proxy Pinning: Find the Session State That Persists ↗
Investigate RDS Proxy session pinning with connection metrics, database-session behavior, and a controlled workload before increasing database capacity.
S3 Object Lock: Inspect the Protected Object Version ↗
Understand why a locked S3 object can disappear from a normal listing while its protected version remains, and verify retention separately from legal holds.
S3 Replication: Separate Live Copies from Backfill ↗
Diagnose missing S3 replicas by checking object age, replication status, rule scope, and a reviewed Batch Replication manifest for existing data.
S3 Lifecycle: Explain Noncurrent Versions That Remain ↗
Review S3 lifecycle filters, noncurrent age, retained-version counts, and delete markers before expecting versioned-bucket storage to decline.
EKS Access Entries: Verify Namespace Authorization ↗
Separate EKS cluster authentication from Kubernetes authorization, then test the intended IAM principal, access policy, namespace scope, and RBAC bindings.
EKS Pod Identity or IRSA: Verify Credential Selection ↗
Choose EKS workload identity using node support, SDK compatibility, service-account mapping, and proof that the application assumes the intended role.
ECS Capacity Providers: Explain Tasks Stuck Provisioning ↗
Trace ECS capacity-provider selection, smallest-instance fit, Auto Scaling limits, and registration before changing managed scaling for provisioning tasks.
ECS Exec: Verify the Task, Agent and Session Permissions ↗
Enable ECS Exec through a reviewed task rollout, then verify the managed agent, task-role channel permissions, network path, and operator access.
AWS Backup Cross-Account Copies: Trace the Trust Path ↗
Diagnose cross-account AWS Backup copies by checking organization membership, destination-vault policy, source-role permissions, and resource-specific encryption.
AWS Backup Vault Lock: Choose Retention Deliberately ↗
Choose AWS Backup Vault Lock settings with a tested retention policy, a clear grace-period decision, and evidence that recovery points meet the intended rules.
Patch Manager compliance: distinguish missing patches from stale assessment ↗
Interpret AWS Patch Manager compliance using baseline scope, assessment freshness and reboot-related state before declaring a server patched or scheduling a restart.
Managed Prometheus ingestion gaps: separate scraping from remote write ↗
Diagnose Amazon Managed Service for Prometheus ingestion by tracing scrape health, remote-write identity, endpoint selection and bounded label cardinality.
HTTP API access logs: make gateway failures traceable by request ID ↗
Configure API Gateway HTTP API stage access logs with safe correlation fields, then distinguish missing logging from integration failures and backend application errors.
ALB access logs missing: validate the logging bucket contract ↗
Set up and diagnose Application Load Balancer access logs with the correct S3 Region, supported encryption and delivery policy before relying on request evidence.
CloudTrail event history is visible but trail delivery is missing ↗
Diagnose AWS CloudTrail trail delivery separately from Event history, checking logging state, S3 permissions and delivery errors without assuming audit retention is healthy.
A failed CloudWatch canary: separate test failure from runner failure ↗
Troubleshoot CloudWatch Synthetics by separating the monitored user journey from canary permissions, VPC connectivity and artifact delivery.
EventBridge rule DLQs: distinguish target delivery from business completion ↗
Configure and investigate EventBridge rule-target dead-letter delivery, then reconcile business effects before replaying events after a target failure.
CloudWatch log metric filters: test new events and missing-data semantics ↗
Build CloudWatch log-based metrics with tested event patterns, explicit dimensions and a deliberate no-data policy before attaching production alarms.
CloudWatch agent metrics: prove memory and disk collection end to end ↗
Set up and diagnose CloudWatch agent memory and disk metrics by checking configuration, identity, endpoint reachability and the exact published metric dimensions.
AWS Backup Restore Testing: Prove the Business Recovery Path ↗
Plan AWS Backup restore testing with eligible recovery points, isolated validation and measured recovery evidence. Distinguish a restored resource from a working application.
Amazon EBS Resizing: Why the Linux Filesystem Still Looks Full ↗
Review EBS growth across volume, partition and filesystem layers. Includes read-only inspection, backup prerequisites and a controlled application storage verification SOP.
Amazon EFS Mount Timeouts: Follow DNS, Network and Client Evidence ↗
Investigate EFS mount failures using filesystem identity, mount targets, NFS reachability and Linux client evidence. Includes setup planning and file-service recovery checks.
Amazon SQS Dead-Letter Queues: Investigate Before Redrive ↗
Operate SQS dead-letter queues with failed-message classification, corrected consumers and controlled redrive. Includes setup prerequisites, idempotency and backlog monitoring.
DynamoDB Throttling: Review Demand and Key Distribution ↗
Investigate DynamoDB throttling using request evidence, capacity mode and access-key distribution. Includes setup assumptions, bounded retries and latency verification.
CloudWatch Alarms Without Notifications: Trace the Alert Chain ↗
Troubleshoot CloudWatch alarm notifications from metric dimensions and state transitions through the notification destination. Includes setup validation and an alerting SOP.
AWS KMS Access Denied: Review the Complete Permission Boundary ↗
Investigate KMS denied operations using caller identity, key policy and request context. Preserve encryption while correcting the smallest justified access requirement.
Secrets Manager Rotation: Investigate Application Startup Failures ↗
Review AWS Secrets Manager rotation failures with active identity, region, secret version and application initialization evidence. Includes verification and a credential-change SOP.
Session Manager TargetNotConnected: Check Identity and Reachability ↗
Diagnose AWS Systems Manager Session Manager connection failures using managed-node status, agent and endpoint evidence. Includes access setup and a secure administration SOP.
Amazon SES SMTP Failures: Separate Login, Sending and Delivery ↗
Troubleshoot SES SMTP authentication and rejected sending with region, identity and transport checks. Includes safe setup, delivery evidence and an email operations SOP.
CloudFront Origin Errors: Separate Cached Failure from Current Health ↗
Diagnose CloudFront error responses with origin evidence, cache behavior and hostname checks. Includes deployment prerequisites, recovery validation and edge monitoring.
AWS Lambda in a VPC: Troubleshoot Outbound Timeouts ↗
Investigate VPC-connected Lambda timeouts using destination, subnet routes and endpoint design. Includes setup checks, dependency verification and latency monitoring.
Amazon ECS Unhealthy Services: Diagnose Repeated Task Replacement ↗
Trace ECS task replacement through service events, container startup and health checks. Includes deployment prerequisites, verification and incident ownership.
Amazon EKS Nodes Not Ready: Separate Platform and Workload Issues ↗
Investigate EKS node readiness with node events, joining prerequisites and workload impact. Includes a setup baseline, controlled correction and platform SLO guidance.
Amazon RDS Connection Timeouts: Trace the Application Path ↗
Troubleshoot RDS connection timeouts with endpoint, network and database evidence. Includes safe setup sequencing, connection-pool checks and a recovery SOP.
Amazon S3 Access Denied: Diagnose the Exact Object Request ↗
Investigate S3 403 responses with caller identity, object path, policy and encryption evidence. Preserve private storage while correcting a narrowly scoped access failure.
Route 53 Alias Cutovers: Validate DNS and the Destination ↗
Plan Route 53 alias routing to a load balancer with hostname, certificate and overlap checks. Troubleshoot stale answers without confusing DNS with application recovery.
AWS ALB Unhealthy Targets: Follow the Health-Check Contract ↗
Diagnose Application Load Balancer unhealthy targets using probe settings, target reachability and application readiness. Includes setup checks and enterprise acceptance evidence.
AWS NAT Gateway: Troubleshoot Private-Subnet Internet Access ↗
Trace private-subnet egress through routes and a NAT gateway without exposing application hosts. Includes initial design checks, diagnostic evidence and monitoring ownership.
AWS EC2 SSH Timeouts: A Beginner-Friendly Operations Runbook ↗
Investigate EC2 SSH timeouts with instance status, approved network paths and host evidence. Includes setup prerequisites, recovery verification and an access SOP.
AWS IAM Access Analyzer: Turn Findings into Review Work ↗
Use IAM Access Analyzer findings as a review workflow with owners, business context and validation. Prioritize access changes without breaking application workflows.