Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Operating ECS in production
Search
Michael Wittig
April 12, 2018
Technology
0
63
Operating ECS in production
https://github.com/widdix/aws-cf-templates
Michael Wittig
April 12, 2018
Tweet
Share
More Decks by Michael Wittig
See All by Michael Wittig
AWS Cost Optimization 101
michaelwittig
0
71
DVC02 - Cutting-edge architectures based on AWS AppSync, Lambda, and Fargate
michaelwittig
0
100
Review: AWS Global Accelerator - AWS Meetup Stuttgart 2019
michaelwittig
0
400
Rapid Docker on AWS
michaelwittig
0
84
Serverless Workflows with AWS Step Functions
michaelwittig
0
54
Your Lambda function might execute twice. Be prepared! (ServerlessDays Zurich)
michaelwittig
0
63
Cutting-Edge Architectures Based on AppSync, Lambda, and Fargate
michaelwittig
1
520
Your Lambda function might execute twice. Be prepared!
michaelwittig
0
710
Network Security on AWS
michaelwittig
0
61
Other Decks in Technology
See All in Technology
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
350
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
400
Google Cloud で学ぶデータエンジニアリング入門 2025年版 #GoogleCloudNext / 20250805
kazaneya
PRO
20
4.6k
AIに頼りすぎない新人育成術
cuebic9bic
3
230
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.3k
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
370
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
140
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
210
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
3
930
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
780
UDDのススメ - 拡張版 -
maguroalternative
1
430
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
920
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
22
1.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
BBQ
matthewcrist
89
9.8k
Gamification - CAS2011
davidbonilla
81
5.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Adopting Sorbet at Scale
ufuk
77
9.5k
Why Our Code Smells
bkeepers
PRO
337
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
For a Future-Friendly Web
brad_frost
179
9.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Scaling GitHub
holman
461
140k
Transcript
https://github.com/widdix/aws-cf-templates Operating ECS in production
Hello! I am Michael Wittig AWS in Action (2nd ed)
cloudonaut.io AWS Community Hero Independent AWS Consultant Twitter @hellomichibye 2
ECS Orchestrates Docker containers for you Manages Network and per
Task Security 3
ECS Cluster 4 ECS Cluster ECS Instance = EC2 Instance
running ecs-agent ECS optimized AMI ECS Instance ECS Instance
Task Definition 5 ECS Cluster aws ecs run-task \ --count
2 Task Definition Image ... ECS Task 1..N Container ECS Task 1..N Container
ECS Scheduling 6 ECS Cluster ECS Instance ECS Instance ECS
Instance ECS Task 1..N Container ECS Task 1..N Container Placement constraints and strategies
ECS Networking ◎ Public/Private Load Balancer ◎ Elastic Network Interface
(ENI) per task ◦ Public IP ◦ Private IP ◦ Per Task Security Group 7
ECS Service 8 ECS Cluster Task Definition ECS Task ECS
Task ECS Service ◎ Observer ◎ ENI ◎ Load Balancer ◎ Deployment
Operating ECS Challenges 9
1. Spinning up a cluster 10 Demo
Fault Tolerant Auto Scaling Group, Availability Zones 11 Demo
2. Updating a cluster New ECS optimized AMIs are released
frequently! 12
Rolling Update CloudFormation replaces EC2 instances in Auto Scaling Groups
in small batches. 13 Demo
But what about inflight requests? 14
Instance Draining Move all tasks from ECS instance before Instance
is terminated. 15 Demo
Implementing Instance Draining ◎ Auto Scaling Lifecycle hook ◦ Drain
Instance ◦ Wait until drained ◦ Complete Lifecycle hook 16
Tasks are not rescheduled once places! Your last batch of
ECS instances will end up with 0 tasks! 17
3. Scaling a cluster Or adding/removing EC2 instances. 18 Demo
We don’t know how many tasks we can schedule! 19
20 ECS Cluster Available: CPU 100 Memory 200 Available: CPU
100 Memory 200 Available: CPU 100 Memory 200 Available: CPU 300 Memory 600 Task CPU 200 Memory 200
Schedulable Containers 1. Define largest possible task (CPU/memory) 2. For
each instance: a. Calculate how many largest possible tasks would fit b. Report to CloudWatch 3. Scale based on the sum of this metric 21 Credits http://garbe.io/blog/2017/04/12/a-better-solution-to-ecs-autoscaling/
22 ECS Cluster Available: CPU 100 Memory 200 Schedulable 0
Available: CPU 100 Memory 200 Schedulable 0 Available: CPU 100 Memory 200 Schedulable 0 Available: CPU 300 Memory 600 Schedulable 0 Largest Task CPU 200 Memory 200
No CloudWatch Events emitted when task launch failed due to
capacity shortage. 23
4. Public load balancing 24
Public load balancing 25 ECS Cluster ECS Instance ECS Instance
ECS Task 1..N Container ECS Task 1..N Container ECS Task 1..N Container Load Balancer (ALB) ◎ Path based ◎ Host based DNS
5. Internal service discovery / load balancing 26
Internal load balancing 27 ECS Task Frontend LB (internet-facing) ECS
Task ECS Task Catalog (internal) ECS Task ECS Task Shopping card (internal) ECS Task ECS Task DNS DNS DNS
Catalog Catalog Internal Route 53 (with per task ENI) 28
ECS Task Frontend LB (internet-facing) ECS Task ECS Task ECS Task ECS Task ECS Task ECS Task DNS DNS DNS
6. Logging & Monitoring CloudWatch. 29
Credits Special thanks to all the people who made and
released these awesome resources for free: ◎ Presentation template by SlidesCarnival ◎ Photographs by Pexels 30
Thanks! http://bit.ly/amazon-web-services-in-action-2nd-edition https://github.com/widdix/aws-cf-templates https://cloudonaut.io Twitter @hellomichibye Mail michael@widdix.de 31