← Back

AWS Developer Encyclopedia - Full Sidebar

AWS Developer Encyclopedia — Capability-by-Capability Format

Sidebar update: Every topic and every AWS service in this file is now shown explicitly in the left sidebar. There are no grouped shortcuts such as “” or “and more.” Use the search box to filter the full list.

This version is built in the style you requested: each service is explained like a developer lesson, not just a short definition. Every service includes meaning, concepts, creation path, IAM role/policy pattern, SDK/CLI starter, integrations, monitoring, security, production scope, business use cases, mistakes, practice path, and official AWS documentation links. A new Explicit AWS Service Directory has been added so the page does not hide items behind shorthand count labels or vague continuation phrases.

Important: AWS has over 200 services and each service has many subfeatures. One HTML file cannot realistically contain 100+ pages for every service and stay usable in a browser. This file gives the deepest practical single-file encyclopedia format and applies the same capability template to all services, with extra detail for core services such as Lambda, EC2, S3, IAM, DynamoDB, VPC, API Gateway, RDS, CloudFront, and Amazon Connect.

How to learn each service

LevelWhat to learnDeveloper output
BeginnerWhat the service is, what resource you create, and the business problem it solves.Create a demo resource manually and explain every field.
IntermediateIAM, networking, storage, triggers, integrations, logs, metrics, quotas, and pricing.Create the same resource with CLI/SDK/IaC and connect it to another service.
ProductionLeast privilege, high availability, failure behavior, backup/restore, alarms, CI/CD, and runbooks.Deploy with IaC, test failure scenarios, and document operations.
ExpertMulti-account, multi-region, security governance, cost optimization, and service limits.Design reusable platform patterns for teams.

Official AWS links for How to Study AWS

AWS Account Setup — Beginner to Production

What is an AWS account?

An AWS account is the security, billing, and resource boundary for AWS. Every resource belongs to an account and region. For production, do not keep everything in one account. Use multiple accounts for management, security tooling, shared services, development, staging, and production.

Step-by-step setup

  1. Create the AWS account with a secure root email.
  2. Enable MFA on the root user immediately.
  3. Set alternate contacts for billing, operations, and security.
  4. Enable billing alerts, AWS Budgets, and Cost Anomaly Detection.
  5. Create IAM Identity Center for human access; avoid daily IAM users.
  6. Create admin permission set for initial setup, then create least-privilege permission sets.
  7. Create baseline CloudTrail, Config, GuardDuty, Security Hub, and centralized logs.
  8. Use Organizations/Control Tower for multi-account governance.
  9. Use separate accounts/environments for production workloads.

Developer production checklist

Official study links

Official AWS links for Account Setup Deep

Initial AWS Free Tier Account Setup — Beginner Safe Path

This is the first practical module a new AWS learner should complete before creating EC2, S3, Lambda, RDS, or any other service. The goal is to create the account safely, protect the root user, configure cost protection, create a developer identity, configure CLI access, and understand what can create charges.

Important billing reality: AWS Free Tier is useful for learning, but every developer must still understand credits, service limits, regions, and pricing. Some services are always-free within limits, some are trial/credit-based, some require paid plan access, and running resources outside limits can bill your account.

1. What is AWS Free Tier in simple words?

AWS Free Tier is an AWS onboarding program for learning and experimentation. Current AWS documentation describes a Free account plan and a Paid account plan. The Free account plan is designed for proof-of-concept learning with credits and limited service access; the Paid account plan gives full access to AWS services and standard pay-as-you-go charges when usage exceeds credits or uses non-covered services.

PlanBest forAccessCost behaviorDeveloper warning
Free account planLearning, labs, student demos, first cloud practiceSelect AWS services and Always Free offersDesigned so charges do not occur until you upgrade; plan ends when credits/plan duration endSome services/features are unavailable. Do not design production workloads here.
Paid account planProduction apps, full AWS access, serious project deploymentAll AWS services and features immediatelyCredits can apply, but usage beyond credits or outside credits is charged normallyMust use budgets, alarms, least privilege, and cleanup discipline.

Beginner recommendation: Use the Free account plan only for learning. Use the Paid plan only when you understand budgets, pricing pages, service quotas, and cleanup.

2. Before creating the account — prepare these items

  • Permanent email: Use an email you will not lose. This becomes the root account email and billing/security contact.
  • Strong password: Use a password manager and a unique password.
  • Phone number: Keep it available for verification and future account recovery.
  • Payment/identity details: AWS sign-up may require payment or identity verification depending on country and plan. Keep the billing name/address accurate.
  • MFA device: Use an authenticator app or hardware security key. Do not postpone MFA.
  • Region choice: Pick one primary learning region, for example us-east-1, us-west-2, or the nearest supported region. Do not create resources in many regions as a beginner.
  • Cleanup notebook: Track every resource you create: service, region, name, date, cost risk, cleanup command.

3. Sign-up steps

  1. Open the official AWS Free Tier page and choose to create a free account.
  2. Enter root email and account name.
  3. Verify the email code.
  4. Enter contact information accurately.
  5. Complete payment/identity/phone verification if requested.
  6. Select the appropriate Free Tier plan. For learning, select the Free account plan if available in your region and scenario.
  7. Choose the free/basic support option unless you intentionally need a paid support plan.
  8. Sign in as root only for initial security and billing setup.
Rule: The root user is for account ownership and emergency operations, not daily development.

4. Immediately secure the root user

  1. Open IAM → Security credentials for the root user.
  2. Enable MFA for root.
  3. Delete root access keys if any exist.
  4. Set alternate contacts: billing, operations, security.
  5. Store the root email, MFA recovery codes/process, and account ID securely.
# There is no recommended CLI setup for root daily use.
# Root should not be used for CLI development.
# Use IAM Identity Center/federation or an IAM user only for controlled learning labs.

5. Enable billing visibility and safety

Beginner accounts usually fail because resources are left running. Set cost visibility before deploying anything.

Billing controlWhat to configureWhy it matters
AWS BudgetsCreate a monthly cost budget such as $1, $5, or your learning limitSends alerts before spending grows unexpectedly
Free Tier usage alertsEnable Free Tier alerts in Billing preferences where availableWarns when Free Tier limits are approaching/exceeded
Cost ExplorerReview daily cost by service and regionFinds forgotten EC2, NAT Gateway, RDS, snapshots, logs, IPs
Cost Anomaly DetectionCreate monitor for account/service spend anomaliesDetects unusual spending patterns
Billing access for IAMEnable IAM access to Billing only if neededLets non-root billing/admin roles view billing safely
# Example: create a very small monthly cost budget with AWS CLI.
# Replace account email and amount before using.
aws budgets create-budget \
  --account-id 123456789012 \
  --budget '{
    "BudgetName": "BeginnerMonthlyBudget",
    "BudgetLimit": {"Amount": "5", "Unit": "USD"},
    "TimeUnit": "MONTHLY",
    "BudgetType": "COST"
  }' \
  --notifications-with-subscribers '[{
    "Notification": {
      "NotificationType": "ACTUAL",
      "ComparisonOperator": "GREATER_THAN",
      "Threshold": 80,
      "ThresholdType": "PERCENTAGE"
    },
    "Subscribers": [{"SubscriptionType": "EMAIL", "Address": "you@example.com"}]
  }]'

6. Create developer access safely

For professional use, use IAM Identity Center or federation. For a single beginner lab account, an IAM admin user may be used temporarily, but it should have MFA and should not be shared.

Access typeUse forBeginner notes
Root userAccount recovery, billing root-only tasks, closing accountMFA required. No daily use.
IAM Identity Center userHuman developer console/CLI accessBest practice for teams and modern AWS access.
IAM userSmall personal labs only when Identity Center is not usedEnable MFA. Avoid long-lived access keys where possible.
IAM roleApplications, Lambda, EC2, CI/CD, cross-account accessPreferred for workloads. Roles have temporary credentials.

7. IAM admin setup for first learning account

  1. Create an administrator identity using IAM Identity Center if possible.
  2. If using IAM user for a lab, create a user like student-admin.
  3. Attach AdministratorAccess only for initial learning, not production.
  4. Enable MFA for that admin identity.
  5. Sign out root and sign in with the admin identity for daily work.
  6. Create least-privilege roles later for Lambda, EC2, S3, DynamoDB, and pipelines.
Production warning: Do not use a permanent IAM admin user as your production deployment identity. Use CI/CD roles with scoped permissions and approval controls.

8. Install and configure AWS CLI

A developer should know both Console and CLI. Console helps you learn fields visually; CLI helps automate and debug.

# Verify AWS CLI version
aws --version

# Configure a named learning profile.
# Use access keys only for controlled labs; prefer IAM Identity Center where possible.
aws configure --profile learning

# Check who you are
aws sts get-caller-identity --profile learning

# Check your default region
aws configure get region --profile learning

9. First safe test commands

# List S3 buckets. This should not create cost.
aws s3 ls --profile learning

# Check enabled regions/account identity.
aws sts get-caller-identity --profile learning

# List Lambda functions in your chosen region. This should not create cost.
aws lambda list-functions --region us-east-1 --profile learning

# List CloudWatch log groups. This should not create cost by itself.
aws logs describe-log-groups --region us-east-1 --profile learning

10. Beginner services to practice first

Learning orderServiceWhy start hereCost safety note
1IAMEvery AWS call depends on identity and permissionsIAM has no direct resource runtime cost, but wrong permissions cause security risk
2S3Simple object storage, static website hosting, SDK file upload/downloadDelete test objects/buckets; watch storage and requests
3LambdaServerless function, triggers, logs, IAM roleKeep timeout low and clean up unused functions/logs
4DynamoDBNoSQL database, key design, SDK CRUDUse on-demand or small provisioned capacity; delete test tables
5API GatewayExpose Lambda/API endpointsDelete test APIs/stages; monitor request count
6CloudWatchLogs, metrics, alarms, dashboardsSet log retention to avoid long-term log storage

11. Services beginners should be careful with

Service/resourceWhy it can surprise beginnersSafe behavior
NAT GatewayHourly and data processing charges can accumulate quicklyAvoid for beginner labs unless required; delete immediately after lab
RDS/AuroraDatabase instances, storage, backups, snapshots can continue billingUse small test instances only; stop/delete and remove snapshots if not needed
EC2Instances, EBS volumes, Elastic IPs, snapshots, load balancers may billStop or terminate; delete EBS volumes, snapshots, and unused Elastic IPs
OpenSearchManaged clusters can be expensive if left runningUse only after understanding pricing; delete test domains
CloudFrontGlobal distribution and invalidation behavior has pricing dimensionsUse cautiously; disable/delete test distributions
Bedrock/SageMakerModel invocation, endpoints, notebooks, and training can billUse small examples, delete endpoints/notebooks, monitor costs

12. Required cleanup habit

Every lab should end with cleanup. A professional developer learns to delete resources by service and region.

# Example cleanup checks by region
aws lambda list-functions --region us-east-1 --profile learning
aws apigateway get-rest-apis --region us-east-1 --profile learning
aws dynamodb list-tables --region us-east-1 --profile learning
aws ec2 describe-instances --region us-east-1 --profile learning
aws elbv2 describe-load-balancers --region us-east-1 --profile learning
aws rds describe-db-instances --region us-east-1 --profile learning
aws logs describe-log-groups --region us-east-1 --profile learning

13. Initial Free Tier production mindset

  • Never assume “free” means unlimited. Always check service limits and pricing.
  • Use one region for beginner labs unless the lesson is explicitly about global/multi-region design.
  • Tag every resource: Project, Owner, Environment, DeleteAfter.
  • Set CloudWatch log retention to 1–7 days for labs.
  • Prefer serverless beginner labs over always-running servers.
  • Use Infrastructure as Code once you understand manual creation.
  • Delete everything after practice unless you intentionally need it.

Official AWS links for Initial AWS Free Tier Account Setup

IAM Foundation — Policy, Role, Trust, PassRole

IAM is not optional. Every developer must understand IAM because every SDK/CLI/API request is evaluated by IAM. Most AWS errors in development are either AccessDenied, missing trust policy, wrong resource ARN, missing dependent action, or service control policy restriction.

Policy types

TypeWhere attachedPurpose
Identity policyUser, group, or roleAllows/denies actions for that identity.
Resource policyResource such as S3 bucket, Lambda function, KMS key, SQS queueControls who can access that resource.
Trust policyIAM roleControls who can assume the role.
Permission boundaryUser or roleMaximum permissions the identity can have.
SCPOrganization/account/OUMaximum permissions allowed in an account.

Sample service role trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Sample least-privilege policy pattern

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::my-app-bucket/uploads/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/my-app-*:*"
    }
  ]
}

iam:PassRole

iam:PassRole is required when a developer or pipeline creates a service resource and passes an execution role to that service, for example creating Lambda with a Lambda execution role or EC2 with an instance profile. Restrict it to exact role ARNs and use condition iam:PassedToService.

Official study links

Official AWS links for IAM Foundation Deep

Explicit AWS Service Directory — No Hidden “More” Items

Update: Every service lesson now includes an official AWS links block with service documentation, API reference search, CLI reference search, IAM authorization reference search, CloudFormation/IaC search, quotas, pricing, and code examples.

This section is added because you asked for every listed service name to be shown explicitly. The service lessons included in this HTML are listed by exact name below. Select any service name to jump to that lesson.

Developer note: AWS can launch, rename, combine, or retire services. This file explicitly lists the 229 named lessons included in this course version. For a live authoritative catalog, use the official AWS documentation and AWS product pages linked throughout the course.

Official AWS links for Explicit AWS Service Directory

All AWS Service Index

Use this index to jump to any service. Each service follows the same developer learning template.

AWS Account Management
Account Setup & Cloud Foundations
AWS Organizations
Account Setup & Cloud Foundations
AWS Control Tower
Account Setup & Cloud Foundations
IAM Identity Center
Account Setup & Cloud Foundations
AWS Billing
Account Setup & Cloud Foundations
AWS Budgets
Account Setup & Cloud Foundations
AWS Cost Explorer
Account Setup & Cloud Foundations
AWS Cost and Usage Report
Account Setup & Cloud Foundations
Savings Plans
Account Setup & Cloud Foundations
AWS Compute Optimizer
Account Setup & Cloud Foundations
AWS Trusted Advisor
Account Setup & Cloud Foundations
AWS Health
Account Setup & Cloud Foundations
AWS Identity and Access Management (IAM)
Security, Identity & Compliance
AWS Key Management Service (KMS)
Security, Identity & Compliance
AWS Secrets Manager
Security, Identity & Compliance
AWS Certificate Manager (ACM)
Security, Identity & Compliance
Amazon Cognito
Security, Identity & Compliance
AWS Directory Service
Security, Identity & Compliance
AWS CloudHSM
Security, Identity & Compliance
AWS WAF
Security, Identity & Compliance
AWS Shield
Security, Identity & Compliance
AWS Firewall Manager
Security, Identity & Compliance
Amazon GuardDuty
Security, Identity & Compliance
AWS Security Hub
Security, Identity & Compliance
Amazon Inspector
Security, Identity & Compliance
Amazon Macie
Security, Identity & Compliance
Amazon Detective
Security, Identity & Compliance
AWS Audit Manager
Security, Identity & Compliance
AWS Artifact
Security, Identity & Compliance
AWS Network Firewall
Security, Identity & Compliance
AWS Resource Access Manager (RAM)
Security, Identity & Compliance
Amazon Verified Permissions
Security, Identity & Compliance
AWS Private CA
Security, Identity & Compliance
Amazon Security Lake
Security, Identity & Compliance
Amazon EC2
Compute
Amazon EC2 Auto Scaling
Compute
Elastic Load Balancing
Compute
AWS Lambda
Compute
AWS Elastic Beanstalk
Compute
AWS Batch
Compute
Amazon Lightsail
Compute
AWS App Runner
Compute
AWS Fargate
Compute
AWS Outposts
Compute
AWS Wavelength
Compute
AWS Local Zones
Compute
EC2 Image Builder
Compute
VMware Cloud on AWS
Compute
AWS Serverless Application Repository
Compute
Amazon Elastic Container Service (ECS)
Containers
Amazon Elastic Kubernetes Service (EKS)
Containers
Amazon Elastic Container Registry (ECR)
Containers
Amazon ECS Anywhere
Containers
Amazon EKS Anywhere
Containers
AWS App Mesh
Containers
AWS Proton
Containers
Amazon S3
Storage
Amazon S3 Glacier
Storage
Amazon EBS
Storage
Amazon EFS
Storage
Amazon FSx
Storage
AWS Storage Gateway
Storage
AWS Backup
Storage
AWS DataSync
Storage
AWS Transfer Family
Storage
AWS Snow Family
Storage
Amazon File Cache
Storage
Amazon RDS
Databases
Amazon Aurora
Databases
Amazon Aurora Serverless
Databases
Amazon Aurora DSQL
Databases
Amazon DynamoDB
Databases
Amazon ElastiCache
Databases
Amazon MemoryDB
Databases
Amazon Neptune
Databases
Amazon DocumentDB
Databases
Amazon Keyspaces
Databases
Amazon Timestream
Databases
Amazon Redshift
Databases
Amazon QLDB
Databases
AWS Database Migration Service (DMS)
Databases
Amazon VPC
Networking & Content Delivery
Amazon Route 53
Networking & Content Delivery
Amazon CloudFront
Networking & Content Delivery
Amazon API Gateway
Networking & Content Delivery
AWS Direct Connect
Networking & Content Delivery
AWS Site-to-Site VPN
Networking & Content Delivery
AWS Client VPN
Networking & Content Delivery
AWS Transit Gateway
Networking & Content Delivery
AWS PrivateLink
Networking & Content Delivery
AWS Global Accelerator
Networking & Content Delivery
AWS Cloud Map
Networking & Content Delivery
Amazon VPC Lattice
Networking & Content Delivery
AWS Network Manager
Networking & Content Delivery
Amazon SQS
Application Integration & Messaging
Amazon SNS
Application Integration & Messaging
Amazon EventBridge
Application Integration & Messaging
AWS Step Functions
Application Integration & Messaging
Amazon MQ
Application Integration & Messaging
AWS AppSync
Application Integration & Messaging
Amazon AppFlow
Application Integration & Messaging
Amazon Simple Workflow Service (SWF)
Application Integration & Messaging
Amazon SES
Application Integration & Messaging
Amazon Pinpoint
Application Integration & Messaging
Amazon Managed Workflows for Apache Airflow (MWAA)
Application Integration & Messaging
AWS CodeCommit
Developer Tools & DevOps
AWS CodeBuild
Developer Tools & DevOps
AWS CodeDeploy
Developer Tools & DevOps
AWS CodePipeline
Developer Tools & DevOps
AWS CodeArtifact
Developer Tools & DevOps
AWS Cloud9
Developer Tools & DevOps
AWS X-Ray
Developer Tools & DevOps
AWS CloudFormation
Developer Tools & DevOps
AWS CDK
Developer Tools & DevOps
AWS SAM
Developer Tools & DevOps
AWS Copilot
Developer Tools & DevOps
AWS Amplify
Developer Tools & DevOps
AWS Device Farm
Developer Tools & DevOps
Amazon CodeCatalyst
Developer Tools & DevOps
Amazon CloudWatch
Monitoring, Management & Governance
AWS CloudTrail
Monitoring, Management & Governance
AWS Config
Monitoring, Management & Governance
AWS Systems Manager
Monitoring, Management & Governance
AWS OpsWorks
Monitoring, Management & Governance
AWS Service Catalog
Monitoring, Management & Governance
AWS License Manager
Monitoring, Management & Governance
Amazon Managed Grafana
Monitoring, Management & Governance
Amazon Managed Service for Prometheus
Monitoring, Management & Governance
AWS Distro for OpenTelemetry
Monitoring, Management & Governance
Amazon DevOps Guru
Monitoring, Management & Governance
AWS Well-Architected Tool
Monitoring, Management & Governance
AWS Resilience Hub
Monitoring, Management & Governance
AWS Incident Manager
Monitoring, Management & Governance
AWS Chatbot / AWS User Notifications
Monitoring, Management & Governance
AWS AppConfig
Monitoring, Management & Governance
Amazon Athena
Analytics & Data Lake
AWS Glue
Analytics & Data Lake
Amazon EMR
Analytics & Data Lake
Amazon Redshift
Analytics & Data Lake
Amazon Kinesis Data Streams
Analytics & Data Lake
Amazon Data Firehose
Analytics & Data Lake
Amazon Kinesis Video Streams
Analytics & Data Lake
Amazon Managed Service for Apache Flink
Analytics & Data Lake
Amazon MSK
Analytics & Data Lake
Amazon OpenSearch Service
Analytics & Data Lake
Amazon QuickSight
Analytics & Data Lake
AWS Lake Formation
Analytics & Data Lake
AWS Data Exchange
Analytics & Data Lake
AWS Data Pipeline
Analytics & Data Lake
AWS Clean Rooms
Analytics & Data Lake
Amazon DataZone
Analytics & Data Lake
AWS Entity Resolution
Analytics & Data Lake
Amazon FinSpace
Analytics & Data Lake
Amazon Bedrock
Machine Learning & AI
Amazon Bedrock AgentCore
Machine Learning & AI
Amazon SageMaker AI
Machine Learning & AI
Amazon Comprehend
Machine Learning & AI
Amazon Comprehend Medical
Machine Learning & AI
Amazon Lex
Machine Learning & AI
Amazon Polly
Machine Learning & AI
Amazon Rekognition
Machine Learning & AI
Amazon Textract
Machine Learning & AI
Amazon Transcribe
Machine Learning & AI
Amazon Translate
Machine Learning & AI
Amazon Kendra
Machine Learning & AI
Amazon Personalize
Machine Learning & AI
Amazon Forecast
Machine Learning & AI
Amazon Fraud Detector
Machine Learning & AI
Amazon Lookout for Metrics
Machine Learning & AI
Amazon Lookout for Equipment
Machine Learning & AI
Amazon Lookout for Vision
Machine Learning & AI
Amazon Monitron
Machine Learning & AI
Amazon HealthLake
Machine Learning & AI
Amazon Augmented AI (A2I)
Machine Learning & AI
AWS DeepRacer
Machine Learning & AI
Amazon Q Developer
Machine Learning & AI
Amazon Q Business
Machine Learning & AI
Amazon Connect
Business Applications & Contact Center
Amazon Connect Contact Lens
Business Applications & Contact Center
Amazon Connect Customer Profiles
Business Applications & Contact Center
Amazon Connect Cases
Business Applications & Contact Center
Amazon Connect Wisdom / Amazon Q in Connect
Business Applications & Contact Center
Amazon WorkMail
Business Applications & Contact Center
Amazon Chime
Business Applications & Contact Center
Amazon Chime SDK
Business Applications & Contact Center
AWS Wickr
Business Applications & Contact Center
Alexa for Business
Business Applications & Contact Center
Amazon WorkSpaces
End User Computing
Amazon WorkSpaces Web
End User Computing
Amazon AppStream 2.0
End User Computing
Amazon WorkDocs
End User Computing
NICE DCV
End User Computing
AWS Amplify Hosting
Front-End Web & Mobile
AWS AppSync
Front-End Web & Mobile
Amazon Cognito for Apps
Front-End Web & Mobile
AWS Device Farm
Front-End Web & Mobile
Amazon Location Service
Front-End Web & Mobile
AWS IoT Core
IoT & Edge
AWS IoT Greengrass
IoT & Edge
AWS IoT Analytics
IoT & Edge
AWS IoT Events
IoT & Edge
AWS IoT Device Defender
IoT & Edge
AWS IoT Device Management
IoT & Edge
AWS IoT FleetWise
IoT & Edge
AWS IoT SiteWise
IoT & Edge
AWS IoT TwinMaker
IoT & Edge
FreeRTOS
IoT & Edge
AWS Migration Hub
Migration & Transfer
AWS Application Migration Service
Migration & Transfer
AWS Database Migration Service
Migration & Transfer
AWS DataSync
Migration & Transfer
AWS Transfer Family
Migration & Transfer
AWS Snow Family
Migration & Transfer
Migration Evaluator
Migration & Transfer
AWS Application Discovery Service
Migration & Transfer
AWS Mainframe Modernization
Migration & Transfer
AWS Elemental MediaConnect
Media Services
AWS Elemental MediaConvert
Media Services
AWS Elemental MediaLive
Media Services
AWS Elemental MediaPackage
Media Services
AWS Elemental MediaStore
Media Services
AWS Elemental MediaTailor
Media Services
Amazon Interactive Video Service (IVS)
Media Services
Amazon GameLift
Specialized, Quantum & Satellite
Amazon Braket
Specialized, Quantum & Satellite
AWS Ground Station
Specialized, Quantum & Satellite
Amazon Omics
Specialized, Quantum & Satellite
AWS RoboMaker
Specialized, Quantum & Satellite
Amazon Managed Blockchain
Specialized, Quantum & Satellite

