Create an User
Go to IAM and create a User:
Add those two roles:
Download the secret csv and keep it.
Create an ECR (Repository for images)
This time let´s use aws cli, you can do the same things you do on console with the AWS CLI. For more information on how to configure AWS CLI: https://aws.amazon.com/pt/cli/
Execute aws configure and set the credentials of the IAM user:
Command to create the repository:
|aws ecr create-repository –repository-name rest-with-spring-boot|
List the repository and get the URI value:
|aws ecr describe-repositories|
Build the image:
|docker-compose build –t rest-with-spring-boot|
Now, we can check the commands to push in console, go to ECR and “View push commands”:
Execute the steps 1, 3 and 4. Because we already built the application. Example:
|aws ecr get-login-password –region us-east-2 | docker login –username AWS –password-stdi 9999999999.dkr.ecr.us-east-2.amazonaws.com|
docker tag project:latest 9999999.dkr.ecr.us-east-2.amazonaws.com/project:latest
docker push 999999.dkr.ecr.us-east-2.amazonaws.com/project:latest
Now, that we have the image in our repository:
Create ECS Cluster
Create a Key-pair if you don´t have it yet.
Let´s fill out the Networking session, and edit the security group
Click to edit the rules, for tests purposes we will allow everything like below:
Click on View Cluster:
After a few minutes, we have an instance running inside the cluster:
Creating the task
A Task is the same thing as a Pod in Kubernetes, it can hold one or more containers. Usually a task contains only one container.
Let’s go back to ECS:
Set a name:
Specify the memory and CPU:
Click on “Add Container”
you can check the image with the command “Docker images”, and then set it to the image field:
You can put 80 in the first field if you want.
And then create the task:
Creating the service
Now, we will create a Service, to manage the scaling the application. Select the task and go to “Create Service”.
Go Next until Create Service button.
Now you can access the app with the address of the EC2 instance: