## AWS Basic
### IAM and Resource
- policy template
- yaml format
- VPC
- 
- Subnet
Subnet are created within Availability zone. AZ are basically data center.
- Security Group
Security Group are applied to the instance level, while Network ACL apply to the subnet level.
- Routing table
Determine where network traffic from your subnet or gateway is directed.
### SAM
- Serverless application model.
- SAM template and SAM cli.
- SAM template techinque and rabbit holes.
1. Be careful of indent.
2. Fn::Sub !Sub
Nested intrinsic function can be useful.
3. Cyclic dependency often happen in Roles.
[Example](https://aws.amazon.com/premiumsupport/knowledge-center/cloudformation-circular-dependency-sam/)
4. Keep in mind what to parametrize.
5. Remember to grant lambda invoke policy for nested lambda.
6. Also cloudwatchfullaccess.
### Cloudformation
- Template files that create resources for our infrastructure.
- Be extra careful of the policy, some of them need resource some of them don't
### ECS and fargate
- ECS vs EKS
- Container Ochestration
- ECS cluster contains services to manage container. Like a control plane.
- Container needs to run on instance, for example EC2, these EC2 will connect to ECS.
- Fargate delegate infrastructure to the AWS.
- Not provisioning any EC2, a serverless solution.
- Container are start by the image registered in relative ECR.
- Log in to the AWS and use | to pass credential to docker and do push.
- ECR it's self is a resource that can be create by cloudformation template.
### Task
- Basically a container snapshot.
- Use log group to redirect logs to cloudwatch.
### RDS Aurora
We use postgres RDS
### ELB

Load balancer can redirect traffic to different instance in different subnets.
### Secretmanagers
- Resource that store credentials.
- Retrieve in the cloudformation template and inject it into the task definition or lambda or what ever.
- Can be create and rotate by lambdas.
### Stepfunction
- A graph that ochestrate lambdas, with trigger and directions.
- Dealing with nested stepfunction output.
- Statemachine asl
1. Result selector
2. Default result path
3. "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"
- Concurrency Gateway
1. Choice.
2. Watch specific stepfunction arn.
### Lambda
- Seperate implementation and business logic.
- S3, client, stepfunction.
- Extra careful for the access policy.
- Input payload and context.
### K8s.
- Minicube
- kubectl
- pod and nodes
### Test and debugging.
- Pytest mock
- Monkeypatching
- mock request