SlideShare a Scribd company logo
Amazon EC2 Container Service
in Action
Channy Yun ‒ AWS Technical Evangelist
Sangpill Kim – AWS Solutions Architect
Docker Seoul Meetup
Why ContainerServices?
Benefits of Containers
Portable
Flexible
Fast
EfficientServer
Guest OS
Bins/Libs Bins/Libs
App2App1
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
But…
+
So…
Cluster management
Configuration management
Scaling
Security
AvailabilityContainer sprawl
Image: RaSeLaSeD - ll Pinguino
Elastic Load Balancing
ENIs
Auto Scaling
Security Groups
IAM
Image: xmatt
Tagging
Multi-AZ
Amazon EBS
Docker 콘테이너
제작 및 배포
EC2 인스턴스를
클러스터 구성 가능
실행 시 지속적인
볼륨 유지 가능
사설 Docker
레포지터리 운영
Amazon EC2 Container Service
“Docker기반 확장성과 고성능 콘테이너 관리 서비스”
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
EC2 Instance EC2 InstanceEC2 Instance
EC2 Instance EC2 InstanceEC2 Instance
EC2 Instance EC2 Instance
EC2 Instance EC2 Instance
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
Container
Instance
Container
Instance
…
Container
Instance
Cluster
Task
definition
Task
Service
Demo
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
!  Amazon EC2 인스턴스
!  Docker 데몬
!  Amazon ECS 에이전트
https://github.com/aws/
amazon-ecs-agent
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
!  리전 단위 (Multi-AZ)
!  자원 풀
!  Container Instances 그룹
!  최소 시작, 동적 확장
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
Volume definitions
Container definitions
Shared data volume
PHP App
Time of day
App
Task Definitions
Container
Instance
Schedule
Shared data volume
PHP App
Time of day
App
Task Definition
{ “family” : “my-website”,
“version” : “1.0”
“containers” : [
<<CONTAINER DEFINTIONS>>
]
}
Container Definition
{ “name” : “webServer”,
“image” : “nginx:latest”
“cpu” : 512,
“memory” : 128,
“portMappings” :
[ { “containerPort” : 9443,
“hostPort” : 443 }],
“links” : [“rails”],
“essential” : true
}
!!!!!!{!
"environment": [],!
"name": "simple-demo",!
"image": "my-demo",!
"cpu": 10,!
"memory": 500,!
"portMappings": [!
{!
"containerPort": 80,!
"hostPort": 80!
}!
],!
"mountPoints": [!
{!
"sourceVolume": "my-vol",!
"containerPath": "/var/www/my-vol"!
}!
],!
"entryPoint": [!
"/usr/sbin/apache2",!
"-D",!
"FOREGROUND"!
],!
"essential": true!
},!
[!
{!
"image": "mysql",!
"name": "db",!
"cpu": 10,!
"memory": 500,!
"essential": true,!
"entryPoint": [!
"/entrypoint.sh"!
],!
"environment": [!
{!
"name": "MYSQL_ROOT_PASSWORD",!
"value": "pass"!
}!
],!
"portMappings": []!
}!
]!
Essential to our Task
Create and mount volumes
Expose port 80 in container
to port 80 on host
10 CPU Units (1024 is full CPU),
500 Megabytes of Memory
[!
{!
"image": "tutum/wordpress-stackable",!
"name": "wordpress",!
"cpu": 10,!
"memory": 500,!
"essential": true,!
"links": [!
"db"!
],!
"entryPoint": [!
"/bin/sh",!
"-c"!
],!
"environment": [!
…!
],!
"portMappings": [!
{!
"containerPort": 80,!
"hostPort": 80!
}!
]!
},!
]!
From Docker Hub
Mount volume from other container
Command to exec
! !{!
"name": "busybox",!
"image": "busybox",!
"cpu": 10,!
"memory": 500,!
"volumesFrom": [!
{!
"sourceContainer": "simple-demo"!
}!
],!
"entryPoint": [!
"sh",!
"-c"!
],!
"command": [!
"/bin/sh -c "while true; do /bin/
date > /var/www/my-vol/date; sleep 1; done""!
],!
"essential": false!
}!
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
!  서비스를 위한 단위
!  연관된 콘테이너들의 그룹
!  콘테이너 인스턴스에서 실행
Nginx Web
Server
Rails
Application
MySQL
Database
Log
Collector
주요 구성 요소
•  Container Instance
•  Cluster
•  Task Definitions
•  Tasks
•  Service
!  지속적 애플리케이션
!  로드 밸런싱 및 상태 관리
!  스케일-아웃
!  신규 버전 배포/업데이트
Elastic Load
Balancing
CLI를 이용한 관리 가능
$"aws"ecs"list+container+instances"–c"default"
arn:aws:ecs:us*west*2:956941867282:container*instance/
01be44c0*4d45*4c1f*b2ae*1fce16c35ab6<
arn:aws:ecs:us*west*2:956941867282:container*instance/
1c81279b*4b39*4985*b76d*224e0385b219<
$"aws"ecs"create+cluster"default""
{<
<<"cluster_arn":<"arn:aws:ecs:us*west*2:956941867282:cluster/
c1a329a8*ec8a*41dc*82f6*294434861bd1",<
<<"cluster_name":<"default",<
<<"status":<"ACTIVE"<
}<
Amazon EC2 Container Service in Action
$"cat"wordpress.json"
{<
<"containers"<:<[<
< <{<
< < <"image"<:<"tutum/wordpress*stackable",<
< < <"name"<:<"wordpress",<
< < <"cpu"<:<10,<
< < <"memory"<:<50,<
< < <"links"<:<["db"],<
< < <"environment"<:<[{<"name"<:<"DB_USER",<"value"<:<"root"},<{<"name"<:<"DB_PASS",<"value"<:<
"pass"<}],<
< < <"portMappings"<:<[{<"containerPort"<:<80,<"hostPort"<:<<80}]<
< <},<
< <{<
< < <"image"<:<"mysql",<
< < <"name"<:<"db",<
< < <"cpu"<:<10,<
< < <"memory"<:<50,<
< < <"environment"<:<[{<"name"<:<"MYSQL_ROOT_PASSWORD",<"value"<:<"pass"}],<
< <}<
<]<
}<
$"aws"register+task+definition"wordpress:1.0"–+file"wordpress.json""
{<
<<<<<“family”<:<“wordpress”,<
<<<<<“version”<:<“1.0”,<
<"containers"<:<[<
< <{<
< < <"image"<:<"tutum/wordpress*stackable",<
< < <"name"<:<"wordpress",<
< < <"cpu"<:<100,<
< < <"memory"<:<100,<
< < <"links"<:<["db"],<
< < <"environment"<:<[{<"name"<:<"DB_USER",<"value"<:<"root"},<{<"name"<:<"DB_PASS",<"value"<:<"pass"<}],<
< < <"portMappings"<:<[{<"containerPort"<:<80,<"hostPort"<:<<80}]<
< <},<
< <{<
< < <"image"<:<"mysql",<
< < <"name"<:<"db",<
< < <"cpu"<:<100,<
< < <"memory"<:<100,<
< < <"environment"<:<[{<"name"<:<"MYSQL_ROOT_PASSWORD",<"value"<:<"pass"}],<
< <}<
<]<
}<
$"aws"ecs"run+task"wordpress:1.0"
{<
<<"tasks":<[<
<<<<{<
<<<<<<"task_arn":<"arn:aws:ecs:us*west*2:956941867282:task/29da33da*1d71*454f*b036*df0da0284266",<
<<<<<<"task_definition_arn":<"arn:aws:ecs:us*west*2:956941867282:task*definition/
7fc71808*5102*47d3*9f76*0bded26a932b",<
<<<<<<"container_instance_arn":<"arn:aws:ecs:us*west*2:956941867282:container*instance/01be44c0*4d45*4c1f*
b2ae*1fce16c35ab6",<
<<<<<<"overrides":<{},<
<<<<<<"last_status":<"PENDING",<
<<<<<<"desired_status":<"RUNNING",<
<<<<<<"containers":<[<
<<<<<<<<{<
<<<<<<<<<<"arn":<"arn:aws:ecs:us*west*2:956941867282:container/1b33848e*1933*43b5*b9c7*4581efb70504",<
<<<<<<<<<<"task_arn":<"arn:aws:ecs:us*west*2:956941867282:task/29da33da*1d71*454f*b036*df0da0284266",<
<<<<<<<<<<"name":<"wordpress",<
<<<<<<<<<<"last_status":<"PENDING",<
<<<<<<<<<<"exit_code":<0<
<<<<<<<<}<<
<<<<<<]<
<<<<}<
<<]<
}<
wordpress
http://aws.amazon.com/solutions/case-studies/coursera-ecs/
“ Amazon ECS enabled Coursera to focus on releasing
new software rather than spending time managing
clusters.” Frank Chen Software Engineer
•  Docker containers on Amazon EC2 Container Service (ECS) enabled
Coursera to easily move to a microservices -based architecture.
•  Each job is created as a container and Amazon ECS schedules the
container across the Amazon EC2 instance cluster.
•  Amazon ECS handles all the cluster management and container
orchestration, and containers provide the necessary resource isolation.
http://engineering.remind.com/introducing-empire/
http://www.slideshare.net/nathariel/microservices-and-elastic-resource-
pools-with-amazon-ec2-container-service
Amazon EC2
 Amazon EC2