Official AWS links for All AWS Service Index

AWS Account Management

Account Setup & Cloud FoundationsIAM prefix: accountDeep lesson #1

1. What is AWS Account Management?

Account setup, root user protection, contacts, alternate contacts, account closure, and account-level security/billing controls.

Developer mental model: For AWS Account Management, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Account Management

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Account Management
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Account Management.

6. Developer code example

// SDK pattern for AWS Account Management
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Account Management.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Account Management resources in target environment.
Execution/service roleaccount.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "account.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "account:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Account Management as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Account Management with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Account Management

AWS Organizations

Account Setup & Cloud FoundationsIAM prefix: organizationsDeep lesson #2

1. What is AWS Organizations?

Multi-account governance, organizational units, consolidated billing, service control policies, and delegated administration.

Developer mental model: For AWS Organizations, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Organizations

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Organizations
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Organizations.

6. Developer code example

// SDK pattern for AWS Organizations
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Organizations.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Organizations resources in target environment.
Execution/service roleorganizations.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "organizations.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "organizations:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Organizations as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Organizations with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Organizations

AWS Control Tower

Account Setup & Cloud FoundationsIAM prefix: controltowerDeep lesson #3

1. What is AWS Control Tower?

Landing zone service for governed multi-account AWS environments.

Developer mental model: For AWS Control Tower, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Control Tower

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Control Tower
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Control Tower.

6. Developer code example

// SDK pattern for AWS Control Tower
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Control Tower.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Control Tower resources in target environment.
Execution/service rolecontroltower.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "controltower.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "controltower:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Control Tower as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Control Tower with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Control Tower

IAM Identity Center

Account Setup & Cloud FoundationsIAM prefix: ssoDeep lesson #4

1. What is IAM Identity Center?

Central workforce access to AWS accounts and applications using permission sets and federated identities.

Developer mental model: For IAM Identity Center, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure IAM Identity Center

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for IAM Identity Center
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for IAM Identity Center.

6. Developer code example

// SDK pattern for IAM Identity Center
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for IAM Identity Center.
Deployment roleCI/CD pipelineCreate/update/delete only tagged IAM Identity Center resources in target environment.
Execution/service rolesso.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sso.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "sso:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use IAM Identity Center as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate IAM Identity Center with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for IAM Identity Center

AWS Billing

Account Setup & Cloud FoundationsIAM prefix: aws-portalDeep lesson #5

1. What is AWS Billing?

Billing console, payment methods, invoices, credits, tax settings, and account billing permissions.

Developer mental model: For AWS Billing, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Billing

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Billing
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Billing.

6. Developer code example

// SDK pattern for AWS Billing
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Billing.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Billing resources in target environment.
Execution/service roleaws-portal.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "aws-portal.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "aws-portal:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Billing as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Billing with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Billing

AWS Budgets

Account Setup & Cloud FoundationsIAM prefix: budgetsDeep lesson #6

1. What is AWS Budgets?

Budget thresholds and alerts for cost, usage, reservation, and savings plans tracking.

Developer mental model: For AWS Budgets, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Budgets

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Budgets
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Budgets.

6. Developer code example

// SDK pattern for AWS Budgets
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Budgets.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Budgets resources in target environment.
Execution/service rolebudgets.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "budgets.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "budgets:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Budgets as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Budgets with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Budgets

AWS Cost Explorer

Account Setup & Cloud FoundationsIAM prefix: ceDeep lesson #7

1. What is AWS Cost Explorer?

Interactive cost and usage analysis, forecasting, filtering, and reports.

Developer mental model: For AWS Cost Explorer, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Cost Explorer

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Cost Explorer
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Cost Explorer.

6. Developer code example

// SDK pattern for AWS Cost Explorer
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Cost Explorer.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Cost Explorer resources in target environment.
Execution/service rolece.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ce.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ce:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Cost Explorer as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Cost Explorer with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Cost Explorer

AWS Cost and Usage Report

Account Setup & Cloud FoundationsIAM prefix: curDeep lesson #8

1. What is AWS Cost and Usage Report?

Detailed billing dataset delivered to S3 for analytics, chargeback, and FinOps.

Developer mental model: For AWS Cost and Usage Report, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Cost and Usage Report

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Cost and Usage Report
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Cost and Usage Report.

6. Developer code example

// SDK pattern for AWS Cost and Usage Report
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Cost and Usage Report.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Cost and Usage Report resources in target environment.
Execution/service rolecur.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cur.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cur:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Cost and Usage Report as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Cost and Usage Report with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Cost and Usage Report

Savings Plans

Account Setup & Cloud FoundationsIAM prefix: savingsplansDeep lesson #9

1. What is Savings Plans?

Flexible pricing model for compute usage commitments.

Developer mental model: For Savings Plans, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Savings Plans

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Savings Plans
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Savings Plans.

6. Developer code example

// SDK pattern for Savings Plans
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Savings Plans.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Savings Plans resources in target environment.
Execution/service rolesavingsplans.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "savingsplans.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "savingsplans:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Savings Plans as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate Savings Plans with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Savings Plans

AWS Compute Optimizer

Account Setup & Cloud FoundationsIAM prefix: compute-optimizerDeep lesson #10

1. What is AWS Compute Optimizer?

Recommendations for right-sizing compute resources.

Developer mental model: For AWS Compute Optimizer, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Compute Optimizer

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Compute Optimizer
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Compute Optimizer.

6. Developer code example

// SDK pattern for AWS Compute Optimizer
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Compute Optimizer.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Compute Optimizer resources in target environment.
Execution/service rolecompute-optimizer.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "compute-optimizer.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "compute-optimizer:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Compute Optimizer as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Compute Optimizer with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Compute Optimizer

AWS Trusted Advisor

Account Setup & Cloud FoundationsIAM prefix: trustedadvisorDeep lesson #11

1. What is AWS Trusted Advisor?

Best-practice checks for cost, security, fault tolerance, performance, and quotas.

Developer mental model: For AWS Trusted Advisor, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Trusted Advisor

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Trusted Advisor
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Trusted Advisor.

6. Developer code example

// SDK pattern for AWS Trusted Advisor
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Trusted Advisor.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Trusted Advisor resources in target environment.
Execution/service roletrustedadvisor.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "trustedadvisor.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "trustedadvisor:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Trusted Advisor as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Trusted Advisor with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Trusted Advisor

AWS Health

Account Setup & Cloud FoundationsIAM prefix: healthDeep lesson #12

1. What is AWS Health?

Personalized AWS service health events for your account and resources.

Developer mental model: For AWS Health, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Health

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Health
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Health.

6. Developer code example

// SDK pattern for AWS Health
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Health.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Health resources in target environment.
Execution/service rolehealth.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "health.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "health:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Health as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize account setup & cloud foundations capability across development, testing, and production accounts.
  3. Integrate AWS Health with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Health

AWS Identity and Access Management (IAM)

Security, Identity & ComplianceIAM prefix: iamDeep lesson #13

1. What is AWS Identity and Access Management (IAM)?

IAM is the AWS permission system. It decides who can do what on which AWS resources, under what conditions.

Developer mental model: Every AWS request is evaluated against policies. A principal makes a request for an action on a resource. IAM checks identity policies, resource policies, permission boundaries, SCPs, session policies, and explicit denies.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

user

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

identity policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

trust policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

permission boundary

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

service control policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

session policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

MFA

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

least privilege

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

iam:PassRole

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

access analyzer

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

service-linked role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
UsersLong-lived identities; avoid for apps, use only when necessary.Document owner, environment, tags, failure mode, and runbook before launch.
GroupsPermission grouping for users.Document owner, environment, tags, failure mode, and runbook before launch.
RolesTemporary credentials assumed by humans, services, or external identities.Document owner, environment, tags, failure mode, and runbook before launch.
PoliciesJSON allow/deny documents with Action, Resource, Condition.Document owner, environment, tags, failure mode, and runbook before launch.
PassRoleAllows a caller to pass a role to a service such as Lambda, EC2, ECS, Glue, or SageMaker.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Identity and Access Management (IAM)

  1. Create IAM Identity Center for humans where possible.
  2. Create roles for workloads and services.
  3. Write policy with exact actions/resources.
  4. Add trust policy for who can assume the role.
  5. Test access using policy simulator/Access Analyzer.
  6. Log all IAM/API activity with CloudTrail.

5. CLI / IaC starter

aws iam create-role --role-name app-readonly-role --assume-role-policy-document file://trust.json
aws iam put-role-policy --role-name app-readonly-role --policy-name readonly --policy-document file://policy.json
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/app-readonly-role --role-session-name test

6. Developer code example

{
  "Version": "2012-10-17",
  "Statement": [
    {"Effect":"Allow","Action":["s3:GetObject"],"Resource":"arn:aws:s3:::my-bucket/reports/*"},
    {"Effect":"Deny","Action":"*","Resource":"*","Condition":{"BoolIfExists":{"aws:MultiFactorAuthPresent":"false"}}}
  ]
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Identity and Access Management (IAM).
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Identity and Access Management (IAM) resources in target environment.
Execution/service roleiam.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iam.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iam:CreateRole",
        "iam:AttachRolePolicy",
        "iam:PutRolePolicy",
        "iam:PassRole",
        "iam:GetRole",
        "iam:ListRoles",
        "sts:AssumeRole"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Secure developer access across multiple teams.
  2. Create service execution roles for Lambda, EC2, ECS, Glue, SageMaker, Connect, and CI/CD.
  3. Implement governance with permissions boundaries, SCPs, and Access Analyzer.

14. Common mistakes and fixes

MistakeFix
Using root account dailyProtect root with MFA and use roles for daily work.
Wildcard actions/resourcesReplace with exact actions and ARNs.
Forgetting iam:PassRole riskRestrict PassRole to exact role ARNs and passed-to service condition.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Identity and Access Management (IAM)

AWS Key Management Service (KMS)

Security, Identity & ComplianceIAM prefix: kmsDeep lesson #14

1. What is AWS Key Management Service (KMS)?

Managed encryption key service for AWS-integrated cryptography and customer managed keys.

Developer mental model: For AWS Key Management Service (KMS), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Key Management Service (KMS)

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Key Management Service (KMS)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Key Management Service (KMS).

6. Developer code example

// SDK pattern for AWS Key Management Service (KMS)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Key Management Service (KMS).
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Key Management Service (KMS) resources in target environment.
Execution/service rolekms.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "kms:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Key Management Service (KMS) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Key Management Service (KMS) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Key Management Service (KMS)

AWS Secrets Manager

Security, Identity & ComplianceIAM prefix: secretsmanagerDeep lesson #15

1. What is AWS Secrets Manager?

Secure storage, retrieval, and rotation of database credentials, API keys, and secrets.

Developer mental model: For AWS Secrets Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Secrets Manager

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Secrets Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Secrets Manager.

6. Developer code example

// SDK pattern for AWS Secrets Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Secrets Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Secrets Manager resources in target environment.
Execution/service rolesecretsmanager.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "secretsmanager.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Secrets Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Secrets Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Secrets Manager

AWS Certificate Manager (ACM)

Security, Identity & ComplianceIAM prefix: acmDeep lesson #16

1. What is AWS Certificate Manager (ACM)?

Provision and manage public/private TLS certificates for AWS-integrated services.

Developer mental model: For AWS Certificate Manager (ACM), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Certificate Manager (ACM)

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Certificate Manager (ACM)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Certificate Manager (ACM).

6. Developer code example

// SDK pattern for AWS Certificate Manager (ACM)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Certificate Manager (ACM).
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Certificate Manager (ACM) resources in target environment.
Execution/service roleacm.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "acm.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "acm:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Certificate Manager (ACM) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Certificate Manager (ACM) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Certificate Manager (ACM)

Amazon Cognito

Security, Identity & ComplianceIAM prefix: cognito-idpDeep lesson #17

1. What is Amazon Cognito?

Authentication, authorization, user pools, identity pools, federation, and app user management.

Developer mental model: For Amazon Cognito, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Cognito

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon Cognito
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Cognito.

6. Developer code example

// SDK pattern for Amazon Cognito
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Cognito.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Cognito resources in target environment.
Execution/service rolecognito-idp.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cognito-idp.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cognito-idp:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Cognito as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon Cognito with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Cognito

AWS Directory Service

Security, Identity & ComplianceIAM prefix: dsDeep lesson #18

1. What is AWS Directory Service?

Managed Microsoft AD and directory integrations for AWS workloads.

Developer mental model: For AWS Directory Service, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Directory Service

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Directory Service
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Directory Service.

6. Developer code example

// SDK pattern for AWS Directory Service
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Directory Service.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Directory Service resources in target environment.
Execution/service roleds.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ds.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ds:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Directory Service as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Directory Service with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Directory Service

AWS CloudHSM

Security, Identity & ComplianceIAM prefix: cloudhsmDeep lesson #19

1. What is AWS CloudHSM?

Dedicated hardware security modules for cryptographic key control.

Developer mental model: For AWS CloudHSM, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CloudHSM

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS CloudHSM
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CloudHSM.

6. Developer code example

// SDK pattern for AWS CloudHSM
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CloudHSM.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CloudHSM resources in target environment.
Execution/service rolecloudhsm.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudhsm.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudhsm:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CloudHSM as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS CloudHSM with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CloudHSM

AWS WAF

Security, Identity & ComplianceIAM prefix: wafDeep lesson #20

1. What is AWS WAF?

Web application firewall for HTTP/S request filtering and application-layer protections.

Developer mental model: For AWS WAF, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS WAF

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS WAF
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS WAF.

6. Developer code example

// SDK pattern for AWS WAF
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS WAF.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS WAF resources in target environment.
Execution/service rolewaf.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "waf.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "waf:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS WAF as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS WAF with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS WAF

AWS Shield

Security, Identity & ComplianceIAM prefix: shieldDeep lesson #21

1. What is AWS Shield?

DDoS protection for AWS applications.

Developer mental model: For AWS Shield, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Shield

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Shield
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Shield.

6. Developer code example

// SDK pattern for AWS Shield
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Shield.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Shield resources in target environment.
Execution/service roleshield.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "shield.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "shield:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Shield as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Shield with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Shield

AWS Firewall Manager

Security, Identity & ComplianceIAM prefix: fmsDeep lesson #22

1. What is AWS Firewall Manager?

Central management for firewall rules across accounts and resources.

Developer mental model: For AWS Firewall Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Firewall Manager

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Firewall Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Firewall Manager.

6. Developer code example

// SDK pattern for AWS Firewall Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Firewall Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Firewall Manager resources in target environment.
Execution/service rolefms.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "fms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "fms:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Firewall Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Firewall Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Firewall Manager

Amazon GuardDuty

Security, Identity & ComplianceIAM prefix: guarddutyDeep lesson #23

1. What is Amazon GuardDuty?

Threat detection service using logs, DNS activity, and ML-based findings.

Developer mental model: For Amazon GuardDuty, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon GuardDuty

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon GuardDuty
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon GuardDuty.

6. Developer code example

// SDK pattern for Amazon GuardDuty
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon GuardDuty.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon GuardDuty resources in target environment.
Execution/service roleguardduty.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "guardduty.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "guardduty:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon GuardDuty as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon GuardDuty with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon GuardDuty

AWS Security Hub

Security, Identity & ComplianceIAM prefix: securityhubDeep lesson #24

1. What is AWS Security Hub?

Central security posture and findings aggregation.

Developer mental model: For AWS Security Hub, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Security Hub

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Security Hub
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Security Hub.

6. Developer code example

// SDK pattern for AWS Security Hub
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Security Hub.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Security Hub resources in target environment.
Execution/service rolesecurityhub.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "securityhub.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "securityhub:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Security Hub as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Security Hub with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Security Hub

Amazon Inspector

Security, Identity & ComplianceIAM prefix: inspector2Deep lesson #25

1. What is Amazon Inspector?

Automated vulnerability management for EC2, container images, and Lambda.

Developer mental model: For Amazon Inspector, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Inspector

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon Inspector
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Inspector.

6. Developer code example

// SDK pattern for Amazon Inspector
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Inspector.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Inspector resources in target environment.
Execution/service roleinspector2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "inspector2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "inspector2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Inspector as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon Inspector with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Inspector

Amazon Macie

Security, Identity & ComplianceIAM prefix: macie2Deep lesson #26

1. What is Amazon Macie?

Sensitive data discovery and classification for S3.

Developer mental model: For Amazon Macie, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Macie

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon Macie
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Macie.

6. Developer code example

// SDK pattern for Amazon Macie
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Macie.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Macie resources in target environment.
Execution/service rolemacie2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "macie2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "macie2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Macie as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon Macie with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Macie

Amazon Detective

Security, Identity & ComplianceIAM prefix: detectiveDeep lesson #27

1. What is Amazon Detective?

Security investigation graphs and behavior analysis.

Developer mental model: For Amazon Detective, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Detective

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon Detective
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Detective.

6. Developer code example

// SDK pattern for Amazon Detective
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Detective.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Detective resources in target environment.
Execution/service roledetective.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "detective.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "detective:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Detective as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon Detective with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Detective

AWS Audit Manager

Security, Identity & ComplianceIAM prefix: auditmanagerDeep lesson #28

1. What is AWS Audit Manager?

Evidence collection and audit assessment automation.

Developer mental model: For AWS Audit Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Audit Manager

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Audit Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Audit Manager.

6. Developer code example

// SDK pattern for AWS Audit Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Audit Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Audit Manager resources in target environment.
Execution/service roleauditmanager.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "auditmanager.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "auditmanager:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Audit Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Audit Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Audit Manager

AWS Artifact

Security, Identity & ComplianceIAM prefix: artifactDeep lesson #29

1. What is AWS Artifact?

On-demand access to AWS compliance reports and agreements.

Developer mental model: For AWS Artifact, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Artifact

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Artifact
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Artifact.

6. Developer code example

// SDK pattern for AWS Artifact
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Artifact.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Artifact resources in target environment.
Execution/service roleartifact.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "artifact.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "artifact:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Artifact as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Artifact with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Artifact

AWS Network Firewall

Security, Identity & ComplianceIAM prefix: network-firewallDeep lesson #30

1. What is AWS Network Firewall?

Managed network firewall for VPC traffic inspection.

Developer mental model: For AWS Network Firewall, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Network Firewall

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Network Firewall
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Network Firewall.

6. Developer code example

// SDK pattern for AWS Network Firewall
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Network Firewall.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Network Firewall resources in target environment.
Execution/service rolenetwork-firewall.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "network-firewall.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "network-firewall:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Network Firewall as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Network Firewall with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Network Firewall

AWS Resource Access Manager (RAM)

Security, Identity & ComplianceIAM prefix: ramDeep lesson #31

1. What is AWS Resource Access Manager (RAM)?

Share AWS resources across accounts or organizations.

Developer mental model: For AWS Resource Access Manager (RAM), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Resource Access Manager (RAM)

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Resource Access Manager (RAM)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Resource Access Manager (RAM).

6. Developer code example

// SDK pattern for AWS Resource Access Manager (RAM)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Resource Access Manager (RAM).
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Resource Access Manager (RAM) resources in target environment.
Execution/service roleram.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ram.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ram:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Resource Access Manager (RAM) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Resource Access Manager (RAM) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Resource Access Manager (RAM)

Amazon Verified Permissions

Security, Identity & ComplianceIAM prefix: verifiedpermissionsDeep lesson #32

1. What is Amazon Verified Permissions?

Fine-grained application authorization using Cedar policies.

Developer mental model: For Amazon Verified Permissions, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Verified Permissions

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon Verified Permissions
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Verified Permissions.

6. Developer code example

// SDK pattern for Amazon Verified Permissions
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Verified Permissions.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Verified Permissions resources in target environment.
Execution/service roleverifiedpermissions.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "verifiedpermissions.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "verifiedpermissions:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Verified Permissions as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon Verified Permissions with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Verified Permissions

AWS Private CA

Security, Identity & ComplianceIAM prefix: acm-pcaDeep lesson #33

1. What is AWS Private CA?

Private certificate authority for internal TLS and device identity.

Developer mental model: For AWS Private CA, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Private CA

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for AWS Private CA
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Private CA.

6. Developer code example

// SDK pattern for AWS Private CA
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Private CA.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Private CA resources in target environment.
Execution/service roleacm-pca.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "acm-pca.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "acm-pca:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Private CA as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate AWS Private CA with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Private CA

Amazon Security Lake

Security, Identity & ComplianceIAM prefix: securitylakeDeep lesson #34

1. What is Amazon Security Lake?

Centralized security data lake using OCSF format.

Developer mental model: For Amazon Security Lake, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

principal

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

trust

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

finding

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

remediation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
IdentityDefine who or what can access AWS.Document owner, environment, tags, failure mode, and runbook before launch.
PermissionsUse policies, boundaries, SCPs, and conditions.Document owner, environment, tags, failure mode, and runbook before launch.
DetectionFind threats, misconfigurations, or sensitive data.Document owner, environment, tags, failure mode, and runbook before launch.
ComplianceCollect evidence and enforce controls.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Security Lake

  1. Define principals and resources.
  2. Create least-privilege policies.
  3. Enable audit trails and findings.
  4. Test allowed and denied access.
  5. Automate remediation where safe.
  6. Review permissions regularly.

5. CLI / IaC starter

# Starter developer workflow for Amazon Security Lake
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Security Lake.

6. Developer code example

// SDK pattern for Amazon Security Lake
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Security Lake.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Security Lake resources in target environment.
Execution/service rolesecuritylake.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "securitylake.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "securitylake:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Security Lake as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize security, identity & compliance capability across development, testing, and production accounts.
  3. Integrate Amazon Security Lake with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Security Lake

Amazon EC2

ComputeIAM prefix: ec2Deep lesson #35

1. What is Amazon EC2?

Amazon EC2 gives you virtual machines in AWS. Unlike Lambda, you manage the OS, patching approach, runtime installation, ports, disks, and long-running processes.

Developer mental model: Think: AMI + instance type + network + security group + key pair/SSM + storage + IAM instance profile + user data. EC2 is chosen when you need OS control, long-running compute, custom agents, or legacy software.

2. Concepts you must know

AMI

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

instance type/family

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

vCPU

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

memory

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

On-Demand/Spot/Reserved/Savings Plans

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

key pair

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

SSM Session Manager

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

NACL

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

subnet

Controls connectivity, isolation, ingress, egress, and private access paths.

public/private IP

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Elastic IP

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

ENI

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

EBS root volume

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

additional EBS volumes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

instance store

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

user data

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

launch template

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Auto Scaling group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

placement groups

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

instance profile

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IMDSv2

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch agent

Used to observe production behavior, errors, latency, usage, cost, and operational health.

ALB/NLB target group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Instance typesGeneral purpose, compute optimized, memory optimized, storage optimized, accelerated/GPU, burstable.Document owner, environment, tags, failure mode, and runbook before launch.
BootstrappingUse user data or image baking to install packages and start apps.Document owner, environment, tags, failure mode, and runbook before launch.
NetworkingPlace instances in public/private subnets and restrict with security groups.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingUse Auto Scaling groups and load balancers for stateless apps.Test with expected peak traffic and configure quotas/autoscaling/alarms.
AccessPrefer SSM Session Manager over SSH key access in production.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EC2

  1. EC2 → Launch instance.
  2. Choose AMI such as Amazon Linux, Ubuntu, Windows, or custom AMI.
  3. Choose instance type based on CPU/memory/network needs.
  4. Choose key pair or configure SSM access.
  5. Choose subnet and security group.
  6. Attach storage and IAM instance profile.
  7. Add user data for bootstrap.
  8. Launch, test, then put behind ALB/ASG for production.

5. CLI / IaC starter

aws ec2 run-instances   --image-id ami-xxxxxxxx   --instance-type t3.micro   --subnet-id subnet-xxxx   --security-group-ids sg-xxxx   --iam-instance-profile Name=demo-ec2-profile   --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=demo-web}]'

