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
AWS ECS の説明 /aws-ecs-introduction
Search
yutachaos
October 01, 2018
Technology
0
110
AWS ECS の説明 /aws-ecs-introduction
サポーターズ下記勉強会用資料
https://supporterzcolab.com/event/522/
yutachaos
October 01, 2018
Tweet
Share
More Decks by yutachaos
See All by yutachaos
JenkinsのJobを CronJobに移した話 /The story of moving Jenkins Job to CronJob
yutachaos
0
220
History of Infrastructure as a Code testing
yutachaos
2
5.4k
AWS CodePipeline 初めて触って少しハマった話 / A story that challenged AWS CodePipeline for the first time
yutachaos
0
99
gRPC in スタディサプリENGLISH / gRPC in StudySapuri ENGLISH
yutachaos
0
2.9k
AKS,EKS,GKEコマンド比較してみた /compared AKS, EKS, GKE command
yutachaos
2
2.5k
Docker + Jenkinsでバッチ実行 / Using Docker and Jenkins execution batch
yutachaos
0
270
Spring Batchの紹介
yutachaos
0
290
非エンジニア向けMarkdown 勉強会
yutachaos
1
380
Circle CI 入門
yutachaos
0
730
Other Decks in Technology
See All in Technology
20250913_JAWS_sysad_kobe
takuyay0ne
2
100
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.3k
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
100
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
470
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
210
テストを軸にした生き残り術
kworkdev
PRO
0
190
Kiroと学ぶコンテキストエンジニアリング
oikon48
6
9.9k
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
130
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
220
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
760
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
530
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
79
6.6k
Automating Front-end Workflow
addyosmani
1370
200k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Optimizing for Happiness
mojombo
379
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Docker and Python
trallard
45
3.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Transcript
AWS ECS
ࣗݾհ • ଜ༐ଠ • SREΤϯδχΞ • ϓϩάϥϛϯάݴޠ • Java, node,
PHP, Ruby, Go • ීஈAWSΛར༻ͨ͠γεςϜͷӡ༻ɺӡ༻վળͱ͔ͬͯ·͢ɻ • ࠷ۙEnvoyΛ͍ͬͯ͡·ͨ͠ɻ • AWS Certificated Solutions Architect • AWS Certificated DepOps Engineer
Agenda • Containerٕज़ʹ͍ͭͯͷ͓͞Β͍ • ECSʹ͍ͭͯ • ECSͷ֓೦ʹ͍ͭͯ
ContainerͬͯԿʁ
• ߓʹ͋ΔΞϨ • Container ʹ DockerͰͳ͍ɻ • DockerίϯςφܕԾԽͷ࣮ͷҰͭ • DockerΧʔωϧͱcgroupsͳͲͷٕज़Λ
Έ߹ΘͤͯɺΞϓϦέʔγϣϯͱϥϯλΠϜ ࣮ߦڥΛ·ͱΊͯ͢Δٕज़ • ίϯςφϓϩηε ͬ͘͟Γͱͨ͠ղઆ
• ΞϓϦέʔγϣϯͱ࣮ߦڥΛҰͭʹ·ͱΊ Δ͜ͱͰ։ൃͱӡ༻νʔϜ͕εϜʔζʹӡ༻ ग़དྷΔ • e.g. ϩʔΧϧͱຊ൪Ͱಉ͡Dockerfile͑ Δ!ɺΠϯϑϥνʔϜ͕Dockerfile࡞ͬͯɺ ։ൃνʔϜʹͤΔʂٯ·ͨવΓ Կ͕ྑ͍ͷʁ
• Elastic Container Serviceͷུ • AWS͕ఏڙ͢ΔίϯςφΦʔέετϨʔ γϣϯπʔϧ • e.g. kubernates,
docker swarmͱ͔ • Docker͚ͩͰग़དྷͳ͍ίϯςφͷ Scaling, ஔ, ཧΛߦ͏αʔϏε ECSʹ͍ͭͯ
ECS overview EC2 Launch type
• ECR • Elastic Container RegistryͷུɺAWS্ͰϚωʔδυʹ ӡ༻͞ΕΔɺDocker imageΛอଘ͢ΔRegistry • Cluster
• Container͕࣮ࡍʹ࣮ߦ͞ΕΔEC2Πϯελϯεͷू߹ ମ • Service • Task definitionΛͱʹͯ͠࡞͞ΕͨTaskΛ͍ͭ͘ى ಈ͢Δ͔ɺͲͷΑ͏ʹஔ͢Δͷ͔ɺͲͷϩʔυόϥϯ αʔܦ༝Ͱ௨৴͢Δ͔ͷઃఆɻTask definitionͱ1:1Ͱ ઃఆ͢Δ ༻ޠ1
• Task definition • Containerͷ࣮ߦ͢Δܗ • Task • Task definitionΛͱʹͯ͠࡞͞Εͨ
Containerͷ࣮ଶ ༻ޠ2
Task Definitionʹ͍ͭͯ • ECS্Ͱ࣮ߦ͢ΔContainerͷઃఆ • EC2ͱFargateλΠϓ͕͋Δ • ࣮ߦͤ͞Δcontainerͷimage,ར༻͢Δ ڥมɺportͷઃఆͳͲΛߦ͏
Serviceʹ͍ͭͯ • ECS্Ͱ࣮ߦ͢ΔTaskʹ͍ͭͯͷ·ͱΊΔઃఆ • Containerͷಈ͔͢ɺInstanceͷTaskஔ ઓུ • Load balancerͷport mappingͳͲΛ୲͏ɻ
ECS agent • EC2্Ͱಈ͘ɺECSͷcontainerͷঢ়ଶΛѲ͢Δ agent • ͜ͷagentࣗମdockerͰEC2ͷதͰಈ͍͍ͯΔ • EC2 typeͷ߹ɺ͜ͷECS
agentΛEC2ىಈ࣌ʹಈ͘ Α͏ʹͯ͠Clusterʹొ͢Δ
Ϣʔεέʔε Rails appΛECSͰಈ͔͢߹ • Rails appͷimageΛઃఆͨ͠Task definitionΛ࡞ • Load balancerΛ͚ͭͨServiceΛ࡞͢Δ
Sample
ղઆ • Route53Λར༻ͯ͠domainΛઃఆ • ௨৴ALBܦ༝ͰContainerʹૹΔ • ApplicationContainerͰ࡞ɺECSͰε έʔϦϯάͷཧ
Fargate launch typeʹ͍ͭͯ • ECSʹ̎ͭͷlaunch type EC2 launch typeͱ Fargate
launch type͕͋Δɻ • EC2 launch typeContainerΛಈ͔ͨ͢ΊͷEC2Λ ཧ͢Δඞཁ͕͋Δ͕ɺFargate launch typeಈ͔ͨ͢ ΊͷEC2ͷresourceΛAWSଆͰཧͯ͘͠ΕΔɻ • ཧίετ͕ݮΔ • ݸਓతʹ·ͩಋೖͨ͜͠ͱͳ͍ɻ
ECS overview Fargate Launch type
͓ΘΓʹ • ECScluster্ͰserviceͰཧ͞Εͨ container͔ΒΔtaskΛtask definitionΛͱ ʹ࡞͠ɺӡ༻͢Δػೳ • ContainerΛຊ൪ӡ༻͢Δ͜ͱ։ൃɺӡ༻త ͳϦϨʔγϣϯʹʹཱͭ
༨ஊ
Modern Web appΛߟ͑Δͱ ͖ʹศརͳϖʔδ
Twelve-factor-app • https://12factor.net/ • ݩherokuͷ Adam Wiggins͕2011ʹॻ͍ ͨmodernͳSaaSΛ࡞ΔͨΊͷํ๏ • ࣮࣭ContainerΛར༻͢ΔappΛ࡞͢Δͱ
͖ͷํ๏ͷstandardͷҰͭ
Cloud Native landscape • https://landscape.cncf.io/ • CNCF(Cloud Native Computing Foundation)
͕ఏ͍ࣔͯ͠ΔɺCloud NativeͳΞϓϦέʔ γϣϯΛનΊ্͍ͯ͘ͰͷϩʔυϚοϓ
AWS ެࣜͷࢿྉ • ެࣜͷdoc • re:InventAWS Summit, Black beltͷεϥΠ υslideshareɺಈըyoutubeʹଟ্͘
͕͍ͬͯ·͢ɻ • ࠔͬͨΒެ͕ࣜҰ൪!
ྑ͍ Container lifeΛ!