Containers Services
AWS Lambda
On-Premises
Weeks
 Minutes
 Seconds
 Milliseconds
AWS 자원의 변경
이벤트 변화 인식
Node.js 및 자바를
지원하는 클라우드 함수
서버 없이도
고 확장성 기반 실행
AWS Lambda
“이벤트 기반 확장성 높은 클라우드 코드 실행 서비스”
Photo bucket
S3
Metadata
DynamoDB
Trending
DynamoDB
Extract
metadata
Cloud
Function
Trending
Cloud
Function
NotifyCloud
Function
"
"
SNS
Push notification
When to Use ECS and Lambda
ECS
Long-running jobs
Manage your event triggering
Any language, any dependency
Resources are your own - use
Spot, RIs
Lambda
Short-lived jobs
Triggered on specific events
Supports specific environments
No infrastructure to manage
Example: Batch Jobs with ECS and Lambda
.zip
s3://bucket/scene.zip
ECS Cluster
.png
Move to Microservices!
Based on AWS Building Blocks
Your Architecture
ECS, Lambda, API Gateway,
CodeDeploy, DynamoDB, SQS…
규모에 따른 클러스터 관리
별도 실행 없음
전체 상태 관리
컨트롤 및 모니터링
대규모 확장
유연한 콘테이너 배치
어플리케이션
배치 작업
복수 스케줄러
맞춤형 기능 확장 가능
다양한과 편리한 API
오픈 소스 에이전트
사용자 정의 스케줄러
다양한 AWS 서비스와 빌딩 블럭
Elastic Load Balancing
Amazon Elastic Block Store
Amazon Virtual Private Cloud
AWS Identity and Access Management
AWS CloudTrail
….
AWS Elastic Beanstalk & Opsworks
AWS Lambda
여러분의 피드백을 기다립니다!
•  공식 블로그: http://aws.amazon.com/ko/blogs/korea
•  한국어 공식 소셜 미디어
@AWSKorea
AmazonWebServices.ko
AWSKorea
AWSKorea

