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
1.6k
0
Share
MDH-LT-Thursday-20170126
Shuhei Kimura
January 26, 2017
More Decks by Shuhei Kimura
See All by Shuhei Kimura
Akka streamsを活用したログ集計に優しいデータフローの構築
kimurashuhei
2
5.8k
pmconf2017
kimurashuhei
0
3.7k
AWS Summit Tokyo 2015
kimurashuhei
0
130
Other Decks in Technology
See All in Technology
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
1.7k
Hooks, Filters & Now Context: Why MCPs Are the “Hooks” of the AI Era
miriamschwab
0
160
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
750
CDK Insightsで見る、AIによるCDKコード静的解析(+AI解析)
k_adachi_01
2
110
数案件を同時に進行するためのコンテキスト整理術
sutetotanuki
1
220
CC Workflow Studio
seiyakobayashi
0
320
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
910
New CBs New Challenges
ysuzuki
1
180
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
410
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
170
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
本番環境でPHPコードに触れずに「使われていないコード」を調べるにはどうしたらよいか?
egmc
2
290
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
420
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
Scaling GitHub
holman
464
140k
Context Engineering - Making Every Token Count
addyosmani
9
810
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
220
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
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ͨ͠Βෛ͚ʯΛݱ࣮ͷͷʹ͢Δ͘ϒϥογϡΞοϓ