aws ec2 describe-instances --filters Name=tag:Name,Values=demo-web

6. Developer code example

# User data example: install and run a simple Node.js app
#!/bin/bash
yum update -y
yum install -y nodejs
cat > /home/ec2-user/server.js <<'JS'
require('http').createServer((req,res)=>res.end('hello from EC2')).listen(3000)
JS
node /home/ec2-user/server.js &

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EC2.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EC2 resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "ec2:RunInstances",
        "ec2:TerminateInstances",
        "ec2:CreateTags",
        "ec2:CreateSecurityGroup",
        "ec2:AuthorizeSecurityGroupIngress",
        "iam:PassRole",
        "ssm:StartSession"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Host legacy monoliths needing OS-level access.
  2. Run GPU training/inference or custom networking tools.
  3. Build controlled bastion/admin workloads using SSM and private subnets.

14. Common mistakes and fixes

MistakeFix
Opening port 22 or 3389 to the worldUse SSM Session Manager or restrict source IPs.
No patching planUse Systems Manager Patch Manager or immutable AMIs.
One instance with no backupUse snapshots, AMIs, ASG, and multi-AZ design.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EC2

Amazon EC2 Auto Scaling

ComputeIAM prefix: autoscalingDeep lesson #36

1. What is Amazon EC2 Auto Scaling?

Automatically adjusts EC2 capacity based on demand and health.

Developer mental model: For Amazon EC2 Auto Scaling, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EC2 Auto Scaling

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon EC2 Auto Scaling
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon EC2 Auto Scaling.

6. Developer code example

// SDK pattern for Amazon EC2 Auto Scaling
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EC2 Auto Scaling.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EC2 Auto Scaling resources in target environment.
Execution/service roleautoscaling.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "autoscaling.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "autoscaling:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon EC2 Auto Scaling as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate Amazon EC2 Auto Scaling with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EC2 Auto Scaling

Elastic Load Balancing

ComputeIAM prefix: elasticloadbalancingDeep lesson #37

1. What is Elastic Load Balancing?

Application, Network, Gateway, and Classic load balancers for distributing traffic.

Developer mental model: For Elastic Load Balancing, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Elastic Load Balancing

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Elastic Load Balancing
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Elastic Load Balancing.

6. Developer code example

// SDK pattern for Elastic Load Balancing
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Elastic Load Balancing.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Elastic Load Balancing resources in target environment.
Execution/service roleelasticloadbalancing.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticloadbalancing.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "elasticloadbalancing:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Elastic Load Balancing as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate Elastic Load Balancing with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Elastic Load Balancing

AWS Lambda

ComputeIAM prefix: lambdaDeep lesson #38

1. What is AWS Lambda?

AWS Lambda is a serverless compute service. You upload code and AWS runs it only when an event invokes it. You do not manage servers, operating system patches, or capacity planning for the underlying machines.

Developer mental model: Think of Lambda as: event comes in → Lambda chooses or creates an execution environment → runtime starts your handler → your code runs → result/logs/metrics/destination are produced. Your job is to design the trigger, handler, permissions, packaging, timeout, memory, concurrency, error handling, and observability.

2. Concepts you must know

function

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

handler

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

event object

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

context object

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

managed runtime

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

custom runtime

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

container image runtime

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource-based policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

environment variables

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

memory and CPU

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

timeout

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

/tmp ephemeral storage

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

cold start

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

warm start

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Init/Invoke/Shutdown lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

versions

Controls release history and deployment traffic. Use for rollback and stable production references.

aliases

Controls release history and deployment traffic. Use for rollback and stable production references.

layers

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

extensions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment package

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

container image

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

function URL

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

event source mapping

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

synchronous invocation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

asynchronous invocation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

destinations

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

dead-letter queues

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

reserved concurrency

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

provisioned concurrency

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
RuntimesManaged runtimes include language families such as Node.js, Python, Java, .NET, Ruby, and custom OS-only runtimes. Exact runtime identifiers change, so verify the Lambda runtime page before creating production functions.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
Cold startCold start happens when Lambda must initialize a new execution environment: download/unpack code or image, start runtime, run static initialization, and then invoke the handler.Document owner, environment, tags, failure mode, and runbook before launch.
Warm startWarm start reuses an existing execution environment. Code outside the handler, open database clients, and cached values may remain available, but never depend on them for correctness.Document owner, environment, tags, failure mode, and runbook before launch.
Versions and aliases$LATEST is mutable. A published version is immutable. Aliases such as dev, qa, prod can point to versions and support traffic shifting.Document owner, environment, tags, failure mode, and runbook before launch.
Timeout and memoryTimeout can be up to 15 minutes. Memory can be configured from 128 MB to 10,240 MB; CPU scales with memory.Document owner, environment, tags, failure mode, and runbook before launch.
PackagingUse inline editor for simple tests, zip files for standard functions, S3 for larger zip uploads, layers for shared dependencies, and container images for large/custom runtimes.Document owner, environment, tags, failure mode, and runbook before launch.
LayersUp to five layers can be attached to zip-based functions. Layers are extracted under /opt and are good for shared libraries or extensions.Document owner, environment, tags, failure mode, and runbook before launch.
Container imagesUse ECR container images when dependencies/custom runtime need Docker. Lambda container images can be much larger than zip packages, but they still follow Lambda runtime API behavior.Document owner, environment, tags, failure mode, and runbook before launch.
TriggersCommon triggers include API Gateway, Lambda Function URL, ALB, EventBridge schedule/rule, S3 events, SQS, SNS, DynamoDB Streams, Kinesis, MSK/Kafka, Cognito triggers, CloudWatch Logs subscriptions, IoT, and Step Functions tasks.Document owner, environment, tags, failure mode, and runbook before launch.
DestinationsAsync invocation destinations can send success/failure records to SQS, SNS, Lambda, EventBridge, and S3 for failure records. DLQ is an older/simple failure pattern for async invocations.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Lambda

  1. Console: Lambda → Create function → Author from scratch → choose runtime → create/choose execution role → create.
  2. Add handler code and test event.
  3. Set memory, timeout, environment variables, and log retention.
  4. Add trigger such as API Gateway, S3, EventBridge, or SQS.
  5. Publish version and point alias prod to that version.
  6. Configure alarms, DLQ/destination, X-Ray, reserved/provisioned concurrency if needed.

5. CLI / IaC starter

# 1) Create execution role trust policy for Lambda
cat > trust-lambda.json <<'JSON'
{
  "Version":"2012-10-17",
  "Statement":[{"Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]
}
JSON
aws iam create-role --role-name demo-lambda-role --assume-role-policy-document file://trust-lambda.json
aws iam attach-role-policy --role-name demo-lambda-role --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

# 2) Package and create function
zip function.zip index.mjs
aws lambda create-function   --function-name demo-hello   --runtime nodejs22.x   --handler index.handler   --role arn:aws:iam::123456789012:role/demo-lambda-role   --zip-file fileb://function.zip   --timeout 10   --memory-size 256

# 3) Invoke synchronously
aws lambda invoke --function-name demo-hello out.json && cat out.json

# 4) Publish immutable version and alias
aws lambda publish-version --function-name demo-hello
aws lambda create-alias --function-name demo-hello --name prod --function-version 1

6. Developer code example

// index.mjs
export const handler = async (event, context) => {
  console.log('requestId:', context.awsRequestId);
  const name = event.queryStringParameters?.name ?? event.name ?? 'World';

  return {
    statusCode: 200,
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify({ message: `Hello ${name}` })
  };
};

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Lambda.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Lambda resources in target environment.
Execution/service rolelambda.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "lambda:InvokeFunction",
        "lambda:GetFunction",
        "lambda:UpdateFunctionCode",
        "lambda:UpdateFunctionConfiguration",
        "lambda:PublishVersion",
        "lambda:CreateAlias",
        "lambda:UpdateAlias",
        "sqs:SendMessage",
        "sns:Publish",
        "events:PutEvents",
        "s3:GetObject",
        "s3:PutObject",
        "dynamodb:GetItem",
        "dynamodb:PutItem"
      ],
      "Resource": "arn:aws:lambda:us-east-1:123456789012:function:demo-*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • API Gateway / Function URL / ALB for HTTP
  • S3 events for file processing
  • SQS/Kinesis/DynamoDB Streams/MSK via event source mapping
  • EventBridge schedules/events
  • SNS notifications
  • Step Functions tasks
  • Cognito triggers
  • CloudWatch Logs subscriptions
  • Connect/Lex/IoT integrations

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Serverless REST API backend behind API Gateway or Function URL.
  2. File processing pipeline: upload to S3, Lambda validates/transforms, output goes to S3/DynamoDB.
  3. Event automation: EventBridge schedule or SQS message triggers data sync, notification, cleanup, or report job.

14. Common mistakes and fixes

MistakeFix
Putting database connections inside the handler every timeCreate clients outside the handler so warm starts reuse them, but still handle reconnects.
Using Lambda for long-running jobsUse Step Functions, ECS, Batch, or Glue when work exceeds 15 minutes or needs heavy state.
No idempotency on retriesUse idempotency keys, DynamoDB conditional writes, or deduplication queues.
Giving the execution role AdministratorAccessGrant only logs and exact service actions needed.
Ignoring cold startReduce package size, move init code carefully, use provisioned concurrency/SnapStart when justified.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Lambda

AWS Elastic Beanstalk

ComputeIAM prefix: elasticbeanstalkDeep lesson #39

1. What is AWS Elastic Beanstalk?

Platform service for deploying web applications with managed infrastructure.

Developer mental model: For AWS Elastic Beanstalk, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elastic Beanstalk

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elastic Beanstalk
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elastic Beanstalk.

6. Developer code example

// SDK pattern for AWS Elastic Beanstalk
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elastic Beanstalk.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elastic Beanstalk resources in target environment.
Execution/service roleelasticbeanstalk.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticbeanstalk.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "elasticbeanstalk:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elastic Beanstalk as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Elastic Beanstalk with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elastic Beanstalk

AWS Batch

ComputeIAM prefix: batchDeep lesson #40

1. What is AWS Batch?

Managed batch computing jobs, queues, and compute environments.

Developer mental model: For AWS Batch, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Batch

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Batch
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Batch.

6. Developer code example

// SDK pattern for AWS Batch
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Batch.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Batch resources in target environment.
Execution/service rolebatch.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "batch.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "batch:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Batch as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Batch with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Batch

Amazon Lightsail

ComputeIAM prefix: lightsailDeep lesson #41

1. What is Amazon Lightsail?

Simplified VPS, containers, databases, and networking for small apps.

Developer mental model: For Amazon Lightsail, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Lightsail

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Lightsail
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Lightsail.

6. Developer code example

// SDK pattern for Amazon Lightsail
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Lightsail.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Lightsail resources in target environment.
Execution/service rolelightsail.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lightsail.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "lightsail:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Lightsail as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate Amazon Lightsail with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Lightsail

AWS App Runner

ComputeIAM prefix: apprunnerDeep lesson #42

1. What is AWS App Runner?

Fully managed service to run containerized web apps and APIs from source or image.

Developer mental model: For AWS App Runner, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS App Runner

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS App Runner
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS App Runner.

6. Developer code example

// SDK pattern for AWS App Runner
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS App Runner.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS App Runner resources in target environment.
Execution/service roleapprunner.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "apprunner.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "apprunner:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS App Runner as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS App Runner with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS App Runner

AWS Fargate

ComputeIAM prefix: ecsDeep lesson #43

1. What is AWS Fargate?

Serverless container compute engine for ECS and EKS.

Developer mental model: For AWS Fargate, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Fargate

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Fargate
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Fargate.

6. Developer code example

// SDK pattern for AWS Fargate
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Fargate.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Fargate resources in target environment.
Execution/service roleecs.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ecs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ecs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Fargate as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Fargate with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Fargate

AWS Outposts

ComputeIAM prefix: outpostsDeep lesson #44

1. What is AWS Outposts?

AWS infrastructure and services deployed on premises.

Developer mental model: For AWS Outposts, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Outposts

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Outposts
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Outposts.

6. Developer code example

// SDK pattern for AWS Outposts
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Outposts.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Outposts resources in target environment.
Execution/service roleoutposts.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "outposts.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "outposts:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Outposts as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Outposts with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Outposts

AWS Wavelength

ComputeIAM prefix: wavelengthDeep lesson #45

1. What is AWS Wavelength?

Ultra-low latency AWS compute/storage at 5G network edges.

Developer mental model: For AWS Wavelength, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Wavelength

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Wavelength
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Wavelength.

6. Developer code example

// SDK pattern for AWS Wavelength
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Wavelength.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Wavelength resources in target environment.
Execution/service rolewavelength.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "wavelength.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "wavelength:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Wavelength as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Wavelength with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Wavelength

AWS Local Zones

ComputeIAM prefix: ec2Deep lesson #46

1. What is AWS Local Zones?

AWS infrastructure close to metro areas for low-latency workloads.

Developer mental model: For AWS Local Zones, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Local Zones

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Local Zones
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Local Zones.

6. Developer code example

// SDK pattern for AWS Local Zones
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Local Zones.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Local Zones resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Local Zones as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Local Zones with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Local Zones

EC2 Image Builder

ComputeIAM prefix: imagebuilderDeep lesson #47

1. What is EC2 Image Builder?

Automated creation and maintenance of VM/container images.

Developer mental model: For EC2 Image Builder, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure EC2 Image Builder

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for EC2 Image Builder
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for EC2 Image Builder.

6. Developer code example

// SDK pattern for EC2 Image Builder
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for EC2 Image Builder.
Deployment roleCI/CD pipelineCreate/update/delete only tagged EC2 Image Builder resources in target environment.
Execution/service roleimagebuilder.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "imagebuilder.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "imagebuilder:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use EC2 Image Builder as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate EC2 Image Builder with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for EC2 Image Builder

VMware Cloud on AWS

ComputeIAM prefix: vmcDeep lesson #48

1. What is VMware Cloud on AWS?

VMware SDDC on AWS infrastructure for hybrid migration.

Developer mental model: For VMware Cloud on AWS, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure VMware Cloud on AWS

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for VMware Cloud on AWS
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for VMware Cloud on AWS.

6. Developer code example

// SDK pattern for VMware Cloud on AWS
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for VMware Cloud on AWS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged VMware Cloud on AWS resources in target environment.
Execution/service rolevmc.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "vmc.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "vmc:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use VMware Cloud on AWS as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate VMware Cloud on AWS with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for VMware Cloud on AWS

AWS Serverless Application Repository

ComputeIAM prefix: serverlessrepoDeep lesson #49

1. What is AWS Serverless Application Repository?

Repository for publishing and deploying serverless apps.

Developer mental model: For AWS Serverless Application Repository, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Serverless Application Repository

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Serverless Application Repository
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Serverless Application Repository.

6. Developer code example

// SDK pattern for AWS Serverless Application Repository
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Serverless Application Repository.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Serverless Application Repository resources in target environment.
Execution/service roleserverlessrepo.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "serverlessrepo.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "serverlessrepo:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Serverless Application Repository as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize compute capability across development, testing, and production accounts.
  3. Integrate AWS Serverless Application Repository with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Serverless Application Repository

Amazon Elastic Container Service (ECS)

ContainersIAM prefix: ecsDeep lesson #50

1. What is Amazon Elastic Container Service (ECS)?

Managed container orchestration for Docker containers.

Developer mental model: For Amazon Elastic Container Service (ECS), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Elastic Container Service (ECS)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Elastic Container Service (ECS)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Elastic Container Service (ECS).

6. Developer code example

// SDK pattern for Amazon Elastic Container Service (ECS)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Elastic Container Service (ECS).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Elastic Container Service (ECS) resources in target environment.
Execution/service roleecs-tasks.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ecs-tasks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ecs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Elastic Container Service (ECS) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate Amazon Elastic Container Service (ECS) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Elastic Container Service (ECS)

Amazon Elastic Kubernetes Service (EKS)

ContainersIAM prefix: eksDeep lesson #51

1. What is Amazon Elastic Kubernetes Service (EKS)?

Managed Kubernetes control plane and integrations.

Developer mental model: For Amazon Elastic Kubernetes Service (EKS), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Elastic Kubernetes Service (EKS)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Elastic Kubernetes Service (EKS)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Elastic Kubernetes Service (EKS).

6. Developer code example

// SDK pattern for Amazon Elastic Kubernetes Service (EKS)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Elastic Kubernetes Service (EKS).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Elastic Kubernetes Service (EKS) resources in target environment.
Execution/service roleeks.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "eks:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Elastic Kubernetes Service (EKS) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate Amazon Elastic Kubernetes Service (EKS) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Elastic Kubernetes Service (EKS)

Amazon Elastic Container Registry (ECR)

ContainersIAM prefix: ecrDeep lesson #52

1. What is Amazon Elastic Container Registry (ECR)?

Managed Docker/OCI container registry.

Developer mental model: For Amazon Elastic Container Registry (ECR), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Elastic Container Registry (ECR)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Elastic Container Registry (ECR)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Elastic Container Registry (ECR).

6. Developer code example

// SDK pattern for Amazon Elastic Container Registry (ECR)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Elastic Container Registry (ECR).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Elastic Container Registry (ECR) resources in target environment.
Execution/service roleecr.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ecr.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ecr:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Elastic Container Registry (ECR) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate Amazon Elastic Container Registry (ECR) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Elastic Container Registry (ECR)

Amazon ECS Anywhere

ContainersIAM prefix: ecsDeep lesson #53

1. What is Amazon ECS Anywhere?

Run ECS tasks on customer-managed infrastructure.

Developer mental model: For Amazon ECS Anywhere, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon ECS Anywhere

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon ECS Anywhere
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon ECS Anywhere.

6. Developer code example

// SDK pattern for Amazon ECS Anywhere
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon ECS Anywhere.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon ECS Anywhere resources in target environment.
Execution/service roleecs.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ecs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ecs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon ECS Anywhere as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate Amazon ECS Anywhere with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon ECS Anywhere

Amazon EKS Anywhere

ContainersIAM prefix: eksDeep lesson #54

1. What is Amazon EKS Anywhere?

Create and operate Kubernetes clusters on-premises.

Developer mental model: For Amazon EKS Anywhere, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EKS Anywhere

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon EKS Anywhere
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon EKS Anywhere.

6. Developer code example

// SDK pattern for Amazon EKS Anywhere
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EKS Anywhere.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EKS Anywhere resources in target environment.
Execution/service roleeks.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "eks:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon EKS Anywhere as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate Amazon EKS Anywhere with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EKS Anywhere

AWS App Mesh

ContainersIAM prefix: appmeshDeep lesson #55

1. What is AWS App Mesh?

Service mesh for microservice traffic routing, observability, and resilience.

Developer mental model: For AWS App Mesh, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS App Mesh

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS App Mesh
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS App Mesh.

6. Developer code example

// SDK pattern for AWS App Mesh
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS App Mesh.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS App Mesh resources in target environment.
Execution/service roleappmesh.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appmesh.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "appmesh:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS App Mesh as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate AWS App Mesh with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS App Mesh

AWS Proton

ContainersIAM prefix: protonDeep lesson #56

1. What is AWS Proton?

Platform engineering service for standardized app infrastructure templates.

Developer mental model: For AWS Proton, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Proton

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Proton
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Proton.

6. Developer code example

// SDK pattern for AWS Proton
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Proton.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Proton resources in target environment.
Execution/service roleproton.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "proton.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "proton:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Proton as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize containers capability across development, testing, and production accounts.
  3. Integrate AWS Proton with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Proton

Amazon S3

StorageIAM prefix: s3Deep lesson #57

1. What is Amazon S3?

Amazon S3 is object storage. It stores objects inside buckets. Each object has a key, data, metadata, permissions, encryption, and optional version history.

Developer mental model: Think: bucket = namespace/container, object key = path-like name, policy = who can access, encryption = how protected, lifecycle = how data moves/deletes, event notification = automation when object changes.

2. Concepts you must know

bucket

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

object

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

key

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

prefix

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

metadata

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

tags

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

storage class

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

versioning

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle rules

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

bucket policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

IAM policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

Block Public Access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Object Ownership

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

SSE-S3

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

SSE-KMS

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

SSE-C

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

presigned URL

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

multipart upload

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

event notification

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

S3 Inventory

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Object Lock

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Access Points

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Static website hosting

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Storage classesStandard, Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier classes; choose based on access frequency and retrieval time.Document owner, environment, tags, failure mode, and runbook before launch.
SecurityBlock public access by default, use IAM/resource policy, KMS encryption, and access logs.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
AutomationS3 events can trigger Lambda, SQS, SNS, or EventBridge.Document owner, environment, tags, failure mode, and runbook before launch.
Data lifecycleMove, expire, replicate, or lock objects.Define retention, restore testing, compliance, and cost rules.
Developer accessUse SDK put/get/list/copy/delete and presigned URLs for temporary upload/download.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon S3

  1. S3 → Create bucket.
  2. Choose globally unique bucket name and region.
  3. Keep Block Public Access on unless intentionally hosting public content.
  4. Enable versioning if object recovery is required.
  5. Choose default encryption, ideally SSE-KMS for sensitive data.
  6. Add lifecycle, replication, events, and access logs as needed.

5. CLI / IaC starter

aws s3api create-bucket --bucket demo-app-assets-123456 --region us-east-1
aws s3api put-bucket-versioning --bucket demo-app-assets-123456 --versioning-configuration Status=Enabled
aws s3 cp ./logo.png s3://demo-app-assets-123456/images/logo.png
aws s3 presign s3://demo-app-assets-123456/images/logo.png --expires-in 300

6. Developer code example

import { S3Client, PutObjectCommand, GetObjectCommand } from '@aws-sdk/client-s3';
const s3 = new S3Client({ region: 'us-east-1' });
await s3.send(new PutObjectCommand({
  Bucket: 'demo-app-assets-123456',
  Key: 'uploads/a.txt',
  Body: 'hello',
  ServerSideEncryption: 'AES256'
}));

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon S3.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon S3 resources in target environment.
Execution/service roles3.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "s3.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:GetBucketLocation",
        "s3:PutBucketPolicy",
        "s3:PutBucketVersioning"
      ],
      "Resource": [
        "arn:aws:s3:::demo-app-assets-123456",
        "arn:aws:s3:::demo-app-assets-123456/*"
      ]
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • CloudFront origin
  • Lambda/SQS/SNS/EventBridge event notifications
  • Athena/Glue/EMR/Redshift Spectrum data lake integrations
  • KMS encryption
  • IAM and bucket policies
  • Replication and lifecycle

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Store user uploads and serve via CloudFront.
  2. Build raw/curated data lake zones for analytics and ML.
  3. Backup/archive application data with lifecycle and Object Lock.

14. Common mistakes and fixes

MistakeFix
Making a bucket public for uploadsUse presigned URLs or CloudFront signed URLs instead.
No object versioningEnable versioning for critical buckets.
Listing huge buckets in codeUse prefixes, pagination, and inventory reports.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon S3

Amazon S3 Glacier

StorageIAM prefix: glacierDeep lesson #58

1. What is Amazon S3 Glacier?

Low-cost archive storage classes and vault-style archiving.

Developer mental model: For Amazon S3 Glacier, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon S3 Glacier

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for Amazon S3 Glacier
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon S3 Glacier.

6. Developer code example

// SDK pattern for Amazon S3 Glacier
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon S3 Glacier.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon S3 Glacier resources in target environment.
Execution/service roleglacier.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "glacier.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "glacier:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon S3 Glacier as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate Amazon S3 Glacier with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon S3 Glacier

Amazon EBS

StorageIAM prefix: ec2Deep lesson #59

1. What is Amazon EBS?

Block storage volumes for EC2 instances.

Developer mental model: For Amazon EBS, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EBS

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for Amazon EBS
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon EBS.

6. Developer code example

// SDK pattern for Amazon EBS
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EBS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EBS resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon EBS as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate Amazon EBS with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EBS

Amazon EFS

StorageIAM prefix: elasticfilesystemDeep lesson #60

1. What is Amazon EFS?

Managed NFS file system for Linux workloads.

Developer mental model: For Amazon EFS, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EFS

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for Amazon EFS
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon EFS.

6. Developer code example

// SDK pattern for Amazon EFS
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EFS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EFS resources in target environment.
Execution/service roleelasticfilesystem.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticfilesystem.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "elasticfilesystem:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon EFS as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate Amazon EFS with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EFS

Amazon FSx

StorageIAM prefix: fsxDeep lesson #61

1. What is Amazon FSx?

Managed file systems including Windows File Server, Lustre, NetApp ONTAP, and OpenZFS.

Developer mental model: For Amazon FSx, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon FSx

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for Amazon FSx
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon FSx.

6. Developer code example

// SDK pattern for Amazon FSx
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon FSx.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon FSx resources in target environment.
Execution/service rolefsx.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "fsx.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "fsx:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon FSx as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate Amazon FSx with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon FSx

AWS Storage Gateway

StorageIAM prefix: storagegatewayDeep lesson #62

1. What is AWS Storage Gateway?

Hybrid cloud storage gateway for file, volume, and tape workflows.

Developer mental model: For AWS Storage Gateway, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Storage Gateway

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for AWS Storage Gateway
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Storage Gateway.

6. Developer code example

// SDK pattern for AWS Storage Gateway
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Storage Gateway.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Storage Gateway resources in target environment.
Execution/service rolestoragegateway.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "storagegateway.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "storagegateway:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Storage Gateway as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate AWS Storage Gateway with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Storage Gateway

AWS Backup

StorageIAM prefix: backupDeep lesson #63

1. What is AWS Backup?

Centralized backup policies across AWS services.

Developer mental model: For AWS Backup, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Backup

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for AWS Backup
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Backup.

6. Developer code example

// SDK pattern for AWS Backup
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Backup.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Backup resources in target environment.
Execution/service rolebackup.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "backup.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "backup:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Backup as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate AWS Backup with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Backup

AWS DataSync

StorageIAM prefix: datasyncDeep lesson #64

1. What is AWS DataSync?

Online data transfer and sync between storage systems.

Developer mental model: For AWS DataSync, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS DataSync

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for AWS DataSync
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS DataSync.

6. Developer code example

// SDK pattern for AWS DataSync
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS DataSync.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS DataSync resources in target environment.
Execution/service roledatasync.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "datasync.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "datasync:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS DataSync as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate AWS DataSync with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS DataSync

AWS Transfer Family

StorageIAM prefix: transferDeep lesson #65

1. What is AWS Transfer Family?

Managed SFTP/FTPS/FTP endpoints backed by S3 or EFS.

Developer mental model: For AWS Transfer Family, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Transfer Family

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for AWS Transfer Family
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Transfer Family.

6. Developer code example

// SDK pattern for AWS Transfer Family
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Transfer Family.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Transfer Family resources in target environment.
Execution/service roletransfer.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "transfer.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "transfer:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Transfer Family as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate AWS Transfer Family with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Transfer Family

AWS Snow Family

StorageIAM prefix: snowballDeep lesson #66

1. What is AWS Snow Family?

Physical edge devices for offline data transfer and edge compute.

Developer mental model: For AWS Snow Family, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Snow Family

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for AWS Snow Family
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Snow Family.

6. Developer code example

// SDK pattern for AWS Snow Family
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Snow Family.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Snow Family resources in target environment.
Execution/service rolesnowball.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "snowball.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "snowball:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Snow Family as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate AWS Snow Family with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Snow Family

Amazon File Cache

StorageIAM prefix: filecacheDeep lesson #67

1. What is Amazon File Cache?

High-speed cache for file data across AWS and on-premises.

Developer mental model: For Amazon File Cache, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

bucket/file/volume/file-system resource

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

versioning or backups

Controls release history and deployment traffic. Use for rollback and stable production references.

lifecycle

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

replication

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

events

A source that starts work. Understand delivery mode, retry behavior, payload shape, and idempotency.

cost classes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
DurabilityAWS manages redundant storage; choose replication and backup strategy.Document owner, environment, tags, failure mode, and runbook before launch.
Access controlCombine IAM, resource policies, ACL-free design, and encryption.Document owner, environment, tags, failure mode, and runbook before launch.
LifecycleMove data to cheaper tiers or delete it after retention.Define retention, restore testing, compliance, and cost rules.
EventsTrigger automation when data changes.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon File Cache

  1. Create the storage resource.
  2. Block unintended public access.
  3. Enable encryption.
  4. Attach IAM/resource policy.
  5. Configure lifecycle/backup if needed.
  6. Test read/write and audit access.

5. CLI / IaC starter

# Starter developer workflow for Amazon File Cache
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon File Cache.

6. Developer code example

// SDK pattern for Amazon File Cache
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon File Cache.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon File Cache resources in target environment.
Execution/service rolefilecache.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "filecache.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "filecache:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon File Cache as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize storage capability across development, testing, and production accounts.
  3. Integrate Amazon File Cache with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon File Cache

Amazon RDS

DatabasesIAM prefix: rdsDeep lesson #68

1. What is Amazon RDS?

RDS is managed relational database service for engines like MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, and Amazon Aurora.

Developer mental model: As a developer, learn the resources, configuration, IAM permissions, API operations, integrations, monitoring, failure behavior, quotas, and cost model before using this service in production.

2. Concepts you must know

DB instance

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DB cluster

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

engine

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

parameter group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

option group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

subnet group

Controls connectivity, isolation, ingress, egress, and private access paths.

security group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Multi-AZ

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read replica

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

snapshot

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

automated backup

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

maintenance window

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Performance Insights

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

RDS Proxy

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
EnginesChoose engine based on application compatibility.Document owner, environment, tags, failure mode, and runbook before launch.
High availabilityUse Multi-AZ for production.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingUse read replicas, instance class changes, Aurora Serverless where appropriate.Test with expected peak traffic and configure quotas/autoscaling/alarms.
ConnectionsUse Secrets Manager and RDS Proxy for Lambda/serverless workloads.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon RDS

  1. Create DB subnet group.
  2. Create security group allowing app access only.
  3. Create DB/cluster with encryption/backups.
  4. Store credentials in Secrets Manager.
  5. Connect app using private endpoint.
  6. Enable monitoring/Performance Insights.

5. CLI / IaC starter

# Starter CLI exploration for Amazon RDS
aws --version
# Open the official docs for exact CLI commands and required parameters.
# Then create resources with IaC where possible instead of only console clicks.

6. Developer code example