More Related Content

PPTX
Docker toolbox
PDF
Docker up and running
PDF
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
PDF
Kubernetes Boston — Custom High Availability of Kubernetes
PDF
Running Django on Docker: a workflow and code
PDF
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
PDF
Infrastructure Deployment with Docker & Ansible
PPT
Learn basic ansible using docker
Docker toolbox
Docker up and running
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Kubernetes Boston — Custom High Availability of Kubernetes
Running Django on Docker: a workflow and code
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
Infrastructure Deployment with Docker & Ansible
Learn basic ansible using docker

What's hot (20)

PDF
Ansible not only for Dummies
PPT
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
PPTX
CoreOS Overview and Current Status
KEY
Making Your Capistrano Recipe Book
PDF
Ansible, best practices
PDF
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
PPTX
Deploying Symfony2 app with Ansible
PDF
Vagrant for real (codemotion rome 2016)
PDF
Docker Swarm 0.2.0
PDF
docker build with Ansible
PPTX
Getting Started with Docker
PDF
CoreOS : 설치부터 컨테이너 배포까지
PDF
Docker Security in Production Overview
PPTX
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
PDF
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
PPTX
Vagrant, Ansible, and OpenStack on your laptop
PDF
Automation with Ansible and Containers
PDF
Docker Security Paradigm
PPTX
Lessons from running potentially malicious code inside containers
PDF
Wordpress y Docker, de desarrollo a produccion
Ansible not only for Dummies
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
CoreOS Overview and Current Status
Making Your Capistrano Recipe Book
Ansible, best practices
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
Deploying Symfony2 app with Ansible
Vagrant for real (codemotion rome 2016)
Docker Swarm 0.2.0
docker build with Ansible
Getting Started with Docker
CoreOS : 설치부터 컨테이너 배포까지
Docker Security in Production Overview
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
Vagrant, Ansible, and OpenStack on your laptop
Automation with Ansible and Containers
Docker Security Paradigm
Lessons from running potentially malicious code inside containers
Wordpress y Docker, de desarrollo a produccion
Ad

