Amazon Web Services
Compute
- AWS EC2
- EC2 Instance Types
- EC2 Pricing Models
- EC2 Auto Scaling
- Elastic Load Balancing-ELB
- AWS Lambda – Serverless Computing
- Amazon Lightsail
- AWS Elastic Beanstalk
- AWS Fargate
- Amazon ECS (Elastic Container Service)
- Amazon EKS (Elastic Kubernetes Service)
Storage
- S3 vs. EBS vs. EFS
- Amazon S3 (Simple Storage Service)
- Amazon S3 Storage Classes
- Amazon EBS (Elastic Block Store)
- Amazon EFS (Elastic File System)
- AWS Storage Gateway
- AWS Snowball
- Amazon FSx
- AWS Backup
Database Services
- Amazon RDS
- Amazon Aurora
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon Redshift
- AWS Database Migration Service (DMS)
- Amazon Neptune
- Amazon DocumentD
Networking and Content Delivery
- Amazon VPC
- Subnets
- Internet Gateway
- AWS Direct Connect
- AWS Route 53
- AWS CloudFront
- AWS Transit Gateway
- Elastic IP Addresses
DynamoDB
- DynamoDB Global Table vs Regular DynamoDB Table
- DynamoDB Streams
- Athena query data to DynamoDB
- Athena Query Results with DynamoDB
- PySpark DataFrame to DynamoDB
Redshift
Lambda
Glue
Lambda
Security
AWS Step Functions Example
Step 1: Set Up a State Machine
We'll create a state machine that handles image processing. When an image is uploaded to Amazon S3, this workflow will trigger and perform two tasks: resizing the image and applying a filter.
Step 2: Define States
-
UploadImage: This state represents the initial step, triggered when an image is uploaded to S3. It receives input data, including the image file's location.
-
ResizeImage: After the image is uploaded, the workflow moves to this state. It resizes the image to a predefined size.
-
ApplyFilter: The final state applies a filter to the resized image.
Step 3: Create the State Machine Definition
Here's a simplified JSON definition of our state machine:
{
"StartAt": "UploadImage",
"States": {
"UploadImage": {
"Type": "Task",
"Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:UploadImageFunction",
"End": true
},
"ResizeImage": {
"Type": "Task",
"Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:ResizeImageFunction",
"End": true
},
"ApplyFilter": {
"Type": "Task",
"Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:ApplyFilterFunction",
"End": true
}
}
}
Step 4: Run the State Machine
Once the state machine is defined, you can create an execution. This execution will process the image based on the defined states and transitions.
Step 5: Monitor and Debug
AWS Step Functions offers detailed logging and visual representations of your workflow executions, making it easy to monitor and debug any issues.