<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cheatsheets on Album69</title><link>https://www.album69.com/dop-c02/cheatsheets/</link><description>Recent content in Cheatsheets on Album69</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 04 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.album69.com/dop-c02/cheatsheets/index.xml" rel="self" type="application/rss+xml"/><item><title>All AWS Services Review</title><link>https://www.album69.com/dop-c02/cheatsheets/all-services-review/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/all-services-review/</guid><description>&lt;h2 id="-quick-service-reference-for-dop-c02"&gt;🎯 &lt;strong&gt;Quick Service Reference for DOP-C02&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="domain-1-sdlc-automation-22"&gt;&lt;strong&gt;Domain 1: SDLC Automation (22%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;h4 id="cicd-core-services"&gt;&lt;strong&gt;CI/CD Core Services&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CodePipeline&lt;/strong&gt; - Orchestrates CI/CD workflows, supports cross-account deployments&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CodeBuild&lt;/strong&gt; - Managed build service, uses buildspec.yml, supports Docker&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CodeDeploy&lt;/strong&gt; - Deployment service, supports blue/green, rolling, canary strategies&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CodeCommit&lt;/strong&gt; - Git repositories (status uncertain — was restricted to existing customers July 2024; verify current availability before the exam)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CodeStar&lt;/strong&gt; - Retired July 2024. &lt;strong&gt;CodeCatalyst&lt;/strong&gt; - Maintenance mode Nov 2025. See &lt;code&gt;DEPRECATED-SERVICES.md&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;AppConfig&lt;/strong&gt; - Managed feature flags and config deployments with validation and auto-rollback&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CodeArtifact&lt;/strong&gt; - Managed artifact repository (npm, Maven, PyPI, NuGet); domain + repository model&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="integration--automation"&gt;&lt;strong&gt;Integration &amp;amp; Automation&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;EventBridge&lt;/strong&gt; - Event routing, custom events, cross-account event sharing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Step Functions&lt;/strong&gt; - Workflow orchestration, state machines, error handling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lambda&lt;/strong&gt; - Serverless compute, event-driven processing, 15-minute max runtime&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;API Gateway&lt;/strong&gt; - REST/HTTP APIs, WebSocket, request/response transformation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;X-Ray&lt;/strong&gt; - Distributed tracing, performance analysis, service maps&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="testing--quality"&gt;&lt;strong&gt;Testing &amp;amp; Quality&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Automated Testing&lt;/strong&gt; - Unit, integration, security, performance testing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Artifacts Management&lt;/strong&gt; - S3 storage, versioning, lifecycle policies&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Security Integration&lt;/strong&gt; - SAST/DAST scanning, vulnerability assessments&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-2-infrastructure-as-code-17"&gt;&lt;strong&gt;Domain 2: Infrastructure as Code (17%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;h4 id="iac-services"&gt;&lt;strong&gt;IaC Services&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt; - Native IaC, YAML/JSON, intrinsic functions, drift detection&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CDK&lt;/strong&gt; - Code-based IaC, synthesizes to CloudFormation, multiple languages&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SAM&lt;/strong&gt; - Serverless application model, extends CloudFormation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Terraform&lt;/strong&gt; - Third-party IaC, state management, workspaces&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="configuration-management"&gt;&lt;strong&gt;Configuration Management&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Systems Manager&lt;/strong&gt; - Parameter Store, Session Manager, Run Command, Patch Manager&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Config&lt;/strong&gt; - Configuration compliance, rules, remediation actions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Service Catalog&lt;/strong&gt; - Standardized product portfolios, governance&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="governance"&gt;&lt;strong&gt;Governance&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Organizations&lt;/strong&gt; - Multi-account management, SCPs, consolidated billing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Control Tower&lt;/strong&gt; - Landing zones, guardrails, account factory&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-3-resilient-cloud-solutions-15"&gt;&lt;strong&gt;Domain 3: Resilient Cloud Solutions (15%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;h4 id="high-availability"&gt;&lt;strong&gt;High Availability&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt; - EC2, ECS, Application Auto Scaling, predictive scaling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Elastic Load Balancing&lt;/strong&gt; - ALB (Layer 7), NLB (Layer 4), GWLB (Layer 3)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Route 53&lt;/strong&gt; - DNS, health checks, failover routing, geolocation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-AZ Deployments&lt;/strong&gt; - RDS, ElastiCache, EFS cross-AZ replication&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="disaster-recovery"&gt;&lt;strong&gt;Disaster Recovery&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;S3 Cross-Region Replication&lt;/strong&gt; - Automatic replication, versioning, lifecycle&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;RDS Multi-AZ&lt;/strong&gt; - Synchronous replication, automatic failover&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Aurora Global Database&lt;/strong&gt; - Cross-region read replicas, fast recovery&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;EKS&lt;/strong&gt; - Kubernetes orchestration, multi-AZ clusters, managed node groups&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-4-monitoring-and-logging-15"&gt;&lt;strong&gt;Domain 4: Monitoring and Logging (15%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;h4 id="monitoring-services"&gt;&lt;strong&gt;Monitoring Services&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch&lt;/strong&gt; - Metrics, alarms, dashboards, custom metrics, anomaly detection&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch Logs&lt;/strong&gt; - Log aggregation, insights, metric filters, retention&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;X-Ray&lt;/strong&gt; - Application tracing, service maps, performance bottlenecks&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudTrail&lt;/strong&gt; - API logging, governance, compliance, data events&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="security-monitoring"&gt;&lt;strong&gt;Security Monitoring&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Config&lt;/strong&gt; - Resource compliance, configuration history, rules&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;GuardDuty&lt;/strong&gt; - Threat detection, ML-based analysis, findings&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Inspector&lt;/strong&gt; - Vulnerability assessments, network reachability&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Security Hub&lt;/strong&gt; - Centralized security findings, compliance standards&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="systems-management"&gt;&lt;strong&gt;Systems Management&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Systems Manager&lt;/strong&gt; - Operational insights, automation, patch management&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Personal Health Dashboard&lt;/strong&gt; - Service health, maintenance notifications&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-5-incident-and-event-response-14"&gt;&lt;strong&gt;Domain 5: Incident and Event Response (14%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;h4 id="event-processing"&gt;&lt;strong&gt;Event Processing&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;EventBridge&lt;/strong&gt; - Event routing, custom events, third-party integrations&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;EventBridge Pipes&lt;/strong&gt; - Point-to-point integrations with filtering and enrichment (source → filter → enrich → target)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;EventBridge Scheduler&lt;/strong&gt; - Serverless cron/rate/one-time scheduling for 200+ AWS API targets&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SNS&lt;/strong&gt; - Pub/sub messaging, mobile push, email, SMS notifications&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SQS&lt;/strong&gt; - Message queuing, FIFO, dead letter queues, visibility timeout&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lambda&lt;/strong&gt; - Event-driven processing, automatic scaling, multiple triggers&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="workflow-orchestration"&gt;&lt;strong&gt;Workflow Orchestration&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Step Functions&lt;/strong&gt; - State machines, parallel processing, error handling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch Alarms&lt;/strong&gt; - Threshold monitoring, composite alarms, actions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt; - Dynamic scaling based on metrics, scheduled scaling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Incident Manager&lt;/strong&gt; - Response plans, escalation, runbooks, dedup string (maintenance mode — know concepts)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ChatOps (Amazon Q in chat)&lt;/strong&gt; - AWS operations from Slack/Teams; CodePipeline approvals, CloudWatch alarms in chat&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-6-security-and-compliance-17"&gt;&lt;strong&gt;Domain 6: Security and Compliance (17%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;h4 id="identity--access"&gt;&lt;strong&gt;Identity &amp;amp; Access&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;IAM&lt;/strong&gt; - Users, roles, policies, conditions, cross-account access&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;IAM Identity Center&lt;/strong&gt; - Workforce SSO across accounts; permission sets; replaces AWS SSO&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Organizations&lt;/strong&gt; - SCPs, RCPs, account management, consolidated billing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Control Tower&lt;/strong&gt; - Governance, guardrails, compliance monitoring&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Resource Control Policies (RCPs)&lt;/strong&gt; - Restrict what can be done &lt;em&gt;to&lt;/em&gt; resources org-wide (complement to SCPs)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="encryption--secrets"&gt;&lt;strong&gt;Encryption &amp;amp; Secrets&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;KMS&lt;/strong&gt; - Key management, envelope encryption, cross-account access&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Secrets Manager&lt;/strong&gt; - Secret rotation, database credentials, API keys&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Certificate Manager&lt;/strong&gt; - SSL/TLS certificates, automatic renewal&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="security-services"&gt;&lt;strong&gt;Security Services&lt;/strong&gt;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;WAF&lt;/strong&gt; - Web application firewall, rate limiting, geo-blocking&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Shield&lt;/strong&gt; - DDoS protection, Standard (free), Advanced (paid)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;GuardDuty&lt;/strong&gt; - Threat detection, behavioral analysis, findings&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Macie&lt;/strong&gt; - Sensitive data discovery in S3; policy findings vs sensitive-data findings&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Audit Manager&lt;/strong&gt; - Automated compliance evidence collection for PCI-DSS, HIPAA, SOC 2, etc.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-high-impact-integration-patterns"&gt;🔥 &lt;strong&gt;High-Impact Integration Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="cross-account-patterns"&gt;&lt;strong&gt;Cross-Account Patterns&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Source Account → Assume Role → Target Account&#10;S3 Bucket Policy + KMS Key Policy + IAM Role&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="cicd-pipeline-pattern"&gt;&lt;strong&gt;CI/CD Pipeline Pattern&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;CodeCommit → CodeBuild → CodeDeploy → CloudWatch&#10;EventBridge → Lambda → SNS → Step Functions&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="event-driven-architecture"&gt;&lt;strong&gt;Event-Driven Architecture&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;API Gateway → Lambda → EventBridge → [SNS/SQS/Lambda]&#10;CloudWatch Alarm → EventBridge → Lambda → Auto Scaling&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="multi-region-resilience"&gt;&lt;strong&gt;Multi-Region Resilience&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Route 53 → CloudFront → ALB (Multi-AZ) → Auto Scaling&#10;RDS Multi-AZ → Cross-Region Read Replicas&#10;S3 → Cross-Region Replication&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h2 id="-critical-cli-commands"&gt;⚡ &lt;strong&gt;Critical CLI Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="codepipeline"&gt;&lt;strong&gt;CodePipeline&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline start-pipeline-execution --name MyPipeline&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline get-pipeline-state --name MyPipeline&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline stop-pipeline-execution --pipeline-name MyPipeline&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;h3 id="codebuild"&gt;&lt;strong&gt;CodeBuild&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codebuild start-build --project-name MyProject&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codebuild batch-get-builds --ids build-id&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codebuild list-projects&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;h3 id="cloudformation"&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation deploy --template-file template.yaml --stack-name MyStack&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation describe-stacks --stack-name MyStack&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation detect-stack-drift --stack-name MyStack&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;h3 id="auto-scaling"&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws autoscaling describe-auto-scaling-groups&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws autoscaling set-desired-capacity --auto-scaling-group-name MyASG --desired-capacity &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws autoscaling put-scaling-policy --policy-name MyPolicy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;h3 id="systems-manager"&gt;&lt;strong&gt;Systems Manager&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ssm get-parameter --name /myapp/database/url --with-decryption&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ssm send-command --document-name &lt;span style="color:#e6db74"&gt;&amp;#34;AWS-RunShellScript&amp;#34;&lt;/span&gt; --targets &lt;span style="color:#e6db74"&gt;&amp;#34;Key=tag:Environment,Values=prod&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ssm start-session --target i-1234567890abcdef0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;h2 id="-exam-recognition-patterns"&gt;🎯 &lt;strong&gt;Exam Recognition Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="service-selection-triggers"&gt;&lt;strong&gt;Service Selection Triggers&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Cross-account deployment&amp;rdquo;&lt;/strong&gt; → IAM roles + trust policies&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Zero-downtime deployment&amp;rdquo;&lt;/strong&gt; → Blue/green or canary&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Automatic scaling&amp;rdquo;&lt;/strong&gt; → Auto Scaling Groups + CloudWatch&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Event-driven processing&amp;rdquo;&lt;/strong&gt; → EventBridge + Lambda&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Secure secrets&amp;rdquo;&lt;/strong&gt; → Secrets Manager or Parameter Store (SecureString)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Infrastructure as Code&amp;rdquo;&lt;/strong&gt; → CloudFormation, CDK, or Terraform&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Monitoring and alerting&amp;rdquo;&lt;/strong&gt; → CloudWatch + SNS&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Compliance monitoring&amp;rdquo;&lt;/strong&gt; → Config + remediation actions&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="common-exam-traps"&gt;&lt;strong&gt;Common Exam Traps&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch vs CloudTrail vs Config&lt;/strong&gt; - Metrics vs API logs vs compliance&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ALB vs NLB vs GWLB&lt;/strong&gt; - Layer 7 vs Layer 4 vs Layer 3&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-AZ vs Read Replicas&lt;/strong&gt; - HA vs read scaling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SNS vs SQS&lt;/strong&gt; - Pub/sub vs queuing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Parameter Store vs Secrets Manager&lt;/strong&gt; - Configuration vs secrets with rotation&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="architecture-decision-trees"&gt;&lt;strong&gt;Architecture Decision Trees&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Need automatic failover?&lt;/strong&gt; → Multi-AZ deployment&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Need cross-region disaster recovery?&lt;/strong&gt; → Cross-region replication&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Need to process events?&lt;/strong&gt; → EventBridge + Lambda&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Need workflow orchestration?&lt;/strong&gt; → Step Functions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Need secure parameter storage?&lt;/strong&gt; → Parameter Store (config) vs Secrets Manager (secrets)&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="-performance--cost-optimization"&gt;📊 &lt;strong&gt;Performance &amp;amp; Cost Optimization&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="auto-scaling-optimization"&gt;&lt;strong&gt;Auto Scaling Optimization&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Target Tracking&lt;/strong&gt; - Maintain specific metric value&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Step Scaling&lt;/strong&gt; - Scale based on alarm breach size&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Predictive Scaling&lt;/strong&gt; - ML-based capacity planning&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Scheduled Scaling&lt;/strong&gt; - Time-based scaling&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="lambda-optimization"&gt;&lt;strong&gt;Lambda Optimization&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Memory allocation&lt;/strong&gt; - Affects CPU and network performance&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Provisioned concurrency&lt;/strong&gt; - Eliminates cold starts&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Dead letter queues&lt;/strong&gt; - Handle failed invocations&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Reserved concurrency&lt;/strong&gt; - Limit concurrent executions&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cost-management"&gt;&lt;strong&gt;Cost Management&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Reserved Instances&lt;/strong&gt; - Long-term capacity reservations&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Spot Instances&lt;/strong&gt; - Fault-tolerant workloads&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;S3 Intelligent Tiering&lt;/strong&gt; - Automatic cost optimization&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch Logs retention&lt;/strong&gt; - Manage log storage costs&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-security-best-practices"&gt;🚨 &lt;strong&gt;Security Best Practices&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="iam-principles"&gt;&lt;strong&gt;IAM Principles&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Least privilege&lt;/strong&gt; - Minimum necessary permissions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Role-based access&lt;/strong&gt; - Use roles instead of users for services&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Conditions&lt;/strong&gt; - Restrict access based on context&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Regular reviews&lt;/strong&gt; - Audit permissions regularly&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="encryption-standards"&gt;&lt;strong&gt;Encryption Standards&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Data at rest&lt;/strong&gt; - S3, EBS, RDS encryption&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Data in transit&lt;/strong&gt; - TLS/SSL for all communications&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Key management&lt;/strong&gt; - KMS for centralized key management&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Envelope encryption&lt;/strong&gt; - Encrypt data keys with master keys&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="network-security"&gt;&lt;strong&gt;Network Security&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;VPC isolation&lt;/strong&gt; - Separate environments&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Security groups&lt;/strong&gt; - Stateful firewall rules&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;NACLs&lt;/strong&gt; - Stateless subnet-level rules&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;VPC endpoints&lt;/strong&gt; - Private service access&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-final-exam-checklist"&gt;🎯 &lt;strong&gt;Final Exam Checklist&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="must-know-cold"&gt;&lt;strong&gt;Must Know Cold&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Cross-account IAM role assumption process&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Blue/green vs rolling vs canary deployment differences&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Multi-AZ vs Read Replica use cases&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; EventBridge event routing and filtering&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; CloudFormation intrinsic functions (!Ref, !GetAtt, !Sub)&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Auto Scaling policy types and triggers&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Lambda error handling and retry behavior&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Step Functions state types and error handling&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="service-integration-patterns"&gt;&lt;strong&gt;Service Integration Patterns&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; CodePipeline + CodeBuild + CodeDeploy workflow&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; EventBridge + Lambda + SNS/SQS integration&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; CloudWatch + Auto Scaling + ELB integration&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Route 53 + CloudFront + S3 global architecture&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Systems Manager + EC2 + Auto Scaling management&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="troubleshooting-scenarios"&gt;&lt;strong&gt;Troubleshooting Scenarios&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Pipeline failures and rollback procedures&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Auto Scaling issues and debugging&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Cross-account access problems&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Performance bottlenecks identification&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Security incident response procedures&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Remember&lt;/strong&gt;: Think practically, consider cost implications, and always choose the most AWS-native solution when multiple options exist. Good luck! 🚀&lt;/p&gt;</description></item><item><title>Domain 1: SDLC Automation Cheatsheet</title><link>https://www.album69.com/dop-c02/cheatsheets/domain1-sdlc-automation-cheatsheet/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/domain1-sdlc-automation-cheatsheet/</guid><description>&lt;h2 id="weight-22--focus-cicd-pipelines-testing-deployment"&gt;Weight: 22% | Focus: CI/CD Pipelines, Testing, Deployment&lt;/h2&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-must-know-services"&gt;🔥 &lt;strong&gt;MUST KNOW Services&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="codepipeline---orchestration"&gt;&lt;strong&gt;CodePipeline&lt;/strong&gt; - Orchestration&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Stages&lt;/strong&gt;: Source → Build → Test → Deploy → Monitor&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Actions&lt;/strong&gt;: Source (CodeCommit/GitHub), Build (CodeBuild), Deploy (CodeDeploy/CloudFormation)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cross-Account&lt;/strong&gt;: Use IAM roles, not access keys&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Artifacts&lt;/strong&gt;: Stored in S3, encrypted with KMS&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="codebuild---build-service"&gt;&lt;strong&gt;CodeBuild&lt;/strong&gt; - Build Service&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;buildspec.yml&lt;/strong&gt;: Root of source, defines build commands&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Phases&lt;/strong&gt;: install → pre_build → build → post_build&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Environment&lt;/strong&gt;: Managed images vs custom Docker&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Artifacts&lt;/strong&gt;: Output location in S3&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="codedeploy---deployment"&gt;&lt;strong&gt;CodeDeploy&lt;/strong&gt; - Deployment&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Deployment Types&lt;/strong&gt;: In-place, Blue/Green&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Compute Platforms&lt;/strong&gt;: EC2, Lambda, ECS&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Deployment Configs&lt;/strong&gt;: OneAtATime, HalfAtATime, AllAtOnce&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;appspec.yml&lt;/strong&gt;: Defines deployment steps&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="codecommit---git-repository"&gt;&lt;strong&gt;CodeCommit&lt;/strong&gt; - Git Repository&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Authentication&lt;/strong&gt;: IAM users, federated access&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Encryption&lt;/strong&gt;: At rest (KMS), in transit (HTTPS/SSH)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Triggers&lt;/strong&gt;: Lambda, SNS for notifications&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-patterns"&gt;⚡ &lt;strong&gt;Key Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="multi-stage-pipeline"&gt;&lt;strong&gt;Multi-Stage Pipeline&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Source (CodeCommit) → Build (CodeBuild) → Test → Deploy (CodeDeploy) → Monitor&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="cross-account-deployment"&gt;&lt;strong&gt;Cross-Account Deployment&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Create cross-account IAM role in target account&lt;/li&gt;&#10;&lt;li&gt;Grant CodePipeline permission to assume role&lt;/li&gt;&#10;&lt;li&gt;Use role in deployment action&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="bluegreen-deployment"&gt;&lt;strong&gt;Blue/Green Deployment&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;EC2&lt;/strong&gt;: Use Auto Scaling + ELB&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lambda&lt;/strong&gt;: Use aliases and weighted routing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ECS&lt;/strong&gt;: Use service with task sets&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-exam-scenarios"&gt;🎯 &lt;strong&gt;Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-pipeline-fails-at-build-stage"&gt;&lt;strong&gt;Scenario 1: Pipeline fails at build stage&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check buildspec.yml syntax&lt;/li&gt;&#10;&lt;li&gt;Verify IAM permissions for CodeBuild&lt;/li&gt;&#10;&lt;li&gt;Check environment variables and parameters&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-2-cross-account-deployment-not-working"&gt;&lt;strong&gt;Scenario 2: Cross-account deployment not working&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Verify cross-account IAM role trust policy&lt;/li&gt;&#10;&lt;li&gt;Check S3 bucket policy for artifacts&lt;/li&gt;&#10;&lt;li&gt;Ensure KMS key permissions for encryption&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-3-bluegreen-deployment-stuck"&gt;&lt;strong&gt;Scenario 3: Blue/green deployment stuck&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check health checks configuration&lt;/li&gt;&#10;&lt;li&gt;Verify target group settings&lt;/li&gt;&#10;&lt;li&gt;Review deployment configuration timeouts&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-quick-commands"&gt;📋 &lt;strong&gt;Quick Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Create pipeline&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline create-pipeline --pipeline file://pipeline.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Start pipeline execution&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline start-pipeline-execution --name MyPipeline&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Get pipeline state&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline get-pipeline-state --name MyPipeline&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Create CodeBuild project&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codebuild create-project --name MyProject --source type&lt;span style="color:#f92672"&gt;=&lt;/span&gt;CODEPIPELINE&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Create CodeDeploy application&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws deploy create-application --application-name MyApp --compute-platform Server&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-common-mistakes"&gt;⚠️ &lt;strong&gt;Common Mistakes&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Forgetting to enable versioning on S3 artifact bucket&lt;/li&gt;&#10;&lt;li&gt;Not configuring proper IAM permissions for cross-account access&lt;/li&gt;&#10;&lt;li&gt;Missing buildspec.yml or appspec.yml files&lt;/li&gt;&#10;&lt;li&gt;Incorrect deployment configuration for target platform&lt;/li&gt;&#10;&lt;li&gt;Not setting up proper health checks for blue/green deployments&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-points"&gt;🔑 &lt;strong&gt;Key Points&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CodePipeline&lt;/strong&gt; orchestrates, doesn&amp;rsquo;t execute&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cross-account&lt;/strong&gt; requires IAM roles, not users&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Artifacts&lt;/strong&gt; must be in same region as pipeline&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Blue/Green&lt;/strong&gt; requires health checks and load balancers&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;buildspec.yml&lt;/strong&gt; and &lt;strong&gt;appspec.yml&lt;/strong&gt; are mandatory files&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Domain 2: Configuration Management &amp; Infrastructure as Code Cheatsheet</title><link>https://www.album69.com/dop-c02/cheatsheets/domain2-infrastructure-as-code-cheatsheet/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/domain2-infrastructure-as-code-cheatsheet/</guid><description>&lt;h2 id="weight-17--focus-cloudformation-cdk-config-systems-manager"&gt;Weight: 17% | Focus: CloudFormation, CDK, Config, Systems Manager&lt;/h2&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-must-know-services"&gt;🔥 &lt;strong&gt;MUST KNOW Services&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="cloudformation---infrastructure-as-code"&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt; - Infrastructure as Code&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Templates&lt;/strong&gt;: JSON/YAML, max 51,200 characters&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Stacks&lt;/strong&gt;: Collection of resources, regional&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;StackSets&lt;/strong&gt;: Deploy across accounts/regions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Drift Detection&lt;/strong&gt;: Compare actual vs template&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Change Sets&lt;/strong&gt;: Preview changes before execution&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="aws-cdk---code-based-iac"&gt;&lt;strong&gt;AWS CDK&lt;/strong&gt; - Code-based IaC&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Constructs&lt;/strong&gt;: L1 (CFn resources), L2 (opinionated), L3 (patterns)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Apps&lt;/strong&gt;: Top-level construct container&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Stacks&lt;/strong&gt;: Unit of deployment&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Synthesis&lt;/strong&gt;: Converts to CloudFormation&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="aws-config---configuration-compliance"&gt;&lt;strong&gt;AWS Config&lt;/strong&gt; - Configuration Compliance&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Rules&lt;/strong&gt;: AWS managed, custom (Lambda)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Conformance Packs&lt;/strong&gt;: Collection of rules&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Remediation&lt;/strong&gt;: Automatic fix via SSM/Lambda&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-Account&lt;/strong&gt;: Aggregator for organization&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="systems-manager---operations-management"&gt;&lt;strong&gt;Systems Manager&lt;/strong&gt; - Operations Management&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Parameter Store&lt;/strong&gt;: Secure configuration storage&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Session Manager&lt;/strong&gt;: Shell access without SSH&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Patch Manager&lt;/strong&gt;: OS patching automation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;State Manager&lt;/strong&gt;: Desired state configuration&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-patterns"&gt;⚡ &lt;strong&gt;Key Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="cloudformation-stack-dependencies"&gt;&lt;strong&gt;CloudFormation Stack Dependencies&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Export from Stack A&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Outputs&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;VPCId&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Value&lt;/span&gt;: !&lt;span style="color:#ae81ff"&gt;Ref MyVPC&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Export&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;Name&lt;/span&gt;: !&lt;span style="color:#ae81ff"&gt;Sub &amp;#34;${AWS::StackName}-VPC-ID&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Import in Stack B&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;VpcId&lt;/span&gt;: !&lt;span style="color:#ae81ff"&gt;ImportValue &amp;#34;StackA-VPC-ID&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;h3 id="cross-account-cloudformation"&gt;&lt;strong&gt;Cross-Account CloudFormation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Create execution role in target account&lt;/li&gt;&#10;&lt;li&gt;Trust source account&lt;/li&gt;&#10;&lt;li&gt;Use role in StackSet operations&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="config-remediation"&gt;&lt;strong&gt;Config Remediation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;RemediationConfiguration&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ConfigRuleName&lt;/span&gt;: !&lt;span style="color:#ae81ff"&gt;Ref MyConfigRule&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;TargetType&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;SSM_DOCUMENT&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;TargetId&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;AWSConfigRemediation-DeleteUnusedSecurityGroup&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-exam-scenarios"&gt;🎯 &lt;strong&gt;Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-stack-update-fails"&gt;&lt;strong&gt;Scenario 1: Stack update fails&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check for resource dependencies&lt;/li&gt;&#10;&lt;li&gt;Review change set before execution&lt;/li&gt;&#10;&lt;li&gt;Verify IAM permissions for resources&lt;/li&gt;&#10;&lt;li&gt;Check for resource limits&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-2-cross-account-deployment-fails"&gt;&lt;strong&gt;Scenario 2: Cross-account deployment fails&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Verify execution role in target account&lt;/li&gt;&#10;&lt;li&gt;Check trust policy allows source account&lt;/li&gt;&#10;&lt;li&gt;Ensure S3 template bucket is accessible&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-3-config-rule-shows-non-compliant"&gt;&lt;strong&gt;Scenario 3: Config rule shows non-compliant&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check rule parameters and scope&lt;/li&gt;&#10;&lt;li&gt;Verify resource configuration&lt;/li&gt;&#10;&lt;li&gt;Review evaluation logic&lt;/li&gt;&#10;&lt;li&gt;Check remediation configuration&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-quick-commands"&gt;📋 &lt;strong&gt;Quick Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CloudFormation&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation create-stack --stack-name MyStack --template-body file://template.yaml&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation update-stack --stack-name MyStack --template-body file://template.yaml&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation detect-stack-drift --stack-name MyStack&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CDK&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cdk init app --language typescript&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cdk synth&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cdk deploy&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cdk diff&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Config&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws configservice put-config-rule --config-rule file://rule.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws configservice start-config-rules-evaluation --config-rule-names MyRule&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Systems Manager&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ssm get-parameter --name &lt;span style="color:#e6db74"&gt;&amp;#34;/myapp/database/url&amp;#34;&lt;/span&gt; --with-decryption&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ssm start-session --target i-1234567890abcdef0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-cloudformation-intrinsic-functions"&gt;🏗️ &lt;strong&gt;CloudFormation Intrinsic Functions&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;!Ref&lt;/strong&gt;: Reference parameter/resource&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;!GetAtt&lt;/strong&gt;: Get resource attribute&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;!Join&lt;/strong&gt;: Join values with delimiter&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;!Sub&lt;/strong&gt;: Substitute variables&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;!ImportValue&lt;/strong&gt;: Import cross-stack value&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;!If&lt;/strong&gt;: Conditional logic&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-systems-manager-key-features"&gt;🔧 &lt;strong&gt;Systems Manager Key Features&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Parameter Store&lt;/strong&gt;: Free tier (10,000 params), Advanced (charges apply)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Session Manager&lt;/strong&gt;: No inbound ports, logged to CloudWatch&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Patch Manager&lt;/strong&gt;: Maintenance windows, patch baselines&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;State Manager&lt;/strong&gt;: Associations, compliance reporting&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-common-mistakes"&gt;⚠️ &lt;strong&gt;Common Mistakes&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Circular dependencies in CloudFormation stacks&lt;/li&gt;&#10;&lt;li&gt;Not using change sets for critical updates&lt;/li&gt;&#10;&lt;li&gt;Forgetting to enable Config recorder&lt;/li&gt;&#10;&lt;li&gt;Hardcoding values instead of using parameters&lt;/li&gt;&#10;&lt;li&gt;Not setting up proper IAM roles for cross-account access&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-points"&gt;🔑 &lt;strong&gt;Key Points&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt; is declarative, idempotent&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;StackSets&lt;/strong&gt; require service-linked roles&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Config&lt;/strong&gt; requires delivery channel and recorder&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Parameter Store&lt;/strong&gt; supports hierarchical naming&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CDK&lt;/strong&gt; synthesizes to CloudFormation templates&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Domain 3: Resilient Cloud Solutions Cheatsheet</title><link>https://www.album69.com/dop-c02/cheatsheets/domain3-resilient-cloud-solutions-cheatsheet/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/domain3-resilient-cloud-solutions-cheatsheet/</guid><description>&lt;h2 id="weight-15--focus-high-availability-auto-scaling-load-balancing-multi-az"&gt;Weight: 15% | Focus: High Availability, Auto Scaling, Load Balancing, Multi-AZ&lt;/h2&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-must-know-services"&gt;🔥 &lt;strong&gt;MUST KNOW Services&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="auto-scaling---dynamic-capacity"&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt; - Dynamic Capacity&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;ASG&lt;/strong&gt;: EC2 instances across AZs&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Scaling Policies&lt;/strong&gt;: Target Tracking, Step, Simple&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Health Checks&lt;/strong&gt;: EC2, ELB&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lifecycle Hooks&lt;/strong&gt;: Custom launch/terminate actions&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="elastic-load-balancer---traffic-distribution"&gt;&lt;strong&gt;Elastic Load Balancer&lt;/strong&gt; - Traffic Distribution&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;ALB&lt;/strong&gt;: Layer 7 (HTTP/HTTPS), path/host routing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;NLB&lt;/strong&gt;: Layer 4 (TCP/UDP), static IPs, high performance&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;GWLB&lt;/strong&gt;: Layer 3, third-party appliances&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Health Checks&lt;/strong&gt;: Determine target availability&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="rds-multi-az---database-ha"&gt;&lt;strong&gt;RDS Multi-AZ&lt;/strong&gt; - Database HA&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-AZ&lt;/strong&gt;: Synchronous replication, automatic failover&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Read Replicas&lt;/strong&gt;: Asynchronous, read scaling&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cross-Region&lt;/strong&gt;: Disaster recovery&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Failover&lt;/strong&gt;: 60-120 seconds&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="route-53---dns--global-load-balancing"&gt;&lt;strong&gt;Route 53&lt;/strong&gt; - DNS &amp;amp; Global Load Balancing&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Routing Policies&lt;/strong&gt;: Simple, Weighted, Latency, Failover, Geolocation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Health Checks&lt;/strong&gt;: HTTP/HTTPS/TCP monitoring&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Alias Records&lt;/strong&gt;: Free, automatic IP resolution&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="s3-cross-region-replication---data-resilience"&gt;&lt;strong&gt;S3 Cross-Region Replication&lt;/strong&gt; - Data Resilience&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CRR&lt;/strong&gt;: Cross-region disaster recovery&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SRR&lt;/strong&gt;: Same-region compliance&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;RTC&lt;/strong&gt;: 15-minute replication SLA&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-patterns"&gt;⚡ &lt;strong&gt;Key Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="multi-az-web-application"&gt;&lt;strong&gt;Multi-AZ Web Application&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Route 53 → CloudFront → ALB (Multi-AZ) → ASG (Multi-AZ) → RDS Multi-AZ&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="auto-scaling-policies"&gt;&lt;strong&gt;Auto Scaling Policies&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Target Tracking&lt;/strong&gt;: Maintain specific metric value&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Step Scaling&lt;/strong&gt;: Scale based on metric ranges&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Predictive&lt;/strong&gt;: ML-based forecasting&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="rds-failover-scenarios"&gt;&lt;strong&gt;RDS Failover Scenarios&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Primary DB failure → Automatic failover to standby&lt;/li&gt;&#10;&lt;li&gt;AZ outage → Failover within 60-120 seconds&lt;/li&gt;&#10;&lt;li&gt;Maintenance → Zero-downtime updates&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-exam-scenarios"&gt;🎯 &lt;strong&gt;Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-application-not-scaling-properly"&gt;&lt;strong&gt;Scenario 1: Application not scaling properly&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check Auto Scaling policies and thresholds&lt;/li&gt;&#10;&lt;li&gt;Verify CloudWatch metrics are being published&lt;/li&gt;&#10;&lt;li&gt;Review health check configuration&lt;/li&gt;&#10;&lt;li&gt;Check cooldown periods&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-2-database-failover-taking-too-long"&gt;&lt;strong&gt;Scenario 2: Database failover taking too long&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Verify Multi-AZ is enabled&lt;/li&gt;&#10;&lt;li&gt;Check application connection string (use endpoint, not IP)&lt;/li&gt;&#10;&lt;li&gt;Review security group rules&lt;/li&gt;&#10;&lt;li&gt;Ensure proper error handling in application&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-3-global-application-latency-issues"&gt;&lt;strong&gt;Scenario 3: Global application latency issues&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Implement Route 53 latency-based routing&lt;/li&gt;&#10;&lt;li&gt;Use CloudFront for static content&lt;/li&gt;&#10;&lt;li&gt;Deploy read replicas in multiple regions&lt;/li&gt;&#10;&lt;li&gt;Consider Aurora Global Database&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-quick-commands"&gt;📋 &lt;strong&gt;Quick Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Auto Scaling&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws autoscaling create-auto-scaling-group --auto-scaling-group-name MyASG&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws autoscaling put-scaling-policy --policy-name ScaleUp --auto-scaling-group-name MyASG&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Load Balancer&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws elbv2 create-load-balancer --name MyALB --subnets subnet-12345 subnet-67890&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws elbv2 create-target-group --name MyTargets --protocol HTTP --port &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# RDS&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws rds create-db-instance --db-instance-identifier MyDB --multi-az&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws rds reboot-db-instance --db-instance-identifier MyDB --force-failover&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Route 53&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws route53 create-health-check --type HTTP --resource-path /health&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws route53 change-resource-record-sets --hosted-zone-id Z123 --change-batch file://change.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# S3 Replication&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws s3api put-bucket-replication --bucket MyBucket --replication-configuration file://replication.json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-resilience-design-principles"&gt;🏗️ &lt;strong&gt;Resilience Design Principles&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="high-availability"&gt;&lt;strong&gt;High Availability&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Deploy across multiple AZs&lt;/li&gt;&#10;&lt;li&gt;Use load balancers for distribution&lt;/li&gt;&#10;&lt;li&gt;Implement health checks&lt;/li&gt;&#10;&lt;li&gt;Plan for component failures&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="fault-tolerance"&gt;&lt;strong&gt;Fault Tolerance&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Design for graceful degradation&lt;/li&gt;&#10;&lt;li&gt;Implement circuit breakers&lt;/li&gt;&#10;&lt;li&gt;Use retry mechanisms with backoff&lt;/li&gt;&#10;&lt;li&gt;Isolate failure domains&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="disaster-recovery"&gt;&lt;strong&gt;Disaster Recovery&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;RTO&lt;/strong&gt;: Recovery Time Objective&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;RPO&lt;/strong&gt;: Recovery Point Objective&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Strategies&lt;/strong&gt;: Backup/Restore, Pilot Light, Warm Standby, Multi-Site&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-auto-scaling-best-practices"&gt;🔧 &lt;strong&gt;Auto Scaling Best Practices&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Use target tracking for most scenarios&lt;/li&gt;&#10;&lt;li&gt;Set appropriate health check grace periods&lt;/li&gt;&#10;&lt;li&gt;Implement lifecycle hooks for stateful apps&lt;/li&gt;&#10;&lt;li&gt;Monitor scaling activities and metrics&lt;/li&gt;&#10;&lt;li&gt;Use mixed instance types for cost optimization&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-common-mistakes"&gt;⚠️ &lt;strong&gt;Common Mistakes&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Not enabling Multi-AZ for production databases&lt;/li&gt;&#10;&lt;li&gt;Using IP addresses instead of DNS names&lt;/li&gt;&#10;&lt;li&gt;Insufficient health check grace periods&lt;/li&gt;&#10;&lt;li&gt;Not testing failover procedures&lt;/li&gt;&#10;&lt;li&gt;Forgetting cross-zone load balancing&lt;/li&gt;&#10;&lt;li&gt;Not implementing proper retry logic in applications&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-points"&gt;🔑 &lt;strong&gt;Key Points&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-AZ&lt;/strong&gt; ≠ Read Replicas (HA vs Scaling)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ALB&lt;/strong&gt; supports path/host routing, &lt;strong&gt;NLB&lt;/strong&gt; for performance&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt; maintains desired capacity across AZs&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Route 53&lt;/strong&gt; health checks enable DNS failover&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;RDS failover&lt;/strong&gt; is automatic with Multi-AZ&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;S3 replication&lt;/strong&gt; requires versioning enabled&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Domain 4: Monitoring and Logging Cheatsheet</title><link>https://www.album69.com/dop-c02/cheatsheets/domain4-monitoring-logging-cheatsheet/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/domain4-monitoring-logging-cheatsheet/</guid><description>&lt;h2 id="weight-15--focus-cloudwatch-x-ray-cloudtrail-config"&gt;Weight: 15% | Focus: CloudWatch, X-Ray, CloudTrail, Config&lt;/h2&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-must-know-services"&gt;🔥 &lt;strong&gt;MUST KNOW Services&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="cloudwatch---metrics--monitoring"&gt;&lt;strong&gt;CloudWatch&lt;/strong&gt; - Metrics &amp;amp; Monitoring&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Metrics&lt;/strong&gt;: Standard (5min), Detailed (1min), Custom&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Alarms&lt;/strong&gt;: Metric, Composite, Anomaly Detection&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Logs&lt;/strong&gt;: Centralized logging, retention policies&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Dashboards&lt;/strong&gt;: Visual monitoring interface&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="x-ray---distributed-tracing"&gt;&lt;strong&gt;X-Ray&lt;/strong&gt; - Distributed Tracing&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Traces&lt;/strong&gt;: End-to-end request tracking&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Segments&lt;/strong&gt;: Individual service calls&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Service Map&lt;/strong&gt;: Visual application topology&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Sampling&lt;/strong&gt;: Control trace collection rate&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cloudtrail---api-auditing"&gt;&lt;strong&gt;CloudTrail&lt;/strong&gt; - API Auditing&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Management Events&lt;/strong&gt;: Control plane operations (free)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Data Events&lt;/strong&gt;: Data plane operations (charged)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Insights&lt;/strong&gt;: Unusual activity detection&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multi-Region&lt;/strong&gt;: Global event logging&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="config---configuration-monitoring"&gt;&lt;strong&gt;Config&lt;/strong&gt; - Configuration Monitoring&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Configuration Items&lt;/strong&gt;: Resource snapshots&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Rules&lt;/strong&gt;: Compliance evaluation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Conformance Packs&lt;/strong&gt;: Rule collections&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Remediation&lt;/strong&gt;: Automatic compliance fixes&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-patterns"&gt;⚡ &lt;strong&gt;Key Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="comprehensive-monitoring-stack"&gt;&lt;strong&gt;Comprehensive Monitoring Stack&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Application → X-Ray (Tracing) → CloudWatch (Metrics/Logs) → CloudTrail (Audit)&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="log-aggregation"&gt;&lt;strong&gt;Log Aggregation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;EC2/Lambda/ECS → CloudWatch Logs → Log Groups → Metric Filters → Alarms&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="compliance-monitoring"&gt;&lt;strong&gt;Compliance Monitoring&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Resources → Config Rules → Non-Compliance → Remediation Actions&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-exam-scenarios"&gt;🎯 &lt;strong&gt;Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-application-performance-issues"&gt;&lt;strong&gt;Scenario 1: Application performance issues&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Enable X-Ray tracing to identify bottlenecks&lt;/li&gt;&#10;&lt;li&gt;Create CloudWatch custom metrics for business KPIs&lt;/li&gt;&#10;&lt;li&gt;Set up alarms for response time and error rates&lt;/li&gt;&#10;&lt;li&gt;Use CloudWatch Insights for log analysis&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-2-security-incident-investigation"&gt;&lt;strong&gt;Scenario 2: Security incident investigation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check CloudTrail for API calls and user activity&lt;/li&gt;&#10;&lt;li&gt;Review VPC Flow Logs for network traffic&lt;/li&gt;&#10;&lt;li&gt;Use Config to track resource configuration changes&lt;/li&gt;&#10;&lt;li&gt;Correlate events across multiple log sources&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-3-cost-optimization-monitoring"&gt;&lt;strong&gt;Scenario 3: Cost optimization monitoring&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Set up billing alarms in CloudWatch&lt;/li&gt;&#10;&lt;li&gt;Use Cost Explorer with custom metrics&lt;/li&gt;&#10;&lt;li&gt;Monitor resource utilization metrics&lt;/li&gt;&#10;&lt;li&gt;Create dashboards for cost tracking&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-quick-commands"&gt;📋 &lt;strong&gt;Quick Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CloudWatch&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudwatch put-metric-data --namespace &lt;span style="color:#e6db74"&gt;&amp;#34;MyApp&amp;#34;&lt;/span&gt; --metric-data MetricName&lt;span style="color:#f92672"&gt;=&lt;/span&gt;Errors,Value&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudwatch put-metric-alarm --alarm-name HighCPU --metric-name CPUUtilization&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws logs create-log-group --log-group-name /aws/lambda/my-function&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# X-Ray&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws xray get-trace-summaries --time-range-type TimeRangeByStartTime&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws xray get-service-graph --start-time 2024-01-01T00:00:00 --end-time 2024-01-01T23:59:59&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CloudTrail&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudtrail create-trail --name MyTrail --s3-bucket-name my-trail-bucket&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudtrail lookup-events --lookup-attributes AttributeKey&lt;span style="color:#f92672"&gt;=&lt;/span&gt;EventName,AttributeValue&lt;span style="color:#f92672"&gt;=&lt;/span&gt;CreateUser&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Config&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws configservice put-config-rule --config-rule file://rule.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws configservice get-compliance-details-by-config-rule --config-rule-name required-tags&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-cloudwatch-key-metrics"&gt;📊 &lt;strong&gt;CloudWatch Key Metrics&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="ec2"&gt;&lt;strong&gt;EC2&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;CPUUtilization, NetworkIn/Out, DiskReadOps/WriteOps&lt;/li&gt;&#10;&lt;li&gt;StatusCheckFailed (Instance/System)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="rds"&gt;&lt;strong&gt;RDS&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;CPUUtilization, DatabaseConnections, FreeableMemory&lt;/li&gt;&#10;&lt;li&gt;ReadLatency, WriteLatency, ReplicaLag&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="lambda"&gt;&lt;strong&gt;Lambda&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Duration, Errors, Throttles, ConcurrentExecutions&lt;/li&gt;&#10;&lt;li&gt;DeadLetterErrors, IteratorAge (for streams)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="alb"&gt;&lt;strong&gt;ALB&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;RequestCount, TargetResponseTime, HTTPCode_Target_2XX_Count&lt;/li&gt;&#10;&lt;li&gt;HealthyHostCount, UnHealthyHostCount&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-x-ray-integration"&gt;🔍 &lt;strong&gt;X-Ray Integration&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="supported-services"&gt;&lt;strong&gt;Supported Services&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Lambda (automatic), EC2 (daemon), ECS (sidecar)&lt;/li&gt;&#10;&lt;li&gt;API Gateway, ALB, SNS, SQS&lt;/li&gt;&#10;&lt;li&gt;RDS, DynamoDB (via SDK)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="sampling-rules"&gt;&lt;strong&gt;Sampling Rules&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;default&amp;#34;&lt;/span&gt;: {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;fixed_target&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;rate&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;0.1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;rules&amp;#34;&lt;/span&gt;: [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;High priority service&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;service_name&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;critical-service&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;http_method&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;url_path&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;fixed_target&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;rate&amp;#34;&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;0.5&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-cloudtrail-event-types"&gt;📋 &lt;strong&gt;CloudTrail Event Types&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="management-events-free"&gt;&lt;strong&gt;Management Events&lt;/strong&gt; (Free)&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;IAM actions, EC2 RunInstances, S3 CreateBucket&lt;/li&gt;&#10;&lt;li&gt;VPC operations, Route 53 changes&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="data-events-charged"&gt;&lt;strong&gt;Data Events&lt;/strong&gt; (Charged)&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;S3 object operations (GetObject, PutObject)&lt;/li&gt;&#10;&lt;li&gt;Lambda function invocations&lt;/li&gt;&#10;&lt;li&gt;DynamoDB item operations&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="insight-events"&gt;&lt;strong&gt;Insight Events&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Unusual patterns in management events&lt;/li&gt;&#10;&lt;li&gt;Machine learning-based detection&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-common-mistakes"&gt;⚠️ &lt;strong&gt;Common Mistakes&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Not enabling detailed monitoring when needed&lt;/li&gt;&#10;&lt;li&gt;Forgetting to set up log retention policies&lt;/li&gt;&#10;&lt;li&gt;Not configuring proper IAM permissions for cross-account logging&lt;/li&gt;&#10;&lt;li&gt;Missing X-Ray daemon configuration&lt;/li&gt;&#10;&lt;li&gt;Not setting up CloudTrail in all regions&lt;/li&gt;&#10;&lt;li&gt;Ignoring CloudWatch costs for high-volume logs&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-points"&gt;🔑 &lt;strong&gt;Key Points&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch Logs&lt;/strong&gt; retention is forever by default (set retention!)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;X-Ray&lt;/strong&gt; requires SDK instrumentation or daemon&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudTrail&lt;/strong&gt; logs to S3, can integrate with CloudWatch Logs&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Config&lt;/strong&gt; requires delivery channel and recorder setup&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Custom metrics&lt;/strong&gt; can have up to 10 dimensions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Composite alarms&lt;/strong&gt; combine multiple alarm states&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Domain 5: Incident and Event Response Cheatsheet</title><link>https://www.album69.com/dop-c02/cheatsheets/domain5-incident-event-response-cheatsheet/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/domain5-incident-event-response-cheatsheet/</guid><description>&lt;h2 id="weight-14--focus-eventbridge-lambda-snssqs-step-functions-cloudwatch-alarms"&gt;Weight: 14% | Focus: EventBridge, Lambda, SNS/SQS, Step Functions, CloudWatch Alarms&lt;/h2&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-must-know-services"&gt;🔥 &lt;strong&gt;MUST KNOW Services&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="eventbridge---event-routing"&gt;&lt;strong&gt;EventBridge&lt;/strong&gt; - Event Routing&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Event Buses&lt;/strong&gt;: Default, Custom, Partner&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Rules&lt;/strong&gt;: Event pattern matching and routing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Targets&lt;/strong&gt;: Lambda, SNS, SQS, Step Functions, etc.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Schema Registry&lt;/strong&gt;: Event structure management&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="lambda---serverless-compute"&gt;&lt;strong&gt;Lambda&lt;/strong&gt; - Serverless Compute&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Triggers&lt;/strong&gt;: 200+ event sources&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Concurrency&lt;/strong&gt;: 1000 default, reserved/provisioned&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Error Handling&lt;/strong&gt;: DLQ, retry, exponential backoff&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Monitoring&lt;/strong&gt;: CloudWatch Logs, X-Ray tracing&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="snssqs---messaging"&gt;&lt;strong&gt;SNS/SQS&lt;/strong&gt; - Messaging&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;SNS&lt;/strong&gt;: Pub/Sub, fan-out, mobile push&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SQS&lt;/strong&gt;: Queue, FIFO, DLQ, visibility timeout&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Integration&lt;/strong&gt;: SNS → SQS for reliable processing&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="step-functions---workflow-orchestration"&gt;&lt;strong&gt;Step Functions&lt;/strong&gt; - Workflow Orchestration&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;State Types&lt;/strong&gt;: Task, Choice, Parallel, Wait, Pass, Fail&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Workflows&lt;/strong&gt;: Standard (long-running), Express (high-volume)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Error Handling&lt;/strong&gt;: Retry, Catch, Fallback&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cloudwatch-alarms---threshold-monitoring"&gt;&lt;strong&gt;CloudWatch Alarms&lt;/strong&gt; - Threshold Monitoring&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;States&lt;/strong&gt;: OK, ALARM, INSUFFICIENT_DATA&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Types&lt;/strong&gt;: Metric, Composite, Anomaly Detection&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Actions&lt;/strong&gt;: SNS, Auto Scaling, EC2, Lambda&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-patterns"&gt;⚡ &lt;strong&gt;Key Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="event-driven-incident-response"&gt;&lt;strong&gt;Event-Driven Incident Response&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;CloudWatch Alarm → EventBridge → Lambda → [SNS + Step Functions + SQS]&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="fan-out-processing"&gt;&lt;strong&gt;Fan-Out Processing&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;EventBridge → SNS Topic → Multiple SQS Queues → Lambda Functions&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="automated-remediation"&gt;&lt;strong&gt;Automated Remediation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;GuardDuty Finding → EventBridge → Step Functions → [Isolate + Notify + Investigate]&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-exam-scenarios"&gt;🎯 &lt;strong&gt;Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-automated-incident-response"&gt;&lt;strong&gt;Scenario 1: Automated incident response&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;CloudWatch Alarm triggers EventBridge rule&lt;/li&gt;&#10;&lt;li&gt;EventBridge routes to Lambda for initial response&lt;/li&gt;&#10;&lt;li&gt;Lambda creates Step Functions workflow for complex remediation&lt;/li&gt;&#10;&lt;li&gt;SNS sends notifications to operations team&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-2-high-volume-event-processing"&gt;&lt;strong&gt;Scenario 2: High-volume event processing&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Use Express Step Functions for high throughput&lt;/li&gt;&#10;&lt;li&gt;Implement SQS with batch processing&lt;/li&gt;&#10;&lt;li&gt;Configure DLQ for failed events&lt;/li&gt;&#10;&lt;li&gt;Monitor with CloudWatch metrics&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-3-cross-account-event-handling"&gt;&lt;strong&gt;Scenario 3: Cross-account event handling&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Set up cross-account EventBridge permissions&lt;/li&gt;&#10;&lt;li&gt;Use IAM roles for service integration&lt;/li&gt;&#10;&lt;li&gt;Implement proper error handling and monitoring&lt;/li&gt;&#10;&lt;li&gt;Ensure event delivery and processing&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-quick-commands"&gt;📋 &lt;strong&gt;Quick Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# EventBridge&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws events put-rule --name MyRule --event-pattern file://pattern.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws events put-targets --rule MyRule --targets Id&lt;span style="color:#f92672"&gt;=&lt;/span&gt;1,Arn&lt;span style="color:#f92672"&gt;=&lt;/span&gt;arn:aws:lambda:us-east-1:123456789012:function:MyFunction&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Lambda&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws lambda create-function --function-name MyFunction --runtime python3.9 --role MyRole --handler index.handler&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws lambda invoke --function-name MyFunction --payload &lt;span style="color:#e6db74"&gt;&amp;#39;{&amp;#34;key&amp;#34;:&amp;#34;value&amp;#34;}&amp;#39;&lt;/span&gt; response.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# SNS/SQS&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws sns create-topic --name MyTopic&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws sqs create-queue --queue-name MyQueue&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws sns subscribe --topic-arn MyTopicArn --protocol sqs --notification-endpoint MyQueueArn&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Step Functions&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws stepfunctions create-state-machine --name MyStateMachine --definition file://definition.json --role-arn MyRole&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws stepfunctions start-execution --state-machine-arn MyStateMachineArn --input &lt;span style="color:#e6db74"&gt;&amp;#39;{&amp;#34;key&amp;#34;:&amp;#34;value&amp;#34;}&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CloudWatch Alarms&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudwatch put-metric-alarm --alarm-name HighCPU --metric-name CPUUtilization --threshold &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-cloudwatch-alarm-actions"&gt;🚨 &lt;strong&gt;CloudWatch Alarm Actions&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="supported-actions"&gt;&lt;strong&gt;Supported Actions&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;SNS&lt;/strong&gt;: Send notifications&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;: Scale EC2 instances&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;EC2&lt;/strong&gt;: Stop, terminate, reboot, recover&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Systems Manager&lt;/strong&gt;: Execute automation&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="alarm-states"&gt;&lt;strong&gt;Alarm States&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;OK&lt;/strong&gt;: Metric within threshold&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ALARM&lt;/strong&gt;: Metric breached threshold&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;INSUFFICIENT_DATA&lt;/strong&gt;: Not enough data points&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-step-functions-state-types"&gt;🔄 &lt;strong&gt;Step Functions State Types&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="task-execute-work-lambda-ecs-sns-etc"&gt;&lt;strong&gt;Task&lt;/strong&gt;: Execute work (Lambda, ECS, SNS, etc.)&lt;/h3&gt;&#10;&lt;h3 id="choice-conditional-branching"&gt;&lt;strong&gt;Choice&lt;/strong&gt;: Conditional branching&lt;/h3&gt;&#10;&lt;h3 id="parallel-execute-branches-concurrently"&gt;&lt;strong&gt;Parallel&lt;/strong&gt;: Execute branches concurrently&lt;/h3&gt;&#10;&lt;h3 id="wait-delay-execution"&gt;&lt;strong&gt;Wait&lt;/strong&gt;: Delay execution&lt;/h3&gt;&#10;&lt;h3 id="pass-pass-input-to-output"&gt;&lt;strong&gt;Pass&lt;/strong&gt;: Pass input to output&lt;/h3&gt;&#10;&lt;h3 id="fail-stop-execution-with-failure"&gt;&lt;strong&gt;Fail&lt;/strong&gt;: Stop execution with failure&lt;/h3&gt;&#10;&lt;h3 id="succeed-stop-execution-successfully"&gt;&lt;strong&gt;Succeed&lt;/strong&gt;: Stop execution successfully&lt;/h3&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-snssqs-integration-patterns"&gt;📨 &lt;strong&gt;SNS/SQS Integration Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="fan-out-pattern"&gt;&lt;strong&gt;Fan-Out Pattern&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;SNS Topic → Multiple SQS Queues → Different Lambda Functions&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="fifo-processing"&gt;&lt;strong&gt;FIFO Processing&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Application → SQS FIFO Queue → Lambda (ordered processing)&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="dead-letter-queue"&gt;&lt;strong&gt;Dead Letter Queue&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;SQS Queue → Failed Messages → DLQ → Manual Investigation&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-lambda-best-practices"&gt;⚡ &lt;strong&gt;Lambda Best Practices&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="performance"&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Use provisioned concurrency for consistent latency&lt;/li&gt;&#10;&lt;li&gt;Optimize memory allocation (CPU scales with memory)&lt;/li&gt;&#10;&lt;li&gt;Reuse connections and clients outside handler&lt;/li&gt;&#10;&lt;li&gt;Use environment variables for configuration&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="error-handling"&gt;&lt;strong&gt;Error Handling&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Configure DLQ for async invocations&lt;/li&gt;&#10;&lt;li&gt;Implement exponential backoff for retries&lt;/li&gt;&#10;&lt;li&gt;Use proper exception handling&lt;/li&gt;&#10;&lt;li&gt;Monitor with CloudWatch and X-Ray&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-common-mistakes"&gt;⚠️ &lt;strong&gt;Common Mistakes&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Not configuring DLQ for failed Lambda invocations&lt;/li&gt;&#10;&lt;li&gt;Forgetting to set SQS visibility timeout properly&lt;/li&gt;&#10;&lt;li&gt;Not implementing proper error handling in Step Functions&lt;/li&gt;&#10;&lt;li&gt;Missing IAM permissions for cross-service integration&lt;/li&gt;&#10;&lt;li&gt;Not monitoring EventBridge rule metrics&lt;/li&gt;&#10;&lt;li&gt;Hardcoding values instead of using environment variables&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-points"&gt;🔑 &lt;strong&gt;Key Points&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;EventBridge&lt;/strong&gt; is regional, use replication for multi-region&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lambda&lt;/strong&gt; has 15-minute max execution time&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SQS&lt;/strong&gt; visibility timeout should be 6x Lambda timeout&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Step Functions&lt;/strong&gt; Standard vs Express (cost vs features)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SNS&lt;/strong&gt; delivers at-least-once, SQS FIFO exactly-once&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch Alarms&lt;/strong&gt; evaluate every period, not continuously&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Domain 6: Security and Compliance Cheatsheet</title><link>https://www.album69.com/dop-c02/cheatsheets/domain6-security-compliance-cheatsheet/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/domain6-security-compliance-cheatsheet/</guid><description>&lt;h2 id="weight-17--focus-iam-kms-secrets-manager-waf-certificate-manager"&gt;Weight: 17% | Focus: IAM, KMS, Secrets Manager, WAF, Certificate Manager&lt;/h2&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-must-know-services"&gt;🔥 &lt;strong&gt;MUST KNOW Services&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="iam---identity--access-management"&gt;&lt;strong&gt;IAM&lt;/strong&gt; - Identity &amp;amp; Access Management&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Users&lt;/strong&gt;: Long-term credentials, MFA&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Roles&lt;/strong&gt;: Temporary credentials, cross-account access&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Policies&lt;/strong&gt;: JSON documents, least privilege&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Groups&lt;/strong&gt;: Collection of users with shared permissions&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="kms---key-management-service"&gt;&lt;strong&gt;KMS&lt;/strong&gt; - Key Management Service&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CMK&lt;/strong&gt;: Customer Managed Keys ($1/month)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;AWS Managed&lt;/strong&gt;: Free, automatic rotation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Envelope Encryption&lt;/strong&gt;: Data keys for large objects&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cross-Region&lt;/strong&gt;: Multi-region keys available&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="secrets-manager---secrets-storage--rotation"&gt;&lt;strong&gt;Secrets Manager&lt;/strong&gt; - Secrets Storage &amp;amp; Rotation&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Automatic Rotation&lt;/strong&gt;: RDS, Aurora, DocumentDB, Redshift&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cross-Region Replication&lt;/strong&gt;: Disaster recovery&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Integration&lt;/strong&gt;: Lambda, ECS, RDS&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Versioning&lt;/strong&gt;: AWSCURRENT, AWSPENDING, AWSPREVIOUS&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="waf---web-application-firewall"&gt;&lt;strong&gt;WAF&lt;/strong&gt; - Web Application Firewall&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Rule Types&lt;/strong&gt;: Rate-based, IP, Geo, String match&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Managed Rules&lt;/strong&gt;: AWS and marketplace rules&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Integration&lt;/strong&gt;: CloudFront, ALB, API Gateway&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Logging&lt;/strong&gt;: CloudWatch Logs, S3, Kinesis&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="certificate-manager---ssltls-certificates"&gt;&lt;strong&gt;Certificate Manager&lt;/strong&gt; - SSL/TLS Certificates&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Public Certs&lt;/strong&gt;: Free for AWS services&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Private CA&lt;/strong&gt;: Additional charges&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Validation&lt;/strong&gt;: DNS (automated), Email&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Integration&lt;/strong&gt;: CloudFront, ALB, API Gateway&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-patterns"&gt;⚡ &lt;strong&gt;Key Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="cross-account-access"&gt;&lt;strong&gt;Cross-Account Access&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Source Account → Assume Role → Target Account Role → Access Resources&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="secrets-rotation"&gt;&lt;strong&gt;Secrets Rotation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Secrets Manager → Lambda Rotation Function → Database → Update Secret&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;h3 id="encryption-at-rest"&gt;&lt;strong&gt;Encryption at Rest&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Application → KMS Data Key → Encrypt Data → Store Encrypted Data + Encrypted Key&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-exam-scenarios"&gt;🎯 &lt;strong&gt;Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-cross-account-s3-access"&gt;&lt;strong&gt;Scenario 1: Cross-account S3 access&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Create IAM role in target account&lt;/li&gt;&#10;&lt;li&gt;Configure trust policy for source account&lt;/li&gt;&#10;&lt;li&gt;Grant S3 permissions to role&lt;/li&gt;&#10;&lt;li&gt;Source account assumes role to access S3&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-2-database-password-rotation"&gt;&lt;strong&gt;Scenario 2: Database password rotation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Store credentials in Secrets Manager&lt;/li&gt;&#10;&lt;li&gt;Enable automatic rotation with Lambda&lt;/li&gt;&#10;&lt;li&gt;Update application to retrieve from Secrets Manager&lt;/li&gt;&#10;&lt;li&gt;Monitor rotation success with CloudWatch&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="scenario-3-web-application-security"&gt;&lt;strong&gt;Scenario 3: Web application security&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Deploy WAF with managed rule groups&lt;/li&gt;&#10;&lt;li&gt;Configure rate limiting and geo-blocking&lt;/li&gt;&#10;&lt;li&gt;Set up SSL termination with ACM&lt;/li&gt;&#10;&lt;li&gt;Monitor attacks with CloudWatch metrics&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-quick-commands"&gt;📋 &lt;strong&gt;Quick Commands&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# IAM&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws iam create-role --role-name MyRole --assume-role-policy-document file://trust-policy.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws iam attach-role-policy --role-name MyRole --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws sts assume-role --role-arn arn:aws:iam::123456789012:role/MyRole --role-session-name MySession&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# KMS&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws kms create-key --description &lt;span style="color:#e6db74"&gt;&amp;#34;My encryption key&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws kms encrypt --key-id alias/my-key --plaintext &lt;span style="color:#e6db74"&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws kms decrypt --ciphertext-blob fileb://encrypted-data&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Secrets Manager&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws secretsmanager create-secret --name MySecret --secret-string &lt;span style="color:#e6db74"&gt;&amp;#39;{&amp;#34;username&amp;#34;:&amp;#34;admin&amp;#34;,&amp;#34;password&amp;#34;:&amp;#34;secret&amp;#34;}&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws secretsmanager get-secret-value --secret-id MySecret&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws secretsmanager rotate-secret --secret-id MySecret&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# WAF&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws wafv2 create-web-acl --name MyWebACL --scope REGIONAL --default-action Allow&lt;span style="color:#f92672"&gt;={}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws wafv2 associate-web-acl --web-acl-arn MyWebACLArn --resource-arn MyALBArn&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Certificate Manager&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws acm request-certificate --domain-name example.com --validation-method DNS&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws acm list-certificates&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-iam-policy-evaluation-logic"&gt;🔐 &lt;strong&gt;IAM Policy Evaluation Logic&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="order-of-evaluation"&gt;&lt;strong&gt;Order of Evaluation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Explicit Deny&lt;/strong&gt; - Always wins&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Explicit Allow&lt;/strong&gt; - Required for access&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Default Deny&lt;/strong&gt; - No explicit allow = deny&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="policy-types"&gt;&lt;strong&gt;Policy Types&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Identity-based&lt;/strong&gt;: Attached to users, groups, roles&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Resource-based&lt;/strong&gt;: Attached to resources (S3, KMS)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Permission Boundaries&lt;/strong&gt;: Maximum permissions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SCPs&lt;/strong&gt;: Organization-level guardrails&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-kms-key-types--usage"&gt;🔑 &lt;strong&gt;KMS Key Types &amp;amp; Usage&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="symmetric-keys-aes-256"&gt;&lt;strong&gt;Symmetric Keys&lt;/strong&gt; (AES-256)&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Same key for encrypt/decrypt&lt;/li&gt;&#10;&lt;li&gt;Never leaves AWS unencrypted&lt;/li&gt;&#10;&lt;li&gt;Used for envelope encryption&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="asymmetric-keys"&gt;&lt;strong&gt;Asymmetric Keys&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Key pair (public/private)&lt;/li&gt;&#10;&lt;li&gt;Public key can be downloaded&lt;/li&gt;&#10;&lt;li&gt;Used for encrypt/decrypt or sign/verify&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="key-rotation"&gt;&lt;strong&gt;Key Rotation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Automatic&lt;/strong&gt;: Yearly for customer managed keys&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Manual&lt;/strong&gt;: Create new key, update applications&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-secrets-manager-rotation"&gt;🔄 &lt;strong&gt;Secrets Manager Rotation&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="supported-services"&gt;&lt;strong&gt;Supported Services&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;RDS (MySQL, PostgreSQL, Oracle, SQL Server)&lt;/li&gt;&#10;&lt;li&gt;Aurora (MySQL, PostgreSQL)&lt;/li&gt;&#10;&lt;li&gt;DocumentDB, Redshift&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="rotation-process"&gt;&lt;strong&gt;Rotation Process&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Create&lt;/strong&gt;: Generate new secret version&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Set&lt;/strong&gt;: Update service with new credentials&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Test&lt;/strong&gt;: Verify new credentials work&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Finish&lt;/strong&gt;: Mark new version as current&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-waf-rule-types"&gt;🛡️ &lt;strong&gt;WAF Rule Types&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="rate-based-rules"&gt;&lt;strong&gt;Rate-based Rules&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Limit requests per 5-minute window&lt;/li&gt;&#10;&lt;li&gt;Automatic blocking when exceeded&lt;/li&gt;&#10;&lt;li&gt;Configurable rate limit&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="managed-rule-groups"&gt;&lt;strong&gt;Managed Rule Groups&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Core Rule Set&lt;/strong&gt;: OWASP Top 10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Known Bad Inputs&lt;/strong&gt;: Common attack patterns&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SQL Database&lt;/strong&gt;: SQL injection protection&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-certificate-manager"&gt;📜 &lt;strong&gt;Certificate Manager&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="validation-methods"&gt;&lt;strong&gt;Validation Methods&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt;: Add CNAME record (recommended)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt;: Click link in validation email&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="certificate-types"&gt;&lt;strong&gt;Certificate Types&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Public&lt;/strong&gt;: Free for AWS services&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Private&lt;/strong&gt;: Issued by AWS Private CA (charged)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Imported&lt;/strong&gt;: Third-party certificates&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-common-mistakes"&gt;⚠️ &lt;strong&gt;Common Mistakes&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Using root user for daily operations&lt;/li&gt;&#10;&lt;li&gt;Not enabling MFA for privileged accounts&lt;/li&gt;&#10;&lt;li&gt;Hardcoding credentials in code&lt;/li&gt;&#10;&lt;li&gt;Not rotating access keys regularly&lt;/li&gt;&#10;&lt;li&gt;Overly permissive IAM policies&lt;/li&gt;&#10;&lt;li&gt;Not monitoring failed authentication attempts&lt;/li&gt;&#10;&lt;li&gt;Forgetting to validate certificates before expiration&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-points"&gt;🔑 &lt;strong&gt;Key Points&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;IAM&lt;/strong&gt; is global, policies are JSON&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Roles&lt;/strong&gt; are preferred over users for applications&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;KMS&lt;/strong&gt; keys are regional, multi-region keys available&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Secrets Manager&lt;/strong&gt; charges per secret per month&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;WAF&lt;/strong&gt; operates at Layer 7 (application layer)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ACM&lt;/strong&gt; certificates are free for AWS services&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cross-account&lt;/strong&gt; access requires proper trust policies&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>DOP-C02 Exam Strategy Guide</title><link>https://www.album69.com/dop-c02/cheatsheets/exam-strategy/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/exam-strategy/</guid><description>&lt;h2 id="-exam-overview"&gt;🎯 &lt;strong&gt;Exam Overview&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="exam-details"&gt;&lt;strong&gt;Exam Details&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Duration&lt;/strong&gt;: 180 minutes (3 hours)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Questions&lt;/strong&gt;: 75 questions (65 scored + 10 unscored; multiple choice and multiple response)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Passing Score&lt;/strong&gt;: 750/1000 (approximately 75%)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cost&lt;/strong&gt;: $300 USD&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Validity&lt;/strong&gt;: 3 years&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Format&lt;/strong&gt;: Computer-based testing (Pearson VUE)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-breakdown"&gt;&lt;strong&gt;Domain Breakdown&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Domain&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Weight&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Questions&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Time Allocation&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1. SDLC Automation&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;22%&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~14-15&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;40 minutes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2. Infrastructure as Code&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;17%&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~11&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;31 minutes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3. Resilient Cloud Solutions&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;15%&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;27 minutes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;4. Monitoring and Logging&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;15%&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;27 minutes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;5. Incident and Event Response&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;14%&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~9&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;25 minutes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;6. Security and Compliance&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;17%&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~11&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;31 minutes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="-time-management-strategy"&gt;⏰ &lt;strong&gt;Time Management Strategy&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="three-pass-approach"&gt;&lt;strong&gt;Three-Pass Approach&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;First Pass (90 minutes)&lt;/strong&gt; - Answer all questions you&amp;rsquo;re confident about&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Second Pass (60 minutes)&lt;/strong&gt; - Review flagged questions and difficult scenarios&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Final Pass (30 minutes)&lt;/strong&gt; - Final review and educated guesses&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="per-question-time-allocation"&gt;&lt;strong&gt;Per-Question Time Allocation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Simple factual questions&lt;/strong&gt;: 1-2 minutes&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Scenario-based questions&lt;/strong&gt;: 3-4 minutes&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Complex multi-service questions&lt;/strong&gt;: 4-5 minutes&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Flag and move on&lt;/strong&gt;: If unsure after 3 minutes&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="time-checkpoints"&gt;&lt;strong&gt;Time Checkpoints&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;60 minutes&lt;/strong&gt;: Should have completed ~22 questions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;120 minutes&lt;/strong&gt;: Should have completed ~43 questions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;150 minutes&lt;/strong&gt;: Should have completed all questions (first pass)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-question-types-and-strategies"&gt;📝 &lt;strong&gt;Question Types and Strategies&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="1-factual-knowledge-questions-30"&gt;&lt;strong&gt;1. Factual Knowledge Questions (30%)&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: &amp;ldquo;Which AWS service provides managed Git repositories?&amp;rdquo;&lt;/p&gt;</description></item><item><title>DOP-C02 Final Exam Tips - Last Night Review</title><link>https://www.album69.com/dop-c02/cheatsheets/final-exam-tips/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/final-exam-tips/</guid><description>&lt;h2 id="-exam-format"&gt;🎯 &lt;strong&gt;Exam Format&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;75 Questions (65 scored + 10 unscored)&lt;/strong&gt; | &lt;strong&gt;180 Minutes&lt;/strong&gt; | &lt;strong&gt;Pass Score: 750/1000&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Multiple Choice&lt;/strong&gt; and &lt;strong&gt;Multiple Response&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Scenario-based&lt;/strong&gt; questions with real-world situations&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-time-management"&gt;⚡ &lt;strong&gt;Time Management&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;2.7 minutes per question&lt;/strong&gt; average&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Flag difficult questions&lt;/strong&gt; and return later&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Read questions carefully&lt;/strong&gt; - look for key words&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Eliminate wrong answers&lt;/strong&gt; first&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-high-impact-topics-study-these-first"&gt;🔥 &lt;strong&gt;High-Impact Topics (Study These First)&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="domain-1-22---cicd-automation"&gt;&lt;strong&gt;Domain 1 (22%) - CI/CD Automation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ CodePipeline cross-account deployments&lt;/li&gt;&#10;&lt;li&gt;✅ Blue/green vs rolling deployments&lt;/li&gt;&#10;&lt;li&gt;✅ buildspec.yml and appspec.yml syntax&lt;/li&gt;&#10;&lt;li&gt;✅ CodeDeploy deployment configurations&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-3-15---resilient-solutions"&gt;&lt;strong&gt;Domain 3 (15%) - Resilient Solutions&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ Multi-AZ vs Read Replicas&lt;/li&gt;&#10;&lt;li&gt;✅ Auto Scaling policies and health checks&lt;/li&gt;&#10;&lt;li&gt;✅ Route 53 routing policies and failover&lt;/li&gt;&#10;&lt;li&gt;✅ Load balancer types and use cases&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-2-17---infrastructure-as-code"&gt;&lt;strong&gt;Domain 2 (17%) - Infrastructure as Code&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ CloudFormation intrinsic functions&lt;/li&gt;&#10;&lt;li&gt;✅ StackSets cross-account deployment&lt;/li&gt;&#10;&lt;li&gt;✅ Config rules and remediation&lt;/li&gt;&#10;&lt;li&gt;✅ Systems Manager Parameter Store&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="domain-5-14---incident-response"&gt;&lt;strong&gt;Domain 5 (14%) - Incident Response&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ EventBridge event patterns and routing&lt;/li&gt;&#10;&lt;li&gt;✅ Step Functions state types and error handling&lt;/li&gt;&#10;&lt;li&gt;✅ Lambda error handling and DLQ&lt;/li&gt;&#10;&lt;li&gt;✅ SNS/SQS integration patterns&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-common-exam-traps"&gt;🚨 &lt;strong&gt;Common Exam Traps&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="service-confusion"&gt;&lt;strong&gt;Service Confusion&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CloudWatch vs CloudTrail&lt;/strong&gt;: Metrics/Logs vs API Auditing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Config vs CloudTrail&lt;/strong&gt;: Configuration vs API calls&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SNS vs SQS&lt;/strong&gt;: Push vs Pull messaging&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ALB vs NLB&lt;/strong&gt;: Layer 7 vs Layer 4&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cross-account-patterns"&gt;&lt;strong&gt;Cross-Account Patterns&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Always use &lt;strong&gt;IAM roles&lt;/strong&gt;, never access keys&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Trust policies&lt;/strong&gt; must allow source account&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;S3 bucket policies&lt;/strong&gt; for artifact sharing&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;KMS key policies&lt;/strong&gt; for encrypted resources&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="deployment-strategies"&gt;&lt;strong&gt;Deployment Strategies&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Blue/Green&lt;/strong&gt;: Zero downtime, full environment swap&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Rolling&lt;/strong&gt;: Gradual replacement, some downtime&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Canary&lt;/strong&gt;: Gradual traffic shift, risk mitigation&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Immutable&lt;/strong&gt;: New instances, terminate old&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-key-formulas--numbers"&gt;📝 &lt;strong&gt;Key Formulas &amp;amp; Numbers&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="rds"&gt;&lt;strong&gt;RDS&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Multi-AZ failover: &lt;strong&gt;60-120 seconds&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Read replica lag: &lt;strong&gt;Asynchronous&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Backup retention: &lt;strong&gt;0-35 days&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="lambda"&gt;&lt;strong&gt;Lambda&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Max execution time: &lt;strong&gt;15 minutes&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Default concurrency: &lt;strong&gt;1000&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Memory range: &lt;strong&gt;128MB - 10,240MB&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="auto-scaling"&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Health check grace period: &lt;strong&gt;300 seconds default&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Cooldown period: &lt;strong&gt;300 seconds default&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Scale-out: &lt;strong&gt;Faster&lt;/strong&gt; | Scale-in: &lt;strong&gt;Slower&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cloudformation"&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Template size limit: &lt;strong&gt;51,200 characters&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Stack limit per region: &lt;strong&gt;200&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Parameter limit: &lt;strong&gt;200&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-scenario-recognition-patterns"&gt;🎯 &lt;strong&gt;Scenario Recognition Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="--bluegreen"&gt;&lt;strong&gt;&amp;ldquo;Zero Downtime Deployment&amp;rdquo;&lt;/strong&gt; → Blue/Green&lt;/h3&gt;&#10;&lt;h3 id="--iam-roles--trust-policies"&gt;&lt;strong&gt;&amp;ldquo;Cross-Account Access&amp;rdquo;&lt;/strong&gt; → IAM Roles + Trust Policies&lt;/h3&gt;&#10;&lt;h3 id="--rds-multi-az"&gt;&lt;strong&gt;&amp;ldquo;High Availability Database&amp;rdquo;&lt;/strong&gt; → RDS Multi-AZ&lt;/h3&gt;&#10;&lt;h3 id="--route-53--cloudfront--multi-region"&gt;&lt;strong&gt;&amp;ldquo;Global Application&amp;rdquo;&lt;/strong&gt; → Route 53 + CloudFront + Multi-Region&lt;/h3&gt;&#10;&lt;h3 id="--config-rules--remediation"&gt;&lt;strong&gt;&amp;ldquo;Automated Compliance&amp;rdquo;&lt;/strong&gt; → Config Rules + Remediation&lt;/h3&gt;&#10;&lt;h3 id="--eventbridge--lambda"&gt;&lt;strong&gt;&amp;ldquo;Event-Driven Architecture&amp;rdquo;&lt;/strong&gt; → EventBridge + Lambda&lt;/h3&gt;&#10;&lt;h3 id="--secrets-manager--rotation"&gt;&lt;strong&gt;&amp;ldquo;Secure Secrets&amp;rdquo;&lt;/strong&gt; → Secrets Manager + Rotation&lt;/h3&gt;&#10;&lt;h3 id="--waf--shield--acm"&gt;&lt;strong&gt;&amp;ldquo;Web Application Security&amp;rdquo;&lt;/strong&gt; → WAF + Shield + ACM&lt;/h3&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-last-minute-gotchas"&gt;⚠️ &lt;strong&gt;Last-Minute Gotchas&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="iam"&gt;&lt;strong&gt;IAM&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Root user ≠ Administrator user&lt;/li&gt;&#10;&lt;li&gt;Explicit deny always wins&lt;/li&gt;&#10;&lt;li&gt;Cross-account requires trust policy&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="kms"&gt;&lt;strong&gt;KMS&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Customer managed keys cost $1/month&lt;/li&gt;&#10;&lt;li&gt;AWS managed keys are free&lt;/li&gt;&#10;&lt;li&gt;Multi-region keys have same key ID&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="s3"&gt;&lt;strong&gt;S3&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Cross-region replication requires versioning&lt;/li&gt;&#10;&lt;li&gt;Objects existing before CRR setup are NOT replicated&lt;/li&gt;&#10;&lt;li&gt;Same-region replication for compliance&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cloudformation-1"&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Outputs can be exported for cross-stack reference&lt;/li&gt;&#10;&lt;li&gt;DependsOn for explicit dependencies&lt;/li&gt;&#10;&lt;li&gt;DeletionPolicy: Retain/Snapshot/Delete&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-cli-command-patterns"&gt;🔧 &lt;strong&gt;CLI Command Patterns&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="always-remember"&gt;&lt;strong&gt;Always Remember&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Assume role pattern&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws sts assume-role --role-arn ROLE_ARN --role-session-name SESSION_NAME&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CloudFormation with parameters&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws cloudformation create-stack --stack-name NAME --template-body file://template.yaml --parameters file://params.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# CodePipeline execution&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws codepipeline start-pipeline-execution --name PIPELINE_NAME&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Auto Scaling policy&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws autoscaling put-scaling-policy --auto-scaling-group-name ASG_NAME --policy-name POLICY_NAME&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="-final-30-minute-review"&gt;🎯 &lt;strong&gt;Final 30-Minute Review&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="read-these-sections"&gt;&lt;strong&gt;Read These Sections&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Domain weights and key services&lt;/li&gt;&#10;&lt;li&gt;Cross-account deployment patterns&lt;/li&gt;&#10;&lt;li&gt;Blue/green deployment steps&lt;/li&gt;&#10;&lt;li&gt;Multi-AZ vs Read Replica differences&lt;/li&gt;&#10;&lt;li&gt;EventBridge event routing patterns&lt;/li&gt;&#10;&lt;li&gt;IAM policy evaluation logic&lt;/li&gt;&#10;&lt;li&gt;Common service integration patterns&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="mental-checklist"&gt;&lt;strong&gt;Mental Checklist&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ Can I explain cross-account IAM roles?&lt;/li&gt;&#10;&lt;li&gt;✅ Do I know when to use each deployment strategy?&lt;/li&gt;&#10;&lt;li&gt;✅ Can I differentiate between AWS services?&lt;/li&gt;&#10;&lt;li&gt;✅ Do I understand event-driven architectures?&lt;/li&gt;&#10;&lt;li&gt;✅ Can I design resilient multi-AZ solutions?&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="-you"&gt;💪 &lt;strong&gt;You&amp;rsquo;ve Got This!&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Remember&lt;/strong&gt;: The exam tests &lt;strong&gt;practical knowledge&lt;/strong&gt; and &lt;strong&gt;real-world scenarios&lt;/strong&gt;. Trust your preparation and think like a DevOps engineer solving actual problems.&lt;/p&gt;</description></item><item><title>DOP-C02 Practice Scenarios - Exam Simulation</title><link>https://www.album69.com/dop-c02/cheatsheets/practice-scenarios/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://www.album69.com/dop-c02/cheatsheets/practice-scenarios/</guid><description>&lt;h2 id="-high-frequency-exam-scenarios"&gt;🎯 &lt;strong&gt;High-Frequency Exam Scenarios&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;h3 id="scenario-1-cross-account-cicd-pipeline"&gt;&lt;strong&gt;Scenario 1: Cross-Account CI/CD Pipeline&lt;/strong&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: A company needs to deploy applications from a development account to production accounts across multiple regions. The solution must be secure, automated, and support rollback capabilities.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Key Requirements&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Cross-account deployment&lt;/li&gt;&#10;&lt;li&gt;Multi-region support&lt;/li&gt;&#10;&lt;li&gt;Automated rollback&lt;/li&gt;&#10;&lt;li&gt;Security best practices&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Solution Pattern&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;Dev Account: CodeCommit → CodePipeline → CodeBuild&#10; ↓&#10;Cross-Account IAM Role Assumption&#10; ↓&#10;Prod Accounts: CloudFormation → Application Deployment&#10; ↓&#10;CloudWatch Monitoring → Automated Rollback (if needed)&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;p&gt;&lt;strong&gt;Implementation Steps&lt;/strong&gt;:&lt;/p&gt;</description></item></channel></rss>