To beginners launching Docker on AWS

Premise

--Some understanding of Docker --For beginners (rather, I am a beginner)

goal

Knowing how to launch a Docker environment on AWS, It will be a stepping stone to the next step.

Why AWS?

I'm not particular about AWS, it's a pain when running Docker on my own server. When running an application in a production environment, it often takes a redundant configuration (it is quite difficult if it is not taken ...) If you do this manually, start Docker n times, and when the process dies, ssh it again and start Docker ... and so on. Therefore, it is considered to include an orchestration layer. In this layer, Docker is launched by n processes and balanced. If a process dies, start a new process. At the time of deployment, it will do things like rolling updates. Here is one problem. "When the orchestrating process (master) becomes abnormal, the delivery of the entire service is jeopardized." Therefore, when performing orchestration manually, it is essential to make the master redundant. AWS has several services that manage this master in a fully managed manner, so you can concentrate on just what kind of Docker to deploy and how to deploy it.

Candidates for running Docker

What is EB?

Customers simply upload their code and Elastic Beanstalk handles the deployment automatically, from capacity provisioning, load balancing, Auto Scaling to application health monitoring.

There are some things to consider in order to use it in a production environment, Deploying the code (uploading from the mannequin is also possible) will do EC2 placement, load balancing, scaling, etc. on the network nicely.

Personal merideme

What is ECS?

Fully managed container orchestration service

A fully managed container orchestration service provided by AWS. Since it is genuine AWS, it has a high affinity with other AWS services and is easy to cooperate seamlessly. Conversely, the impression is that there are many cases where the requirements are not met without using other AWS services. .. Since it is a service that "runs Docker", you need to do it yourself to some extent, such as periodically executing batches and running batches at the time of deployment.

There are EC2 and Fargate (serverless computing for containers) as boot types.

Personal merideme

What is EKS?

Helps you have the flexibility to start, run, and scale Kubernetes applications in the AWS cloud or on-premises.

It is a service provided by AWS managed master node of Kubernetes of oss. Kubernetes is a service that is said to be the de facto Docker orchestration, and it is highly customizable, and Kubernetes also provides application launch and deployment. EKS itself costs about 8,000 yen per month (0.10 USD per hour)

There are EC2 and Fargate as boot types.

Personal merideme

Miscellaneous

If there are few people who are bright in infrastructure, start up with EB, and if you are interested in infrastructure/infrastructure engineers, I think you should consider introducing ECS ​​/ EKS. (Depending on requirements) Regarding ECS ​​and EKS, some companies have switched to ECS-> EKS, and vice versa, so I'm wondering which one is hard to say. I feel that Kubernetes is preferred if you want to ride the tide of infrastructure. (However, I am worried about the monthly fixed cost when launching a small company.)

Recommended Posts

To beginners launching Docker on AWS
Install docker on AWS EC2
List how to learn from Docker to AKS on AWS
Install Docker on AWS Ubunt 20.04 LTS
Run the AWS CLI on Docker
How to run JavaFX on Docker
Deploy Rails on Docker to heroku
Run Embulk on Docker to convert files
Build an environment with Docker on AWS
Try the Docker environment on AWS ECS
How to send push notifications on AWS
Liberty on Docker
How to build a Ruby on Rails environment using Docker (for Docker beginners)
Redmine on Docker
How to deploy a container on AWS Lambda
Environment construction command memo with Docker on AWS
How to save images on Heroku to S3 on AWS
Temporarily move Docker environment from Mac to AWS
How to install Ruby on an EC2 instance on AWS
Memo to build a Servlet environment on AWS EC2
Docker installation on CentOS 6
python notes on docker
Deploy laravel using docker on EC2 on AWS ① (Create EC2 instance)
Install Docker on Manjaro
How to install Docker
M.S. docker on Windows
[AWS] What are ECR and ECS? About each difference and how to operate Docker on AWS.
Docker installation on WSL2
Run phpunit on Docker
[Amateur remarks] Build multiple WordPress on AWS using Docker Compose
Deploy laravel using docker on EC2 on AWS ② (Elastic IP acquisition-linking)
[Note] Flow from docker installation to JupyterLab startup on ubuntu
How to create an application server on an EC2 instance on AWS
Run lilypond on Docker on macOS Catalina to create sheet music
How to get inside a container running on AWS Fargate
Deploy laravel using docker on EC2 on AWS ④ (git clone ~ deploy, migration)
How to deploy a kotlin (java) app on AWS fargate
I tried to create React.js × TypeScript × Material-UI on docker environment
I tried running a Docker container on AWS IoT Greengrass 2.0
How to deploy a Rails application on AWS (article summary)
Connect to AWS RDS from your local PC Docker environment
Install Docker on Raspberry Pi
Install Docker on Windows 10 PRO
[AWS] How to check logs
Run VS Code on Docker
Introducing AWS CLI to CentOS 7
Install Docker on Ubuntu Server 20.04
Moving from AWS to PaizaCloud
Run openvpn on Docker (windows)
Try Docker on Windows 10 Home
How to deploy on heroku
Migrating from vargrant to docker
How to set Docker nginx
Hosted Apicurio Studio on Docker
Update RVM on AWS Cloud9
Must-see for beginners! How to manage your Xcode project on Github
Deploy laravel using docker on EC2 on AWS ③ (SSH connection ~ Docke-compose installation)
A solution to Docker errors that beginners tend to get stuck in
Ubuntu on WSL2: Cannot connect to the Docker daemon at unix
[RSpec on Rails] How to write test code for beginners by beginners
How to run a job with docker login in AWS batch