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
MDH-LT-Thursday-20170126
Search
Shuhei Kimura
January 26, 2017
Technology
0
1.6k
MDH-LT-Thursday-20170126
Shuhei Kimura
January 26, 2017
Tweet
Share
More Decks by Shuhei Kimura
See All by Shuhei Kimura
Akka streamsを活用したログ集計に優しいデータフローの構築
kimurashuhei
2
5.4k
pmconf2017
kimurashuhei
0
3.6k
AWS Summit Tokyo 2015
kimurashuhei
0
100
Other Decks in Technology
See All in Technology
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
160
What’s new in Android development tools
yanzm
0
310
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
120
MobileActOsaka_250704.pdf
akaitadaaki
0
120
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
160
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
130
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
460
Connect 100+を支える技術
kanyamaguc
0
200
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
270
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
210
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
YesSQL, Process and Tooling at Scale
rocio
173
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Adopting Sorbet at Scale
ufuk
77
9.5k
Rails Girls Zürich Keynote
gr2m
95
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Language of Interfaces
destraynor
158
25k
Fireside Chat
paigeccino
37
3.5k
Thoughts on Productivity
jonyablonski
69
4.7k
Making Projects Easy
brettharned
116
6.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Transcript
ECS্Ͱಈ͘DockerΞϓϦέʔγϣϯΛTerraformΛ ͬͯσϓϩΠ͢ΔΑ͏ʹͯ͠Έͨ Dynalyst System Engineer Shuhei Kimura
DynalystͰγεςϜͯ͢AWSͰߏங͞Ε͍ͯ·͢ ֓ཁ - ϦλʔήςΟϯάࠂ৴αʔϏεϓϥοτϑΥʔϜͰ͢ɻ - ੈքதͷސ٬ʹαʔϏεΛఏڙ͠·͢ɻ نײ - RTBͰɺϐʔΫ࣌13ສQPS@Asia/Tokyo Region,
10ສQPS@US/East Region - ೖࡳαʔό྆RegionͰ120 - ܭଌͳͲॾʑؚΊͯEC2 200ۙ͘Instance͕Քಇத - ֤छϩά͓Αͦ1.5TB/dayΛS3ʹอଘ
Ͳ͏ͬͯΞϓϦέʔγϣϯͷϦϦʔεͯ͠·͔͢ʁ ࣮ߦڥ x σϓϩΠํ๏ = Ұൠతʹͱͯଟ༷Ͱ͋Δ - Fabric/CapistranoͳͲΛͬͯEC2ʹΞϓϦΛϦϦʔε - Apex/aws-cliͳͲΛͬͯLambdaFunctionΛϦϦʔε
- ElasticbeanstalkΛར༻ͯ͠ELB+EC2ߏͷΞϓϦΛRollingUpdateϦϦʔε - Chef/Ansible/PuppetͳͲͰपลڥؚΊͯprovisionͯ͠ϦϦʔε DynalystͰɺ͍Ζ͍Ζͳٕज़తઓͷ݁Ռ .. ͍Ζ͍Ζͳ࣮ߦڥͰ৭ʑͳΞϓϦ͕ಈ͍͍ͯΔঢ়ଶΛ ίπίπFabricͷtaskΛՃͨ͠Γϝϯςͨ͠Γ͠ͳ͕Βɺ ͳΜͱ͔Γ͘Γ͍ͯ͠Δঢ়ଶɻ
σϓϩΠͷ؍͔ΒEC2 Container Service ʹະདྷΛײͨ͡ ECS Cluster - αʔόϦιʔεແବͳ͘༗ޮʹ͍ͭͭ ECS Task
Definition - ʓʓͳΞϓϦΛ ECS Service - XXͳ෩ʹಈ͔͍ͨ͠ ͍ΖΜͳΞϓϦέʔγϣϯΛಈ͔͢େલఏ͕ͱͯ౷Ұ͞Εͨঢ়ଶʹͳΔ BatchAPIWorkerConsumer͍͍ͩͨECS্Ͱಈ͔ͤΔ DockerContainerԽ͢Δ͜ͱ͕σϓϩΠͷγϯϓϧԽʹܨ͕Δͱ͍͏ߟ͑
ECS Docker ApplicationΛTerraformΛͬͯϦϦʔε͠Α͏ ͳΜͰTerraformʁ - ίʔυͰ͔͚Δ - ECSͱͷIntegration͕ͪΌΜͱ։ൃ͞Εͯͨ - ੜͷAPIୟ͘ͷ͖ͬͱͲ͔͜Ͱ࠳ં͢Δ,
retryͱ͔πϥͦ͏ - terraformͷΊΜͲ͍͘͞ͱ͜ΖΛ͋Μ·Γؾʹ͠ͳͯ͘Α͍ 㱺 stateյΕͯͳΜͱͳ͍ɻ࠶ߏஙͯ͠deploy͍͍ͤ͠ɻ - MultiRegionΛߟ͑Δͱɺಉ࣌ʹσϓϩΠͱ͔͕ͨΓલʹͳͬͯͣ͘ 㱺 ݁ہͷͱ͜ΖதAWS APIͳͷͰ౿Έαʔό͍ΒͣͰσϓϩΠͰ͖Δʂ 㱺 CircleCI͔Βterraform࣮ߦ͢Δͱ͔͢ΕɺσϓϩΠڥߏங͍Βͳ͍
ͬͯΈͨΒ͜͏ͳͬͨᶃ ͱΓ͋͑ͣɺTerraform࣮ߦڥతʹCircleCIͤʹͯ͠ΈΔ
ͬͯΈͨΒ͜͏ͳͬͨᶄ TaskDefinition Service ErrorLogCount LogGroup
ͬͯΈͨΒ͜͏ͳͬͨᶅ ΞϓϦέʔγϣϯ͕ಈ͚ͩ͘Ͱͳ͘ɺͦͷपลؚΊͯ ༻ҙͰ͖ΔඇৗʹΘ͔Γͯ͘͢Α͘ͳͬͨɻ
ෳRegionʹෳͷAppΛϦϦʔε͢ΔͷɺRollback؆୯ ͖ͳΑ͏ʹpr͢Δɻ વreviewϑϩʔ࡞͍͍ͬͯɻ
·ͱΊ ECS x Terraform ͷΈ߹ΘͤࢥͬͯͨΑΓྑ͛͞ ࠓޙ͍Ζ͍Ζͳٕज़͕ग़ͯ͘ΔͷͰɺࢼߦࡨޡ͍ͯ͘͠ ʮSSHͨ͠Βෛ͚ʯΛݱ࣮ͷͷʹ͢Δ͘ϒϥογϡΞοϓ