AWS Certified CloudOps Engineer - Associate (SOA-C03) Course

Course scope
The course follows the official SOA-C03 exam guide and covers all 5 domains and 13 tasks. Open a domain to see its lessons.
AWS CloudTrail and Amazon CloudWatch: audit activity versus operational telemetry: When API activity evidence from CloudTrail is needed rather than operational metrics, application logs, and alarms from CloudWatch.
AWS CloudTrail provides evidence of AWS activity. Use it when the question is about an AWS API action: which identity requested a change, what action was requested, and when. For example, investigating who requested a database configuration change calls for activity evidence, not a graph of database performance.
Amazon Managed Service for Prometheus vs Amazon CloudWatch: monitoring roles: When to choose Prometheus-compatible metrics monitoring rather than CloudWatch native metrics, logs, and alarms, and when the services complement each other.
Amazon Managed Service for Prometheus provides a managed backend for Prometheus-compatible metrics. Choose it when you want to keep Prometheus instrumentation, labeled time series, and PromQL queries without operating the metrics storage and query infrastructure yourself. It is especially useful for teams already using the Prometheus ecosystem to monitor containers.
Audit Logging: control-plane and data-plane event coverage: How to choose control-plane and data-plane audit events to capture workload configuration changes and resource access, including when data events require explicit enablement.
AWS CloudTrail records supported AWS API activity so you can investigate who did what, to which resource, and when. Start by naming the actions you need evidence for. Changing a workload's configuration and using that workload are different audit needs.
AWS CloudTrail: API activity logging: How event selection, trail configuration, and event lookup provide API activity records that reveal caller identities, requests, and access failures.
AWS CloudTrail records AWS API activity so you can investigate who requested an action, what they requested, and what happened. Calls can originate from the console, command-line tools, SDKs, or AWS services. Coverage depends on the supported event types and the recording configuration; do not assume every action appears automatically.
Amazon Managed Service for Prometheus: workspace metrics ingestion: How collectors scrape workload metrics and send them to a workspace through IAM-authorized remote write.
Amazon Managed Service for Prometheus stores Prometheus-compatible metrics in a workspace. Creating a workspace gives you a destination for ingestion; it does not, by itself, configure collection from your applications.
Amazon Bedrock: inference monitoring and invocation logging: How Bedrock exposes inference metrics and model invocation logs, and how to configure their collection while protecting sensitive prompts and responses.
Amazon Bedrock automatically publishes inference metrics to Amazon CloudWatch in the AWS/Bedrock namespace. Use invocation counts, latency, errors, throttles, and supported token-count metrics to understand workload health. Select the appropriate model dimensions and statistic: a sum answers a count question, while a latency percentile helps reveal slow requests.
Log Retention: configuring how long logs remain available: How CloudWatch Logs retention settings and lifecycle rules for CloudTrail logs in S3 preserve the required workload history without keeping records indefinitely.
Log retention defines how long records remain available. Choose the duration from troubleshooting, investigation, and contractual requirements—not one default for every workload. Also decide how quickly older records must be retrieved. Collecting logs and retaining them are separate tasks.
Amazon Managed Service for Prometheus: alerting rules: How workspace alerting rules evaluate PromQL expressions and use Alertmanager to group and route notifications to Amazon SNS.
An alerting rule defines a condition over metrics already stored in an Amazon Managed Service for Prometheus workspace. You upload Prometheus-compatible rule definitions into a rule groups namespace. Each rule group is evaluated repeatedly at its configured interval; an alerting rule includes an alert name and a PromQL expression in expr.
Amazon EKS and Amazon ECS: container orchestration models: How EKS Kubernetes clusters, nodes, and pods differ from ECS clusters, services, and tasks when identifying where monitoring collectors operate.
Amazon EKS runs Kubernetes. An EKS cluster includes a Kubernetes control plane and the compute used to run workloads. AWS manages the control plane; application containers and monitoring collectors run on workload compute, not inside that managed control plane.
Amazon EC2: guest monitoring with the CloudWatch agent: How to install, authorize, configure, and troubleshoot the CloudWatch agent on EC2 instances to collect guest operating system metrics and logs.
EC2 publishes metrics such as CPU utilization and network traffic without a guest agent. To collect memory utilization, filesystem space used, and operating system or application logs, install and configure the CloudWatch agent inside the instance. Enabling EC2 detailed monitoring does not add these guest measurements.
Amazon ECS: CloudWatch telemetry collection: How to deploy and configure the CloudWatch agent as an ECS daemon service on EC2 container instances to collect metrics and logs for Container Insights.
For an ECS cluster running on EC2, deploy the CloudWatch agent as an ECS service with the DAEMON scheduling strategy. ECS places one service task on each eligible container instance, including newly added instances. Eligibility depends on placement constraints and available resources; you do not maintain a desired task count.
Amazon EKS: cluster telemetry collectors: How the CloudWatch Observability add-on deploys and authorizes the CloudWatch agent and Fluent Bit to collect EKS node and pod metrics and container logs.
The Amazon CloudWatch Observability EKS add-on installs and manages the collectors used for Container Insights: the CloudWatch agent for infrastructure telemetry and Fluent Bit for logs. You enable the add-on on an existing EKS cluster rather than installing a collector in every application container.
Amazon SNS and Amazon EventBridge: choosing notification delivery or event routing: When to choose SNS subscriber notifications rather than EventBridge rule-based event routing for AWS service events.
Amazon SNS delivers messages published to a topic to its subscriptions. Choose it when an AWS service already provides the notification you need and the next job is delivery to subscribers, such as an operations email list.
Amazon SNS: notification topics and subscriptions: How to configure an SNS topic, publishing permissions, and confirmed subscriptions to deliver notifications from AWS services and CloudWatch alarms.
An Amazon SNS topic is a destination that publishers send messages to. A subscription connects that topic to a recipient endpoint. Publishers address the topic, not each recipient, so you can change recipients without changing every publisher.
Amazon EventBridge: event bus rules: How to configure and troubleshoot rules that match AWS service events, including CloudWatch alarm state changes, transform target input, and deliver events reliably to targets.
An EventBridge rule matches an event pattern on one event bus and sends matching events to configured targets. AWS service events normally arrive on the default event bus in the Region where they occur. CloudWatch sends state-change events for metric and composite alarms; these are changes of state, not repeated reminders while an alarm stays in ALARM.
AWS Lambda: event-driven automation: How service and alarm events invoke Lambda handlers that use execution roles to change AWS resources safely despite retries and duplicate events.
AWS Lambda runs a handler when an event invokes the function. The handler receives event data, decides whether action is needed, and calls AWS APIs. You provide the code; Lambda manages the compute that runs it.
Cross-Account Access: roles for shared monitoring: How source-account role trust, caller authorization, and read-only role permissions let a monitoring account display another account’s metrics and alarms without sharing credentials.
A source account owns the metrics and alarms. A monitoring account displays them in a CloudWatch dashboard. In the role-based sharing pattern, the source account keeps control of access by providing a role that trusted monitoring callers can assume.
Amazon CloudWatch: cross-account and cross-Region dashboards: How to create, update, and share dashboards whose metric and alarm widgets display resources across accounts and Regions.
A CloudWatch dashboard is a saved layout of widgets. Dashboards are global within an AWS account, but the metrics and alarms they display belong to particular accounts and Regions. A dashboard brings those views together; it does not move the underlying resources or metric data.
Publish-Subscribe Messaging: alert distribution through SNS topics: How to connect AWS service and alarm publishers to SNS topics and configure subscriptions so each intended recipient receives the alerts independently.
Amazon SNS separates publishers from recipients. A publisher sends a notification to a topic; SNS distributes it through the topic's subscriptions. Publishers need the topic's address, not a list of recipients.
Anomaly Detection: baseline-driven metric alarms: How CloudWatch anomaly detection bands model expected performance, how sensitivity affects alarms, and when deviations warrant remediation.
CloudWatch anomaly detection uses historical metric data to model expected behavior. Its anomaly detection band has an upper and lower boundary that change over time. The model can account for trends and recurring hourly, daily, or weekly patterns, so a normal daytime traffic peak need not look like an incident.
Amazon CloudWatch: Internet Monitor: How to configure Internet Monitor for application resources and interpret health events and traffic measurements to locate internet availability and performance problems.
CloudWatch Internet Monitor helps locate internet connectivity problems between users and your AWS application resources. It uses AWS network observations and your application's traffic patterns; you do not install an agent on users' devices. Start in the CloudWatch console, open Internet Monitor, and create a monitor.
Amazon CloudWatch: Network Monitor: How to configure Network Monitor probes between AWS subnets and on-premises destinations and interpret latency, packet loss, and network health indicators.
CloudWatch Network Monitor sends synthetic probe traffic from an AWS subnet to a destination IP address. It measures round-trip latency and packet loss without requiring you to install a monitoring agent on an EC2 instance.
AWS Systems Manager: Automation runbooks: How to create and execute predefined and custom Automation runbooks with parameters, execution roles, and event-driven triggers for operational remediation.
An Automation runbook is a Systems Manager document that defines an operational workflow. An execution is one run of that document with particular inputs. Start with an AWS-provided runbook when its steps match your task: for example, AWS-StartEC2Instance starts an EC2 instance. Read its parameters, permissions, and effects before using it. Create a custom runbook when you need your own checks, branching, or sequence of actions.
Kiro: conversational code assistance: How Kiro uses supplied metrics, logs, and repository context to investigate performance problems and draft remediation automation for engineers to review, test, and deploy through established tools.
Kiro is a development tool that can help investigate performance problems using information you supply or make available through configured tools. It is not a monitoring service and does not automatically see production telemetry. Start a conversation with the affected operation, the incident time window, the expected behavior, and the observed change.
Amazon SQS vs Amazon EventBridge: queuing and event routing: When durable work queuing calls for SQS, when event routing calls for EventBridge, and why an application might use both.
Amazon SQS is a durable work queue. A producer sends messages, and workers receive them when they have capacity. The queue holds a backlog within its configured retention period, so producers and workers do not have to run at the same pace.
Amazon SQS: receiving events from EventBridge: How SQS target and dead-letter queues receive EventBridge events, and how queue policies and encryption permissions affect delivery.
An EventBridge rule matches events on an event bus and sends matching events to its configured SQS target. Once SQS accepts a message, EventBridge delivery has succeeded; processing that message is a separate responsibility.
AWS Tools and SDKs: scripting Automation API calls: How SDK scripts use configured credentials and service clients to create Systems Manager Automation documents, start executions with parameters, and check execution status while handling API errors.
An AWS SDK lets a script call service APIs using language-native methods. In Python, Boto3 uses its credential provider chain to find configured credentials, such as environment credentials, a local profile, or temporary credentials from an attached IAM role. Prefer temporary credentials and never embed access keys in source code. Temporary credentials include a session token, which the SDK handles when obtained through a supported provider.
Idempotency: retry-safe runbook actions: How to make repeated runbook actions safe using explicit desired states, stable idempotency keys, and recovery checks after partial completion.
Idempotency means that repeating the same logical request does not change its intended effect. A runbook needs this because a request can succeed even when its response is lost. Retrying must not undo the first action or add another unwanted effect. Responses, logs, and execution counts can still differ.
Resource Utilization: interpreting compute capacity: How representative CPU, memory, storage, and network measurements reveal bottlenecks or spare capacity and inform capacity changes that preserve performance and resilience.
Resource utilization is how much available capacity a workload uses. Measure CPU, memory, storage, and network separately: spare CPU does not compensate for exhausted memory. The goal is enough capacity to meet performance and resilience needs, not a universal utilization percentage.
Resource Tagging: tag-based operational groups: How consistent application, environment, and owner tags group supported resources for scoped performance reviews and targeted optimization automation.
Resource tags are key–value metadata that let you organize infrastructure by business purpose rather than resource identifier. Use Application=Payments to identify a workload, Environment=Development to separate its development resources, and Owner=PaymentsPlatform to identify the accountable team. The same resource can participate in several management views without being moved or copied.
Amazon EC2: instance performance and placement: How instance resource limits and placement groups affect compute, storage, and network performance, and how instance metrics guide configuration changes.
An EC2 instance type defines a resource envelope: vCPUs, memory, storage capabilities, and network performance. The family emphasizes a resource mix; the size selects capacity within that family. Compute-optimized instances suit CPU-heavy work, while memory-optimized instances suit workloads that need more RAM. More vCPUs will not fix a memory shortage or automatically accelerate a single-threaded application.
Right-Sizing: matching compute capacity to workload demand: How representative utilization metrics, resource-tag context, and AWS sizing recommendations guide compute configuration changes that preserve workload performance and reliability.
Right-sizing matches compute capacity to workload demand, with enough headroom to meet performance and reliability requirements. It can mean reducing an oversized instance, increasing an undersized one, or choosing a different instance family. The smallest configuration is not necessarily the right configuration.
AWS Compute Optimizer: utilization-based rightsizing: How historical utilization and analysis lookback settings shape rightsizing recommendations, and how to evaluate tag-filtered resources using projected performance risk and cost savings.
AWS Compute Optimizer analyzes resource configuration and historical utilization to recommend better-fitting resources. For an EC2 instance, rightsizing can mean choosing a smaller instance, a larger instance, or a different instance family. Low average CPU utilization alone is not enough to justify downsizing: peaks, memory demand, network traffic, and storage activity can affect the fit.
AWS Compute Optimizer vs AWS Trusted Advisor: When to use Compute Optimizer's detailed resource-sizing analysis rather than Trusted Advisor's broader best-practice checks.
AWS Trusted Advisor provides a broad review of your AWS environment using best-practice checks. Its checks cover areas such as cost optimization, performance, security, fault tolerance, operational excellence, and service limits. Use it to ask, Where does this environment need attention?
Amazon EBS: volume performance tuning: How volume metrics reveal IOPS, throughput, and latency bottlenecks and guide cost-effective changes to volume type and provisioning within EC2 limits.
IOPS measures completed input/output operations per second. Throughput measures bytes transferred per second. In Amazon CloudWatch, add the Sum of VolumeReadOps and VolumeWriteOps over the same period, then divide by the period in seconds to calculate average IOPS. Use VolumeReadBytes and VolumeWriteBytes in the same way for throughput.
Amazon S3: storage classes and Lifecycle: How storage classes and Lifecycle rules control storage costs, retrieval behavior, and object expiration.
An S3 storage class belongs to an object, not to the whole bucket. Objects in the same general purpose bucket can use different classes. Choose by access frequency, retrieval requirements, and whether the data can be recreated—not just by the storage rate.
Storage Tiering: S3 Lifecycle transitions: How to configure age-based S3 Lifecycle transitions that match access requirements while accounting for retrieval latency, total costs, noncurrent versions, and when access-based Intelligent-Tiering is a better fit.
S3 Lifecycle transitions change an object's storage class while retaining its data and key. They are different from expiration, which removes data according to the bucket's versioning behavior. Use transitions when access requirements change predictably as objects get older.
Amazon S3: transfer performance: How multipart uploads, parallel requests, and Transfer Acceleration improve object transfer throughput.
Throughput is the amount of data transferred per unit of time. For a large object, multipart upload lets a client send separate parts instead of the entire object in one request. The parts can upload independently, so a failed part can be retried without restarting the whole object.
AWS DataSync: transfer task performance: How task modes, incremental copying, and bandwidth settings affect DataSync transfer throughput into Amazon S3, and how to identify bottlenecks using task metrics.
An AWS DataSync task defines a source, a destination, and transfer settings. Each run is a task execution. For transfers into Amazon S3, performance depends on both moving the bytes and doing the surrounding work: discovering items, comparing them, and verifying results.
Shared File Systems: matching storage to application requirements: How protocol compatibility, file semantics, access patterns, performance limits, and lifecycle trade-offs determine which shared file storage fits a workload.
A shared file system gives multiple clients access to files and directories through a common namespace. Start selection with the application's existing file contract: its protocol, permissions, locking, and directory operations. NFS is common for Linux and Unix; SMB is common for Windows. A supported protocol is necessary, but it does not prove that every application operation will behave correctly.
Amazon S3 and Amazon EFS: choosing shared storage: When application file-system requirements, latency needs, and cost favor Amazon S3 or Amazon EFS.
Shared storage means several application instances can access the same data. Both Amazon S3 and Amazon EFS support this, but they expose different interfaces. Choose the interface the application needs before comparing speed or price.
Amazon EFS vs Amazon FSx: choosing shared file storage: How file-system compatibility, access protocols, and workload requirements determine whether EFS or an FSx file system is the better fit.
Shared file storage lets multiple clients work with files and directories in a common file system. Choosing it starts with the application's contract: the access protocol it uses and the file behavior it expects, such as permissions and locking. A service being managed does not make it compatible with every application.
Amazon EFS: optimizing shared file storage: How EFS throughput modes and storage lifecycle policies balance performance and cost for shared Linux file workloads.
Amazon EFS lets multiple Linux clients share files through NFS. Storage capacity grows and shrinks as files are added or removed, but capacity and throughput are different choices: throughput is the rate at which clients can read and write data across the file system.
Amazon FSx: file system choice and performance: How workload protocols and performance requirements guide the choice of FSx file system and its storage, throughput, and IOPS configuration.
Amazon FSx is a family of managed file systems, not one file system with interchangeable protocols. Start with the application's required protocol and file-system behavior. More throughput cannot make an incompatible file system work.
Amazon S3: configuring S3 Files: How to configure S3 Files to provide shared file access to bucket data and manage its access permissions.
Amazon S3 Files provides shared file access to data in an S3 bucket. Applications mount a file system and use file operations, such as opening a path or reading a directory, instead of issuing S3 object API calls themselves. Multiple authorized hosts can access the shared file system.
Amazon RDS: diagnosing database performance: How RDS metrics and Performance Insights identify database bottlenecks and guide targeted configuration changes, including when RDS Proxy can relieve connection pressure.
Start a performance investigation by identifying the slow period and comparing it with normal activity under similar traffic. Amazon RDS publishes resource metrics to Amazon CloudWatch. Look at related metrics together: high CPU, low available memory, storage latency, and growing connection counts point toward different investigations. A single high reading does not establish the cause.
Amazon RDS: scaling database capacity: How instance resizing, storage autoscaling, and read replicas expand different dimensions of database capacity, with distinct limits and operational effects.
For provisioned Amazon RDS DB instances, increasing capacity can mean increasing compute, increasing storage space, or adding read capacity. These are separate changes. This lesson uses RDS for MySQL and PostgreSQL as examples, rather than Aurora.
Connection Pooling: tuning database pools: How to use pool wait times and RDS metrics to tune connection reuse, capacity, and acquisition timeouts, including when RDS Proxy can relieve connection pressure.
A connection pool keeps database connections available for reuse. A request borrows a connection, performs its database work, and returns it rather than opening a fresh network connection each time. Return connections in cleanup paths even after errors, roll back unfinished transactions, and reset session state as required by the driver. A leaked connection reduces the pool's usable capacity.
Amazon RDS Proxy: connection pooling and database pressure: How connection reuse, session pinning, and pool settings affect database connection pressure, and how proxy metrics reveal when to tune them.
Amazon RDS Proxy is a managed connection layer between an application and a supported RDS or Aurora database. The application uses its normal database driver but connects to the proxy endpoint instead of directly to the database.
Data Locality: compute and storage placement: How Region, Availability Zone, and EC2 placement-group choices affect proximity to storage and communicating peers, network performance, and exposure to shared failures.
Data locality means placing compute near the data it uses and the peers it communicates with. Start with the Region: repeatedly scanning a dataset from another Region adds network distance and generally incurs inter-Region transfer charges. Running the scan in the data's Region avoids that boundary. Location requirements and recovery needs can still justify a separate Region.
Vertical Scaling vs. Horizontal Scaling: How increasing capacity per instance differs from adding instances or replicas, especially for database writers and instance-count autoscaling.
Vertical scaling changes the capacity of an individual instance. Scaling up gives it more resources, such as CPU or memory; scaling down reduces those resources. The defining change is capacity per instance, not the number of instances.
Elasticity and Horizontal Scaling: behavior versus mechanism: Why adding or removing workers is a scaling mechanism, while matching capacity to fluctuating demand is an elastic behavior that can use horizontal or vertical changes.
A scaling mechanism describes how capacity changes. Horizontal scaling changes the number of workers serving a workload, such as application instances or container tasks. Adding workers is scaling out; removing workers is scaling in.
Elasticity: demand-responsive capacity control: How scaling signals, capacity bounds, and stabilization settings govern timely capacity additions and safe removal as compute demand changes.
Elasticity requires a control loop: measure demand, decide whether capacity should change, and observe the result. In Amazon EC2 Auto Scaling, a dynamic scaling policy uses a metric to adjust an Auto Scaling group's desired capacity. The metric must indicate pressure that adding instances can actually relieve.
Vertical Scaling: resizing resource capacity: How to configure compute and database capacity changes from measured bottlenecks, accounting for resizing interruptions, compatibility, and capacity limits.
Vertical scaling changes the capacity of an existing resource. For a virtual machine, this usually means selecting an instance type with different CPU, memory, or bandwidth. Start with a baseline: record throughput, response time, errors, and resource use over representative demand, including busy periods. A brief CPU spike alone is not enough evidence for a resize.
Amazon EC2 Auto Scaling vs. AWS Auto Scaling: How EC2 fleet capacity management differs from the cross-service scaling plans provided by AWS Auto Scaling.
Amazon EC2 Auto Scaling manages fleets of EC2 instances through Auto Scaling groups. A group treats instances as one unit for capacity management. Use this service when you need to maintain EC2 capacity, replace unhealthy instances, or change the size of an EC2 fleet as demand changes.
Amazon EC2 Auto Scaling: controlling group capacity: How dynamic scaling policies, schedules, and predictive scaling adjust group capacity within configured limits, and how metric choice and instance warmup affect scaling behavior.
An Auto Scaling group manages EC2 instances as one pool of capacity. Its desired capacity is the amount it tries to maintain. Raising desired capacity causes instances to launch; lowering it causes instances to terminate. Actual capacity can temporarily differ while these changes happen.
AWS Auto Scaling: application scaling plans: How scaling plans coordinate supported application resources using utilization targets, capacity limits, and generated scaling policies, and how to verify their scaling activity.
An AWS Auto Scaling scaling plan collects scaling instructions for supported resources in an application. You identify the application resources, for example through an AWS CloudFormation stack or resource tags, and select the eligible resources to manage. The plan then manages scaling policies for those resources.
Caching: implementing read offloading with AWS services: How to put CloudFront in front of an origin or integrate ElastiCache into an application's cache-aside read path so repeated requests absorb less origin capacity as demand grows.
Read offloading means answering repeated reads without repeating the same work at the source. A cache hit uses a reusable cached copy; a cache miss requires work farther downstream. Caching helps demand grow without making every additional request consume the same origin or database capacity.
Amazon ElastiCache vs Amazon CloudFront: application and edge caching: When to use ElastiCache for application data rather than CloudFront for cached HTTP responses at the edge.
Amazon CloudFront caches HTTP responses at edge locations near users. A reusable image, page, or API response can be served without asking the origin to produce it again. CloudFront can cache eligible dynamic responses, not just static files.
Cache-Aside: application-managed read caching: How applications use a shared cache-aside read path to reduce database load as they scale, while controlling database fallback during cache misses and outages.
Cache-aside keeps reusable copies of database results in a separate cache. The application checks that cache first. A hit supplies the result without a database read. On a miss, application code reads the database, fills the cache with an expiration time, and returns the result. Unlike read-through caching, the cache does not fetch the missing data itself.
Time to Live versus Cache Invalidation: Why TTL expiration governs freshness while explicit invalidation removes cached copies, and why lowering a TTL is not an immediate purge.
Time to Live (TTL) defines how long a cached response can normally be reused without checking its source. During that lifetime, the response is fresh according to the cache's rules. Fresh does not mean identical to the latest origin content: the origin can change while the cached response remains fresh.
Amazon ElastiCache: scaling an application cache: How cache-aside access, expiration, and cache capacity determine whether ElastiCache reduces database load as application demand grows.
Amazon ElastiCache provides a managed, in-memory cache. In cache-aside, application code first looks for a reusable copy of data in the cache. A cache hit supplies the value without a database read; a cache miss makes the application read the database and populate the cache for later requests.
Amazon CloudFront: controlling edge caching: How cache keys, origin request policies, TTLs, and invalidation control origin load and content freshness, and how to diagnose unexpected cache results.
Amazon CloudFront reduces origin work by reusing cached responses. The diagram shows request and control flows, not response arrows. A cache key identifies the cached response to look up; requests with the same key can reuse that response while it is fresh.
Caching: controlling response reuse: How CloudFront cache keys, cache eligibility, and freshness settings determine response reuse, and how to correct unexpected misses, stale responses, or unsafe sharing.
CloudFront chooses a cache behavior for the requested path. That behavior's cache policy controls the cache key and freshness settings. The key identifies a cached response: it includes the URL path and can include selected query strings, headers, and cookies. Requests with the same key can reuse a response, provided it is eligible and usable.
Cache Invalidation: removing and replacing stale copies: How to remove or bypass outdated application and CloudFront cache entries after source changes, diagnose persistent stale copies, and limit the resulting backend load.
Cache invalidation removes outdated copies so later reads can obtain current data. In this application, a product response can be cached in the browser, in CloudFront, and as application data in ElastiCache. Changing the database does not automatically refresh those copies.
Database Replication: scaling reads with replicas: How read-capable replicas increase database read throughput, and why traffic routing, replication lag, and writer capacity limit the scaling benefit.
A read-capable replica maintains a copy of database data and can answer queries. Moving suitable reads from the writer to replicas spreads query work across database instances. This can increase read throughput: the amount of read work completed over time.
Amazon Aurora: scaling cluster capacity: How to scale provisioned Aurora clusters through instance resizing, automatic storage growth, and Aurora Replica Auto Scaling, including reader endpoint routing and single-writer limits.
A provisioned Aurora cluster has database instances whose CPU and memory depend on their DB instance class. Modify an instance and select another supported class when it needs different compute capacity. Resize the writer for writer resource pressure, or a reader when that reader needs more resources.
Amazon Aurora and Amazon RDS: scaling differences: How Aurora's shared cluster storage and read scaling differ from RDS for MySQL and PostgreSQL storage scaling and read replicas.
Amazon Aurora is part of the RDS family, but its storage architecture differs from RDS for MySQL and PostgreSQL. Here, the comparison is between a standard Aurora cluster and an RDS DB instance with a separate read replica.
Amazon Aurora Serverless vs. Amazon Aurora: serverless and provisioned compute: How serverless and provisioned Aurora compute differ in scaling responsibility, capacity predictability, and suitability for variable workloads.
Amazon Aurora Serverless is a compute option for Amazon Aurora, not a separate database engine. Aurora supports MySQL-compatible and PostgreSQL-compatible databases. The comparison here is between Aurora Serverless v2 compute and provisioned Aurora compute: how much processing capacity is available, and who adjusts it.
Amazon Aurora Serverless: configuring compute scaling: How Aurora Serverless v2 adjusts compute capacity within configured ACU limits, how supported auto-pause settings affect idle capacity, and how to monitor and tune scaling.
Aurora Serverless v2 adjusts a database instance’s compute capacity as demand changes. Capacity is measured in Aurora Capacity Units (ACUs), which represent memory with corresponding CPU and networking resources. Aurora scales in small increments rather than switching between fixed instance sizes. Normal compute scaling does not require restarting the instance, but available capacity still affects workload performance.
Amazon DynamoDB: throughput capacity and scaling: How capacity modes, provisioned auto scaling, and partition limits determine throughput, throttling, and scaling behavior.
DynamoDB manages its servers and storage, but your workload still needs enough read and write throughput. Read and write capacity are separate: spare read capacity cannot cover a shortage of write capacity.
Elastic Load Balancing (ELB): target health checks: How target health check settings control traffic eligibility, and how to diagnose unhealthy targets using reason codes and network reachability.
A registered target is not automatically ready for requests. An Application Load Balancer (ALB) checks targets using the health-check settings of their target group. Normally, it routes requests to healthy targets and excludes unhealthy ones. Checks continue while a target is unhealthy, allowing it to recover.
Elastic Load Balancing (ELB) and Amazon Route 53: health check boundaries: How ELB target health differs from Route 53 endpoint health checks and alias target health evaluation in scope and effect on traffic.
Route 53 helps a client discover a destination through DNS. ELB target health helps a load balancer decide which registered targets can receive traffic after the client reaches it. These are separate decisions, not two versions of the same check.
Amazon Route 53: health checks and DNS failover: How endpoint health checks, alias target health, and failover records steer DNS answers away from unhealthy destinations, including troubleshooting and caching limits.
Amazon Route 53 uses health information to choose DNS answers; it does not forward application traffic. An endpoint health check independently probes a configured destination using HTTP, HTTPS, or TCP. For HTTP or HTTPS, choose a path that represents application readiness; optional string matching can verify expected content. A check of a page that always succeeds can hide an application failure.
Fault Isolation: Availability Zone failure domains: How distributing application components and their dependencies across independent Availability Zones prevents a localized infrastructure failure from disabling every request path.
An Availability Zone is an infrastructure failure domain within an AWS Region. Each zone consists of one or more discrete data centers with redundant power, networking, and connectivity. Zones are physically separated and designed not to share single points of failure in their supporting infrastructure.
Fault Tolerance: surviving Availability Zone failures: How redundancy across independent Availability Zones, healthy-request routing, and sufficient surviving capacity keep a service operating when an instance or zone fails.
Fault tolerance starts with a specific failure to survive. Here, the goal is to keep serving requests when either one EC2 instance or one Availability Zone becomes unavailable. Availability Zones are separate failure domains within a Region, with independent power, cooling, and physical infrastructure. Two instances in one zone protect against an individual instance failure, but not the loss of that zone.
Failover: transferring work across Availability Zones: How health detection, ready capacity in another Availability Zone, and traffic redirection or database promotion work together to restore service after a failure.
Failover transfers work from an unhealthy resource to a healthy alternative. It needs three things working together: health detection, capacity outside the failed Availability Zone, and a way to redirect work.
Fault Isolation and Fault Tolerance: containment versus continued operation: Why containing a failure does not by itself keep an application operating, and how fault tolerance differs by requiring usable alternatives and recovery mechanisms.
Fault isolation limits how far a failure spreads. A failure domain contains resources that can be affected by the same event; the resulting scope of damage is the blast radius. Isolation asks, “What else can this failure affect?” It does not answer, “Can users still complete their work?”
Failover and fault tolerance: recovery versus continuity: How transferring work after a failure differs from maintaining correct service despite failures, and why failover alone does not guarantee uninterrupted operation.
Failover transfers responsibility from an unhealthy component to a healthy alternative. It answers: “Where will the work go now?” Fault tolerance means maintaining correct service despite the failures covered by the design. It answers: “Can the service still do its job while something has failed?”
Amazon EBS and Amazon S3: snapshots versus objects: Why EBS snapshots are volume recovery points rather than objects in a customer-accessible S3 bucket, and how their recovery model differs from S3 object retrieval.
An EBS snapshot is a point-in-time recovery point for an EBS volume’s block data. AWS stores EBS snapshots in Amazon S3, but manages that storage for you. The snapshot is not an object placed in a customer-accessible S3 bucket.
Amazon EBS: automated snapshot lifecycles: How EBS snapshots capture recoverable volume data, how Amazon Data Lifecycle Manager automates their creation and retention, and how volumes are restored from them.
An EBS volume is the block storage an application reads and writes through an EC2 instance. An EBS snapshot is a point-in-time backup of that volume’s data. Replication within an Availability Zone protects a volume against infrastructure failures, but it also preserves unwanted writes. A snapshot lets you recover an earlier state after accidental deletion or corruption.
Amazon EC2: Amazon Machine Image lifecycle: How to create consistent AMIs from EC2 instances and manage their launch configuration, copying, sharing, and retirement.
An Amazon Machine Image (AMI) is a reusable starting point for launching EC2 instances. An EBS-backed AMI references snapshots containing the operating system, installed software, and data on included EBS volumes. It also records image metadata and block device mappings. It does not capture running memory or the contents of instance store volumes.
Amazon RDS: backups and database recovery: How automated backups, snapshots, and point-in-time restores determine recovery points, restoration time, and backup costs.
A recovery point is the database state you can restore. Your recovery point objective (RPO) is how much recent data you can afford to lose. For RDS DB instances, enabled automated backups combine daily backups with transaction logs to support point-in-time recovery within the configured retention period.
Amazon DynamoDB: backups and point-in-time recovery: How on-demand backups and point-in-time recovery restore data into new tables, and how recovery windows, restore time, and cost affect recovery objectives.
Amazon DynamoDB offers two ways to recover earlier table data. An on-demand backup preserves a full table backup at a particular point. Use it for a named recovery checkpoint, such as before a bulk update. Native DynamoDB on-demand backups remain available until you delete them, independently of the source table.
Amazon S3: object versioning: How versioning states, version IDs, and delete markers affect overwrites, deletion, and object recovery.
S3 Versioning preserves multiple versions of an object under the same key, such as reports/monthly.csv. In a general purpose bucket, enabling versioning helps recover from accidental overwrites and deletions. The setting applies to the bucket, not to selected objects.
AWS Backup: automated backup plans: How backup plans automate protection of supported resources through resource assignments, scheduled rules, vault destinations, and retention settings, and how to verify that backup jobs succeed.
AWS Backup centrally manages backups for supported resources, including EC2 instances, EBS volumes, RDS databases, DynamoDB tables, and S3 buckets. Support and setup requirements vary by resource type and Region. Check the relevant service opt-in settings and prerequisites before relying on a plan.
Backup and Restore: restoring workloads from recovery points: How snapshot and point-in-time restoration recover usable workloads, and how recovery-point selection and the complete restore sequence affect RPO, RTO, and cost.
A snapshot restore recovers the state captured by a particular backup. For example, an Amazon EBS snapshot can create a new volume, and an Amazon RDS DB snapshot can create a new DB instance. Restoring data does not, by itself, reconnect the application or prove that its data is usable.
Recovery Time Objective: budgeting database recovery time: How to evaluate database recovery options against a downtime budget that includes provisioning, data restoration, reconnection, and validation of usable application service.
Recovery Time Objective (RTO) is the target maximum time that a service can remain unavailable after a disruption. For database-backed applications, recovery ends when users can complete the required business operations—not merely when the database reports that it is available. Define that finish line, such as successfully submitting and retrieving an order.
Point-in-Time Recovery: restoring a database to a chosen time: How retained backups and change history define available recovery points, and how restoring a selected point meets—or falls short of—data-loss, recovery-time, and cost requirements.
Point-in-Time Recovery (PITR) reconstructs a database at a selected historical time. A common implementation starts with a baseline backup and applies retained transaction logs or other change history through the requested time, excluding later changes. A snapshot alone restores its captured state; PITR can offer recovery points between snapshots.
Amazon FSx: earlier file versions: How Windows shadow copies and OpenZFS or ONTAP snapshots preserve and restore earlier file states, including retention controls and their differences from backups.
A shadow copy preserves the state of files at a point in time on Amazon FSx for Windows File Server. Later edits do not change that saved view. It is not a history of every save: a change is recoverable only if an available shadow copy captured the state you need.
Backup and Restore vs Disaster Recovery: Why backup and restore recovers preserved data states while disaster recovery addresses the broader restoration of service after a disruption.
Backup and restore preserves recoverable states and uses them to recover data or supported resources. A backup records a state that can be retained; a restore makes that preserved state usable again. This helps recover from problems such as deleted records or corrupted files.
Disaster recovery: recovery strategies: How backup and restore, pilot light, warm standby, and active-active strategies meet recovery objectives through different levels of readiness and recovery procedures.
A recovery strategy determines what is ready before a disruption and what must happen afterward. Choose it against two targets: recovery time objective (RTO), the maximum acceptable time to restore service, and recovery point objective (RPO), the maximum acceptable data loss measured in time.
Pilot Light: activating the recovery environment: How a prepared, minimal replicated core becomes a functioning workload through a tested recovery sequence that accounts for data loss, dependencies, capacity, and traffic cutover.
A pilot light keeps an essential core operating in the recovery location, not a complete application ready for users. Here, an Amazon RDS Cross-Region read replica receives database changes while recovery application instances remain absent or stopped. Choose an RDS engine and configuration that support this replication design.
Warm Standby: readiness and failover: How a complete but reduced-capacity recovery environment stays ready and is promoted, scaled, validated, and given traffic within tested recovery objectives.
Warm standby keeps a complete, working application environment running at reduced capacity in a separate recovery location. Its application tiers, networking, data stores, and supporting dependencies already exist. Recovery should not depend on first deploying a missing application tier.
Pilot Light and Warm Standby: recovery readiness: How readiness to serve application traffic distinguishes pilot light from warm standby, changing ongoing cost and the work required before service resumes.
Pilot light and warm standby both prepare a recovery location before a disruption. The key difference is whether a working application is already running there—not simply whether a database replica exists.
Active-Active Architecture: continuity through regional failure: How independently serving Regions maintain service during regional failure, accounting for traffic rerouting, surviving capacity, and replicated-state limitations.
Active-active means that multiple environments serve production traffic at the same time; they do not need equal shares. For regional continuity, each Region needs an independently operable stack. Spreading servers across Availability Zones in one Region does not protect against losing that Region.
Active-Active Architecture vs Warm Standby: How serving production traffic in multiple environments differs from keeping a reduced-capacity standby, and why their recovery requirements differ.
Active-active means multiple environments serve production traffic at the same time. The traffic shares do not have to be equal: an environment handling a small but regular share of real requests is still active. The defining feature is concurrent production service, not the number of running servers.
Amazon ECR: container image lifecycle: How to publish locally built images to ECR repositories, pull specific versions using tags or digests, and control image retention with lifecycle policies.
Amazon ECR stores container images; it does not build or run them. In this lesson, use a private repository named app. Set REGION and ACCOUNT_ID to your destination, then set REGISTRY=${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com. Create the repository with aws ecr create-repository --repository-name app --region "$REGION". Your AWS identity needs permission to obtain an ECR authorization token and perform the required repository operations.
EC2 Image Builder: creating image pipelines: How recipes, build and test components, and execution infrastructure produce tested AMIs and container images through on-demand or scheduled pipelines.
EC2 Image Builder automates creating reusable images. Its outputs are Amazon Machine Images (AMIs) for launching EC2 instances and container images for container workloads. Instead of configuring every new machine by hand, you describe how to build and check an image.
EC2 Image Builder: image distribution and retention: How distribution configurations publish completed images to target accounts, Regions, or ECR repositories, and lifecycle policies retire older artifacts while preserving rollback options.
A distribution configuration tells EC2 Image Builder where to publish a completed image. It specifies destination settings for selected AWS Regions. Distribution makes an artifact available for deployment; it does not replace running instances or containers. A deployment system must consume the new image and perform the rollout.
Immutable Infrastructure: image-based replacement: How versioned, tested AMIs and container images become reproducible replacement deployments, with persistent state and secrets kept outside the images.
Immutable infrastructure treats deployed compute as a replaceable copy of an approved definition. To change its software, update the build definition, build and test a new image, and replace the instances or containers. Normal releases do not depend on logging into production and changing installed files.
AWS CDK and AWS CloudFormation: authoring versus provisioning: How CDK's code-based infrastructure authoring differs from CloudFormation's template-driven provisioning, and when to choose CDK rather than author templates directly.
AWS CloudFormation provisions infrastructure from a declarative template written in YAML or JSON. The template describes the resources and properties you want, rather than a sequence of API calls. CloudFormation manages those resources as a stack and coordinates their creation and updates.
AWS CloudFormation: templates and stack lifecycle: How templates define resource properties and dependencies, and how stacks and change sets control resource creation, updates, and deletion.
An AWS CloudFormation template is a JSON or YAML document describing desired infrastructure. A stack is a collection of resources CloudFormation manages as one unit using that template. Creating a stack provisions its resources; editing a template file alone changes nothing in AWS.
AWS CDK: stack deployment lifecycle: How to define resources with constructs in a CDK stack, bootstrap its environment, and use synth, diff, deploy, and destroy to manage its lifecycle.
A CDK app contains one or more stacks. Each stack is a deployment unit managed through AWS CloudFormation. Inside a stack, you create constructs: objects that describe resources or reusable groups of resources. Creating these objects runs your infrastructure definition; it does not yet create AWS resources.
AWS CloudFormation: failed stack operations: How stack events and resource statuses reveal deployment failures, and how correcting their causes enables retries or recovery from rollback states.
A stack status summarizes an operation; it rarely explains the underlying fault. Open the stack's Events tab and examine the failed operation's timeline. Events include a timestamp, resource logical ID, resource status, and status reason. The logical ID connects an event to its resource definition in the template.
Configuration Drift: infrastructure stack baselines: How CloudFormation detects differences from deployed templates, where detection has coverage limits, and how to reconcile those differences with the intended CloudFormation or CDK configuration.
CloudFormation drift detection compares the actual configuration of stack resources with the expected configuration defined by the deployed stack template and its parameter values. An out-of-band console or API change can create drift without changing the template. Detection reports differences; it does not repair them.
AWS CloudFormation: multi-account and multi-Region StackSets: How StackSets use permission models, deployment targets, and operation controls to provision and maintain stack instances across accounts and Regions.
A StackSet lets you provision a common CloudFormation template across selected AWS accounts and Regions. Each stack instance is a StackSet record for one account–Region pair and refers to the stack deployed there. These are separate stacks, not one stack stretched across Regions.
IP Addressing: CIDR ranges and subnet capacity: How CIDR prefixes determine usable AWS subnet capacity, how deployment demand consumes addresses, and how to resolve address exhaustion.
An IPv4 address has 32 bits. In CIDR notation, the number after the slash tells you how many bits identify the network. The remaining bits determine the range size: total addresses = 2^(32 − prefix). A larger prefix number means a smaller range; moving from /26 to /27 halves the total addresses.
Amazon VPC: CIDR blocks and subnet capacity: How VPC and subnet address ranges determine usable capacity, and how to resolve address exhaustion and overlapping ranges.
A CIDR block describes a range of IP addresses. In IPv4, the prefix after the slash says how many of the 32 bits identify the network. A smaller prefix number leaves more address bits: 10.0.0.0/16 is larger than 10.0.0.0/24. Choose VPC ranges with room for growth and without overlap with networks you expect to connect.
Effective Permissions: layered authorization: How grants, limiting policies, and request context determine whether a deployment identity can perform an operation and its required dependent operations.
Effective permissions are the authorization result for a particular principal, action, resource, and request context. An identity policy containing an Allow is evidence of a grant, not proof that the request will succeed. Without an applicable grant, the result is an implicit deny; an applicable explicit deny overrides an allow.
AWS IAM: policy evaluation: How identity-based policies, resource-based policies, conditions, and permission limits combine to allow or deny a request.
IAM authorization evaluates a request: which principal is acting, which action it requests, which resource it targets, and the request context. A policy statement contributes only when its action, resource, principal where specified, and conditions match. For example, allowing s3:ListBucket on a bucket does not allow s3:GetObject on objects inside it.
AWS IAM: role trust and federation: How role trust policies authorize services, cross-account principals, and federated identities to assume roles, and how iam:PassRole controls delegation to services.
An IAM role is an identity that can be assumed to obtain temporary credentials. Its trust policy answers “Who may assume this role, and under what conditions?” Its permissions policies answer “What may a session using this role do?” Allowing someone to assume a role does not, by itself, grant access to application resources.
AWS IAM: access troubleshooting and auditing: How to investigate denied or unintended access using request details from CloudTrail, policy simulator results, and IAM Access Analyzer findings.
Investigate access using a specific request, not just a user's description of their permissions. In AWS CloudTrail, locate the matching event using the time, account, Region, and API operation. Inspect eventSource, eventName, requestParameters, and any recorded resource details. For a failure, read errorCode and errorMessage; an access-denied message may provide useful policy clues, but does not always identify the exact policy responsible.
Service Quotas: quota increase workflow: How to identify an applied quota blocking provisioning, request an increase in the correct scope, and verify approval before retrying deployment.
Service Quotas lets you inspect supported AWS quotas and request increases where supported. A quota limits resources, throughput, or operations; it does not provision resources or reserve capacity. Start with the failed resource's error message. For a CloudFormation deployment, inspect the failed resource event rather than treating the overall stack failure as the cause.
AWS RAM: cross-account resource shares: How resource shares give accounts and organization principals permission to use supported resources, including regional boundaries, invitation acceptance, and access revocation.
AWS Resource Access Manager (AWS RAM) lets an owning account share supported resources without copying them or transferring ownership. For example, accounts can use a shared transit gateway while its owner continues to manage it. Support depends on the resource type; RAM is not a way to share every AWS resource.
Rolling Deployment: health-gated batch updates: How successive batches update a serving fleet safely through capacity limits, readiness checks, version compatibility, and platform-supported recovery controls.
A rolling deployment updates or replaces a serving fleet in successive batches. Old and new versions coexist until the rollout finishes. Choose a batch size that leaves enough healthy capacity for demand, not simply a size that finishes quickly. Smaller batches affect fewer resources at once but usually extend deployment time.
Blue-Green Deployment: switching release environments: How to prepare and validate a replacement environment, switch production traffic, and preserve a safe rollback path through compatible data and dependencies.
Blue-green deployment separates preparing a release from exposing it to users. Blue serves the current application while you provision green and deploy the replacement. Use infrastructure as code and versioned application artifacts to make green reproducible, with production-equivalent configuration, permissions, network access, and enough capacity for production demand.
Blue-Green Deployment vs Rolling Deployment: How switching between complete environments differs from replacing instances in batches in capacity requirements, version coexistence, and rollback.
Both strategies release a new application version while keeping the service available, but they change different units. Blue-green deployment prepares a complete replacement environment alongside the current one. Once the replacement is ready, production traffic switches to it. The colors name the environments; neither color must always mean production.
Canary Deployment: controlled production exposure: How stable and candidate versions share production traffic, using version-specific metrics and acceptance criteria to control promotion or rollback across VM, container, and serverless deployments.
A canary deployment gives a candidate version limited real production traffic while the stable version serves the rest. Deployment makes the candidate available; traffic exposure determines how many requests reach it. The candidate is serving real users, not just receiving test requests.
Canary Deployment and Rolling Deployment: Why replacing instances incrementally does not by itself provide canary's controlled traffic exposure and metric-gated promotion.
Rolling deployment changes a serving fleet in successive batches. Some instances run the new version while others still run the previous version. Its defining control is how much of the fleet is updated at once, often with health checks before the next batch.
Blue-Green Deployment vs Canary Deployment: How separate release environments differ from limited traffic exposure, and why the two strategies can be combined.
Blue-green deployment separates the current release from its replacement. Blue serves the current version while green provides a separate environment for the candidate. A classic blue-green release switches production routing to green in one cutover rather than deliberately starting with a small live audience.
AWS CodeDeploy: deployments to EC2 and on-premises hosts: How CodeDeploy applies application revisions through instance lifecycle hooks, using in-place updates on hosts or replacement EC2 fleets.
AWS CodeDeploy coordinates application deployments; it does not build the application. An application revision is a bundle containing deployable files, an AppSpec file, and any deployment scripts. The diagram uses Amazon S3 to store that bundle and shows an EC2 blue/green deployment.
AWS CodeDeploy: traffic shifting for ECS and Lambda: How CodeDeploy releases replacement ECS task sets and Lambda versions through controlled traffic shifts, validation hooks, and automatic rollback.
AWS CodeDeploy manages blue/green releases for ECS and Lambda: the current application remains available while a replacement is introduced. CodeDeploy controls the transition; it does not sit in the application request path.
Version Control: Git workflows for infrastructure changes: How Git commits, branches, and merges preserve reviewed infrastructure definitions so deployment automation can use a specific revision or redeploy an earlier one.
A Git repository stores infrastructure definitions and their history. A commit records a snapshot of tracked files, links to its parent history, and includes author information and a message. Its commit ID identifies that revision. Changing committed content creates a different commit; it does not update the existing snapshot.
Infrastructure as code (IaC): Terraform deployment workflow: How Git-reviewed Terraform configurations, execution plans, and protected, locked state support repeatable provisioning and controlled resource updates.
Terraform describes desired infrastructure in configuration files, usually written in HCL. Resources describe objects to manage, providers connect Terraform to service APIs, and input variables let a shared design use different settings in development and production. Repeatability means deploying a controlled design consistently, not making every environment identical.
AWS CodeBuild: running deployment tools with buildspecs: How a buildspec runs Terraform from Git-sourced code in a configured build environment using the CodeBuild service role's permissions.
AWS CodeBuild can run deployment tools as well as compile applications. In this example, a Git repository in AWS CodeCommit holds Terraform configuration and a buildspec.yml file. When a build starts, CodeBuild downloads the configured source revision and runs the buildspec commands.
AWS Config: remediation actions: How AWS Config invokes Systems Manager Automation for noncompliant resources, including action parameters, permissions, retry limits, and subsequent compliance evaluation.
An AWS Config rule reports whether a resource meets a requirement; it does not itself change the resource. Attach a remediation action to the rule to identify the corrective work. AWS Config invokes an AWS Systems Manager Automation runbook to perform that work.
AWS Step Functions: orchestrating operational workflows: How state machines coordinate AWS service actions into reliable operational workflows using task integrations, conditional transitions, and retry policies.
AWS Step Functions coordinates actions performed by other AWS services. A state machine defines the procedure; an execution is one run with its own input and progress. For example, one execution can check a resource, decide whether repair is necessary, and report an unsuccessful repair.
Event-Driven Architecture: event-triggered resource automation: How resource events flow from producers through routing rules to independent automation handlers, including safe handling of retries and duplicate deliveries.
An event records something that happened. An S3 Object Created event says that an object was created; it does not tell every consumer which action to perform. Each handler chooses its own response.
Amazon S3: event notifications: How to configure object event destinations, filters, and permissions while accounting for notification delivery behavior.
S3 event notifications describe changes to objects in a general purpose bucket. In the bucket's Properties, create an event notification by choosing event types, optional object-key filters, and a destination. The notification contains event details and an object reference, not the object's contents.
AWS DevOps Agent: event-triggered investigations: How operational alerts initiate investigations that correlate connected telemetry, resource relationships, and deployment changes to recommend responses within defined access boundaries.
AWS DevOps Agent investigates application incidents by connecting operational symptoms with evidence. An alert delivered through a configured integration can initiate an investigation; the alert identifies a problem to examine, not a proven root cause.
Least privilege: scoping IAM access: How to scope role and resource policies to required principals, actions, resources, and conditions, and verify that unrelated operations remain denied.
Least privilege means granting the access needed for a task without unrelated capabilities. Describe the task using four questions: which principal makes the request, which actions it needs, which resources it uses, and which conditions must hold. For an invoice reader, reading approved invoice objects is required; deleting objects or changing bucket policies is not.
AWS IAM: user sign-in safeguards: How account password policies and MFA protect IAM user sign-in and how policy conditions require MFA for access.
An account password policy sets rules for IAM user console passwords across an AWS account. Use a custom policy to set minimum length, required character types, password expiration, and prevention of password reuse. It can also let IAM users change their own passwords and require an administrator to reset expired passwords.
Password Policies: IAM account password controls: How to configure strength, reuse, expiration, and password-change controls for IAM user console passwords, and recognize which identities and credentials those controls do not govern.
An IAM account password policy governs the console passwords of IAM users in one AWS account. It is an account-wide setting, not a policy document attached to a user or group. You cannot assign different account password policies to different IAM groups. If you have not configured a custom policy, AWS applies its default password policy.
Role-Based Access Control: scoped roles and controlled assignments: How job responsibilities become narrowly scoped permissions, with AWS role trust and assignment controls determining who may use them.
Role-Based Access Control (RBAC) groups permissions around a responsibility, such as reading development reports, rather than creating a different permission set for every person. Start with the tasks the job needs, not a broad policy whose name sounds suitable. Authentication establishes identity; authorization determines what that identity may do.
AWS STS and AWS IAM: temporary credentials versus identity and permission management: When to use STS to obtain temporary credentials versus IAM to define identities, roles, and permissions.
AWS Identity and Access Management (IAM) defines identities and permissions. Use it to create IAM users, organize users into groups, create roles, and manage policies. Policies describe which actions are allowed or denied on which resources, with conditions where needed.
AWS STS: temporary role sessions: How role assumption and federation produce temporary credentials whose access and lifetime are constrained by role trust, MFA conditions, and session policies.
A role session is temporary access as an IAM role. A caller requests it from AWS STS using AssumeRole, identifying the role and providing a session name. The role's trust policy controls which principals may assume it and under which conditions.
Identity Federation: trusted access to AWS roles: How external identity assertions are exchanged for temporary AWS role sessions, with provider trust and claim conditions controlling entry and role permissions controlling resource access.
Identity federation lets AWS accept evidence of authentication from an external identity provider. The provider authenticates a person or workload and issues a signed assertion or token. AWS does not need a copy of that identity's password or a separate IAM user for it.
Multi-Factor Authentication: enforcing MFA for AWS access: How to require and verify MFA for human AWS access across console, API, and federated sign-in paths, including the limits of MFA policy conditions.
Multi-factor authentication (MFA) combines different factor categories, such as a password and possession of an authenticator. It strengthens authentication; it does not grant permissions. For routine human access, prefer federation and temporary role credentials over IAM users with permanent access keys.
AWS IAM vs AWS IAM Identity Center: resource permissions and workforce access: How IAM authorization differs from Identity Center workforce sign-in and account assignments, and when each service is appropriate.
AWS Identity and Access Management (IAM) defines identities and permissions for access to AWS resources. Its policies describe allowed or denied actions on resources, with optional conditions. For example, a policy can allow an IAM role to read objects from one S3 bucket without allowing it to delete them. IAM supports both people and workloads, such as applications running on AWS.
AWS IAM Identity Center: multi-account access with permission sets: How an organization instance uses permission sets and group-to-account assignments to provision least-privilege IAM roles that users access through the AWS access portal.
An organization instance of AWS IAM Identity Center manages workforce access to accounts in AWS Organizations. Use this instance type for multi-account access; an account instance supports certain applications but does not manage AWS account access. Users and groups come from the configured identity source, such as the Identity Center directory or an external identity provider.
Attribute-Based Access Control: tag-based authorization in AWS: How IAM policy conditions match trusted principal or session tags to resource tags, including action support, required creation tags, and protection against unauthorized attribute changes.
Attribute-Based Access Control (ABAC) uses attributes in policy conditions to decide access. In AWS, an IAM policy can allow selected actions when the caller's principal tag matches a resource tag. Tags do not grant permissions by themselves: an applicable Allow must name the action and resource, and its conditions must match.
Attribute-Based Access Control versus Role-Based Access Control: How attribute-driven access differs from job-role permissions, when each approach fits, and why they can complement rather than replace each other.
Role-Based Access Control (RBAC) groups permissions around approved responsibilities, such as auditor, developer, or application operator. An auditor's permissions might allow reading configuration but not changing it. Administrators assign people to the appropriate roles instead of maintaining a separate permission list for every person. Each role still needs an appropriate resource scope.
Explicit Deny Precedence: tracing applicable denies: How to identify a matching deny across AWS authorization policies using request context and diagnostic tools, and determine what must change rather than adding allows.
An AWS authorization failure can come from two different causes. An explicit deny is a matching policy statement with Effect: Deny. An implicit deny means the request lacks the permission required by its applicable authorization path. The difference determines what you must change.
AWS Organizations: permission guardrails with SCPs: How account placement in an organizational hierarchy determines inherited SCP limits, why those limits do not grant permissions, and which accounts they affect.
AWS Organizations arranges accounts beneath an organization root. An organizational unit (OU) groups accounts and can contain other OUs. The organization root is a container, not an account's root user. Using service control policies (SCPs) requires the organization's all-features mode and the SCP policy type enabled.
Policy Inheritance: SCPs across the organization hierarchy: How SCPs inherited through roots, organizational units, and accounts combine into permission ceilings that child policies cannot override, including how account moves change effective restrictions.
A service control policy (SCP) in AWS Organizations sets a maximum permission boundary for principals in member accounts. It does not grant permission to use a service. An action must fit inside this ceiling and still be authorized by the applicable access policies, such as an IAM policy.
Blast Radius: multi-account containment: How account separation limits a compromise’s reach, and how cross-account trust, shared administrative access, and SCP guardrails affect that containment.
Blast radius is the potential reach of a failure or compromise. Separate AWS accounts give workloads distinct identity and resource permission boundaries. A stolen development role does not automatically gain production access just because both accounts belong to the same AWS Organization. Separate development and production, and separate workloads with different trust requirements, to reduce potential exposure.
AWS Control Tower: governed landing zones: How a landing zone establishes shared security baselines and applies governance controls to provisioned and enrolled accounts.
An AWS Control Tower landing zone is a governed, multi-account environment built on AWS Organizations. It establishes shared security and operational foundations so that each team does not have to invent its own account setup. Accounts are arranged into organizational units (OUs), which provide boundaries for applying governance controls.
AWS Control Tower vs AWS Organizations: governance automation and organization management: When to use Control Tower's managed governance automation rather than configure account structure and organization policies directly with AWS Organizations.
AWS Organizations provides the foundation for managing multiple AWS accounts. It lets you create or invite accounts, group them into organizational units (OUs), manage organization policies, and consolidate billing. You can operate these capabilities directly through the console or automate them through APIs.
AWS Trusted Advisor: security checks: How to interpret security check results, use their recommendations to correct affected resources in the owning AWS service, and refresh supported checks to verify remediation.
AWS Trusted Advisor security checks identify configurations that need attention and recommend improvements. In the Trusted Advisor console, open the Security category and select a check. Read its description and alert criteria: the check name alone does not explain exactly what was evaluated.
AWS Compliance: translating requirements into controls: How to translate compliance obligations into customer-owned controls that constrain service and Region choices and produce evidence through continuous evaluation.
A compliance obligation describes what must be true; a control describes how you make it true and demonstrate it. Start by identifying the data and applicable requirement. Then record the control's scope, owner, implementation, and evidence. For example, translate “protect stored customer records” into specific access, encryption, and monitoring controls rather than a vague instruction to “use secure services.”
AWS Config: rule-based compliance monitoring: How recording scope, rule evaluations, and conformance packs determine the compliance results AWS Config reports.
AWS Config records resource configurations and evaluates them against rules. A configuration item describes a resource at a point in time, including its settings and relationships. Recording a configuration is not the same as deciding whether it meets a policy.
AWS Config vs AWS Security Hub: compliance results and security findings: When configuration compliance assessment calls for AWS Config rather than Security Hub's centralized security findings and posture management.
AWS Config answers configuration questions: what settings did a resource have, how did those settings change, and does the resource satisfy a rule? It records supported resource configurations and evaluates resources against managed or custom rules. A compliance result belongs to a particular rule and resource; it is not a verdict on the whole organization's compliance.
Data Residency: enforcing geographic boundaries: How Region and service choices, preventive controls, and continuous checks keep data—including replicas, backups, and logs—within approved geographic boundaries.
Data residency means keeping specified data within an approved geographic boundary. Establish that boundary with legal and compliance teams, then map it to an explicit list of approved AWS Regions for each data class. A country, an economic area, and a Region are not interchangeable. Residency also does not, by itself, settle questions about legal jurisdiction or remote access.
Data Classification: enforceable classification schemes: How data owners assign risk-based categories to datasets and copies, then map those classifications to enforceable handling and monitoring requirements.
A classification scheme groups information according to the harm caused by unauthorized disclosure, modification, loss, or unavailability. Labels such as public, internal, confidential, and restricted have organization-specific meanings. Define the criteria behind each label: public documentation may need little confidentiality protection but still need strong protection against unauthorized changes.
Amazon Macie: sensitive data discovery in Amazon S3: How discovery jobs use managed and custom data identifiers to identify sensitive S3 data and produce findings that inform classification and protection controls without enforcing access permissions.
Amazon Macie discovers sensitive data in Amazon S3 object content. A sensitive data discovery job lets you target selected buckets, narrow the objects to inspect, and choose the types of sensitive data to look for. Use this evidence to support your organization’s classification scheme, such as Internal, Confidential, or Restricted.
Envelope Encryption: the data-key lifecycle: How data keys encrypt data locally while KMS protects their wrapped copies, and how key availability and permissions affect decryption.
Envelope encryption separates bulk-data encryption from protection of the encryption key. A data key encrypts and decrypts the data locally, inside the application or storage service doing the work. A separate KMS key protects an encrypted copy of that data key.
AWS KMS: service-integrated encryption at rest: How AWS services use envelope encryption with KMS keys, and how key selection, policies, grants, and key state determine whether encryption and decryption succeed.
With envelope encryption, a data key encrypts the stored data, and a KMS key protects that data key. The integrated AWS service handles the data encryption; it does not send the whole object or volume to KMS for encryption.
Encryption at Rest: storage encryption settings: How storage encryption settings determine which data and copies are encrypted, including why changing defaults may leave existing data unencrypted.
Encryption at rest protects stored data. With server-side encryption, the storage service encrypts data as it stores it and decrypts it for authorized reads. The important configuration questions are: which resources are covered, when does the setting take effect, and what happens to existing data?
Key Rotation: changing key material safely: How to configure supported KMS rotation or migrate to a replacement key while preserving access to existing ciphertext.
A KMS key is a logical resource with an identifier, permissions, and underlying cryptographic material. With supported native rotation, AWS KMS changes that material without changing the key ID, ARN, policies, or aliases. New encryption operations use the current material; KMS retains older material and selects the correct version when decrypting existing ciphertext.
Encryption at Rest: access to KMS-encrypted data: How KMS permissions and key states govern access to encrypted data, and how to diagnose failures when a storage service cannot use the required key.
Access to KMS-encrypted data depends on both storage permissions and permission to use the required KMS key. Being allowed to read an object does not, by itself, authorize decryption.
Encryption in Transit: Configuring TLS-protected connections: How certificate validation, protocol policies, and TLS termination boundaries determine protection across traffic segments and explain connection failures.
TLS protects traffic between the endpoints of a TLS connection. HTTPS is HTTP carried over TLS. When an intermediary terminates TLS, that connection ends there; protection for the next segment needs separate configuration.
Transport Layer Security: protecting every connection: How to enforce TLS across connection boundaries using appropriate protocol policies and certificate validation, and test for unprotected hops or failed handshakes.
Transport Layer Security (TLS) protects traffic against disclosure and undetected changes. During its handshake, endpoints agree on protocol settings and establish keys. For HTTPS, the client also checks the server certificate before trusting the connection.
AWS Certificate Manager (ACM): TLS certificate lifecycle: How certificate validation, regional placement, and renewal responsibilities determine whether ACM certificates remain usable on TLS endpoints.
AWS Certificate Manager (ACM) manages TLS certificates; the endpoint presents a certificate to clients to prove its identity. Requesting a public certificate does not immediately make it usable. ACM must first verify control of every domain name on the request, then change the certificate status from Pending validation to Issued.
Mutual TLS vs. Transport Layer Security: How mutual TLS differs from typical server-authenticated TLS in whose identity is verified, without changing TLS encryption guarantees or replacing authorization.
Transport Layer Security (TLS) protects communication between a client and a server. In typical server-authenticated TLS, such as ordinary HTTPS, the server presents a certificate. The client validates that certificate and checks that it identifies the intended server. The server proves possession of the associated private key without transmitting the key.
Mutual TLS: enforcing peer certificate trust: How to configure and troubleshoot mutual certificate validation at each TLS termination boundary so that untrusted peers cannot connect.
A TLS termination boundary is where a TLS connection ends and its traffic is decrypted. Certificate validation belongs to that connection, not to the entire application request. When a proxy terminates TLS and opens another connection, the second connection needs its own trust configuration.
AWS Secrets Manager: secure secret storage and access: How Secrets Manager protects stored secrets with KMS encryption and authorizes applications to retrieve them without hardcoding credentials.
AWS Secrets Manager stores sensitive values such as database passwords and API tokens. Application code keeps a secret's name or ARN instead of its value, then retrieves the value when needed. A secret identifier tells the application what to request; it does not grant access.
AWS Systems Manager: secrets in Parameter Store: How Parameter Store SecureString parameters protect secrets with KMS encryption and control their retrieval through IAM permissions.
Parameter Store, a capability of AWS Systems Manager, stores named values that applications can retrieve at runtime. For a secret such as a database password, create a parameter with type SecureString, rather than String or StringList.
Credential Rotation: securely storing rotating secrets in AWS: How Secrets Manager uses KMS encryption, restricted retrieval, and versioned rotation to keep stored secrets synchronized with live credentials, while Parameter Store SecureString requires a separate rotation workflow.
AWS Secrets Manager stores credentials centrally so applications do not need passwords embedded in code or deployment files. It encrypts secret values using envelope encryption: a data key encrypts the value, and an AWS KMS key protects the data key. Secrets Manager stores the encrypted value and encrypted data key, not an unprotected password.
AWS Secrets Manager vs. AWS Systems Manager Parameter Store: When to choose Secrets Manager rather than Parameter Store SecureString parameters based on secret lifecycle requirements, managed rotation, and cost.
AWS Secrets Manager and AWS Systems Manager Parameter Store SecureString can both store encrypted sensitive values. A password does not require Secrets Manager simply because it is secret. The important difference is what must happen to that value after you store it: its lifecycle.
Amazon GuardDuty: finding lifecycle: How to interpret GuardDuty findings and configure their filtering, export, and EventBridge delivery for targeted remediation.
A GuardDuty finding describes suspected malicious activity, not a confirmed incident. Read its type, severity, affected resource, account, Region, and activity details together. Severity helps prioritize investigation; it does not prove that an action such as isolating an instance is appropriate. The occurrence count and first- and last-seen times help distinguish a single observation from continuing activity.
Amazon Inspector: vulnerability findings: How to interpret and prioritize Inspector findings, export filtered findings reports, and use remediation guidance and rescanning to verify fixes.
An Amazon Inspector finding connects a security issue to an affected resource. Open its details and identify the account, Region, resource ID, finding type, and status. For a package vulnerability, inspect the CVE identifier, affected package, installed version, and fixed version when available. One CVE can affect several resources; fixing one resource does not fix every finding for that CVE.
AWS Security Agent: application assessment reports: How assessment inputs shape reported application weaknesses and how engineers use finding evidence to prioritize fixes and verify remediation.
An AWS Security Agent assessment report describes weaknesses found using the inputs and access available to an assessment. Start by checking what was assessed: the supplied design documentation, the source revision, or the running application and its authorized testing scope. A report is not a statement that every part of the application was examined.
AWS Security Hub: finding workflows: How Security Hub CSPM findings move from consolidated reporting views through workflow updates to remediation triggered through Amazon EventBridge.
Security Hub CSPM consolidates security findings in the AWS Security Finding Format (ASFF). Filter findings by fields such as account, resource, severity, and workflow status to create a useful work list. Insights combine filters with a grouping field, such as resource ID, to summarize related findings. Cross-account and cross-Region visibility depends on the administration and aggregation you have configured; it is not automatically global.
AWS Security Hub vs. Amazon GuardDuty: consolidated security posture and threat detection: How Security Hub's consolidation and prioritization of security findings differs from GuardDuty's detection of threats.
Amazon GuardDuty asks, “Does this activity suggest a threat?” It analyzes supported activity data using threat intelligence, anomaly detection, and machine learning. Its findings describe potential threats, such as suspicious use of AWS credentials or communication with a malicious destination.
Amazon GuardDuty and Amazon Inspector: threats versus vulnerabilities: How GuardDuty's detection of suspicious activity differs from Inspector's identification of software vulnerabilities and unintended network exposure.
Amazon GuardDuty detects potential threats: suspicious or malicious activity involving AWS accounts, workloads, and data. Amazon Inspector identifies weaknesses: software vulnerabilities and network exposure in supported resources. The useful distinction is what appears to be happening versus what could be exploited.
AWS Security Agent and Amazon Inspector: assessment boundaries: How Security Agent's design, code, and running-application assessments differ from Inspector's workload vulnerability scanning.
AWS Security Agent assesses application security across design, source code, and running applications. Choose the assessment by the question you need answered, not simply by whether the application has been deployed.
IP Routing vs Network Address Translation: How selecting a forwarding path differs from translating packet addresses, and why a NAT gateway does not replace route configuration.
IP routing selects where a packet goes next. A route pairs a destination range with a forwarding target. For example, an IPv4 default route, 0.0.0.0/0, can send traffic without a more specific route to a gateway. Selecting that target does not itself rewrite the packet's source address.
IP Routing: subnet route tables: How subnet route-table associations and longest-prefix matching determine local connectivity and IPv4 and IPv6 paths through internet, NAT, and egress-only internet gateways.
A subnet route table tells Amazon VPC where to forward traffic from a subnet. Each route pairs a destination address range with a target. Before reading routes, identify the table associated with the source subnet.
Amazon VPC: routing internet traffic: How route selection and subnet route table associations control IPv4 and IPv6 internet paths through internet gateways, NAT gateways, and egress-only internet gateways.
A route table maps destination address ranges to targets. Each subnet uses one subnet route table at a time. An explicit association selects that table; without one, the subnet implicitly uses the VPC's main route table. Several subnets can share a table. A table's name does not determine which subnets use it.
Stateful and Stateless Filtering: configuring request and return traffic: How connection tracking in security groups and independent packet evaluation in network ACLs determine the rules needed to permit a VPC traffic flow in both directions.
A security group filters traffic for associated network interfaces. It is stateful: connection tracking recognizes return traffic belonging to a permitted flow. That return traffic is allowed without a separate rule in the opposite direction. This does not authorize unrelated connections initiated in reverse.
Amazon VPC: security groups and network ACLs: How stateful security groups and stateless network ACLs filter traffic, including rule evaluation, return traffic, and ephemeral ports.
A security group controls traffic at a resource's network interface, such as an EC2 instance's interface. A network ACL controls traffic entering or leaving an associated subnet. For traffic crossing a subnet boundary to reach an instance, both filters must permit it; an allow in one cannot override a block in the other.
Network Address Translation: private IPv4 egress: How NAT gateway translation works along the forward and return paths, including the routing, filtering, and translation-state requirements that determine connectivity.
A public NAT gateway lets a workload initiate IPv4 connections to the internet without giving the workload a public IPv4 address. The diagram shows the request and its reply; its arrows describe packet travel, not separate connections.
Network Segmentation: enforcing workload boundaries: How to enforce trust boundaries between internet-facing, application, and database tiers using subnet connectivity and least-privilege traffic rules, rather than relying on separate subnets alone.
Network segmentation limits which workloads can communicate, reducing the paths available to a compromised workload. Start with the required source, destination, protocol, and port. Putting workloads in different subnets organizes them, but does not by itself enforce that boundary: VPC route tables normally include local routing between the VPC's address ranges.
Network Isolation: boundaries for private connectivity: How private endpoints and VPC peering cross network boundaries, and how routing and access controls restrict communication to explicitly authorized paths.
Network isolation means allowing only justified communication, not necessarily disconnecting everything. A private address alone does not prove isolation: private routes can still connect a workload to other networks. Choose connectivity according to whether the workload needs one service or access to resources in another VPC.
Amazon VPC: private service access through endpoints: How gateway and interface endpoints provide private service access through route table entries or private network interfaces, with endpoint policies, security groups, and DNS controlling access.
A VPC endpoint gives workloads private access to a supported service without requiring an internet gateway, NAT device, or public IP address for that service traffic. It provides a network path, not automatic permission to use the service.
AWS PrivateLink: interface endpoint connectivity: How to establish and troubleshoot private service access through interface endpoints, tracing VPC and on-premises connections through endpoint DNS and access controls.
An interface endpoint gives clients private IP addresses through which to reach a supported service using AWS PrivateLink. AWS creates endpoint network interfaces in your selected subnets. Clients reach those interfaces rather than sending this service traffic through an internet gateway or NAT device.
Amazon VPC: peering connections: How peering connects two VPCs through explicit routes and traffic permissions, including address overlap restrictions, DNS resolution options, and nontransitive routing.
A VPC peering connection lets resources in two VPCs communicate using private IP addresses. The VPCs can belong to different accounts or Regions. One owner requests the connection, and the accepting VPC's owner accepts it. An active connection is ready for use, but routes and traffic permissions still need configuration.
AWS PrivateLink vs Amazon VPC: service access or VPC peering: How PrivateLink's service-specific access differs from VPC peering's routed network connectivity, and when each is appropriate.
Amazon VPC provides your isolated virtual network. VPC peering is a feature that connects two VPCs so their resources can communicate using private IP addresses. AWS PrivateLink provides private access to supported services and resources. Here, we compare its interface-endpoint access to a published service with VPC peering.
AWS Network Firewall: traffic inspection policies: How stateless and stateful rule groups, evaluation order, and default actions determine the protection a firewall policy enforces.
An AWS Network Firewall policy defines how a firewall inspects traffic that reaches it. The policy references reusable rule groups and sets evaluation behavior and default actions. Attaching a rule group does not guarantee that every packet reaches its rules.
AWS WAF: Web ACL protection coverage: How web ACL scope, resource associations, and effective rule actions determine which application requests are protected in an account.
An AWS WAF web access control list, or web ACL, contains rules and a default action for web requests. Creating one does not protect every application in the account. Coverage depends on its scope, the resources associated with it, and the actions its rules actually apply.
AWS Network Firewall and AWS WAF: network versus web protection: How VPC traffic inspection differs from HTTP request filtering, and which traffic each service can protect.
AWS Network Firewall inspects network traffic directed through its inspection endpoints. It can protect inbound, outbound, or traffic between networks when the network design sends those flows through it. Its inspection is not limited to web traffic: TCP and UDP traffic can be inspected too.
AWS WAF: Request logging: How to enable web ACL logging and interpret request records to identify the rule and action responsible for a request's outcome.
Web ACL logging records the requests AWS WAF inspects and the decisions it makes. Enable it explicitly on the web ACL; request sampling and rule metrics do not replace request logs. Supported destinations are CloudWatch Logs, Amazon S3, and Amazon Data Firehose.
AWS Shield: DDoS protection coverage: How Shield Standard coverage and Shield Advanced resource enrollment determine protection, and how to inspect an account for gaps in that coverage.
AWS Shield helps protect application availability against distributed denial of service (DDoS) attacks. Shield Standard is automatically available to AWS customers at no additional charge. It provides baseline protection against common network-layer and transport-layer DDoS attacks; you do not subscribe or enroll individual resources to receive it.
AWS Shield and AWS WAF: protection boundaries: How Shield's DDoS protection differs from WAF's web request filtering, and why neither service substitutes for the other.
AWS Shield protects availability against distributed denial-of-service (DDoS) attacks. These attacks try to exhaust bandwidth, connection capacity, or application resources so legitimate users cannot get service. Shield Standard provides automatic protection against common network-layer and transport-layer DDoS attacks, such as UDP floods and SYN floods.
Data Egress: transfer paths and costs: How a transfer's source, destination, volume, and route determine its charges and opportunities to reduce unnecessary data movement without weakening resilience.
Data egress means data leaving a defined boundary. A copy between AWS Regions leaves the source Region even though it stays within AWS. Record each transfer's source, destination, direction, volume, and route; “outbound traffic” alone is not a pricing category.
AWS Cost Explorer: cost and usage breakdowns: How filters, grouping, and time granularity reveal network-related spending by service, Region, and usage type and show changes over time.
AWS Cost Explorer turns billing data into cost and usage breakdowns over time. For network spending, start with a date range and group by Service to see which billing services contribute to the total. Network charges are not all collected under one service, so begin broadly before narrowing the report.
Cost management: network architecture economics: How to compare network designs using measured traffic paths and volumes, data-transfer charges, and hourly and per-GB service fees while preserving connectivity, security, and availability requirements.
A network design is economical only if it still meets its connectivity, security, and availability requirements. Record each traffic flow: source, destination, Region, Availability Zone, intermediate services, and bytes in each direction over a representative period, including peaks.
DNS: resolver paths and conditional forwarding: How resolvers use zone authority, private DNS scope, and conditional forwarding rules to direct queries to the correct public, private, or on-premises DNS servers.
A recursive resolver finds an answer for a client. It can return a cached answer or query other DNS servers. An authoritative server publishes the records for a zone: an administratively managed part of the DNS namespace. Amazon Route 53 provides both resolver capabilities and authoritative hosted zones, but these are different jobs.
Amazon Route 53: hosted zones and DNS records: How public and private hosted zones, delegation, records, and aliases make application names resolve to the intended destinations.
A hosted zone is a container for DNS records for a domain and its subdomains. A public hosted zone answers internet DNS queries when the domain is delegated to its name servers. A private hosted zone answers through VPC DNS for associated VPCs; it does not publish its records to internet resolvers. Enable both enableDnsSupport and enableDnsHostnames on VPCs using private hosted zones.
Amazon Route 53: DNS routing policies: How routing policies select DNS answers for traffic distribution and location preferences, and what authoritative query logs reveal about incoming lookups.
A Route 53 routing policy determines which record values appear in a DNS answer. Route 53 does not forward the application's HTTP requests. A recursive DNS resolver can cache an answer for its TTL, so many application requests can follow one DNS lookup.
Split-Horizon DNS: public and private namespace views: How hosted-zone associations and resolver forwarding select the intended namespace view for cloud, internet, and hybrid clients, without automatic fallback between views.
Split-horizon DNS lets the same fully qualified domain name return different answers through different resolution paths. For example, api.example.com can identify an internet-facing endpoint for public users and an internal endpoint for private-network clients.
Amazon Route 53: Resolver and hybrid DNS: How Resolver inbound and outbound endpoints, forwarding rules, and Resolver query logs support DNS resolution between VPCs and on-premises networks.
Route 53 Resolver answers DNS queries from VPC workloads, including queries for private hosted zones associated with the VPC. Hybrid DNS extends that resolution across a private network connection: an inbound endpoint accepts queries coming into AWS, while an outbound endpoint sends selected queries from AWS to external DNS servers.
Amazon CloudFront vs AWS Global Accelerator: How HTTP content delivery and edge caching differ from network-level traffic acceleration, and when to choose each service.
Amazon CloudFront is a content delivery network for HTTP and HTTPS. It understands web requests and can cache eligible responses at edge locations. A reusable cached response can be served without fetching it again from the origin, the source of the content. This reduces delivery latency and origin load.
Amazon CloudFront: configuring distributions: How a distribution routes requests to S3 or application origins using path-based behaviors, custom domains, and HTTPS connections.
A CloudFront distribution connects a public delivery endpoint to content sources called origins. One distribution can serve static files from S3 and application requests through an Application Load Balancer. A request does not go to every origin: its matching cache behavior selects one.
AWS Global Accelerator: standard accelerator traffic routing: How static anycast IPs, listeners, regional endpoint groups, and health-aware routing deliver TCP or UDP traffic to application endpoints.
An AWS Global Accelerator standard accelerator gives clients static entry IP addresses for an application. These are anycast IPs: AWS advertises the same addresses from multiple edge locations, so network routing brings clients to an AWS edge entry point. Traffic then uses the AWS global network toward the application.
AWS Transit Gateway: attachment routing and route tables: How attachment state, route table associations, route propagation, and VPC return routes determine connectivity, and how to trace missing or blackholed traffic paths.
AWS Transit Gateway routes traffic between attached networks. A VPC attachment provides the connection, but creating it does not create every route needed for communication. Check that each attachment is available; an attachment awaiting acceptance or still pending is not ready to carry the traffic.
Asymmetric Routing: paths through stateful devices: How to trace forward and return routes independently and correct paths that bypass the firewall or NAT device holding a connection's state.
Asymmetric routing means a connection's forward and return packets take different paths. Different paths are not automatically wrong: the important question is whether both directions reach the stateful devices that must process the connection.
Amazon VPC: collecting and interpreting flow logs: How to configure VPC Flow Logs and interpret traffic records to investigate accepted and rejected connections while recognizing the logs' visibility limits.
VPC Flow Logs collect metadata about IP traffic to and from network interfaces; they do not capture packet contents. Create a flow log on a VPC, subnet, or network interface. VPC and subnet scopes cover the network interfaces in that scope, including interfaces created later. Choose ALL to investigate both accepted and rejected traffic; ACCEPT and REJECT filters collect only their respective outcomes.
Elastic Load Balancing (ELB): access logs: How to enable supported ELB access logs and interpret their fields to distinguish client, load balancer, and target connection failures.
ELB access logs record traffic handled by a load balancer and deliver log files to Amazon S3. Logging is disabled by default and uses best-effort delivery. A missing record is not proof that no connection attempt occurred.
Temporal Correlation: aligning events across log sources: How to reconstruct a network event sequence using bounded time windows, normalized event timestamps, flow-log intervals, and request or resource context while accounting for clock skew, delayed delivery, and missing evidence.
Temporal correlation reconstructs a sequence from observations across log sources. Start with a known event, such as a failed load balancer request, and preserve its original timestamp and resource context. Distinguish event time, when the source says the activity happened, from ingestion time, when the logging platform received the record. Delivery order is not event order.
Time to Live: CloudFront cache freshness: How origin freshness headers and CloudFront TTL settings determine response freshness, expiration, and revalidation when diagnosing stale content.
A cached response is fresh while its freshness lifetime allows reuse without checking the origin. Updating the origin does not tell CloudFront that an existing cached response has changed. CloudFront can therefore serve an older version that is still fresh according to its caching rules.
Border Gateway Protocol: hybrid route exchange: How BGP peering, prefix advertisements, and route selection determine which hybrid routes are available, used, or withdrawn when connectivity changes.
Border Gateway Protocol (BGP) exchanges routes between configured peers. Each peer has an autonomous system number (ASN) identifying its routing domain. After a session reaches Established, peers can advertise prefixes such as 172.20.0.0/16, meaning that the advertised network is reachable through them.
AWS Client VPN vs AWS Site-to-Site VPN: How remote-user connectivity through Client VPN differs from network-to-network connectivity through Site-to-Site VPN, and when each is appropriate.
AWS Client VPN connects individual remote devices to resources reachable through AWS. A person runs VPN client software on a laptop, authenticates, and establishes an encrypted connection to a managed Client VPN endpoint. This suits people working from home, hotels, or other changing networks.
AWS Direct Connect vs AWS Site-to-Site VPN: How dedicated connectivity differs from internet-based encrypted tunnels in transport, encryption guarantees, performance consistency, and failure dependencies.
AWS Direct Connect provides dedicated connectivity from your network to AWS through a Direct Connect location. Its AWS-bound traffic bypasses the public internet. Reaching that location can involve a network provider, so the connection still depends on infrastructure outside AWS.
AWS Site-to-Site VPN: tunnel connectivity: How IPsec negotiation and static or BGP routing establish connectivity, and how tunnel metrics and logs distinguish tunnel failures from routing problems.
AWS Site-to-Site VPN connects networks through encrypted IPsec tunnels. This example uses a virtual private gateway attached to a VPC. The customer gateway device is the router or firewall on your side that terminates the tunnels; the AWS customer gateway resource describes that device.
AWS Direct Connect: virtual interface connectivity: How virtual interfaces establish routed connectivity to AWS, and how link status, VLAN settings, BGP sessions, and advertised routes reveal where connectivity fails.
A Direct Connect connection supplies the underlying network link. A virtual interface, or VIF, adds a logical interface with a VLAN, peer IP addresses, and a Border Gateway Protocol (BGP) session. BGP exchanges network prefixes so routers can learn which destinations are reachable through that VIF. A working physical link alone does not provide those routes.
AWS Client VPN: client-to-resource access paths: How subnet associations, endpoint routes, and authorization rules control client reachability to VPC and on-premises resources, including where misconfiguration blocks traffic.
AWS Client VPN gives a remote device a secure tunnel to a Client VPN endpoint. Successfully connecting proves that the client can establish the VPN session; it does not prove that an application is reachable.