An EKS cluster is a control plane that AWS runs, and nodes that run in our own account. The control plane (the API server, etcd, the controllers) runs in an account of AWS's: we never see its instances. The nodes are EC2 instances in our VPC. The creation needs, in this order: a network for the nodes; two IAM roles: …
Read MoreIn this part you'll let the pipeline log in to AWS with its ID token. The call you'll cover: call 5, job → AWS STS: the job trades the ID token for AWS credentials. What it adds: AWS is set up once to trust GitHub's tokens for your repository's main branch. No AWS secret is stored in GitHub: each run gets credentials …
Read MoreIn this part you'll let the pipeline deploy to an EKS cluster. The call you'll cover: call 6, job → EKS: the job deploys the image with the AWS credentials from Part 4. What it shows: Two worlds check the job, so it is refused twice before it gets in: IAM decides what the role may do in AWS: read the cluster's address; …
Read MoreIn these labs we connect GitHub Actions to other services: allow GitHub Actions to push images to Docker Hub; allow GitHub Actions to log in to AWS; allow GitHub Actions to deploy to an EKS cluster; allow the EKS cluster to pull images from Docker Hub; allow GitHub Actions to post to Slack. New to GitHub Actions? Start …
Read MoreTerraform turns code that describes cloud resources into the resources themselves. Terraform is a program on our workstation, run as a command in the terminal. The code, main.tf, says what we want: here one EC2 instance, EC2-B. The AWS provider program, downloaded from the Terraform Registry, turns Terraform's plan …
Read MoreVPC for our EKS We'll be creating a VPC that spans over 2 AZs, and that has 4 subnets, 2 in each AZ For each AZ we'll have a private+public subnet, so that if the cluster will initiate a load balancer, it can use target pods in both AZs. VPC Components: VPC A new internet gateway (IGW). Don't forget to attach it to the …
Read MoreThe following post will take you through a detailed and explained creation of aws application load balancer. What we're going to create We'll describe the underlying VPC (but will not take you to the details of creating it) The basic network We'll create a VPC with: 2 public subnets, one in each AZ used (a, b): …
Read MoreWhat is Lambda? AWS Lambda is a serverless compute service. Use AWS Lambda to run code without provisioning or managing servers You organize your code into Lambda functions. The Lambda service runs your function only when needed Lambda runs your code on a high-availability compute infrastructure and performs all of …
Read MoreCore DynamoDB Objects Tables DynamoDB stores data in tables. A table is a collection of data. Items Each table contains zero or more items. An item is a group of attributes that is uniquely identifiable among all of the other items. Attributes Each item is composed of one or more attributes. An attribute is a …
Read MoreAbout DynamoDB DynamoDB is a fully managed NoSQL database service It is a "serverless" service, so no need to provision servers. It provides fast and predictable performance with seamless scalability. DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your …
Read More