// Developer SDK pattern for Amazon RDS
// 1. Install the AWS SDK v3 client for the service.
// 2. Create a client with region.
// 3. Send command.
// 4. Catch throttling, validation, and access errors.
try {
  // await client.send(new SomeCommand(params));
} catch (err) {
  console.error(err.name, err.message);
  throw err;
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon RDS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon RDS resources in target environment.
Execution/service rolerds.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "rds.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "rds:CreateDBInstance",
        "rds:DescribeDBInstances",
        "rds:ModifyDBInstance",
        "rds:CreateDBSnapshot",
        "rds:RestoreDBInstanceFromDBSnapshot"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Transactional application database.
  2. Reporting read replicas.
  3. Managed replacement for self-hosted MySQL/PostgreSQL.

14. Common mistakes and fixes

MistakeFix
Skipping IAM/resource planningWrite role and policy before coding.
No monitoringAdd logs, metrics, alarms, and audit events.
Manual-only setupUse IaC templates for repeatable environments.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon RDS

Amazon Aurora

DatabasesIAM prefix: rdsDeep lesson #69

1. What is Amazon Aurora?

Cloud-optimized relational database compatible with MySQL and PostgreSQL.

Developer mental model: For Amazon Aurora, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Aurora

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Aurora
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Aurora.

6. Developer code example

// SDK pattern for Amazon Aurora
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Aurora.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Aurora resources in target environment.
Execution/service rolerds.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "rds.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "rds:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Aurora as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Aurora with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Aurora

Amazon Aurora Serverless

DatabasesIAM prefix: rdsDeep lesson #70

1. What is Amazon Aurora Serverless?

Auto-scaling Aurora capacity for variable workloads.

Developer mental model: For Amazon Aurora Serverless, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Aurora Serverless

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Aurora Serverless
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Aurora Serverless.

6. Developer code example

// SDK pattern for Amazon Aurora Serverless
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Aurora Serverless.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Aurora Serverless resources in target environment.
Execution/service rolerds.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "rds.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "rds:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Aurora Serverless as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Aurora Serverless with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Aurora Serverless

Amazon Aurora DSQL

DatabasesIAM prefix: dsqlDeep lesson #71

1. What is Amazon Aurora DSQL?

Serverless distributed SQL database for always available applications.

Developer mental model: For Amazon Aurora DSQL, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Aurora DSQL

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Aurora DSQL
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Aurora DSQL.

6. Developer code example

// SDK pattern for Amazon Aurora DSQL
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Aurora DSQL.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Aurora DSQL resources in target environment.
Execution/service roledsql.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dsql.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "dsql:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Aurora DSQL as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Aurora DSQL with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Aurora DSQL

Amazon DynamoDB

DatabasesIAM prefix: dynamodbDeep lesson #72

1. What is Amazon DynamoDB?

DynamoDB is a managed NoSQL key-value/document database designed for low-latency access at scale.

Developer mental model: As a developer, learn the resources, configuration, IAM permissions, API operations, integrations, monitoring, failure behavior, quotas, and cost model before using this service in production.

2. Concepts you must know

table

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

partition key

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

sort key

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

item

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

attribute

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

GSI

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

LSI

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

query

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

scan

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

conditional write

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TTL

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

streams

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

PITR

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

on-demand/provisioned capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DAX

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

single-table design

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
KeysAccess patterns depend on partition/sort keys.Document owner, environment, tags, failure mode, and runbook before launch.
Query vs ScanQuery uses keys and is efficient; scan reads broadly and is expensive.Document owner, environment, tags, failure mode, and runbook before launch.
CapacityUse on-demand for variable traffic or provisioned/autoscaling for predictable traffic.Test with expected peak traffic and configure quotas/autoscaling/alarms.
StreamsTrigger Lambda/EventBridge patterns from item changes.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon DynamoDB

  1. Create table with partition key.
  2. Add sort key if access pattern needs grouping.
  3. Add GSIs only for real query patterns.
  4. Enable PITR/backups/encryption.
  5. Create IAM role for app access.
  6. Test query, conditional write, pagination, and throttling.

5. CLI / IaC starter

# Starter CLI exploration for Amazon DynamoDB
aws --version
# Open the official docs for exact CLI commands and required parameters.
# Then create resources with IaC where possible instead of only console clicks.

6. Developer code example

// Developer SDK pattern for Amazon DynamoDB
// 1. Install the AWS SDK v3 client for the service.
// 2. Create a client with region.
// 3. Send command.
// 4. Catch throttling, validation, and access errors.
try {
  // await client.send(new SomeCommand(params));
} catch (err) {
  console.error(err.name, err.message);
  throw err;
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon DynamoDB.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon DynamoDB resources in target environment.
Execution/service roledynamodb.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dynamodb.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "dynamodb:CreateTable",
        "dynamodb:PutItem",
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:DescribeTable"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Shopping cart/session/user profile store.
  2. High-scale order/event metadata table.
  3. Serverless app database with Lambda/API Gateway.

14. Common mistakes and fixes

MistakeFix
Skipping IAM/resource planningWrite role and policy before coding.
No monitoringAdd logs, metrics, alarms, and audit events.
Manual-only setupUse IaC templates for repeatable environments.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon DynamoDB

Amazon ElastiCache

DatabasesIAM prefix: elasticacheDeep lesson #73

1. What is Amazon ElastiCache?

Managed Redis/Valkey and Memcached compatible caching.

Developer mental model: For Amazon ElastiCache, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon ElastiCache

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon ElastiCache
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon ElastiCache.

6. Developer code example

// SDK pattern for Amazon ElastiCache
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon ElastiCache.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon ElastiCache resources in target environment.
Execution/service roleelasticache.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticache.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "elasticache:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon ElastiCache as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon ElastiCache with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon ElastiCache

Amazon MemoryDB

DatabasesIAM prefix: memorydbDeep lesson #74

1. What is Amazon MemoryDB?

Durable Redis-compatible in-memory database.

Developer mental model: For Amazon MemoryDB, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon MemoryDB

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon MemoryDB
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon MemoryDB.

6. Developer code example

// SDK pattern for Amazon MemoryDB
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon MemoryDB.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon MemoryDB resources in target environment.
Execution/service rolememorydb.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "memorydb.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "memorydb:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon MemoryDB as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon MemoryDB with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon MemoryDB

Amazon Neptune

DatabasesIAM prefix: neptune-dbDeep lesson #75

1. What is Amazon Neptune?

Managed graph database for highly connected data.

Developer mental model: For Amazon Neptune, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Neptune

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Neptune
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Neptune.

6. Developer code example

// SDK pattern for Amazon Neptune
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Neptune.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Neptune resources in target environment.
Execution/service roleneptune-db.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "neptune-db.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "neptune-db:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Neptune as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Neptune with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Neptune

Amazon DocumentDB

DatabasesIAM prefix: docdbDeep lesson #76

1. What is Amazon DocumentDB?

Managed document database with MongoDB compatibility.

Developer mental model: For Amazon DocumentDB, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon DocumentDB

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon DocumentDB
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon DocumentDB.

6. Developer code example

// SDK pattern for Amazon DocumentDB
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon DocumentDB.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon DocumentDB resources in target environment.
Execution/service roledocdb.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "docdb.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "docdb:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon DocumentDB as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon DocumentDB with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon DocumentDB

Amazon Keyspaces

DatabasesIAM prefix: cassandraDeep lesson #77

1. What is Amazon Keyspaces?

Managed Apache Cassandra-compatible database.

Developer mental model: For Amazon Keyspaces, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Keyspaces

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Keyspaces
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Keyspaces.

6. Developer code example

// SDK pattern for Amazon Keyspaces
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Keyspaces.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Keyspaces resources in target environment.
Execution/service rolecassandra.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cassandra.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cassandra:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Keyspaces as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Keyspaces with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Keyspaces

Amazon Timestream

DatabasesIAM prefix: timestreamDeep lesson #78

1. What is Amazon Timestream?

Serverless time-series database.

Developer mental model: For Amazon Timestream, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Timestream

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Timestream
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Timestream.

6. Developer code example

// SDK pattern for Amazon Timestream
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Timestream.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Timestream resources in target environment.
Execution/service roletimestream.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "timestream.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "timestream:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Timestream as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Timestream with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Timestream

Amazon Redshift

DatabasesIAM prefix: redshiftDeep lesson #79

1. What is Amazon Redshift?

Cloud data warehouse and analytics database.

Developer mental model: For Amazon Redshift, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Redshift

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon Redshift
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Redshift.

6. Developer code example

// SDK pattern for Amazon Redshift
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Redshift.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Redshift resources in target environment.
Execution/service roleredshift.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "redshift.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "redshift:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Redshift as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon Redshift with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Redshift

Amazon QLDB

DatabasesIAM prefix: qldbDeep lesson #80

1. What is Amazon QLDB?

Immutable cryptographically verifiable ledger database.

Developer mental model: For Amazon QLDB, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon QLDB

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for Amazon QLDB
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon QLDB.

6. Developer code example

// SDK pattern for Amazon QLDB
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon QLDB.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon QLDB resources in target environment.
Execution/service roleqldb.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "qldb.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "qldb:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon QLDB as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate Amazon QLDB with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon QLDB

AWS Database Migration Service (DMS)

DatabasesIAM prefix: dmsDeep lesson #81

1. What is AWS Database Migration Service (DMS)?

Database migration, replication, and change data capture.

Developer mental model: For AWS Database Migration Service (DMS), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

data model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

primary key/indexes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

read/write capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transactions

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

backup/restore

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

encryption

Protects data at rest/in transit. Decide AWS-managed vs customer-managed keys and key policies.

connection management

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

high availability

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Schema / modelDecide relational, key-value, document, graph, time-series, or ledger style.Document owner, environment, tags, failure mode, and runbook before launch.
ScalingChoose serverless, provisioned, replicas, shards, or clusters.Test with expected peak traffic and configure quotas/autoscaling/alarms.
BackupUse PITR, snapshots, and tested restore procedures.Define retention, restore testing, compliance, and cost rules.
AccessUse IAM, VPC, secrets, rotation, and least privilege.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Database Migration Service (DMS)

  1. Choose database engine/model.
  2. Create subnet/security configuration.
  3. Create database/table/cluster.
  4. Enable encryption and backups.
  5. Store credentials in Secrets Manager.
  6. Test CRUD and failure behavior.

5. CLI / IaC starter

# Starter developer workflow for AWS Database Migration Service (DMS)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Database Migration Service (DMS).

6. Developer code example

// SDK pattern for AWS Database Migration Service (DMS)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Database Migration Service (DMS).
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Database Migration Service (DMS) resources in target environment.
Execution/service roledms.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "dms:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • KMS encryption
  • Secrets Manager credentials
  • VPC/security groups
  • CloudWatch metrics/logs
  • Backup/restore
  • Lambda/ECS/EC2 app clients

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Database Migration Service (DMS) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize databases capability across development, testing, and production accounts.
  3. Integrate AWS Database Migration Service (DMS) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Database Migration Service (DMS)

Amazon VPC

Networking & Content DeliveryIAM prefix: ec2Deep lesson #82

1. What is Amazon VPC?

VPC is your isolated network boundary in AWS where you define IP ranges, subnets, routing, gateways, and private connectivity.

Developer mental model: As a developer, learn the resources, configuration, IAM permissions, API operations, integrations, monitoring, failure behavior, quotas, and cost model before using this service in production.

2. Concepts you must know

CIDR

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

subnet

Controls connectivity, isolation, ingress, egress, and private access paths.

route table

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

internet gateway

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

NAT gateway

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security group

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

NACL

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

VPC endpoint

Controls connectivity, isolation, ingress, egress, and private access paths.

peering

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Transit Gateway

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

flow logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

public/private subnet

Controls connectivity, isolation, ingress, egress, and private access paths.

IPv6

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
SubnetsPublic subnets route to IGW; private subnets do not.Document owner, environment, tags, failure mode, and runbook before launch.
Security groupsStateful instance/service firewall.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
NACLsStateless subnet firewall.Document owner, environment, tags, failure mode, and runbook before launch.
EndpointsPrivate access to AWS services without public internet.Document owner, environment, tags, failure mode, and runbook before launch.
Flow logsNetwork traffic audit/troubleshooting.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon VPC

  1. Choose CIDR carefully.
  2. Create public/private subnets across AZs.
  3. Attach internet gateway for public resources.
  4. Add NAT gateway/endpoints for private egress.
  5. Create route tables.
  6. Enable flow logs.

5. CLI / IaC starter

# Starter CLI exploration for Amazon VPC
aws --version
# Open the official docs for exact CLI commands and required parameters.
# Then create resources with IaC where possible instead of only console clicks.

6. Developer code example

// Developer SDK pattern for Amazon VPC
// 1. Install the AWS SDK v3 client for the service.
// 2. Create a client with region.
// 3. Send command.
// 4. Catch throttling, validation, and access errors.
try {
  // await client.send(new SomeCommand(params));
} catch (err) {
  console.error(err.name, err.message);
  throw err;
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon VPC.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon VPC resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpc",
        "ec2:CreateSubnet",
        "ec2:CreateRouteTable",
        "ec2:CreateSecurityGroup",
        "ec2:CreateNatGateway",
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Secure 3-tier web app network.
  2. Private serverless/database architecture.
  3. Hybrid connectivity hub with VPN/Direct Connect/TGW.

14. Common mistakes and fixes

MistakeFix
Skipping IAM/resource planningWrite role and policy before coding.
No monitoringAdd logs, metrics, alarms, and audit events.
Manual-only setupUse IaC templates for repeatable environments.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon VPC

Amazon Route 53

Networking & Content DeliveryIAM prefix: route53Deep lesson #83

1. What is Amazon Route 53?

Managed DNS, domain registration, health checks, and routing policies.

Developer mental model: For Amazon Route 53, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Route 53

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for Amazon Route 53
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Route 53.

6. Developer code example

// SDK pattern for Amazon Route 53
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Route 53.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Route 53 resources in target environment.
Execution/service roleroute53.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "route53.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "route53:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Route 53 as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate Amazon Route 53 with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Route 53

Amazon CloudFront

Networking & Content DeliveryIAM prefix: cloudfrontDeep lesson #84

1. What is Amazon CloudFront?

CloudFront is AWS CDN that caches and delivers content through global edge locations.

Developer mental model: As a developer, learn the resources, configuration, IAM permissions, API operations, integrations, monitoring, failure behavior, quotas, and cost model before using this service in production.

2. Concepts you must know

distribution

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

origin

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

behavior

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

cache policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

origin request policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

viewer protocol policy

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

OAC/OAI

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

signed URL/cookie

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

invalidations

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

geo restriction

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

WAF integration

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

real-time logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
OriginsS3, ALB, API Gateway, custom HTTP origins.Document owner, environment, tags, failure mode, and runbook before launch.
CachingControl TTL, cache keys, query strings, cookies, and headers.Document owner, environment, tags, failure mode, and runbook before launch.
SecurityUse HTTPS, WAF, OAC for private S3, signed URLs.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
InvalidationRemove stale content from edge caches.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon CloudFront

  1. Create distribution.
  2. Add origin.
  3. Set cache behavior and HTTPS policy.
  4. Attach certificate/custom domain if needed.
  5. Restrict S3 origin with OAC.
  6. Enable logs/WAF and test cache headers.

5. CLI / IaC starter

# Starter CLI exploration for Amazon CloudFront
aws --version
# Open the official docs for exact CLI commands and required parameters.
# Then create resources with IaC where possible instead of only console clicks.

6. Developer code example

// Developer SDK pattern for Amazon CloudFront
// 1. Install the AWS SDK v3 client for the service.
// 2. Create a client with region.
// 3. Send command.
// 4. Catch throttling, validation, and access errors.
try {
  // await client.send(new SomeCommand(params));
} catch (err) {
  console.error(err.name, err.message);
  throw err;
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon CloudFront.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon CloudFront resources in target environment.
Execution/service rolecloudfront.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudfront.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudfront:CreateDistribution",
        "cloudfront:GetDistribution",
        "cloudfront:UpdateDistribution",
        "cloudfront:CreateInvalidation"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Serve static site assets globally.
  2. Accelerate API/downloads.
  3. Protect web apps with WAF at edge.

14. Common mistakes and fixes

MistakeFix
Skipping IAM/resource planningWrite role and policy before coding.
No monitoringAdd logs, metrics, alarms, and audit events.
Manual-only setupUse IaC templates for repeatable environments.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon CloudFront

Amazon API Gateway

Networking & Content DeliveryIAM prefix: execute-apiDeep lesson #85

1. What is Amazon API Gateway?

API Gateway creates REST, HTTP, and WebSocket APIs in front of Lambda, HTTP services, or AWS integrations.

Developer mental model: As a developer, learn the resources, configuration, IAM permissions, API operations, integrations, monitoring, failure behavior, quotas, and cost model before using this service in production.

2. Concepts you must know

REST API

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

HTTP API

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

WebSocket API

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

route

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

method

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

stage

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

integration

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

authorizer

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

usage plan

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

API key

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CORS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

mapping template

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

throttling

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

access logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
API typesHTTP API is simpler/lower cost; REST API has advanced features; WebSocket supports bidirectional clients.Document owner, environment, tags, failure mode, and runbook before launch.
IntegrationsConnect to Lambda, HTTP endpoint, VPC Link, or AWS service.Document owner, environment, tags, failure mode, and runbook before launch.
AuthUse IAM, Cognito, Lambda authorizer, JWT authorizer, or custom app auth.Document owner, environment, tags, failure mode, and runbook before launch.
StagesDeploy versions to dev/test/prod stages with logging/throttling.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon API Gateway

  1. Create API type.
  2. Create routes/methods.
  3. Attach integration.
  4. Configure authorizer/CORS/throttling/logging.
  5. Deploy stage.
  6. Test with curl/Postman and CloudWatch logs.

5. CLI / IaC starter

# Starter CLI exploration for Amazon API Gateway
aws --version
# Open the official docs for exact CLI commands and required parameters.
# Then create resources with IaC where possible instead of only console clicks.

6. Developer code example

// Developer SDK pattern for Amazon API Gateway
// 1. Install the AWS SDK v3 client for the service.
// 2. Create a client with region.
// 3. Send command.
// 4. Catch throttling, validation, and access errors.
try {
  // await client.send(new SomeCommand(params));
} catch (err) {
  console.error(err.name, err.message);
  throw err;
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon API Gateway.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon API Gateway resources in target environment.
Execution/service roleapigateway.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "apigateway.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "apigateway:GET",
        "apigateway:POST",
        "apigateway:PATCH",
        "apigateway:DELETE",
        "execute-api:Invoke"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Public serverless REST API.
  2. Internal microservice gateway.
  3. Real-time WebSocket chat/notification API.

14. Common mistakes and fixes

MistakeFix
Skipping IAM/resource planningWrite role and policy before coding.
No monitoringAdd logs, metrics, alarms, and audit events.
Manual-only setupUse IaC templates for repeatable environments.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon API Gateway

AWS Direct Connect

Networking & Content DeliveryIAM prefix: directconnectDeep lesson #86

1. What is AWS Direct Connect?

Dedicated private connectivity from on-premises to AWS.

Developer mental model: For AWS Direct Connect, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Direct Connect

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Direct Connect
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Direct Connect.

6. Developer code example

// SDK pattern for AWS Direct Connect
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Direct Connect.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Direct Connect resources in target environment.
Execution/service roledirectconnect.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "directconnect.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "directconnect:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Direct Connect as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Direct Connect with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Direct Connect

AWS Site-to-Site VPN

Networking & Content DeliveryIAM prefix: ec2Deep lesson #87

1. What is AWS Site-to-Site VPN?

IPsec VPN between VPC and customer network.

Developer mental model: For AWS Site-to-Site VPN, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Site-to-Site VPN

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Site-to-Site VPN
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Site-to-Site VPN.

6. Developer code example

// SDK pattern for AWS Site-to-Site VPN
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Site-to-Site VPN.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Site-to-Site VPN resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Site-to-Site VPN as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Site-to-Site VPN with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Site-to-Site VPN

AWS Client VPN

Networking & Content DeliveryIAM prefix: ec2Deep lesson #88

1. What is AWS Client VPN?

Managed VPN access for remote users.

Developer mental model: For AWS Client VPN, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Client VPN

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Client VPN
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Client VPN.

6. Developer code example

// SDK pattern for AWS Client VPN
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Client VPN.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Client VPN resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Client VPN as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Client VPN with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Client VPN

AWS Transit Gateway

Networking & Content DeliveryIAM prefix: ec2Deep lesson #89

1. What is AWS Transit Gateway?

Network transit hub for VPCs and on-premises networks.

Developer mental model: For AWS Transit Gateway, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Transit Gateway

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Transit Gateway
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Transit Gateway.

6. Developer code example

// SDK pattern for AWS Transit Gateway
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Transit Gateway.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Transit Gateway resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Transit Gateway as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Transit Gateway with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Transit Gateway

AWS PrivateLink

Networking & Content DeliveryIAM prefix: ec2Deep lesson #90

1. What is AWS PrivateLink?

Private service access through VPC interface endpoints.

Developer mental model: For AWS PrivateLink, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS PrivateLink

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS PrivateLink
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS PrivateLink.

6. Developer code example

// SDK pattern for AWS PrivateLink
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS PrivateLink.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS PrivateLink resources in target environment.
Execution/service roleec2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS PrivateLink as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS PrivateLink with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS PrivateLink

AWS Global Accelerator

Networking & Content DeliveryIAM prefix: globalacceleratorDeep lesson #91

1. What is AWS Global Accelerator?

Anycast static IPs and global traffic acceleration.

Developer mental model: For AWS Global Accelerator, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Global Accelerator

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Global Accelerator
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Global Accelerator.

6. Developer code example

// SDK pattern for AWS Global Accelerator
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Global Accelerator.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Global Accelerator resources in target environment.
Execution/service roleglobalaccelerator.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "globalaccelerator.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "globalaccelerator:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Global Accelerator as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Global Accelerator with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Global Accelerator

AWS Cloud Map

Networking & Content DeliveryIAM prefix: servicediscoveryDeep lesson #92

1. What is AWS Cloud Map?

Service discovery for cloud resources and microservices.

Developer mental model: For AWS Cloud Map, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Cloud Map

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Cloud Map
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Cloud Map.

6. Developer code example

// SDK pattern for AWS Cloud Map
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Cloud Map.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Cloud Map resources in target environment.
Execution/service roleservicediscovery.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "servicediscovery.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "servicediscovery:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Cloud Map as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Cloud Map with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Cloud Map

Amazon VPC Lattice

Networking & Content DeliveryIAM prefix: vpc-latticeDeep lesson #93

1. What is Amazon VPC Lattice?

Service-to-service networking, auth, routing, and observability.

Developer mental model: For Amazon VPC Lattice, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon VPC Lattice

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for Amazon VPC Lattice
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon VPC Lattice.

6. Developer code example

// SDK pattern for Amazon VPC Lattice
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon VPC Lattice.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon VPC Lattice resources in target environment.
Execution/service rolevpc-lattice.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "vpc-lattice.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "vpc-lattice:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon VPC Lattice as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate Amazon VPC Lattice with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon VPC Lattice

AWS Network Manager

Networking & Content DeliveryIAM prefix: networkmanagerDeep lesson #94

1. What is AWS Network Manager?

Global network monitoring and management.

Developer mental model: For AWS Network Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

VPC/resource boundary

Controls connectivity, isolation, ingress, egress, and private access paths.

subnets

Controls connectivity, isolation, ingress, egress, and private access paths.

routes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security groups/NACLs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

public vs private access

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

DNS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

TLS

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

edge caching

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
ConnectivityControl how users, services, and VPCs communicate.Document owner, environment, tags, failure mode, and runbook before launch.
Security boundaryUse security groups, NACLs, private endpoints, WAF, and TLS.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
PerformanceUse edge locations, caching, routing policy, and low-latency paths.Document owner, environment, tags, failure mode, and runbook before launch.
ObservabilityLog DNS, CDN, VPC flow, and load balancer activity.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Network Manager

  1. Create the network/distribution/resource.
  2. Define public/private access.
  3. Attach TLS/DNS if applicable.
  4. Enable logs and metrics.
  5. Test connectivity from each client type.
  6. Document firewall/routing rules.

5. CLI / IaC starter

# Starter developer workflow for AWS Network Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Network Manager.

6. Developer code example

// SDK pattern for AWS Network Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Network Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Network Manager resources in target environment.
Execution/service rolenetworkmanager.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "networkmanager.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "networkmanager:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • VPC resources
  • Route 53 DNS
  • ACM certificates
  • WAF/Shield
  • CloudWatch logs/metrics
  • PrivateLink/endpoints

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Network Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize networking & content delivery capability across development, testing, and production accounts.
  3. Integrate AWS Network Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Network Manager

Amazon SQS

Application Integration & MessagingIAM prefix: sqsDeep lesson #95

1. What is Amazon SQS?

Managed message queues for decoupling producers and consumers.

Developer mental model: For Amazon SQS, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon SQS

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon SQS
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon SQS.

6. Developer code example

// SDK pattern for Amazon SQS
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon SQS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon SQS resources in target environment.
Execution/service rolesqs.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sqs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "sqs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon SQS as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon SQS with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon SQS

Amazon SNS

Application Integration & MessagingIAM prefix: snsDeep lesson #96

1. What is Amazon SNS?

Pub/sub messaging and notifications.

Developer mental model: For Amazon SNS, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon SNS

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon SNS
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon SNS.

6. Developer code example

// SDK pattern for Amazon SNS
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon SNS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon SNS resources in target environment.
Execution/service rolesns.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "sns:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon SNS as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon SNS with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon SNS

Amazon EventBridge

Application Integration & MessagingIAM prefix: eventsDeep lesson #97

1. What is Amazon EventBridge?

Event bus, rules, scheduler, and SaaS/AWS event routing.

Developer mental model: For Amazon EventBridge, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EventBridge

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon EventBridge
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon EventBridge.

6. Developer code example

// SDK pattern for Amazon EventBridge
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EventBridge.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EventBridge resources in target environment.
Execution/service roleevents.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "events:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon EventBridge as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon EventBridge with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EventBridge

AWS Step Functions

Application Integration & MessagingIAM prefix: statesDeep lesson #98

1. What is AWS Step Functions?

Workflow orchestration for serverless and distributed systems.

Developer mental model: For AWS Step Functions, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Step Functions

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Step Functions
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Step Functions.

6. Developer code example

// SDK pattern for AWS Step Functions
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Step Functions.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Step Functions resources in target environment.
Execution/service rolestates.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "states.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "states:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Step Functions as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate AWS Step Functions with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Step Functions

Amazon MQ

Application Integration & MessagingIAM prefix: mqDeep lesson #99

1. What is Amazon MQ?

Managed ActiveMQ and RabbitMQ brokers.

Developer mental model: For Amazon MQ, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon MQ

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon MQ
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon MQ.

6. Developer code example

// SDK pattern for Amazon MQ
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon MQ.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon MQ resources in target environment.
Execution/service rolemq.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mq.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mq:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon MQ as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon MQ with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon MQ

AWS AppSync

Application Integration & MessagingIAM prefix: appsyncDeep lesson #100

1. What is AWS AppSync?

Managed GraphQL APIs with real-time subscriptions.

Developer mental model: For AWS AppSync, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS AppSync

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS AppSync
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS AppSync.

6. Developer code example

// SDK pattern for AWS AppSync
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS AppSync.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS AppSync resources in target environment.
Execution/service roleappsync.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appsync.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "appsync:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS AppSync as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate AWS AppSync with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS AppSync

Amazon AppFlow

Application Integration & MessagingIAM prefix: appflowDeep lesson #101

1. What is Amazon AppFlow?

No-code/low-code SaaS data integration flows.

Developer mental model: For Amazon AppFlow, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon AppFlow

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon AppFlow
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon AppFlow.

6. Developer code example

// SDK pattern for Amazon AppFlow
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon AppFlow.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon AppFlow resources in target environment.
Execution/service roleappflow.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appflow.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "appflow:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon AppFlow as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon AppFlow with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon AppFlow

Amazon Simple Workflow Service (SWF)

Application Integration & MessagingIAM prefix: swfDeep lesson #102

1. What is Amazon Simple Workflow Service (SWF)?

Legacy workflow coordination service.

Developer mental model: For Amazon Simple Workflow Service (SWF), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Simple Workflow Service (SWF)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Simple Workflow Service (SWF)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Simple Workflow Service (SWF).

6. Developer code example

// SDK pattern for Amazon Simple Workflow Service (SWF)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Simple Workflow Service (SWF).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Simple Workflow Service (SWF) resources in target environment.
Execution/service roleswf.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "swf.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "swf:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Simple Workflow Service (SWF) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon Simple Workflow Service (SWF) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Simple Workflow Service (SWF)

Amazon SES

Application Integration & MessagingIAM prefix: sesDeep lesson #103

1. What is Amazon SES?

Email sending and receiving service.

Developer mental model: For Amazon SES, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon SES

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon SES
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon SES.

6. Developer code example

// SDK pattern for Amazon SES
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon SES.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon SES resources in target environment.
Execution/service roleses.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ses.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ses:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon SES as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon SES with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon SES

Amazon Pinpoint

Application Integration & MessagingIAM prefix: mobiletargetingDeep lesson #104

1. What is Amazon Pinpoint?

Customer engagement campaigns across channels.

Developer mental model: For Amazon Pinpoint, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Pinpoint

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Pinpoint
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Pinpoint.

6. Developer code example

// SDK pattern for Amazon Pinpoint
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Pinpoint.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Pinpoint resources in target environment.
Execution/service rolemobiletargeting.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mobiletargeting.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mobiletargeting:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Pinpoint as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon Pinpoint with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Pinpoint

Amazon Managed Workflows for Apache Airflow (MWAA)

Application Integration & MessagingIAM prefix: airflowDeep lesson #105

1. What is Amazon Managed Workflows for Apache Airflow (MWAA)?

Managed Apache Airflow orchestration.

Developer mental model: For Amazon Managed Workflows for Apache Airflow (MWAA), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Managed Workflows for Apache Airflow (MWAA)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Managed Workflows for Apache Airflow (MWAA)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Managed Workflows for Apache Airflow (MWAA).

6. Developer code example

// SDK pattern for Amazon Managed Workflows for Apache Airflow (MWAA)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Managed Workflows for Apache Airflow (MWAA).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Managed Workflows for Apache Airflow (MWAA) resources in target environment.
Execution/service roleairflow.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "airflow.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "airflow:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda consumers/producers
  • EventBridge routing
  • SQS DLQ
  • SNS fan-out
  • CloudWatch metrics
  • IAM resource policies where supported

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Managed Workflows for Apache Airflow (MWAA) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize application integration & messaging capability across development, testing, and production accounts.
  3. Integrate Amazon Managed Workflows for Apache Airflow (MWAA) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Managed Workflows for Apache Airflow (MWAA)

AWS CodeCommit

Developer Tools & DevOpsIAM prefix: codecommitDeep lesson #106

1. What is AWS CodeCommit?

Managed Git repositories for source control.

Developer mental model: For AWS CodeCommit, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CodeCommit

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CodeCommit
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CodeCommit.

6. Developer code example

// SDK pattern for AWS CodeCommit
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CodeCommit.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CodeCommit resources in target environment.
Execution/service rolecodecommit.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codecommit.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "codecommit:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CodeCommit as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CodeCommit with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CodeCommit

AWS CodeBuild

Developer Tools & DevOpsIAM prefix: codebuildDeep lesson #107

1. What is AWS CodeBuild?

Managed build service for compiling, testing, and packaging code.

Developer mental model: For AWS CodeBuild, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CodeBuild

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CodeBuild
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CodeBuild.

6. Developer code example

// SDK pattern for AWS CodeBuild
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CodeBuild.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CodeBuild resources in target environment.
Execution/service rolecodebuild.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codebuild.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "codebuild:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CodeBuild as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CodeBuild with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CodeBuild

AWS CodeDeploy

Developer Tools & DevOpsIAM prefix: codedeployDeep lesson #108

1. What is AWS CodeDeploy?

Automated deployments to EC2, Lambda, ECS, and on-premises.

Developer mental model: For AWS CodeDeploy, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CodeDeploy

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CodeDeploy
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CodeDeploy.

6. Developer code example

// SDK pattern for AWS CodeDeploy
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CodeDeploy.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CodeDeploy resources in target environment.
Execution/service rolecodedeploy.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codedeploy.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "codedeploy:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CodeDeploy as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CodeDeploy with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CodeDeploy

AWS CodePipeline

Developer Tools & DevOpsIAM prefix: codepipelineDeep lesson #109

1. What is AWS CodePipeline?

Continuous delivery pipeline orchestration.

Developer mental model: For AWS CodePipeline, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CodePipeline

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CodePipeline
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CodePipeline.

6. Developer code example

// SDK pattern for AWS CodePipeline
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CodePipeline.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CodePipeline resources in target environment.
Execution/service rolecodepipeline.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codepipeline.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "codepipeline:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CodePipeline as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CodePipeline with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CodePipeline

AWS CodeArtifact

Developer Tools & DevOpsIAM prefix: codeartifactDeep lesson #110

1. What is AWS CodeArtifact?

Managed package artifact repository.

Developer mental model: For AWS CodeArtifact, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CodeArtifact

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CodeArtifact
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CodeArtifact.

6. Developer code example

// SDK pattern for AWS CodeArtifact
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CodeArtifact.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CodeArtifact resources in target environment.
Execution/service rolecodeartifact.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codeartifact.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "codeartifact:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CodeArtifact as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CodeArtifact with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CodeArtifact

AWS Cloud9

Developer Tools & DevOpsIAM prefix: cloud9Deep lesson #111

1. What is AWS Cloud9?

Cloud-based IDE environments.

Developer mental model: For AWS Cloud9, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Cloud9

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Cloud9
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Cloud9.

6. Developer code example

// SDK pattern for AWS Cloud9
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Cloud9.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Cloud9 resources in target environment.
Execution/service rolecloud9.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloud9.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloud9:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Cloud9 as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS Cloud9 with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Cloud9

AWS X-Ray

Developer Tools & DevOpsIAM prefix: xrayDeep lesson #112

1. What is AWS X-Ray?

Distributed tracing for applications and services.

Developer mental model: For AWS X-Ray, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS X-Ray

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS X-Ray
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS X-Ray.

6. Developer code example

// SDK pattern for AWS X-Ray
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS X-Ray.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS X-Ray resources in target environment.
Execution/service rolexray.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "xray.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "xray:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS X-Ray as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS X-Ray with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS X-Ray

AWS CloudFormation

Developer Tools & DevOpsIAM prefix: cloudformationDeep lesson #113

1. What is AWS CloudFormation?

Infrastructure as Code templates for AWS resources.

Developer mental model: For AWS CloudFormation, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CloudFormation

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CloudFormation
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CloudFormation.

6. Developer code example

// SDK pattern for AWS CloudFormation
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CloudFormation.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CloudFormation resources in target environment.
Execution/service rolecloudformation.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CloudFormation as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CloudFormation with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CloudFormation

AWS CDK

Developer Tools & DevOpsIAM prefix: cloudformationDeep lesson #114

1. What is AWS CDK?

Define cloud infrastructure using programming languages.

Developer mental model: For AWS CDK, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CDK

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CDK
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CDK.

6. Developer code example

// SDK pattern for AWS CDK
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CDK.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CDK resources in target environment.
Execution/service rolecloudformation.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CDK as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS CDK with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CDK

AWS SAM

Developer Tools & DevOpsIAM prefix: cloudformationDeep lesson #115

1. What is AWS SAM?

Serverless app framework for Lambda/API Gateway apps.

Developer mental model: For AWS SAM, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS SAM

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS SAM
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS SAM.

6. Developer code example

// SDK pattern for AWS SAM
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS SAM.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS SAM resources in target environment.
Execution/service rolecloudformation.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS SAM as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS SAM with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS SAM

AWS Copilot

Developer Tools & DevOpsIAM prefix: ecsDeep lesson #116

1. What is AWS Copilot?

CLI for containerized app deployment to ECS/App Runner.

Developer mental model: For AWS Copilot, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Copilot

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Copilot
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Copilot.

6. Developer code example

// SDK pattern for AWS Copilot
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Copilot.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Copilot resources in target environment.
Execution/service roleecs.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ecs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ecs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Copilot as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS Copilot with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Copilot

AWS Amplify

Developer Tools & DevOpsIAM prefix: amplifyDeep lesson #117

1. What is AWS Amplify?

Full-stack frontend and mobile development platform.

Developer mental model: For AWS Amplify, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Amplify

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Amplify
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Amplify.

6. Developer code example

// SDK pattern for AWS Amplify
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Amplify.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Amplify resources in target environment.
Execution/service roleamplify.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "amplify.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "amplify:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Amplify as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS Amplify with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Amplify

AWS Device Farm

Developer Tools & DevOpsIAM prefix: devicefarmDeep lesson #118

1. What is AWS Device Farm?

App testing on real mobile/browser devices.

Developer mental model: For AWS Device Farm, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Device Farm

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Device Farm
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Device Farm.

6. Developer code example

// SDK pattern for AWS Device Farm
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Device Farm.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Device Farm resources in target environment.
Execution/service roledevicefarm.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "devicefarm.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "devicefarm:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Device Farm as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate AWS Device Farm with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Device Farm

Amazon CodeCatalyst

Developer Tools & DevOpsIAM prefix: codecatalystDeep lesson #119

1. What is Amazon CodeCatalyst?

Integrated software development and CI/CD workspace.

Developer mental model: For Amazon CodeCatalyst, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon CodeCatalyst

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon CodeCatalyst
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon CodeCatalyst.

6. Developer code example

// SDK pattern for Amazon CodeCatalyst
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon CodeCatalyst.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon CodeCatalyst resources in target environment.
Execution/service rolecodecatalyst.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codecatalyst.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "codecatalyst:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon CodeCatalyst as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize developer tools & devops capability across development, testing, and production accounts.
  3. Integrate Amazon CodeCatalyst with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon CodeCatalyst

Amazon CloudWatch

Monitoring, Management & GovernanceIAM prefix: cloudwatchDeep lesson #120

1. What is Amazon CloudWatch?

Metrics, logs, alarms, dashboards, events, and observability.

Developer mental model: For Amazon CloudWatch, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon CloudWatch

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon CloudWatch
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon CloudWatch.

6. Developer code example

// SDK pattern for Amazon CloudWatch
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon CloudWatch.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon CloudWatch resources in target environment.
Execution/service rolecloudwatch.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudwatch.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon CloudWatch as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate Amazon CloudWatch with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon CloudWatch

AWS CloudTrail

Monitoring, Management & GovernanceIAM prefix: cloudtrailDeep lesson #121

1. What is AWS CloudTrail?

Audit logs for AWS API activity and account actions.

Developer mental model: For AWS CloudTrail, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS CloudTrail

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS CloudTrail
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS CloudTrail.

6. Developer code example

// SDK pattern for AWS CloudTrail
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS CloudTrail.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS CloudTrail resources in target environment.
Execution/service rolecloudtrail.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cloudtrail:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS CloudTrail as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS CloudTrail with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS CloudTrail

AWS Config

Monitoring, Management & GovernanceIAM prefix: configDeep lesson #122

1. What is AWS Config?

Resource inventory, configuration history, and compliance rules.

Developer mental model: For AWS Config, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Config

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Config
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Config.

6. Developer code example

// SDK pattern for AWS Config
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Config.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Config resources in target environment.
Execution/service roleconfig.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "config.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "config:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Config as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Config with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Config

AWS Systems Manager

Monitoring, Management & GovernanceIAM prefix: ssmDeep lesson #123

1. What is AWS Systems Manager?

Operational management for instances, patching, parameter store, automation, and run command.

Developer mental model: For AWS Systems Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Systems Manager

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Systems Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Systems Manager.

6. Developer code example

// SDK pattern for AWS Systems Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Systems Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Systems Manager resources in target environment.
Execution/service rolessm.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ssm.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ssm:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Systems Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Systems Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Systems Manager

AWS OpsWorks

Monitoring, Management & GovernanceIAM prefix: opsworksDeep lesson #124

1. What is AWS OpsWorks?

Configuration management with Chef/Puppet style stacks.

Developer mental model: For AWS OpsWorks, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS OpsWorks

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS OpsWorks
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS OpsWorks.

6. Developer code example

// SDK pattern for AWS OpsWorks
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS OpsWorks.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS OpsWorks resources in target environment.
Execution/service roleopsworks.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "opsworks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "opsworks:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS OpsWorks as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS OpsWorks with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS OpsWorks

AWS Service Catalog

Monitoring, Management & GovernanceIAM prefix: servicecatalogDeep lesson #125

1. What is AWS Service Catalog?

Approved product catalog for governed self-service provisioning.

Developer mental model: For AWS Service Catalog, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Service Catalog

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Service Catalog
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Service Catalog.

6. Developer code example

// SDK pattern for AWS Service Catalog
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Service Catalog.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Service Catalog resources in target environment.
Execution/service roleservicecatalog.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "servicecatalog.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "servicecatalog:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Service Catalog as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Service Catalog with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Service Catalog

AWS License Manager

Monitoring, Management & GovernanceIAM prefix: license-managerDeep lesson #126

1. What is AWS License Manager?

Software license tracking and controls.

Developer mental model: For AWS License Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS License Manager

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS License Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS License Manager.

6. Developer code example

// SDK pattern for AWS License Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS License Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS License Manager resources in target environment.
Execution/service rolelicense-manager.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "license-manager.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "license-manager:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS License Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS License Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS License Manager

Amazon Managed Grafana

Monitoring, Management & GovernanceIAM prefix: grafanaDeep lesson #127

1. What is Amazon Managed Grafana?

Managed Grafana workspaces for dashboards.

Developer mental model: For Amazon Managed Grafana, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Managed Grafana

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Managed Grafana
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Managed Grafana.

6. Developer code example

// SDK pattern for Amazon Managed Grafana
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Managed Grafana.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Managed Grafana resources in target environment.
Execution/service rolegrafana.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "grafana.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "grafana:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Managed Grafana as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate Amazon Managed Grafana with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Managed Grafana

Amazon Managed Service for Prometheus

Monitoring, Management & GovernanceIAM prefix: apsDeep lesson #128

1. What is Amazon Managed Service for Prometheus?

Managed Prometheus metrics service.

Developer mental model: For Amazon Managed Service for Prometheus, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Managed Service for Prometheus

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Managed Service for Prometheus
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Managed Service for Prometheus.

6. Developer code example

// SDK pattern for Amazon Managed Service for Prometheus
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Managed Service for Prometheus.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Managed Service for Prometheus resources in target environment.
Execution/service roleaps.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "aps.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "aps:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Managed Service for Prometheus as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate Amazon Managed Service for Prometheus with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Managed Service for Prometheus

AWS Distro for OpenTelemetry

Monitoring, Management & GovernanceIAM prefix: observabilityadminDeep lesson #129

1. What is AWS Distro for OpenTelemetry?

OpenTelemetry collection for metrics/traces/logs.

Developer mental model: For AWS Distro for OpenTelemetry, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Distro for OpenTelemetry

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Distro for OpenTelemetry
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Distro for OpenTelemetry.

6. Developer code example

// SDK pattern for AWS Distro for OpenTelemetry
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Distro for OpenTelemetry.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Distro for OpenTelemetry resources in target environment.
Execution/service roleobservabilityadmin.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "observabilityadmin.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "observabilityadmin:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Distro for OpenTelemetry as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Distro for OpenTelemetry with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Distro for OpenTelemetry

Amazon DevOps Guru

Monitoring, Management & GovernanceIAM prefix: devops-guruDeep lesson #130

1. What is Amazon DevOps Guru?

ML-powered operational insights.

Developer mental model: For Amazon DevOps Guru, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon DevOps Guru

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon DevOps Guru
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon DevOps Guru.

6. Developer code example

// SDK pattern for Amazon DevOps Guru
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon DevOps Guru.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon DevOps Guru resources in target environment.
Execution/service roledevops-guru.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "devops-guru.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "devops-guru:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon DevOps Guru as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate Amazon DevOps Guru with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon DevOps Guru

AWS Well-Architected Tool

Monitoring, Management & GovernanceIAM prefix: wellarchitectedDeep lesson #131

1. What is AWS Well-Architected Tool?

Workload review and best-practice improvement tracking.

Developer mental model: For AWS Well-Architected Tool, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Well-Architected Tool

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Well-Architected Tool
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Well-Architected Tool.

6. Developer code example

// SDK pattern for AWS Well-Architected Tool
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Well-Architected Tool.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Well-Architected Tool resources in target environment.
Execution/service rolewellarchitected.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "wellarchitected.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "wellarchitected:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Well-Architected Tool as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Well-Architected Tool with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Well-Architected Tool

AWS Resilience Hub

Monitoring, Management & GovernanceIAM prefix: resiliencehubDeep lesson #132

1. What is AWS Resilience Hub?

Application resilience assessment and recommendations.

Developer mental model: For AWS Resilience Hub, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Resilience Hub

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Resilience Hub
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Resilience Hub.

6. Developer code example

// SDK pattern for AWS Resilience Hub
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Resilience Hub.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Resilience Hub resources in target environment.
Execution/service roleresiliencehub.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "resiliencehub.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "resiliencehub:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Resilience Hub as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Resilience Hub with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Resilience Hub

AWS Incident Manager

Monitoring, Management & GovernanceIAM prefix: ssm-incidentsDeep lesson #133

1. What is AWS Incident Manager?

Incident response plans, engagements, and timelines.

Developer mental model: For AWS Incident Manager, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Incident Manager

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Incident Manager
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Incident Manager.

6. Developer code example

// SDK pattern for AWS Incident Manager
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Incident Manager.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Incident Manager resources in target environment.
Execution/service rolessm-incidents.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ssm-incidents.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ssm-incidents:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Incident Manager as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Incident Manager with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Incident Manager

AWS Chatbot / AWS User Notifications

Monitoring, Management & GovernanceIAM prefix: chatbotDeep lesson #134

1. What is AWS Chatbot / AWS User Notifications?

Operational notifications into chat channels and notification centers.

Developer mental model: For AWS Chatbot / AWS User Notifications, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Chatbot / AWS User Notifications

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Chatbot / AWS User Notifications
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Chatbot / AWS User Notifications.

6. Developer code example

// SDK pattern for AWS Chatbot / AWS User Notifications
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Chatbot / AWS User Notifications.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Chatbot / AWS User Notifications resources in target environment.
Execution/service rolechatbot.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "chatbot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "chatbot:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Chatbot / AWS User Notifications as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS Chatbot / AWS User Notifications with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Chatbot / AWS User Notifications

AWS AppConfig

Monitoring, Management & GovernanceIAM prefix: appconfigDeep lesson #135

1. What is AWS AppConfig?

Feature flags and runtime configuration deployments.

Developer mental model: For AWS AppConfig, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS AppConfig

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS AppConfig
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS AppConfig.

6. Developer code example

// SDK pattern for AWS AppConfig
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS AppConfig.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS AppConfig resources in target environment.
Execution/service roleappconfig.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appconfig.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "appconfig:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS AppConfig as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize monitoring, management & governance capability across development, testing, and production accounts.
  3. Integrate AWS AppConfig with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS AppConfig

Amazon Athena

Analytics & Data LakeIAM prefix: athenaDeep lesson #136

1. What is Amazon Athena?

Serverless SQL queries over S3 data.

Developer mental model: For Amazon Athena, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Athena

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Athena
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Athena.

6. Developer code example

// SDK pattern for Amazon Athena
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Athena.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Athena resources in target environment.
Execution/service roleathena.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "athena.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "athena:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Athena as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon Athena with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Athena

AWS Glue

Analytics & Data LakeIAM prefix: glueDeep lesson #137

1. What is AWS Glue?

Serverless data integration, ETL, crawlers, and Data Catalog.

Developer mental model: For AWS Glue, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Glue

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Glue
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Glue.

6. Developer code example

// SDK pattern for AWS Glue
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Glue.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Glue resources in target environment.
Execution/service roleglue.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "glue.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Glue as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate AWS Glue with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Glue

Amazon EMR

Analytics & Data LakeIAM prefix: elasticmapreduceDeep lesson #138

1. What is Amazon EMR?

Managed big data frameworks like Spark, Hive, Presto, and Hadoop.

Developer mental model: For Amazon EMR, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon EMR

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon EMR
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon EMR.

6. Developer code example

// SDK pattern for Amazon EMR
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon EMR.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon EMR resources in target environment.
Execution/service roleelasticmapreduce.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticmapreduce.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon EMR as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon EMR with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon EMR

Amazon Redshift

Analytics & Data LakeIAM prefix: redshiftDeep lesson #139

1. What is Amazon Redshift?

Data warehouse for large-scale analytics.

Developer mental model: For Amazon Redshift, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Redshift

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Redshift
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Redshift.

6. Developer code example

// SDK pattern for Amazon Redshift
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Redshift.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Redshift resources in target environment.
Execution/service roleredshift.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "redshift.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "redshift:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Redshift as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon Redshift with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Redshift

Amazon Kinesis Data Streams

Analytics & Data LakeIAM prefix: kinesisDeep lesson #140

1. What is Amazon Kinesis Data Streams?

Real-time streaming data ingestion.

Developer mental model: For Amazon Kinesis Data Streams, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Kinesis Data Streams

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Kinesis Data Streams
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Kinesis Data Streams.

6. Developer code example

// SDK pattern for Amazon Kinesis Data Streams
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Kinesis Data Streams.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Kinesis Data Streams resources in target environment.
Execution/service rolekinesis.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kinesis.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "kinesis:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Kinesis Data Streams as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon Kinesis Data Streams with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Kinesis Data Streams

Amazon Data Firehose

Analytics & Data LakeIAM prefix: firehoseDeep lesson #141

1. What is Amazon Data Firehose?

Managed streaming delivery to S3, Redshift, OpenSearch, and partners.

Developer mental model: For Amazon Data Firehose, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Data Firehose

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Data Firehose
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Data Firehose.

6. Developer code example

// SDK pattern for Amazon Data Firehose
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Data Firehose.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Data Firehose resources in target environment.
Execution/service rolefirehose.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "firehose:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Data Firehose as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon Data Firehose with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Data Firehose

Amazon Kinesis Video Streams

Analytics & Data LakeIAM prefix: kinesisvideoDeep lesson #142

1. What is Amazon Kinesis Video Streams?

Video streaming capture and processing.

Developer mental model: For Amazon Kinesis Video Streams, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Kinesis Video Streams

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Kinesis Video Streams
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Kinesis Video Streams.

6. Developer code example

// SDK pattern for Amazon Kinesis Video Streams
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Kinesis Video Streams.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Kinesis Video Streams resources in target environment.
Execution/service rolekinesisvideo.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kinesisvideo.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "kinesisvideo:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Kinesis Video Streams as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon Kinesis Video Streams with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Kinesis Video Streams

Amazon Managed Service for Apache Flink

Analytics & Data LakeIAM prefix: kinesisanalyticsDeep lesson #143

1. What is Amazon Managed Service for Apache Flink?

Real-time stream processing with Apache Flink.

Developer mental model: For Amazon Managed Service for Apache Flink, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Managed Service for Apache Flink

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Managed Service for Apache Flink
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Managed Service for Apache Flink.

6. Developer code example

// SDK pattern for Amazon Managed Service for Apache Flink
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Managed Service for Apache Flink.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Managed Service for Apache Flink resources in target environment.
Execution/service rolekinesisanalytics.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kinesisanalytics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "kinesisanalytics:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Managed Service for Apache Flink as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon Managed Service for Apache Flink with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Managed Service for Apache Flink

Amazon MSK

Analytics & Data LakeIAM prefix: kafkaDeep lesson #144

1. What is Amazon MSK?

Managed Apache Kafka clusters.

Developer mental model: For Amazon MSK, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon MSK

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon MSK
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon MSK.

6. Developer code example

// SDK pattern for Amazon MSK
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon MSK.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon MSK resources in target environment.
Execution/service rolekafka.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kafka.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "kafka:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon MSK as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon MSK with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon MSK

Amazon OpenSearch Service

Analytics & Data LakeIAM prefix: esDeep lesson #145

1. What is Amazon OpenSearch Service?

Search, logs analytics, and vector search platform.

Developer mental model: For Amazon OpenSearch Service, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon OpenSearch Service

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon OpenSearch Service
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon OpenSearch Service.

6. Developer code example

// SDK pattern for Amazon OpenSearch Service
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon OpenSearch Service.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon OpenSearch Service resources in target environment.
Execution/service rolees.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "es.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "es:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon OpenSearch Service as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon OpenSearch Service with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon OpenSearch Service

Amazon QuickSight

Analytics & Data LakeIAM prefix: quicksightDeep lesson #146

1. What is Amazon QuickSight?

Business intelligence dashboards and embedded analytics.

Developer mental model: For Amazon QuickSight, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon QuickSight

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon QuickSight
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon QuickSight.

6. Developer code example

// SDK pattern for Amazon QuickSight
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon QuickSight.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon QuickSight resources in target environment.
Execution/service rolequicksight.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "quicksight.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "quicksight:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon QuickSight as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon QuickSight with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon QuickSight

AWS Lake Formation

Analytics & Data LakeIAM prefix: lakeformationDeep lesson #147

1. What is AWS Lake Formation?

Data lake permissions, cataloging, and governance.

Developer mental model: For AWS Lake Formation, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Lake Formation

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Lake Formation
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Lake Formation.

6. Developer code example

// SDK pattern for AWS Lake Formation
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Lake Formation.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Lake Formation resources in target environment.
Execution/service rolelakeformation.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lakeformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "lakeformation:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Lake Formation as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate AWS Lake Formation with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Lake Formation

AWS Data Exchange

Analytics & Data LakeIAM prefix: dataexchangeDeep lesson #148

1. What is AWS Data Exchange?

Find and subscribe to third-party data products.

Developer mental model: For AWS Data Exchange, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Data Exchange

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Data Exchange
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Data Exchange.

6. Developer code example

// SDK pattern for AWS Data Exchange
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Data Exchange.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Data Exchange resources in target environment.
Execution/service roledataexchange.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dataexchange.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "dataexchange:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Data Exchange as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate AWS Data Exchange with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Data Exchange

AWS Data Pipeline

Analytics & Data LakeIAM prefix: datapipelineDeep lesson #149

1. What is AWS Data Pipeline?

Legacy data movement and processing workflows.

Developer mental model: For AWS Data Pipeline, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Data Pipeline

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Data Pipeline
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Data Pipeline.

6. Developer code example

// SDK pattern for AWS Data Pipeline
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Data Pipeline.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Data Pipeline resources in target environment.
Execution/service roledatapipeline.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "datapipeline.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "datapipeline:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Data Pipeline as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate AWS Data Pipeline with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Data Pipeline

AWS Clean Rooms

Analytics & Data LakeIAM prefix: cleanroomsDeep lesson #150

1. What is AWS Clean Rooms?

Privacy-enhanced collaborative analytics.

Developer mental model: For AWS Clean Rooms, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Clean Rooms

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Clean Rooms
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Clean Rooms.

6. Developer code example

// SDK pattern for AWS Clean Rooms
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Clean Rooms.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Clean Rooms resources in target environment.
Execution/service rolecleanrooms.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cleanrooms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cleanrooms:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Clean Rooms as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate AWS Clean Rooms with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Clean Rooms

Amazon DataZone

Analytics & Data LakeIAM prefix: datazoneDeep lesson #151

1. What is Amazon DataZone?

Data catalog, governance, and data portal.

Developer mental model: For Amazon DataZone, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon DataZone

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon DataZone
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon DataZone.

6. Developer code example

// SDK pattern for Amazon DataZone
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon DataZone.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon DataZone resources in target environment.
Execution/service roledatazone.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "datazone.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "datazone:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon DataZone as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon DataZone with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon DataZone

AWS Entity Resolution

Analytics & Data LakeIAM prefix: entityresolutionDeep lesson #152

1. What is AWS Entity Resolution?

Match, link, and enhance related records.

Developer mental model: For AWS Entity Resolution, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Entity Resolution

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Entity Resolution
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Entity Resolution.

6. Developer code example

// SDK pattern for AWS Entity Resolution
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Entity Resolution.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Entity Resolution resources in target environment.
Execution/service roleentityresolution.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "entityresolution.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "entityresolution:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Entity Resolution as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate AWS Entity Resolution with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Entity Resolution

Amazon FinSpace

Analytics & Data LakeIAM prefix: finspaceDeep lesson #153

1. What is Amazon FinSpace?

Financial services analytics environment.

Developer mental model: For Amazon FinSpace, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon FinSpace

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon FinSpace
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon FinSpace.

6. Developer code example

// SDK pattern for Amazon FinSpace
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon FinSpace.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon FinSpace resources in target environment.
Execution/service rolefinspace.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "finspace.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "finspace:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon FinSpace as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize analytics & data lake capability across development, testing, and production accounts.
  3. Integrate Amazon FinSpace with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon FinSpace

Amazon Bedrock

Machine Learning & AIIAM prefix: bedrockDeep lesson #154

1. What is Amazon Bedrock?

Foundation models and generative AI application development.

Developer mental model: For Amazon Bedrock, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Bedrock

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Bedrock
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Bedrock.

6. Developer code example

// SDK pattern for Amazon Bedrock
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Bedrock.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Bedrock resources in target environment.
Execution/service rolebedrock.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "bedrock.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Bedrock as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Bedrock with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Bedrock

Amazon Bedrock AgentCore

Machine Learning & AIIAM prefix: bedrock-agentcoreDeep lesson #155

1. What is Amazon Bedrock AgentCore?

Deploy and operate AI agents at scale.

Developer mental model: For Amazon Bedrock AgentCore, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Bedrock AgentCore

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Bedrock AgentCore
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Bedrock AgentCore.

6. Developer code example

// SDK pattern for Amazon Bedrock AgentCore
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Bedrock AgentCore.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Bedrock AgentCore resources in target environment.
Execution/service rolebedrock-agentcore.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "bedrock-agentcore.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Bedrock AgentCore as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Bedrock AgentCore with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Bedrock AgentCore

Amazon SageMaker AI

Machine Learning & AIIAM prefix: sagemakerDeep lesson #156

1. What is Amazon SageMaker AI?

Build, train, tune, deploy, and govern ML models.

Developer mental model: For Amazon SageMaker AI, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon SageMaker AI

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon SageMaker AI
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon SageMaker AI.

6. Developer code example

// SDK pattern for Amazon SageMaker AI
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon SageMaker AI.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon SageMaker AI resources in target environment.
Execution/service rolesagemaker.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "sagemaker:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon SageMaker AI as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon SageMaker AI with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon SageMaker AI

Amazon Comprehend

Machine Learning & AIIAM prefix: comprehendDeep lesson #157

1. What is Amazon Comprehend?

Natural language processing for text insights.

Developer mental model: For Amazon Comprehend, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Comprehend

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Comprehend
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Comprehend.

6. Developer code example

// SDK pattern for Amazon Comprehend
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Comprehend.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Comprehend resources in target environment.
Execution/service rolecomprehend.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "comprehend.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "comprehend:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Comprehend as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Comprehend with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Comprehend

Amazon Comprehend Medical

Machine Learning & AIIAM prefix: comprehendmedicalDeep lesson #158

1. What is Amazon Comprehend Medical?

Medical NLP for healthcare text.

Developer mental model: For Amazon Comprehend Medical, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Comprehend Medical

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Comprehend Medical
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Comprehend Medical.

6. Developer code example

// SDK pattern for Amazon Comprehend Medical
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Comprehend Medical.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Comprehend Medical resources in target environment.
Execution/service rolecomprehendmedical.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "comprehendmedical.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "comprehendmedical:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Comprehend Medical as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Comprehend Medical with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Comprehend Medical

Amazon Lex

Machine Learning & AIIAM prefix: lexDeep lesson #159

1. What is Amazon Lex?

Conversational interfaces and chatbots.

Developer mental model: For Amazon Lex, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Lex

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Lex
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Lex.

6. Developer code example

// SDK pattern for Amazon Lex
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Lex.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Lex resources in target environment.
Execution/service rolelex.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lex.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "lex:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Lex as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Lex with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Lex

Amazon Polly

Machine Learning & AIIAM prefix: pollyDeep lesson #160

1. What is Amazon Polly?

Text-to-speech synthesis.

Developer mental model: For Amazon Polly, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Polly

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Polly
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Polly.

6. Developer code example

// SDK pattern for Amazon Polly
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Polly.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Polly resources in target environment.
Execution/service rolepolly.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "polly.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "polly:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Polly as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Polly with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Polly

Amazon Rekognition

Machine Learning & AIIAM prefix: rekognitionDeep lesson #161

1. What is Amazon Rekognition?

Image and video analysis.

Developer mental model: For Amazon Rekognition, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Rekognition

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Rekognition
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Rekognition.

6. Developer code example

// SDK pattern for Amazon Rekognition
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Rekognition.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Rekognition resources in target environment.
Execution/service rolerekognition.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "rekognition.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "rekognition:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Rekognition as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Rekognition with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Rekognition

Amazon Textract

Machine Learning & AIIAM prefix: textractDeep lesson #162

1. What is Amazon Textract?

Extract text, tables, forms, and structured data from documents.

Developer mental model: For Amazon Textract, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Textract

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Textract
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Textract.

6. Developer code example

// SDK pattern for Amazon Textract
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Textract.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Textract resources in target environment.
Execution/service roletextract.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "textract.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "textract:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Textract as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Textract with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Textract

Amazon Transcribe

Machine Learning & AIIAM prefix: transcribeDeep lesson #163

1. What is Amazon Transcribe?

Automatic speech recognition and transcription.

Developer mental model: For Amazon Transcribe, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Transcribe

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Transcribe
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Transcribe.

6. Developer code example

// SDK pattern for Amazon Transcribe
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Transcribe.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Transcribe resources in target environment.
Execution/service roletranscribe.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "transcribe.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "transcribe:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Transcribe as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Transcribe with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Transcribe

Amazon Translate

Machine Learning & AIIAM prefix: translateDeep lesson #164

1. What is Amazon Translate?

Machine translation.

Developer mental model: For Amazon Translate, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Translate

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Translate
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Translate.

6. Developer code example

// SDK pattern for Amazon Translate
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Translate.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Translate resources in target environment.
Execution/service roletranslate.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "translate.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "translate:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Translate as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Translate with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Translate

Amazon Kendra

Machine Learning & AIIAM prefix: kendraDeep lesson #165

1. What is Amazon Kendra?

Enterprise search powered by ML.

Developer mental model: For Amazon Kendra, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Kendra

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Kendra
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Kendra.

6. Developer code example

// SDK pattern for Amazon Kendra
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Kendra.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Kendra resources in target environment.
Execution/service rolekendra.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kendra.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "kendra:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Kendra as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Kendra with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Kendra

Amazon Personalize

Machine Learning & AIIAM prefix: personalizeDeep lesson #166

1. What is Amazon Personalize?

Recommendation models for personalization.

Developer mental model: For Amazon Personalize, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Personalize

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Personalize
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Personalize.

6. Developer code example

// SDK pattern for Amazon Personalize
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Personalize.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Personalize resources in target environment.
Execution/service rolepersonalize.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "personalize.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "personalize:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Personalize as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Personalize with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Personalize

Amazon Forecast

Machine Learning & AIIAM prefix: forecastDeep lesson #167

1. What is Amazon Forecast?

Time-series forecasting service.

Developer mental model: For Amazon Forecast, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Forecast

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Forecast
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Forecast.

6. Developer code example

// SDK pattern for Amazon Forecast
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Forecast.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Forecast resources in target environment.
Execution/service roleforecast.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "forecast.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "forecast:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Forecast as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Forecast with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Forecast

Amazon Fraud Detector

Machine Learning & AIIAM prefix: frauddetectorDeep lesson #168

1. What is Amazon Fraud Detector?

Fraud prediction using ML models.

Developer mental model: For Amazon Fraud Detector, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Fraud Detector

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Fraud Detector
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Fraud Detector.

6. Developer code example

// SDK pattern for Amazon Fraud Detector
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Fraud Detector.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Fraud Detector resources in target environment.
Execution/service rolefrauddetector.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "frauddetector.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "frauddetector:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Fraud Detector as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Fraud Detector with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Fraud Detector

Amazon Lookout for Metrics

Machine Learning & AIIAM prefix: lookoutmetricsDeep lesson #169

1. What is Amazon Lookout for Metrics?

Anomaly detection for metrics.

Developer mental model: For Amazon Lookout for Metrics, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Lookout for Metrics

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Lookout for Metrics
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Lookout for Metrics.

6. Developer code example

// SDK pattern for Amazon Lookout for Metrics
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Lookout for Metrics.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Lookout for Metrics resources in target environment.
Execution/service rolelookoutmetrics.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lookoutmetrics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "lookoutmetrics:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Lookout for Metrics as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Lookout for Metrics with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Lookout for Metrics

Amazon Lookout for Equipment

Machine Learning & AIIAM prefix: lookoutequipmentDeep lesson #170

1. What is Amazon Lookout for Equipment?

Predictive maintenance for industrial equipment.

Developer mental model: For Amazon Lookout for Equipment, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Lookout for Equipment

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Lookout for Equipment
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Lookout for Equipment.

6. Developer code example

// SDK pattern for Amazon Lookout for Equipment
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Lookout for Equipment.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Lookout for Equipment resources in target environment.
Execution/service rolelookoutequipment.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lookoutequipment.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "lookoutequipment:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Lookout for Equipment as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Lookout for Equipment with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Lookout for Equipment

Amazon Lookout for Vision

Machine Learning & AIIAM prefix: lookoutvisionDeep lesson #171

1. What is Amazon Lookout for Vision?

Visual anomaly detection.

Developer mental model: For Amazon Lookout for Vision, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Lookout for Vision

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Lookout for Vision
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Lookout for Vision.

6. Developer code example

// SDK pattern for Amazon Lookout for Vision
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Lookout for Vision.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Lookout for Vision resources in target environment.
Execution/service rolelookoutvision.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lookoutvision.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "lookoutvision:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Lookout for Vision as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Lookout for Vision with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Lookout for Vision

Amazon Monitron

Machine Learning & AIIAM prefix: monitronDeep lesson #172

1. What is Amazon Monitron?

Industrial equipment monitoring and predictive maintenance.

Developer mental model: For Amazon Monitron, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Monitron

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Monitron
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Monitron.

6. Developer code example

// SDK pattern for Amazon Monitron
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Monitron.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Monitron resources in target environment.
Execution/service rolemonitron.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "monitron.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "monitron:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Monitron as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Monitron with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Monitron

Amazon HealthLake

Machine Learning & AIIAM prefix: healthlakeDeep lesson #173

1. What is Amazon HealthLake?

FHIR-based healthcare data lake.

Developer mental model: For Amazon HealthLake, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon HealthLake

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon HealthLake
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon HealthLake.

6. Developer code example

// SDK pattern for Amazon HealthLake
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon HealthLake.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon HealthLake resources in target environment.
Execution/service rolehealthlake.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "healthlake.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "healthlake:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon HealthLake as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon HealthLake with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon HealthLake

Amazon Augmented AI (A2I)

Machine Learning & AIIAM prefix: sagemakerDeep lesson #174

1. What is Amazon Augmented AI (A2I)?

Human review workflows for ML predictions.

Developer mental model: For Amazon Augmented AI (A2I), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Augmented AI (A2I)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Augmented AI (A2I)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Augmented AI (A2I).

6. Developer code example

// SDK pattern for Amazon Augmented AI (A2I)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Augmented AI (A2I).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Augmented AI (A2I) resources in target environment.
Execution/service rolesagemaker.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "sagemaker:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Augmented AI (A2I) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Augmented AI (A2I) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Augmented AI (A2I)

AWS DeepRacer

Machine Learning & AIIAM prefix: deepracerDeep lesson #175

1. What is AWS DeepRacer?

ML reinforcement learning education using autonomous racing.

Developer mental model: For AWS DeepRacer, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS DeepRacer

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS DeepRacer
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS DeepRacer.

6. Developer code example

// SDK pattern for AWS DeepRacer
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS DeepRacer.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS DeepRacer resources in target environment.
Execution/service roledeepracer.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "deepracer.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "deepracer:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS DeepRacer as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate AWS DeepRacer with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS DeepRacer

Amazon Q Developer

Machine Learning & AIIAM prefix: qdeveloperDeep lesson #176

1. What is Amazon Q Developer?

AI assistant for software development and AWS operations.

Developer mental model: For Amazon Q Developer, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Q Developer

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Q Developer
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Q Developer.

6. Developer code example

// SDK pattern for Amazon Q Developer
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Q Developer.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Q Developer resources in target environment.
Execution/service roleqdeveloper.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "qdeveloper.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "qdeveloper:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Q Developer as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Q Developer with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Q Developer

Amazon Q Business

Machine Learning & AIIAM prefix: qbusinessDeep lesson #177

1. What is Amazon Q Business?

Enterprise generative AI assistant connected to company data.

Developer mental model: For Amazon Q Business, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Q Business

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Q Business
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Q Business.

6. Developer code example

// SDK pattern for Amazon Q Business
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Q Business.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Q Business resources in target environment.
Execution/service roleqbusiness.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "qbusiness.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "qbusiness:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Q Business as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize machine learning & ai capability across development, testing, and production accounts.
  3. Integrate Amazon Q Business with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Q Business

Amazon Connect

Business Applications & Contact CenterIAM prefix: connectDeep lesson #178

1. What is Amazon Connect?

Amazon Connect is a cloud contact center service for voice, chat, tasks, email, analytics, agent workspace, routing, and customer service operations.

Developer mental model: Think: customer contact enters a phone/chat/email channel → flow executes IVR/business logic → attributes are set → contact is routed to a queue → routing profile chooses eligible agents → agent handles in workspace/CCP → recording/metrics/contact record/analytics are produced.

2. Concepts you must know

Connect instance

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

phone numbers

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

users

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

agents

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

security profiles

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

routing profiles

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

queues

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

hours of operation

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

flows

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

flow blocks

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

flow modules

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

prompts

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

contact attributes

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quick connects

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

transfers

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

callback

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

call recording

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Contact Lens

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

real-time metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

historical metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

contact records

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Customer Profiles

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Cases

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Tasks

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

chat

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

email

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Amazon Q in Connect

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Lex integration

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

Lambda integration

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

outbound campaigns

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
FlowsVisual workflows that define IVR, prompts, branching, attributes, integrations, routing, and transfers.Document owner, environment, tags, failure mode, and runbook before launch.
Queues and routingQueues represent work; routing profiles map agents to queues with priorities.Document owner, environment, tags, failure mode, and runbook before launch.
Recording and analyticsRecord calls, analyze sentiment/categories, redact sensitive data, and review quality.Document owner, environment, tags, failure mode, and runbook before launch.
Agent workspaceAgent UI for handling contacts, knowledge, cases, profiles, and AI assistance.Document owner, environment, tags, failure mode, and runbook before launch.
MetricsReal-time and historical metrics for service level, occupancy, contacts handled, abandon rate, queue time, and agent performance.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Connect

  1. Amazon Connect → Add an instance.
  2. Choose identity management: Connect directory, SAML, or existing directory.
  3. Choose telephony options and data storage locations.
  4. Claim or port a phone number.
  5. Create users/agents and security profiles.
  6. Create queues, routing profiles, hours of operation.
  7. Build flows and set a phone number to route to the flow.
  8. Enable recording, Contact Lens, metrics, and integrations as needed.

5. CLI / IaC starter

# Connect APIs use instance IDs. Example: list instances and users
aws connect list-instances
aws connect list-users --instance-id <connect-instance-id>
aws connect list-queues --instance-id <connect-instance-id>

6. Developer code example

// Lambda used inside a Connect flow
export const handler = async (event) => {
  const phone = event.Details.ContactData.CustomerEndpoint.Address;
  return {
    customerStatus: 'gold',
    nextQueue: 'priority-support'
  };
};

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Connect.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Connect resources in target environment.
Execution/service roleconnect.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "connect.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "connect:ListInstances",
        "connect:DescribeInstance",
        "connect:ListUsers",
        "connect:CreateUser",
        "connect:UpdateUserSecurityProfiles",
        "connect:ListQueues",
        "connect:CreateQueue",
        "connect:StartOutboundVoiceContact",
        "connect:GetCurrentMetricData",
        "connect:GetMetricDataV2",
        "lambda:InvokeFunction"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • Lambda in flows
  • Lex bots
  • Customer Profiles
  • Cases
  • Contact Lens
  • S3 recordings
  • Kinesis streams, EventBridge, CloudWatch metrics
  • CRM integrations and Amazon Q in Connect

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Customer support center with IVR, skill-based routing, call recording, and supervisor dashboards.
  2. Banking/insurance helpdesk with compliance recordings, identity checks, CRM screen-pop, and cases.
  3. Sales/outbound contact center with campaigns, callbacks, analytics, and Amazon Q agent assist.

14. Common mistakes and fixes

MistakeFix
Creating flows without naming/version disciplineUse naming conventions, modules, documentation, and separate dev/prod instances.
No recording/compliance decisionDefine which flows/queues record, retain, redact, and who can access recordings.
Poor queue/routing designDesign skills, priorities, hours, overflow, callbacks, and metrics before launch.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Connect

Amazon Connect Contact Lens

Business Applications & Contact CenterIAM prefix: connectDeep lesson #179

1. What is Amazon Connect Contact Lens?

Conversation analytics, sentiment, summaries, and quality management for Connect.

Developer mental model: For Amazon Connect Contact Lens, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Connect Contact Lens

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Connect Contact Lens
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Connect Contact Lens.

6. Developer code example

// SDK pattern for Amazon Connect Contact Lens
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Connect Contact Lens.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Connect Contact Lens resources in target environment.
Execution/service roleconnect.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "connect.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "connect:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Connect Contact Lens as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon Connect Contact Lens with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Connect Contact Lens

Amazon Connect Customer Profiles

Business Applications & Contact CenterIAM prefix: profileDeep lesson #180

1. What is Amazon Connect Customer Profiles?

Unified customer profiles for contact center context.

Developer mental model: For Amazon Connect Customer Profiles, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Connect Customer Profiles

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Connect Customer Profiles
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Connect Customer Profiles.

6. Developer code example

// SDK pattern for Amazon Connect Customer Profiles
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Connect Customer Profiles.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Connect Customer Profiles resources in target environment.
Execution/service roleprofile.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "profile.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "profile:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Connect Customer Profiles as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon Connect Customer Profiles with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Connect Customer Profiles

Amazon Connect Cases

Business Applications & Contact CenterIAM prefix: casesDeep lesson #181

1. What is Amazon Connect Cases?

Case management integrated with contact center operations.

Developer mental model: For Amazon Connect Cases, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Connect Cases

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Connect Cases
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Connect Cases.

6. Developer code example

// SDK pattern for Amazon Connect Cases
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Connect Cases.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Connect Cases resources in target environment.
Execution/service rolecases.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cases.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cases:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Connect Cases as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon Connect Cases with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Connect Cases

Amazon Connect Wisdom / Amazon Q in Connect

Business Applications & Contact CenterIAM prefix: wisdomDeep lesson #182

1. What is Amazon Connect Wisdom / Amazon Q in Connect?

Agent assist and knowledge recommendations in Connect.

Developer mental model: For Amazon Connect Wisdom / Amazon Q in Connect, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Connect Wisdom / Amazon Q in Connect

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Connect Wisdom / Amazon Q in Connect
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Connect Wisdom / Amazon Q in Connect.

6. Developer code example

// SDK pattern for Amazon Connect Wisdom / Amazon Q in Connect
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Connect Wisdom / Amazon Q in Connect.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Connect Wisdom / Amazon Q in Connect resources in target environment.
Execution/service rolewisdom.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "wisdom.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "wisdom:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Connect Wisdom / Amazon Q in Connect as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon Connect Wisdom / Amazon Q in Connect with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Connect Wisdom / Amazon Q in Connect

Amazon WorkMail

Business Applications & Contact CenterIAM prefix: workmailDeep lesson #183

1. What is Amazon WorkMail?

Managed business email and calendar service.

Developer mental model: For Amazon WorkMail, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon WorkMail

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon WorkMail
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon WorkMail.

6. Developer code example

// SDK pattern for Amazon WorkMail
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon WorkMail.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon WorkMail resources in target environment.
Execution/service roleworkmail.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "workmail.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "workmail:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon WorkMail as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon WorkMail with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon WorkMail

Amazon Chime

Business Applications & Contact CenterIAM prefix: chimeDeep lesson #184

1. What is Amazon Chime?

Meetings, chat, and communications SDK services.

Developer mental model: For Amazon Chime, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Chime

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Chime
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Chime.

6. Developer code example

// SDK pattern for Amazon Chime
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Chime.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Chime resources in target environment.
Execution/service rolechime.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "chime.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "chime:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Chime as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon Chime with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Chime

Amazon Chime SDK

Business Applications & Contact CenterIAM prefix: chimeDeep lesson #185

1. What is Amazon Chime SDK?

Real-time audio, video, messaging, and PSTN building blocks.

Developer mental model: For Amazon Chime SDK, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Chime SDK

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Chime SDK
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Chime SDK.

6. Developer code example

// SDK pattern for Amazon Chime SDK
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Chime SDK.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Chime SDK resources in target environment.
Execution/service rolechime.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "chime.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "chime:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Chime SDK as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Amazon Chime SDK with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Chime SDK

AWS Wickr

Business Applications & Contact CenterIAM prefix: wickrDeep lesson #186

1. What is AWS Wickr?

End-to-end encrypted messaging and collaboration.

Developer mental model: For AWS Wickr, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Wickr

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Wickr
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Wickr.

6. Developer code example

// SDK pattern for AWS Wickr
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Wickr.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Wickr resources in target environment.
Execution/service rolewickr.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "wickr.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "wickr:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Wickr as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate AWS Wickr with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Wickr

Alexa for Business

Business Applications & Contact CenterIAM prefix: a4bDeep lesson #187

1. What is Alexa for Business?

Voice-enabled workplace experiences.

Developer mental model: For Alexa for Business, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Alexa for Business

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Alexa for Business
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Alexa for Business.

6. Developer code example

// SDK pattern for Alexa for Business
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Alexa for Business.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Alexa for Business resources in target environment.
Execution/service rolea4b.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "a4b.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "a4b:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Alexa for Business as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize business applications & contact center capability across development, testing, and production accounts.
  3. Integrate Alexa for Business with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Alexa for Business

Amazon WorkSpaces

End User ComputingIAM prefix: workspacesDeep lesson #188

1. What is Amazon WorkSpaces?

Managed virtual desktops.

Developer mental model: For Amazon WorkSpaces, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon WorkSpaces

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon WorkSpaces
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon WorkSpaces.

6. Developer code example

// SDK pattern for Amazon WorkSpaces
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon WorkSpaces.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon WorkSpaces resources in target environment.
Execution/service roleworkspaces.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "workspaces:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon WorkSpaces as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize end user computing capability across development, testing, and production accounts.
  3. Integrate Amazon WorkSpaces with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon WorkSpaces

Amazon WorkSpaces Web

End User ComputingIAM prefix: workspaces-webDeep lesson #189

1. What is Amazon WorkSpaces Web?

Secure browser access for internal websites and SaaS.

Developer mental model: For Amazon WorkSpaces Web, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon WorkSpaces Web

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon WorkSpaces Web
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon WorkSpaces Web.

6. Developer code example

// SDK pattern for Amazon WorkSpaces Web
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon WorkSpaces Web.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon WorkSpaces Web resources in target environment.
Execution/service roleworkspaces-web.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "workspaces-web:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon WorkSpaces Web as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize end user computing capability across development, testing, and production accounts.
  3. Integrate Amazon WorkSpaces Web with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon WorkSpaces Web

Amazon AppStream 2.0

End User ComputingIAM prefix: appstreamDeep lesson #190

1. What is Amazon AppStream 2.0?

Stream desktop applications to browsers.

Developer mental model: For Amazon AppStream 2.0, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon AppStream 2.0

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon AppStream 2.0
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon AppStream 2.0.

6. Developer code example

// SDK pattern for Amazon AppStream 2.0
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon AppStream 2.0.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon AppStream 2.0 resources in target environment.
Execution/service roleappstream.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appstream.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "appstream:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon AppStream 2.0 as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize end user computing capability across development, testing, and production accounts.
  3. Integrate Amazon AppStream 2.0 with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon AppStream 2.0

Amazon WorkDocs

End User ComputingIAM prefix: workdocsDeep lesson #191

1. What is Amazon WorkDocs?

Managed document collaboration.

Developer mental model: For Amazon WorkDocs, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon WorkDocs

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon WorkDocs
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon WorkDocs.

6. Developer code example

// SDK pattern for Amazon WorkDocs
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon WorkDocs.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon WorkDocs resources in target environment.
Execution/service roleworkdocs.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "workdocs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "workdocs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon WorkDocs as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize end user computing capability across development, testing, and production accounts.
  3. Integrate Amazon WorkDocs with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon WorkDocs

NICE DCV

End User ComputingIAM prefix: dcvDeep lesson #192

1. What is NICE DCV?

High-performance remote display protocol.

Developer mental model: For NICE DCV, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure NICE DCV

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for NICE DCV
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for NICE DCV.

6. Developer code example

// SDK pattern for NICE DCV
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for NICE DCV.
Deployment roleCI/CD pipelineCreate/update/delete only tagged NICE DCV resources in target environment.
Execution/service roledcv.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dcv.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "dcv:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use NICE DCV as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize end user computing capability across development, testing, and production accounts.
  3. Integrate NICE DCV with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for NICE DCV

AWS Amplify Hosting

Front-End Web & MobileIAM prefix: amplifyDeep lesson #193

1. What is AWS Amplify Hosting?

Managed hosting and CI/CD for frontend web apps.

Developer mental model: For AWS Amplify Hosting, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Amplify Hosting

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Amplify Hosting
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Amplify Hosting.

6. Developer code example

// SDK pattern for AWS Amplify Hosting
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Amplify Hosting.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Amplify Hosting resources in target environment.
Execution/service roleamplify.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "amplify.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "amplify:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Amplify Hosting as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize front-end web & mobile capability across development, testing, and production accounts.
  3. Integrate AWS Amplify Hosting with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Amplify Hosting

AWS AppSync

Front-End Web & MobileIAM prefix: appsyncDeep lesson #194

1. What is AWS AppSync?

GraphQL APIs, subscriptions, offline sync patterns.

Developer mental model: For AWS AppSync, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS AppSync

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS AppSync
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS AppSync.

6. Developer code example

// SDK pattern for AWS AppSync
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS AppSync.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS AppSync resources in target environment.
Execution/service roleappsync.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appsync.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "appsync:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS AppSync as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize front-end web & mobile capability across development, testing, and production accounts.
  3. Integrate AWS AppSync with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS AppSync

Amazon Cognito for Apps

Front-End Web & MobileIAM prefix: cognito-idpDeep lesson #195

1. What is Amazon Cognito for Apps?

Authentication and authorization for mobile/web users.

Developer mental model: For Amazon Cognito for Apps, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Cognito for Apps

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Cognito for Apps
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Cognito for Apps.

6. Developer code example

// SDK pattern for Amazon Cognito for Apps
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Cognito for Apps.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Cognito for Apps resources in target environment.
Execution/service rolecognito-idp.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cognito-idp.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "cognito-idp:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Cognito for Apps as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize front-end web & mobile capability across development, testing, and production accounts.
  3. Integrate Amazon Cognito for Apps with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Cognito for Apps

AWS Device Farm

Front-End Web & MobileIAM prefix: devicefarmDeep lesson #196

1. What is AWS Device Farm?

Mobile and browser testing.

Developer mental model: For AWS Device Farm, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Device Farm

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Device Farm
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Device Farm.

6. Developer code example

// SDK pattern for AWS Device Farm
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Device Farm.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Device Farm resources in target environment.
Execution/service roledevicefarm.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "devicefarm.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "devicefarm:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Device Farm as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize front-end web & mobile capability across development, testing, and production accounts.
  3. Integrate AWS Device Farm with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Device Farm

Amazon Location Service

Front-End Web & MobileIAM prefix: geoDeep lesson #197

1. What is Amazon Location Service?

Maps, places, geocoding, routing, tracking, and geofencing.

Developer mental model: For Amazon Location Service, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Location Service

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Location Service
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Location Service.

6. Developer code example

// SDK pattern for Amazon Location Service
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Location Service.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Location Service resources in target environment.
Execution/service rolegeo.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "geo.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "geo:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Location Service as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize front-end web & mobile capability across development, testing, and production accounts.
  3. Integrate Amazon Location Service with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Location Service

AWS IoT Core

IoT & EdgeIAM prefix: iotDeep lesson #198

1. What is AWS IoT Core?

Secure device connectivity, MQTT messaging, and device shadows.

Developer mental model: For AWS IoT Core, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT Core

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT Core
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT Core.

6. Developer code example

// SDK pattern for AWS IoT Core
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT Core.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT Core resources in target environment.
Execution/service roleiot.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iot:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT Core as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT Core with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT Core

AWS IoT Greengrass

IoT & EdgeIAM prefix: greengrassDeep lesson #199

1. What is AWS IoT Greengrass?

Run local compute, messaging, and ML at the edge.

Developer mental model: For AWS IoT Greengrass, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT Greengrass

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT Greengrass
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT Greengrass.

6. Developer code example

// SDK pattern for AWS IoT Greengrass
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT Greengrass.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT Greengrass resources in target environment.
Execution/service rolegreengrass.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "greengrass.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "greengrass:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT Greengrass as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT Greengrass with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT Greengrass

AWS IoT Analytics

IoT & EdgeIAM prefix: iotanalyticsDeep lesson #200

1. What is AWS IoT Analytics?

IoT data processing and analytics.

Developer mental model: For AWS IoT Analytics, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT Analytics

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT Analytics
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT Analytics.

6. Developer code example

// SDK pattern for AWS IoT Analytics
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT Analytics.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT Analytics resources in target environment.
Execution/service roleiotanalytics.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iotanalytics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iotanalytics:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT Analytics as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT Analytics with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT Analytics

AWS IoT Events

IoT & EdgeIAM prefix: ioteventsDeep lesson #201

1. What is AWS IoT Events?

Detect and respond to IoT events and conditions.

Developer mental model: For AWS IoT Events, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT Events

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT Events
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT Events.

6. Developer code example

// SDK pattern for AWS IoT Events
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT Events.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT Events resources in target environment.
Execution/service roleiotevents.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iotevents.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iotevents:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT Events as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT Events with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT Events

AWS IoT Device Defender

IoT & EdgeIAM prefix: iotdeviceadvisorDeep lesson #202

1. What is AWS IoT Device Defender?

IoT security auditing and monitoring.

Developer mental model: For AWS IoT Device Defender, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT Device Defender

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT Device Defender
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT Device Defender.

6. Developer code example

// SDK pattern for AWS IoT Device Defender
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT Device Defender.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT Device Defender resources in target environment.
Execution/service roleiotdeviceadvisor.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iotdeviceadvisor.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iotdeviceadvisor:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT Device Defender as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT Device Defender with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT Device Defender

AWS IoT Device Management

IoT & EdgeIAM prefix: iotDeep lesson #203

1. What is AWS IoT Device Management?

Fleet onboarding, indexing, jobs, and device management.

Developer mental model: For AWS IoT Device Management, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT Device Management

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT Device Management
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT Device Management.

6. Developer code example

// SDK pattern for AWS IoT Device Management
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT Device Management.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT Device Management resources in target environment.
Execution/service roleiot.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iot:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT Device Management as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT Device Management with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT Device Management

AWS IoT FleetWise

IoT & EdgeIAM prefix: iotfleetwiseDeep lesson #204

1. What is AWS IoT FleetWise?

Vehicle data collection and transformation.

Developer mental model: For AWS IoT FleetWise, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT FleetWise

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT FleetWise
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT FleetWise.

6. Developer code example

// SDK pattern for AWS IoT FleetWise
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT FleetWise.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT FleetWise resources in target environment.
Execution/service roleiotfleetwise.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iotfleetwise.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iotfleetwise:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT FleetWise as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT FleetWise with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT FleetWise

AWS IoT SiteWise

IoT & EdgeIAM prefix: iotsitewiseDeep lesson #205

1. What is AWS IoT SiteWise?

Industrial asset data collection and monitoring.

Developer mental model: For AWS IoT SiteWise, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT SiteWise

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT SiteWise
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT SiteWise.

6. Developer code example

// SDK pattern for AWS IoT SiteWise
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT SiteWise.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT SiteWise resources in target environment.
Execution/service roleiotsitewise.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iotsitewise.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iotsitewise:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT SiteWise as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT SiteWise with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT SiteWise

AWS IoT TwinMaker

IoT & EdgeIAM prefix: iottwinmakerDeep lesson #206

1. What is AWS IoT TwinMaker?

Digital twins for physical systems.

Developer mental model: For AWS IoT TwinMaker, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS IoT TwinMaker

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS IoT TwinMaker
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS IoT TwinMaker.

6. Developer code example

// SDK pattern for AWS IoT TwinMaker
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS IoT TwinMaker.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS IoT TwinMaker resources in target environment.
Execution/service roleiottwinmaker.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iottwinmaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iottwinmaker:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS IoT TwinMaker as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate AWS IoT TwinMaker with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS IoT TwinMaker

FreeRTOS

IoT & EdgeIAM prefix: iotDeep lesson #207

1. What is FreeRTOS?

Microcontroller OS and AWS IoT integration.

Developer mental model: For FreeRTOS, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure FreeRTOS

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for FreeRTOS
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for FreeRTOS.

6. Developer code example

// SDK pattern for FreeRTOS
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for FreeRTOS.
Deployment roleCI/CD pipelineCreate/update/delete only tagged FreeRTOS resources in target environment.
Execution/service roleiot.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "iot:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use FreeRTOS as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize iot & edge capability across development, testing, and production accounts.
  3. Integrate FreeRTOS with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for FreeRTOS

AWS Migration Hub

Migration & TransferIAM prefix: mghDeep lesson #208

1. What is AWS Migration Hub?

Central migration tracking and discovery.

Developer mental model: For AWS Migration Hub, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Migration Hub

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Migration Hub
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Migration Hub.

6. Developer code example

// SDK pattern for AWS Migration Hub
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Migration Hub.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Migration Hub resources in target environment.
Execution/service rolemgh.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mgh.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mgh:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Migration Hub as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Migration Hub with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Migration Hub

AWS Application Migration Service

Migration & TransferIAM prefix: mgnDeep lesson #209

1. What is AWS Application Migration Service?

Lift-and-shift server migration.

Developer mental model: For AWS Application Migration Service, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Application Migration Service

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Application Migration Service
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Application Migration Service.

6. Developer code example

// SDK pattern for AWS Application Migration Service
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Application Migration Service.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Application Migration Service resources in target environment.
Execution/service rolemgn.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mgn.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mgn:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Application Migration Service as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Application Migration Service with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Application Migration Service

AWS Database Migration Service

Migration & TransferIAM prefix: dmsDeep lesson #210

1. What is AWS Database Migration Service?

Database migration and replication.

Developer mental model: For AWS Database Migration Service, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Database Migration Service

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Database Migration Service
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Database Migration Service.

6. Developer code example

// SDK pattern for AWS Database Migration Service
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Database Migration Service.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Database Migration Service resources in target environment.
Execution/service roledms.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "dms:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Database Migration Service as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Database Migration Service with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Database Migration Service

AWS DataSync

Migration & TransferIAM prefix: datasyncDeep lesson #211

1. What is AWS DataSync?

Data migration and sync.

Developer mental model: For AWS DataSync, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS DataSync

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS DataSync
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS DataSync.

6. Developer code example

// SDK pattern for AWS DataSync
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS DataSync.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS DataSync resources in target environment.
Execution/service roledatasync.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "datasync.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "datasync:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS DataSync as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS DataSync with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS DataSync

AWS Transfer Family

Migration & TransferIAM prefix: transferDeep lesson #212

1. What is AWS Transfer Family?

Managed file transfer.

Developer mental model: For AWS Transfer Family, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Transfer Family

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Transfer Family
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Transfer Family.

6. Developer code example

// SDK pattern for AWS Transfer Family
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Transfer Family.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Transfer Family resources in target environment.
Execution/service roletransfer.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "transfer.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "transfer:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Transfer Family as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Transfer Family with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Transfer Family

AWS Snow Family

Migration & TransferIAM prefix: snowballDeep lesson #213

1. What is AWS Snow Family?

Offline data transfer and edge compute.

Developer mental model: For AWS Snow Family, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Snow Family

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Snow Family
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Snow Family.

6. Developer code example

// SDK pattern for AWS Snow Family
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Snow Family.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Snow Family resources in target environment.
Execution/service rolesnowball.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "snowball.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "snowball:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Snow Family as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Snow Family with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Snow Family

Migration Evaluator

Migration & TransferIAM prefix: migrationhubDeep lesson #214

1. What is Migration Evaluator?

Business case and migration assessment.

Developer mental model: For Migration Evaluator, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Migration Evaluator

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Migration Evaluator
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Migration Evaluator.

6. Developer code example

// SDK pattern for Migration Evaluator
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Migration Evaluator.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Migration Evaluator resources in target environment.
Execution/service rolemigrationhub.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "migrationhub.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "migrationhub:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Migration Evaluator as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate Migration Evaluator with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Migration Evaluator

AWS Application Discovery Service

Migration & TransferIAM prefix: discoveryDeep lesson #215

1. What is AWS Application Discovery Service?

Discover on-premises servers and dependencies.

Developer mental model: For AWS Application Discovery Service, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Application Discovery Service

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Application Discovery Service
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Application Discovery Service.

6. Developer code example

// SDK pattern for AWS Application Discovery Service
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Application Discovery Service.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Application Discovery Service resources in target environment.
Execution/service rolediscovery.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "discovery.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "discovery:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Application Discovery Service as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Application Discovery Service with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Application Discovery Service

AWS Mainframe Modernization

Migration & TransferIAM prefix: m2Deep lesson #216

1. What is AWS Mainframe Modernization?

Modernize and migrate mainframe workloads.

Developer mental model: For AWS Mainframe Modernization, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Mainframe Modernization

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Mainframe Modernization
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Mainframe Modernization.

6. Developer code example

// SDK pattern for AWS Mainframe Modernization
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Mainframe Modernization.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Mainframe Modernization resources in target environment.
Execution/service rolem2.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "m2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "m2:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Mainframe Modernization as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize migration & transfer capability across development, testing, and production accounts.
  3. Integrate AWS Mainframe Modernization with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Mainframe Modernization

AWS Elemental MediaConnect

Media ServicesIAM prefix: mediaconnectDeep lesson #217

1. What is AWS Elemental MediaConnect?

Live video transport service.

Developer mental model: For AWS Elemental MediaConnect, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elemental MediaConnect

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elemental MediaConnect
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elemental MediaConnect.

6. Developer code example

// SDK pattern for AWS Elemental MediaConnect
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elemental MediaConnect.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elemental MediaConnect resources in target environment.
Execution/service rolemediaconnect.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mediaconnect.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mediaconnect:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elemental MediaConnect as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate AWS Elemental MediaConnect with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elemental MediaConnect

AWS Elemental MediaConvert

Media ServicesIAM prefix: mediaconvertDeep lesson #218

1. What is AWS Elemental MediaConvert?

File-based video transcoding.

Developer mental model: For AWS Elemental MediaConvert, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elemental MediaConvert

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elemental MediaConvert
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elemental MediaConvert.

6. Developer code example

// SDK pattern for AWS Elemental MediaConvert
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elemental MediaConvert.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elemental MediaConvert resources in target environment.
Execution/service rolemediaconvert.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mediaconvert.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mediaconvert:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elemental MediaConvert as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate AWS Elemental MediaConvert with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elemental MediaConvert

AWS Elemental MediaLive

Media ServicesIAM prefix: medialiveDeep lesson #219

1. What is AWS Elemental MediaLive?

Live video encoding.

Developer mental model: For AWS Elemental MediaLive, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elemental MediaLive

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elemental MediaLive
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elemental MediaLive.

6. Developer code example

// SDK pattern for AWS Elemental MediaLive
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elemental MediaLive.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elemental MediaLive resources in target environment.
Execution/service rolemedialive.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "medialive.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "medialive:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elemental MediaLive as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate AWS Elemental MediaLive with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elemental MediaLive

AWS Elemental MediaPackage

Media ServicesIAM prefix: mediapackageDeep lesson #220

1. What is AWS Elemental MediaPackage?

Video origination and packaging.

Developer mental model: For AWS Elemental MediaPackage, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elemental MediaPackage

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elemental MediaPackage
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elemental MediaPackage.

6. Developer code example

// SDK pattern for AWS Elemental MediaPackage
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elemental MediaPackage.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elemental MediaPackage resources in target environment.
Execution/service rolemediapackage.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mediapackage.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mediapackage:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elemental MediaPackage as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate AWS Elemental MediaPackage with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elemental MediaPackage

AWS Elemental MediaStore

Media ServicesIAM prefix: mediastoreDeep lesson #221

1. What is AWS Elemental MediaStore?

Low-latency media storage.

Developer mental model: For AWS Elemental MediaStore, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elemental MediaStore

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elemental MediaStore
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elemental MediaStore.

6. Developer code example

// SDK pattern for AWS Elemental MediaStore
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elemental MediaStore.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elemental MediaStore resources in target environment.
Execution/service rolemediastore.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mediastore.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mediastore:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elemental MediaStore as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate AWS Elemental MediaStore with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elemental MediaStore

AWS Elemental MediaTailor

Media ServicesIAM prefix: mediatailorDeep lesson #222

1. What is AWS Elemental MediaTailor?

Server-side ad insertion and channel assembly.

Developer mental model: For AWS Elemental MediaTailor, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Elemental MediaTailor

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Elemental MediaTailor
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Elemental MediaTailor.

6. Developer code example

// SDK pattern for AWS Elemental MediaTailor
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Elemental MediaTailor.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Elemental MediaTailor resources in target environment.
Execution/service rolemediatailor.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mediatailor.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "mediatailor:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Elemental MediaTailor as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate AWS Elemental MediaTailor with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Elemental MediaTailor

Amazon Interactive Video Service (IVS)

Media ServicesIAM prefix: ivsDeep lesson #223

1. What is Amazon Interactive Video Service (IVS)?

Managed low-latency live streaming.

Developer mental model: For Amazon Interactive Video Service (IVS), learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Interactive Video Service (IVS)

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Interactive Video Service (IVS)
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Interactive Video Service (IVS).

6. Developer code example

// SDK pattern for Amazon Interactive Video Service (IVS)
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Interactive Video Service (IVS).
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Interactive Video Service (IVS) resources in target environment.
Execution/service roleivs.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ivs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "ivs:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Interactive Video Service (IVS) as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize media services capability across development, testing, and production accounts.
  3. Integrate Amazon Interactive Video Service (IVS) with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Interactive Video Service (IVS)

Amazon GameLift

Specialized, Quantum & SatelliteIAM prefix: gameliftDeep lesson #224

1. What is Amazon GameLift?

Managed game server hosting.

Developer mental model: For Amazon GameLift, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon GameLift

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon GameLift
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon GameLift.

6. Developer code example

// SDK pattern for Amazon GameLift
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon GameLift.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon GameLift resources in target environment.
Execution/service rolegamelift.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "gamelift.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "gamelift:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon GameLift as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize specialized, quantum & satellite capability across development, testing, and production accounts.
  3. Integrate Amazon GameLift with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon GameLift

Amazon Braket

Specialized, Quantum & SatelliteIAM prefix: braketDeep lesson #225

1. What is Amazon Braket?

Quantum computing service for experimenting with quantum hardware/simulators.

Developer mental model: For Amazon Braket, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Braket

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Braket
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Braket.

6. Developer code example

// SDK pattern for Amazon Braket
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Braket.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Braket resources in target environment.
Execution/service rolebraket.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "braket.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "braket:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Braket as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize specialized, quantum & satellite capability across development, testing, and production accounts.
  3. Integrate Amazon Braket with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Braket

AWS Ground Station

Specialized, Quantum & SatelliteIAM prefix: groundstationDeep lesson #226

1. What is AWS Ground Station?

Satellite ground station as a service.

Developer mental model: For AWS Ground Station, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS Ground Station

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS Ground Station
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS Ground Station.

6. Developer code example

// SDK pattern for AWS Ground Station
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS Ground Station.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS Ground Station resources in target environment.
Execution/service rolegroundstation.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "groundstation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "groundstation:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS Ground Station as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize specialized, quantum & satellite capability across development, testing, and production accounts.
  3. Integrate AWS Ground Station with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS Ground Station

Amazon Omics

Specialized, Quantum & SatelliteIAM prefix: omicsDeep lesson #227

1. What is Amazon Omics?

Bioinformatics and genomics workflow/storage/analytics.

Developer mental model: For Amazon Omics, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Omics

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Omics
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Omics.

6. Developer code example

// SDK pattern for Amazon Omics
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Omics.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Omics resources in target environment.
Execution/service roleomics.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "omics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "omics:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Omics as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize specialized, quantum & satellite capability across development, testing, and production accounts.
  3. Integrate Amazon Omics with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Omics

AWS RoboMaker

Specialized, Quantum & SatelliteIAM prefix: robomakerDeep lesson #228

1. What is AWS RoboMaker?

Robotics simulation and application development service.

Developer mental model: For AWS RoboMaker, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure AWS RoboMaker

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for AWS RoboMaker
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for AWS RoboMaker.

6. Developer code example

// SDK pattern for AWS RoboMaker
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for AWS RoboMaker.
Deployment roleCI/CD pipelineCreate/update/delete only tagged AWS RoboMaker resources in target environment.
Execution/service rolerobomaker.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "robomaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "robomaker:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use AWS RoboMaker as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize specialized, quantum & satellite capability across development, testing, and production accounts.
  3. Integrate AWS RoboMaker with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for AWS RoboMaker

Amazon Managed Blockchain

Specialized, Quantum & SatelliteIAM prefix: managedblockchainDeep lesson #229

1. What is Amazon Managed Blockchain?

Managed blockchain networks and node access.

Developer mental model: For Amazon Managed Blockchain, learn what resource you create, what APIs you call, what IAM actions are needed, what other AWS services it integrates with, what data it stores or moves, and how it behaves in production failures.

2. Concepts you must know

resource size/capacity

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

runtime or operating system

The execution environment or engine that runs code. Pick based on language, dependencies, and support lifecycle.

network placement

Controls connectivity, isolation, ingress, egress, and private access paths.

IAM execution role

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

logs and metrics

Used to observe production behavior, errors, latency, usage, cost, and operational health.

scaling model

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

deployment artifact

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

quotas and pricing

AWS guardrails that affect scale. Check before launch and request increases if needed.

IAM actions

Controls access. Learn who assumes the role, what actions are allowed, and which resource ARNs are valid.

resource ARNs

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

condition keys

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudTrail audit

A core building block for using this service correctly as a developer. Understand what it does, when to use it, and how it fails.

CloudWatch metrics/logs

Used to observe production behavior, errors, latency, usage, cost, and operational health.

cost and quotas

AWS guardrails that affect scale. Check before launch and request increases if needed.

3. Capabilities and when to use them

CapabilityExplanationProduction scope
Runtime / OSChoose what environment the code runs in.Pin/deploy reproducibly with CI/CD and verify support lifecycle.
ScalingScale vertically, horizontally, or by events depending on the service.Test with expected peak traffic and configure quotas/autoscaling/alarms.
NetworkingDecide public/private access, VPC, security groups, and load balancing.Document owner, environment, tags, failure mode, and runbook before launch.
IdentityUse roles, instance profiles, or service roles instead of static keys.Document owner, environment, tags, failure mode, and runbook before launch.
IAMUse least-privilege permissions; verify exact actions/resources in AWS Service Authorization Reference.Must be reviewed before production; misconfiguration can expose data or allow privilege escalation.
OperationsAdd tags, monitoring, audit trail, quota checks, and cost alerts.Document owner, environment, tags, failure mode, and runbook before launch.

4. How to create/configure Amazon Managed Blockchain

  1. Open the AWS service console.
  2. Choose the region.
  3. Create the compute resource with a minimal test configuration.
  4. Attach a least-privilege role.
  5. Configure networking, logging, and tags.
  6. Test with a small workload before production.

5. CLI / IaC starter

# Starter developer workflow for Amazon Managed Blockchain
aws configure sso  # recommended for human access
aws sts get-caller-identity
# Use the service console or CloudFormation/CDK first.
# Check official docs for the exact CLI create command and required parameters for Amazon Managed Blockchain.

6. Developer code example

// SDK pattern for Amazon Managed Blockchain
// Replace ServiceClient and Command with the specific AWS SDK v3 client/command.
// Always catch AccessDenied, Throttling, ValidationException, and networking errors.
async function callAwsService(client, command) {
  try {
    const result = await client.send(command);
    return result;
  } catch (err) {
    console.error('AWS error:', err.name, err.message);
    throw err;
  }
}

7. IAM role design

Create separate permissions for: human developers, CI/CD deployment pipelines, and runtime/service execution. Use IAM Identity Center or federation for humans. Use roles for workloads. Avoid long-lived access keys.

RoleWho assumes it?What it should allow
Developer read/debug roleFederated engineerList, describe, get logs/metrics, read safe configuration for Amazon Managed Blockchain.
Deployment roleCI/CD pipelineCreate/update/delete only tagged Amazon Managed Blockchain resources in target environment.
Execution/service rolemanagedblockchain.amazonaws.comOnly permissions the service needs at runtime, for example logs, KMS, S3, DynamoDB, SQS, or service-specific actions.

8. Sample trust policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "managedblockchain.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

9. Sample permission policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ServiceDeveloperAccess",
      "Effect": "Allow",
      "Action": [
        "managedblockchain:*"
      ],
      "Resource": "*"
    }
  ]
}
Do not copy blindly: AWS service actions, resource ARNs, dependent actions, and condition keys differ by service and operation. Use this as a starter, then verify against the AWS Service Authorization Reference.

10. Integrations and triggers

  • IAM
  • CloudTrail
  • CloudWatch
  • KMS where supported
  • AWS CLI/SDK
  • CloudFormation/CDK/Terraform

11. Monitoring, metrics, logs, and audit

  • CloudTrail: audit who called create/update/delete/list APIs.
  • CloudWatch metrics: track service health, errors, throttling, latency, utilization, and custom KPIs.
  • CloudWatch Logs or service logs: enable where supported and set retention.
  • Alarms: create alarms for errors, throttles, rejected requests, unhealthy resources, and cost anomalies.
  • Dashboards: create service-specific views for developers and operations.

12. Security and production design

  • Use least privilege IAM and deny risky actions in production.
  • Use KMS encryption where the service stores sensitive data.
  • Use private networking/VPC endpoints where supported.
  • Separate dev/test/prod accounts or environments.
  • Use tags for cost, owner, environment, application, and data classification.
  • Define backup, restore, retry, DLQ, failover, and incident response procedures.

13. Business use cases

  1. Use Amazon Managed Blockchain as a managed service instead of building and operating equivalent infrastructure yourself.
  2. Standardize specialized, quantum & satellite capability across development, testing, and production accounts.
  3. Integrate Amazon Managed Blockchain with IAM, CloudTrail, CloudWatch, KMS, and IaC to meet production governance requirements.

14. Common mistakes and fixes

MistakeFix
Using broad permissionsStart read-only, then add exact create/update/delete actions.
No environment separationSeparate dev/test/prod accounts or resources.
Ignoring quotas/costCheck Service Quotas and pricing before production rollout.

15. Beginner-to-expert practice path

  1. Beginner: create a demo resource manually and understand every field.
  2. Junior developer: repeat the same setup using AWS CLI.
  3. Developer: build a small app that uses the service through SDK/API.
  4. Production developer: move setup to IaC, add IAM least privilege, logs, metrics, alarms, retries, and runbooks.
  5. Expert: design multi-account, multi-region, cost-optimized, compliant architecture with failure testing.

Official AWS links for Amazon Managed Blockchain