Containers seem to be everywhere these days, so I decided to jump on the bandwagon. Below is a step-by-step guide on how to quickly get started with Amazon ECS. Most of the commands were taken straight from the ECS-CLI tutorial found here.
Setup the CLI
ecs-cli installation instructions
On a Mac
sudo curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-darwin-amd64-latest
On Linux
sudo curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-latest
Chmod permissions
sudo chmod +x /usr/local/bin/ecs-cli
Follow the steps described here to configure the ecs-cli. If you have already setup the AWS CLI, the configuration steps are simplified: just run ecs-cli configure –profile yourprofilename
Working with the cluster
Create your cluster
You need to create the keypair beforehand. You can run the following command to create it: aws ec2 create-key-pair –key-name id_rsa Make sure that the value after –port matches your compose file’s port number.
ecs-cli up --keypair id_rsa --capability-iam --size 1 --instance-type t2.micro --port 11111
Create Docker compose file
version: '2'
services:
wordpress:
image: wordpress
cpu_shares: 100
mem_limit: 524288000
ports:
- "80:80"
links:
- mysql
mysql:
image: mysql
cpu_shares: 100
mem_limit: 524288000
environment:
MYSQL_ROOT_PASSWORD: password
Deploy compose file
ecs-cli compose up --file hello-world.yml
View cluster
ecs-cli ps
Scale up to 2 tasks
ecs-cli compose --file hello-world.yml scale 2
Shut down tasks
ecs-cli compose --file hello-world.yml down
Create ECS service
ecs-cli compose --file hello-world.yml service up
Cleanup
Remove tasks
ecs-cli compose --file hello-world.yml service rm
Remove resources (actual EC2 instances)
ecs-cli down --force
comments powered by Disqus