Viewers also liked (12)

PDF
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
PDF
RancherOS Introduction
PPTX
Docker orchestration
PPTX
세미나
PDF
나는 어떻게 알고리즘을 공부했을까? + 신기한 방법으로 문제 풀어보기
PDF
Mesos on coreOS
PDF
형태소 분석기를 적용한 elasticsearch 운영
PDF
5.yobi를 활용한 개발자 협업 및 배포 프로세스
PDF
네이버 오픈세미나 백엔드_아키텍쳐
PDF
1.openseminar
PDF
Arcus
PDF
2.네이버 프론트엔드 김지태
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
RancherOS Introduction
Docker orchestration
세미나
나는 어떻게 알고리즘을 공부했을까? + 신기한 방법으로 문제 풀어보기
Mesos on coreOS
형태소 분석기를 적용한 elasticsearch 운영
5.yobi를 활용한 개발자 협업 및 배포 프로세스
네이버 오픈세미나 백엔드_아키텍쳐
1.openseminar
Arcus
2.네이버 프론트엔드 김지태
Ad

Similar to Amazon EC2 Container Service in Action (20)

PDF
AWS Elastic Container Service - DockerHN
PDF
Deployment and Management on AWS:
 A Deep Dive on Options and Tools
PDF
EC2 Container Service
PPTX
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
PDF
Aws microservice keynote
PDF
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
PDF
Microservices on AWS using AWS Lambda and Docker Containers
PPTX
Tech connect aws
PDF
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
PPTX
.NET Developer Days - So many Docker platforms, so little time...
PPTX
Amazon Web Services and Docker: from developing to production
PPTX
Streamline Hadoop DevOps with Apache Ambari
PDF
Introduction to Chef
PDF
Amazon EC2 Container Service Live Demo - Microservices Web Day
PDF
Immutable AWS Deployments with Packer and Jenkins
ODP
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
PPTX
Packer, where DevOps begins
PDF
Cutting through the fog of cloud
PPTX
Building Ruby on Rails apps on Windows Azure (MIX 2010 at Last Vegas))
PPTX
Using the Azure Container Service in your company
AWS Elastic Container Service - DockerHN
Deployment and Management on AWS:
 A Deep Dive on Options and Tools
EC2 Container Service
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
Aws microservice keynote
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Microservices on AWS using AWS Lambda and Docker Containers
Tech connect aws
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
.NET Developer Days - So many Docker platforms, so little time...
Amazon Web Services and Docker: from developing to production
Streamline Hadoop DevOps with Apache Ambari
Introduction to Chef
Amazon EC2 Container Service Live Demo - Microservices Web Day
Immutable AWS Deployments with Packer and Jenkins
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Packer, where DevOps begins
Cutting through the fog of cloud
Building Ruby on Rails apps on Windows Azure (MIX 2010 at Last Vegas))
Using the Azure Container Service in your company

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Electronic commerce courselecture one. Pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Electronic commerce courselecture one. Pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MYSQL Presentation for SQL database connectivity
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding

Amazon EC2 Container Service in Action