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.7k
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.9k
pmconf2017
kimurashuhei
0
3.7k
AWS Summit Tokyo 2015
kimurashuhei
0
130
Other Decks in Technology
See All in Technology
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
280
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
180
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
3
2.4k
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
130
Node.js+TypeScriptにおけるCJS/ESM相互運用の最新ポイント
grainrigi
2
120
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
550
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
600
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
480
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
3
2.4k
TypeScript の型で副作用の実行順序を制御する
yanaemon
2
210
コーポレートサイトのアクセシビリティ改善とJIS準拠への実践
lycorptech_jp
PRO
2
140
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
820
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Bash Introduction
62gerente
615
210k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
180
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
210
The Cult of Friendly URLs
andyhume
79
6.9k
The Limits of Empathy - UXLibs8
cassininazir
1
340
Ruling the World: When Life Gets Gamed
codingconduct
0
240
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
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ͨ͠Βෛ͚ʯΛݱ࣮ͷͷʹ͢Δ͘ϒϥογϡΞοϓ