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サービスで実現するバッチ実行環境のコンテナ/サーバレス化/ Container ...
Search
Shoichiro Nagai(shnagai)
October 04, 2019
Technology
11
6.5k
AWSサービスで実現するバッチ実行環境のコンテナ/サーバレス化/ Container service of batch execution environment realized by AWS service
AWS DevDay Tokyo 2019での発表資料です
Shoichiro Nagai(shnagai)
October 04, 2019
Tweet
Share
More Decks by Shoichiro Nagai(shnagai)
See All by Shoichiro Nagai(shnagai)
GoでBigQueryを操作する時にStructを使うか悩んでる話/go-bigquery-struct-worries
shoichiron
1
130
AWS Step Functions × AWS SAMで実現する家族ノートの低運用コストETL基盤/ kazokunote-stepfunctions-awssam-etl
shoichiron
4
4.8k
機械学習PJのデータ収集における課題を解決する データ基盤の取組み/Efforts of data infrastructure to solve problems in data collection of machine learning PJ
shoichiron
1
2.1k
ECS×Fargateで実現する運用コストほぼ0なコンテナ運用の仕組み/ ecs fargate low cost operation
shoichiron
14
17k
ママリで動くカテゴリ類推エンジンの仕組み ~機械学習導入の4つの勘所を添えて~/mamari category analogy
shoichiron
0
720
SIGNATEの練習問題コンペで 57位までスコアを上げた話/ The story of the signate competition
shoichiron
2
5.4k
Fargateは何がうれしいのか/ fargate-whats-nice
shoichiron
4
11k
コンテナ導入の正攻法〜ママリのコンテナ移行舞台裏〜/Confrontation-of-Container-Transfer
shoichiron
1
3.4k
1年間の本番運用でわかったコンテナがチーム開発にもたらしてくれたもの/container-brought-to-team-development
shoichiron
11
13k
Other Decks in Technology
See All in Technology
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
540
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
660
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
Platform Engineering for Software Developers and Architects
syntasso
1
520
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
The World Runs on Bad Software
bkeepers
PRO
65
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
GraphQLとの向き合い方2022年版
quramy
43
13k
BBQ
matthewcrist
85
9.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Designing Experiences People Love
moore
138
23k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Transcript
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. T O K Y O 2 0 1 9 . 1 0 . 0 3 - 0 4 AWSαʔϏεͰ࣮ݱ͢Δ όον࣮ߦڥͷίϯςφ/αʔόϨεԽ ӬҪ উҰ ίωώτגࣜձࣾ © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. T O K Y O 2 0 1 9 . 1 0 . 0 3 - 0 4 AWSαʔϏεͰ࣮ݱ͢Δ όον࣮ߦڥͷίϯςφ/αʔόϨεԽ ӬҪ উҰ ίωώτגࣜձࣾ G - 5
ࣗݾհ ӬҪউҰ ओͳ׆ಈ +BQBO$POUBJOFS%BZTW "844VNNJU ͡Ίͯͷ1)1ϓϩϑΣογϣφϧ։ൃ ܦ4:45&.4 ϚϚϦ͕࣮ફ͢Δɹίϯ ςφҠߦͷਖ਼߈๏
ίωώτΤϯδχΞϒϩάIUUQTUFDIDPOOFIJUPDPNBSDIJWFBVUIPSOBHBJT ίωώτגࣜձࣾɹΤϯδχΞ ΠϯϑϥΣϒΦϖϨʔγϣϯػցֶश ࠷ۙ !TIOBHBJ
"CPVUϚϚϦ ࣗΒબͿͨΊͷʮࣝʯΛఏڙ͢Δ ՈʹͱͬͯΑΓྑ͍બΛ͢ΔͨΊʹඞཁͳ͔֬ͳใʹج͍ͮͨʮࣝʯΛఏڙ͠·͢ ҰาΛ౿Έग़͢ʮࣗ৴ʯΛҭΉ ࣝͱͱʹɺҰาΛ౿Έग़͢ݪಈྗͱͳΔʮࣗ৴ʯΛҭΉͨΊͷΛఏڙ͠·͢ ߦಈͨ͠ϚϚΛड͚ೖΕΔʮࣾձʯΛͭ͘Δ ϚϚͷΛࣾձʹൃ৴͠ɺϚϚͷબΛड͚ೖΕΔͷ͋ΔࣾձΛͭ͘Γ·͢ ʮͭͷΓޱʯͰϚϚΛࢧ͑·͢ ՈͷऔΓͰ͋ΔzϚϚzΛࢧ͑Δ͜ͱΛ௨ͯ͠ɺՈ͕ͬͱͤʹաͤ͝ΔੈͷதΛͭ͘Γ·͢ɻ ϚϚϦ͕ଋ͢Δ͜ͱ
ϚϚϦɺʮϚϚͷҰาΛࢧ͑ΔʯϒϥϯυͰ͢
˞ʮӾཡʯʮར༻ऀʯϝσΟΞͱΞϓϦͷ߹ܭʢ݄݄ͷฏۉʣ ˞ʮϚϚ͚/PΞϓϦʯ݄Πϯςʔδௐɹௐࠪରɿ৷தʙ̎ࡀ̌ϲ݄ͷࢠڙΛ࣋ͭঁੑ O Λநग़ ˞*OTUBHSBNͷϑΥϩϫʔɺ'BDFCPPLͷ͍͍Ͷɺ-*/&ͷͱͩͪͷ߹ܭ ݄࣌
ϚϚϦ ΞϓϦɾ8FC 4/4 *OTUBHSBNɾ-*/&ɾ'BDFCPPL هࣄ ϚϚಉ࢜ͰΈΛ૬ஊ͠߹͏2"ίϛϡχςΟΛத৺ʹ ϢʔβʔΛ֦େ͍ͯ͠·͢ ʮϚϚϦʯͰϢʔβʔಉ͕࢜ ͲΜͲΜܨ͕͍ͬͯ·͢ ϚϚͷੜ׆ʹཱͭهࣄΛ ෯͍δϟϯϧͰ৴͍ͯ͠·͢ ϚϚ͚/P̍ΞϓϦʹબग़ ਓͷϚϚ͕બͿʮݱࡏ͍ͬͯΔΞϓϦʯʹͯɺ ߲ ଞͷϚϚʹΦεεϝ͍ͨ͠ɺೝɺ ར༻ɺརศੑɺײ Ͱ̍ҐΛ֫ಘ͠·ͨ͠ هࣄ 6,000 هࣄҎ্ ྦྷܭϑΝϯ 91 ສਓ ˞ ݄ؒӾཡ 1.5ԯճ ˞ ݄ؒར༻ऀ 650ສਓ ˞ ˞ lΈzͱzڞײzΛ࣠ʹϚϚʹدΓఴ͍ ΞϓϦɾ8FCɾ4/4ͱଟ֯తʹαʔϏεΛల։͍ͯ͠·͢ "CPVUϚϚϦ
0 450,000 900,000 1,350,000 1,800,000 2014/4 2014/5 2014/6 2014/7 2014/8
2014/9 2014/10 2014/11 2014/12 2015/1 2015/2 2015/3 2015/4 2015/5 2015/6 2015/7 2015/8 2015/9 2015/10 2015/11 2015/12 2016/1 2016/2 2016/3 2016/4 2016/5 2016/6 2016/7 2016/8 2016/9 2016/10 2016/11 2016/12 2017/1 2017/2 2017/3 2017/4 2017/5 2017/6 2017/7 2017/8 2017/9 2017/10 2017/11 2017/12 2018/1 2018/2 2018/3 2018/4 2018/5 2018/6 2018/7 2018/8 ݄ؒߘ 150ສ݅ िʹҎ্ىಈ͢Δ ΞΫςΟϒϢʔβʔ 50 ਓʹਓ 57$. ์ө ΞϓϦ૯%-ສ ਓʹਓ ਓʹਓ ਓʹਓ ਓʹਓ ˞ ˞ʮϚϚϦʯͷग़࢈༧ఆΛઃఆͨ͠Ϣʔβʔͱɺްੜ࿑ಇলൃදʮਓޱಈଶ౷ܭʯͷग़ੜ͔Βࢉग़ ˞िʹճҎ্ىಈ͢ΔϢʔβʔ ˞ ʹग़࢈ͨ͠ϚϚͷʮਓʹਓʯ͕ϚϚϦΛར༻த ຊ࠷େڃنΛތΔϒϥϯυͱ͍ͯ͠·͢ ˞ ຊ࠷େڃنΛތΔϒϥϯυ
w ϗετܕόον࣮ߦڥͷ՝ΛৼΓฦΔ w όονॲཧͷίϯςφԽ ʲࣄྫʳ εέδϡʔϧܥόονॲཧΛίϯςφԽͯ͠&$44DIFEVMF5BTLʹҠߦ w όονॲཧͷίϯςφ αʔόϨεԽ ʲࣄྫʳ
ػցֶशͷֶशσʔλલॲཧϑϩʔ (MVF 'BSHBUF Λ 4UFQ'VODUJPOTͰඪ४Խ ΞδΣϯμ
"84Ͱͷόονॲཧύλʔϯʹ͍ͭͯ ҰͭͰؾ͖ͮΛಘͯΒ͑Ε͏Ε͍͠Ͱ͢
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ϗετܕόον࣮ߦڥͷ՝ΛৼΓฦΔ
ϗετܕόοναʔόͷྫ
ͷόοναʔό αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0
* * *) ӡ༻Cόον: cron(30 0 * * *) EC2 1ͷEC2Ͱӡ༻ cronͰεέδϡʔϧཧ ༷ʑͳόονॲཧΛू େ͖ͳίϯϐϡʔςΟϯάϦιʔε
ߏʹͯ͠Խ αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0
* * *) ӡ༻Cόον: cron(30 0 * * *) EC2 αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0 * * *) ӡ༻Cόον: cron(30 0 * * *) EC2
όονຖʹ"DUJWF4UBOECZʹ͢Δ αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0
* * *) # ӡ༻Cόον: cron(30 0 * * *) EC2 # αʔϏεAόον: cron(10 0 * * *) # αʔϏεBόον: cron(20 0 * * *) ӡ༻Cόον: cron(30 0 * * *) EC2 αʔϏεܥόοναʔό ӡ༻ܥόοναʔό
ࢮΜͩΒखಈͰϑΣΠϧΦʔόʔ αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0
* * *) # ӡ༻Cόον: cron(30 0 * * *) EC2 αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0 * * *) ӡ༻Cόον: cron(30 0 * * *) EC2 αʔϏεܥόοναʔό ӡ༻ܥόοναʔό ☓ ίϝϯτΞτ ֎ͯ͠Activeʹ
ෳͷαʔόʹશ͘ಉ͡มߋΛߦ͏ඞཁ͕͋Δ αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0
* * *) # ӡ༻Cόον: cron(30 0 * * *) EC2 # αʔϏεAόον: cron(10 0 * * *) # αʔϏεBόον: cron(20 0 * * *) ӡ༻Cόον: cron(30 0 * * *) EC2 αʔϏεܥόοναʔό ӡ༻ܥόοναʔό ΞϓϦέʔγϣϯσϓϩΠ ϓϥοτϑΥʔϜͷมߋ
ෳͷαʔόʹશ͘ಉ͡มߋΛߦ͏ඞཁ͕͋Δ αʔϏεAόον: cron(10 0 * * *) αʔϏεBόον: cron(20 0
* * *) # ӡ༻Cόον: cron(30 0 * * *) EC2 # αʔϏεAόον: cron(10 0 * * *) # αʔϏεBόον: cron(20 0 * * *) ӡ༻Cόον: cron(30 0 * * *) EC2 αʔϏεܥόοναʔό ӡ༻ܥόοναʔό ΞϓϦέʔγϣϯσϓϩΠ ϓϥοτϑΥʔϜͷมߋ όοναʔόʹ͔͔Δӡ༻ෛՙେ͖͍
w ϓϥοτϑΥʔϜʹมߋΛՃ͑Δϋʔυϧ͕ߴ͍ όοναʔόͰಈ͘ଟذʹΘͨΔॲཧ͕ͳ͘ಈ͘Α͏ʹߟྀ͢Δඞཁ͕͋Δ ෳαʔόʹશ͘ಉ͡มߋΛՃ͑Δඞཁ͕͋Δ ৗʹԿ͔͠Βͷॲཧ͕ಈ͍͍ͯΔͷͰϩʔϧόοΫ͕͍͠ w ӡ༻ෛՙ͕ߴ͍ όοναʔόͷΠϯϑϥઃఆมߋ DSPOొͷΦϖϨʔγϣϯεςʔδϯάͰͷςετ࣮ߦ ো࣌ͷΓ͚
όονݸผͷ αʔόϦιʔε κϯϏϓϩηε͕ɺɺɺ ϗετܕόονॲཧͷ՝
w ϓϥοτϑΥʔϜʹมߋΛՃ͑Δϋʔυϧ͕ߴ͍ όοναʔόͰಈ͘ଟذʹΘͨΔॲཧ͕ͳ͘ಈ͘Α͏ʹߟྀ͢Δඞཁ͕͋Δ ෳαʔόʹશ͘ಉ͡มߋΛՃ͑Δඞཁ͕͋Δ ৗʹԿ͔͠Βͷॲཧ͕ಈ͍͍ͯΔͷͰϩʔϧόοΫ͕͍͠ w ӡ༻ෛՙ͕ߴ͍ όοναʔόͷΠϯϑϥઃఆมߋ DSPOొͷΦϖϨʔγϣϯεςʔδϯάͰͷςετ࣮ߦ ো࣌ͷΓ͚
όονݸผͷ αʔόϦιʔε κϯϏϓϩηε͕ɺɺɺ ϗετܕόονॲཧͷ՝ όονॲཧΛίϯςφԽ͢Δ͜ͱͰղܾ
w ϦιʔεΛڞ༗͢Δ؍͔Β៛ີͳεέδϡʔϧཧ͕ඞཁ ݶΒΕͨϚγϯϦιʔεΛڞ༗͢ΔͷͰॏ͍ॲཧ͕ॏͳΒͳ͍Α͏ߟྀ ៛ີͳεέδϡʔϧཧ όονཧா δϣϒεέδϡʔϥͷಋೖˠδϣϒεέδϡʔϥࣗମͷӡ༻͕ൃੜ εέδϡʔϦϯάͷܦҢҰ෦ʹଐਓԽ͢Δ͜ͱ͓͖͕ͪ w අ༻͕ߴ͘ͳΓ͕ͪ
Ұ൪ϚγϯϦιʔεΛ͏ॲཧΛϕʔεʹΠϯελϯεΛܾఆ͠ৗ࣌ىಈ ԽׂຖόοναʔόΛ࡞Δͱߋʹඅ༻͕ߴ͘ͳΔ Ϋϥυͷ߹ɺඞཁͳ࣌ʹ͚ͬͨͩͷඅ༻Λ͏ܗʹ͍ͨ͠ ϗετܕόονॲཧͷ՝
w ϦιʔεΛڞ༗͢Δ؍͔Β៛ີͳεέδϡʔϧཧ͕ඞཁ ݶΒΕͨϚγϯϦιʔεΛڞ༗͢ΔͷͰॏ͍ॲཧ͕ॏͳΒͳ͍Α͏ߟྀ ៛ີͳεέδϡʔϧཧ όονཧா δϣϒεέδϡʔϥͷಋೖˠδϣϒεέδϡʔϥࣗମͷӡ༻͕ൃੜ εέδϡʔϦϯάͷܦҢҰ෦ʹଐਓԽ͢Δ͜ͱ͓͖͕ͪ w අ༻͕ߴ͘ͳΓ͕ͪ
Ұ൪ϚγϯϦιʔεΛ͏ॲཧΛϕʔεʹΠϯελϯεΛܾఆ͠ৗ࣌ىಈ ԽׂຖόοναʔόΛ࡞Δͱߋʹඅ༻͕ߴ͘ͳΔ Ϋϥυͷ߹ɺඞཁͳ࣌ʹ͚ͬͨͩͷඅ༻Λ͏ܗʹ͍ͨ͠ ϗετܕόονॲཧͷ՝ όονॲཧΛαʔόϨεԽ͢Δ͜ͱͰղܾ
͜Ε͔ΒͭͷࣄྫΛϕʔεʹ
όον࣮ߦڥΛίϯςφɾαʔόϨεԽ͢Δ ϝϦοτʹ͍͓ͭͯ͠·͢
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ʲࣄྫ1ʳ εέδϡʔϧܥόονॲཧΛίϯςφԽͯ͠ ECS ScheduleTaskʹҠߦ
w αʔϏεӡ༻Ͱ͏εέδϡʔϧϕʔεόονΛίϯςφԽ w ͦΕʹΑΓղܾͨ͠՝ͱߏʹ͍ͭͯ ͜ͷࣄྫͰ͓͢Δ͜ͱ
w εέδϡʔϧܥͷόονॲཧ ࣄલʹఆٛͨ࣌ؒ͠ʹਖ਼֬ʹಈ͘͜ͱ͕ظ͞ΕΔ ಛఆͷαΠΫϧ ຖ Ͱಈ͘͜ͱ͕ظ͞ΕΔ w όοναʔόͷDSPOͰεέδϡʔϧཧ όοναʔόʹΞϓϦέʔγϣϯΛσϓϩΠ DSPOUBCͰεέδϡʔϧཧ
ѻ͏όονॲཧ
w όονΛ࢘ΔDSPOαʔόͷӡ༻ΛΊ͍ͨ શαʔϏεڞ௨ͷ&$ ಈ͍͍ͯΔͷɺ࣌ؒ௨Γʹಈ͘͜ͱ͕ظ͞ΕΔεέδϡʔϧܥόον w ΞϓϦέʔγϣϯίϯςφԽࡁͰͦͷࢿ࢈Λ׆͔͍ͨ͠ ϕʔείʔυXFCͱڞ௨ͳͷͰίϯςφԽࡁ "84Λج൫ͱ͍ͯͬͯ͠ΔͷͰɺ"84ͰίϯςφͷόονॲཧΛ࣮ݱ͍ͨ͠ ࣾͰ%PDLFSͰͷ։ൃ͕ೃછΜͰ͖͍ͯͨ ʲίϯςφಋೖͷਖ਼߈๏ʳ
IUUQTTQFBLFSEFDLDPNTIPJDIJSPODPOGSPOUBUJPOPGDPOUBJOFSUSBOTGFS ίωώτͷόοναʔόʹର͢Δ՝
w ଐਓԽ͘͢͠ϨΨγʔͳӡ༻͕͍ͬͯΔ ৽نొ࣌ɺDSPOUBCͰखಈεέδϡʔϧొ ϦϦʔεલͷςετ࣮ߦ44)ܦ༝Ͱόοναʔό͔Βಈ࡞֬ೝ DSPOUBCʹొ͢ΔͷҰ෦ͷΤϯδχΞͷΈ Ұ෦͔͠શ༰ΛΒͳ͍ঢ়ଶ w ΞϓϦέʔγϣϯϦϦʔεҎ֎ۃྗมߋΛՃ͑ͳ͍Α͏ʹ γϯάϧϙΠϯτͳͷͰࢭ·ΔͱαʔϏεʹӨڹେ
ग़དྷΔ͚ͩมߋՃ͑ͣʹӡ༻͍ͨ͠ͱ͍͏ҙ͕ࣝಇ͘ ίωώτͷόοναʔόʹର͢Δ՝
͜ΕΒͷ՝Λղܾ͢ΔͨΊʹ ίϯςφۦಈͳόον࣮ߦڥΛߏங
όονॲཧΛίϯςφԽ͢Δ͜ͱͰ ͲͷΑ͏ͳϝϦοτ͕ಘΒΕΔͷ͔ʁ
ᶃՄൖੑͷߴ͞Λ׆͔͢͜ͱͰϓϥοτϑΥʔϜมߋͷෑډ͕Լ͕Δ εςʔδϯάڥ ϓϩμΫγϣϯڥ ։ൃڥ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ όοναʔό ࣮ߦڥ
όοναʔό ࣮ߦڥ ΞϓϦέʔγϣϯ ࣮ߦڥ ΞϓϦέʔγϣϯ ࣮ߦڥ ઃఆมߋ ઃఆมߋ σϓϩΠ σϓϩΠ σϓϩΠ σϓϩΠ ઃఆมߋίϯςφͰ݁
ᶃՄൖੑͷߴ͞Λ׆͔͢͜ͱͰϓϥοτϑΥʔϜมߋͷෑډ͕Լ͕Δ εςʔδϯάڥ ϓϩμΫγϣϯڥ ։ൃڥ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ όοναʔό ࣮ߦڥ
όοναʔό ࣮ߦڥ ΞϓϦέʔγϣϯ ࣮ߦڥ ΞϓϦέʔγϣϯ ࣮ߦڥ ઃఆมߋ ઃఆมߋ σϓϩΠ σϓϩΠ σϓϩΠ σϓϩΠ ઃఆมߋίϯςφͰ݁ σϓϩΠཻ͕ΞϓϦέʔγϣϯίʔυ͔Β ΞϓϦέʔγϣϯ࣮ߦج൫ͦͷͷʹมΘΔ
w ઐ༻ͷόοναʔόෆཁʹ ͲͷόονΛͲͷϗετͰಈ͔͔͢ΦʔέετϨʔγϣϯπʔϧʹ͓ͤ όονॲཧίϯςφϓϩηεͷ࣮ߦʹूதग़དྷΔ DSPOUBCӡ༻͔Βͷଔۀ w ଐਓԽΛഉআग़དྷΔ ϓϥοτϑΥʔϜͷఆٛ%PDLFSGJMFͰίʔυԽ όον࣮ߦͷఆٛίʔυԽ͢Δ͜ͱͰ௨ৗͷ։ൃϑϩʔͰόονӡ༻͕ग़དྷΔ ᶄӡ༻ෛՙ͕Լ͕Δ
"84ͰͲͷΑ͏ʹ ίϯςφج൫ͷόον࣮ߦڥΛ࡞Δ͔
w ίϯςφPODSPO -BNCEB "84#BUDIΛൺֱݕ౼ ࣌ͷΞʔΩςΫνϟબఆ࣌ͷQSPTDPOTͪ͜Βʹ ʲ"NB[PO&$44DIFEVMF5BTLͰ࣮ݱ͢ΔεϚʔτͳ%PDLFSϕʔεͷόον࣮ߦڥʳ IUUQTUFDIDPOOFIJUPDPNFOUSZ w
શͯͷཁ݅Λຬͨͨ͠ͷͰ&$44DIFEVMF5BTLͷ࠾༻Λܾఆ ͜Ε͔ΒΔͳΒཁ݅ʹΑͬͯ"84#BUDIͰ͍͍ͷ͔ େنσʔλ ࣌εέδϡʔϧىಈʹରԠ͍ͯ͠ͳ͔ͬͨ w ಋೖॳଞࣾࣄྫ͕͋·Γͳ͍ͱ͍͏ෆ҆͋ͬͨ 4"ʹ૬ஊͯ͠ΞʔΩςΫνϟͷϨϏϡʔΛड͚Δ &$4ͷӡ༻࣮͋Γݟ͕͋ͬͨͷͰಋೖΛܾఆ ٕज़બఆ
w &$4"84͕ఏڙ͢ΔίϯςφཧͷϚωʔδυαʔϏε ίϯςφΦʔέετϨʔγϣϯπʔϧ w &$44DIFEVMF5BTLλεΫ ίϯςφ ͷ࣮ߦΛεέδϡʔ ϧཧͯ͘͠ΕΔػೳ $MPVE8BUDI&WFOUͱ࿈ܞ &$44DIFEVMF5BTLͱ
Event (time-based)
ΞʔΩςΫνϟ ECR ECS ScheduleTask Task CloudWatch Event (time-based) Aόον:
cron(10 0 * * ? *) Bόον: cron(20 0 * * ? *) Cόον: cron(30 0 * * ? *) Tag: Release Task Task Aόον Bόον Cόον pull pull pull EC2 EC2Λߏʹ͠SPOFճආ ECSλεΫஔઓུʹଇΓɺόϥ ϯεΑ͘λεΫىಈ͞ΕΔ
&$44DIFEVMF5BTLͰͷ όον࣮ߦͷྲྀΕΛݟͯΈ·͠ΐ͏
όον࣮ߦͷྲྀΕ +45 ECR ECS ScheduleTask Task CloudWatch Event (time-based)
Aόον: cron(10 0 * * ? *) Bόον: cron(20 0 * * ? *) Cόον: cron(30 0 * * ? *) Tag: Release Aόον pull EC2
όον࣮ߦͷྲྀΕ +45 ECR ECS ScheduleTask Task CloudWatch Event (time-based)
Aόον: cron(10 0 * * ? *) Bόον: cron(20 0 * * ? *) Cόον: cron(30 0 * * ? *) Tag: Release Task Aόον Bόον pull EC2 Bόονىಈ࣌ɺ Aόονىಈ࣌ʹग़དྷͨEC2্ͷ DockerϨΠϠΩϟογϡ͕ޮ͘ͷ Ͱߴىಈ
+45 ʹຊ൪σϓϩΠൃੜ
CόονɺσϓϩΠ͞Εͨ৽͠ ͍DockerΠϝʔδͰόονΛىಈ σϓϩΠ࣌ʹىಈ͍ͯͨ͠Bόο νɺӨڹͳ͘ॲཧΛଓ͚Δ όον࣮ߦͷྲྀΕ +45 ECR ECS CloudWatch Event
(time-based) Aόον: cron(10 0 * * ? *) Bόον: cron(20 0 * * ? *) Cόον: cron(30 0 * * ? *) Tag: Release Task Task Bόον Cόον pull (new image) EC2
w DSPOه๏Ͱεέδϡʔϧఆ͕ٛग़དྷΔͷͰΘ͔Γ͍͢ $MPVE8BUDI&WFOUTͷDSPOࣜͷಛ ͱ͍͏֓೦͕͋ΓϑΟʔϧυ λΠϜκʔϯ65$ ຖʹىಈ͢Δ߹ &$44DIFEVMF5BTLͷϝϦοτ
w طଘͷ%PDLFSΠϝʔδΛࢿ࢈ͱͯ͑͠Δ XFCͱಉ͡ίʔυϕʔεͰόονΛಈ͔͢߹DNE۟ͷॻ͚͑ͩͰ0, &$44DIFEVMF5BTLͷϝϦοτ ECR ECS CMD: /usr/sbin/httpd -DFOREGROUND CMD:
bin/cake hoge_batch Web Batch Docker Pull
w &$όοΫΤϯυߏͩͱίϯςφͷىಈ͕ૣ͍ ىಈʹ͔͔Δ࣌ؒඵͳͷͰεέδϡʔϧىಈͷཁ݅ΛຬͨͤΔ %PDLFS࣮ߦϗετ͕ݻఆ͞ΕΔͷͰ%PDLFSͷϨΠϠΩϟογϡ͕ޮ͘ 'BSHBUFϗετΛݻఆग़དྷͳ͍ͷͰϨΠϠΩϟογϡ͕ޮ͔ͳ͍&/*ͷ͚ସ ͑͋Γىಈʹऑ͔͔Δ લ΄Ͳ͔͔ͬͯͨͷͰૣ͘ͳ͍ͬͯΔ &$44DIFEVMF5BTLͷϝϦοτ
w σϓϩΠ࣌ʹ࣮ߦதόονͷߟྀ͕ෆཁ ىಈ࣌ʹ%PDLFSΠϝʔδΛQVMM͢ΔΞʔΩςΫνϟ ىಈதͷίϯςφQVMMͨ͠ஈ֊ͷΞϓϦέʔγϣϯΛ͏ͷͰӨڹΛड͚ͳ͍ w $MPVE8BUDI-PHTͰ؆୯ʹϩά͕ݟΕΔ ඪ४ग़ྗΛ$MPVE8BUDI-PHTग़ྗ "84ίϯιʔϧ͔ΒΞϓϦέʔγϣϯͷग़ྗΛ؆୯ʹݟΕΔ Θ͟Θ͟44)Λ͠ͳͯ͘0, &$44DIFEVMF5BTLͷϝϦοτ
w (6*ͰόονҰཡ͕ݟΕΔ ίϝϯτ͚ͭΕΔͷͰόονཧாͷ༻ʹͳΔ &$44DIFEVMF5BTLͷϝϦοτ
w όοναʔόͷӡ༻͕ෆཁʹͳΔ ίϯςφͱ&$ͷཧ&$4͕ߦͬͯ͘ΕΔ &$ΛNVMUJ";Ͱӡ༻͢Δ͜ͱͰ410'ղফˠͲ͜Ͱىಈ͢Δ͔&$4͕Α͠ͳʹ w %PDLFSϨΠϠΩϟογϡΛ͏͜ͱͰεέδϡʔϧ௨Γͷ όον࣮ߦ͕Մೳ w ىಈλΠϓͱͯ͠'BSHBUFΛ͏͜ͱग़དྷΔ αʔόϨεͷϝϦοτڗडՄೳ
&$44DIFEVMF5BTLԿ͕͏Ε͍͠ͷ͔
w λεΫͷ࣮ߦཤྺ͕࣌ܥྻͰݟΕͳ͍ ࣌ؒ࣠ͰͲͷλεΫ͕ಈ͍͍ͯͨͷ͔σόοά͢Δͷ͕গ͠໘ɻɻ վળͯ͠΄͍͠ϙΠϯτ
w Ϋϥελ λεΫΛಈ͔͢ϗετ &$ ͷू߹ମ 'BSHBUFͷ࣌ɺͨͩͷശ w %PDLFSΠϝʔδ &$3
w λεΫఆٛ %PDLFSίϯςφͷىಈύϥϝʔλͷఆٛ w Ϋϥελͷ4DIFEVMF5BTL $MPVE8BUDI&WFOUTͱཪͰ࿈ܞ͍ͯ͠Δ &$44DIFEVMF5BTLͰόονΛΉͨΊͷཁૉ
w Ϋϥελ λεΫΛಈ͔͢ϗετ &$ ͷू߹ମ 'BSHBUFͷ࣌ɺͨͩͷശ w %PDLFSΠϝʔδ &$3
w λεΫఆٛ %PDLFSίϯςφͷىಈύϥϝʔλͷఆٛ w Ϋϥελͷ4DIFEVMF5BTL $MPVE8BUDI&WFOUTͱཪͰ࿈ܞ͍ͯ͠Δ λεΫఆٛΛ5FSSBGPSNͰཧ λεΫఆٛΛTerraformͰཧ
w όοναʔόͷӡ༻͕ଐਓԽ ৽نొ࣌ɺDSPOUBCͰखಈεέδϡʔϧొ ϦϦʔεલͷςετ࣮ߦ44)ܦ༝Ͱόοναʔό͔Βಈ࡞֬ೝ DSPOUBCʹొ͢ΔͷҰ෦ͷΤϯδχΞͷΈ Ұ෦͔͠શ༰ΛΒͳ͍ঢ়ଶ w ΞϓϦέʔγϣϯϦϦʔεҎ֎ۃྗมߋΛՃ͑ͳ͍Α͏ʹ γϯάϧϙΠϯτͳͷͰࢭ·ΔͱαʔϏεʹӨڹେ
ग़དྷΔ͚ͩมߋՃ͑ͣʹӡ༻͍ͨ͠ͱ͍͏ҙ͕ࣝಇ͘ όοναʔόͷଐਓԽղফ TerraformͰཧ͢Δ͜ͱͰղܾ
w ։ൃऀ͕όονͷొมߋআΛ1VMM3FRVFTUܗࣜͰߦ͏ 5FSSBGPSNͷఆٛΛݟΕͲΜͳόον͕͋Δͷ͔ཧղͰ͖Δ DSPOUBCΛ୭͕ొνΣοΫ͢Δͷ͔Λղܾ w 5FSSBGPSNͷ࣮ߦ։ൃऀ͕ߦ͏ UGTUBUFϑΝΠϧΛ4Ͱڞ௨ཧ͢Δ͜ͱͰखݩͰ࣮ߦͰ͖ΔΑ͏ʹ 0QTνʔϜͷόονొґཔෆཁʹ λεΫఆٛΛ5FSSBGPSNͰཧ
5FSSBGPSNͷఆٛ Descriptionॻ͘͜ͱͰͻͱͰΘ͔Δ variables.tfͰཧ͢Δ͜ͱͰɺ ڥࠩΛٵऩ
13ϕʔεͰͷόονొ εςʔδϯάͰͷ dry-run݁ՌΛఴ͑ͯPR࡞
όονͷ։ൃϑϩʔ ίϯςφϕʔεͰ όονॲཧΛϩʔΧϧ։ൃ APͷϦϙδτϦͰ όονॲཧͷPR terraformͷϦϙδτϦͰ όονॲཧఆٛͷPR terraformܦ༝Ͱ ຊ൪ʹλεΫఆٛొ εςʔδϯάͷECSͰ
Ұखಈ࣮ߦ͠ಈ࡞֬ೝ terraformܦ༝Ͱ εςʔδϯάʹλεΫఆٛొ ϓϥοτϑΥʔϜมߋίϯςφͰ݁ DockerͷՄൖੑͷߴ͞Ͱͦͷ··ผڥ
όονͷ։ൃϑϩʔ ίϯςφϕʔεͰ όονॲཧΛϩʔΧϧ։ൃ APͷϦϙδτϦͰ όονॲཧͷPR terraformͷϦϙδτϦͰ όονॲཧఆٛͷPR terraformܦ༝Ͱ ຊ൪ʹλεΫఆٛొ εςʔδϯάͷECSͰ
Ұखಈ࣮ߦ͠ಈ࡞֬ೝ terraformܦ༝Ͱ εςʔδϯάʹλεΫఆٛొ ϓϥοτϑΥʔϜมߋίϯςφͰ݁ DockerͷՄൖੑͷߴ͞Ͱͦͷ··ผڥ ։ൃσϓϩΠ֬ೝͱ͍͏։ൃϑϩʔΛ ͯ͢։ൃऀͷͰߦ͏͜ͱ͕Ͱ͖Δ
w ίϯςφԽ͍ͯ͠ΔΞϓϦέʔγϣϯʹ͓͍ͯDSPOαʔόӡ ༻ͳ͠ʹεέδϡʔϧ࣮ߦ͕Մೳ w όοναʔόΛҙࣝͤͣʹɺόονॲཧϓϩηεͷվमͱ ͍͏ཻͰϓϥοτϑΥʔϜؚΊͯมߋ͕Մೳ w ఆٛΛίʔυཧ͢Δ͜ͱͰ௨ৗͷ։ൃαΠΫϧͰόονొ ͕ՄೳʹͳΔ &$44DIFEVMF5BTLΛͬͨόον࣮ߦڥͷ·ͱΊ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ʲࣄྫ2ʳ ػցֶशͷֶशσʔλલॲཧϑϩʔ(Glue + Fargate) ΛStep FunctionsͰඪ४Խ
w ػցֶशͷલॲཧΛαʔόϨεͰ৽نߏங w όονॲཧͰٻΊΒΕΔ͜ͱଟ͍ϫʔΫϑϩʔαʔόϨ εʹߏங ͜ͷࣄྫͰ͓͢Δ͜ͱ
݄ؒඦສ݅ͷߘ͔ΒෆదͳίϯςϯπΛݟ͚ͭΔ
݄ؒඦສ݅ͷߘ͔ΒෆదͳίϯςϯπΛݟ͚ͭΔ શͯͷߘΛࢹ֬ೝ͢Δ͜ͱ ग़དྷͳ͍ͷͰػցֶशΛ׆༻
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ Ϟσϧ࡞લͷલॲཧʹ͓͚Δ όον࣮ߦΞʔΩςΫνϟʹ͍ͭͯઆ໌͠·͢
w 3%4ʹอଘ͍ͯ͠Δσʔλ͔ΒֶशσʔλΛநग़ "84(MVFΛͬͨσʔλநग़ॲཧ w ֶशσʔλʹର͠ςΩετͷલॲཧͱϕΫτϧԽΛߦ͏ ίϯςφԽͨ͠όονॲཧΛ'BSHBUFλεΫͰ࣮ߦ ͲͷΑ͏ͳॲཧΛߦ͍ͬͯΔ͔
w σʔλͷநग़ɺมɺϩʔυΛߦ͏ϚωʔδυαʔϏε w ؆୯ͳૢ࡞Ͱ&5-δϣϒΛߏஙՄೳ w αʔόϨεͳͷͰӡ༻ෆཁ͔ͭίετӡ༻͕Մೳ &5-ॲཧϚγϯύϫʔ͕ٻΊΒΕΔॲཧ͕ଟ͍ͷͰίετޮॏཁ %16 %BUB1SPDFTTJOH6OJU ୯Ґͷ՝ۚ
"84(MVFͱ
w 3%4ʹอଘ͞Ε͍ͯΔσʔλΛநग़ɾՃ͠ɺ4ʹอଘ w ॲཧͷ༁ σʔλ݅ɿສ݅ +PC࣮ߦ࣌ؒɿ ग़ྗUTWσʔλɿ(# ʲ"84(MVFΛ༻͍ͯ&5-ڥΛߏங͓ͨ͠ʢ3%4GPS.Z42-ˠ4ʣʳ IUUQTUFDIDPOOFIJUPDPNFOUSZ (MVFΛͬͨσʔλநग़ॲཧ
w (MVFͰநग़ͨ͠࠷৽ͷσʔλΛػցֶशͰ͑Δܗʹม w 1ZUIPOΛͬͨࣗવݴޠॲཧ͕ϝΠϯ ಠࣗͷϥϯλΠϜΛ͍͍ͨͷͰίϯςφԽ 4BHF.BLFSͷϏϧτΠϯίϯςφͰ͍͍ͨϥΠϒϥϦ͕ରԠ͍ͯ͠ͳ͔ͬͨ w ։ൃϑϩʔϩʔΧϧ։ൃ 13ϕʔε NBTUFSϚʔδ࣌ʹ&$3ʹ%PDLFSΠϝʔδΛQVTI
w αʔόϨεͳͷͰόον࣮ߦ࣌ͷΈ՝͕ۚൃੜ ػցֶशͷલॲཧॏΊͷॲཧ͕ଟ͍ͷͰྉۚ໘ͰԸܙΛड͚͍͢ 'BSHBUFͰߦ͏લॲཧόον
w ετϨʔδ༰ྔʹ੍ݶ͕͋Δ λεΫͰίϯςφͷϧʔτϘϦϡʔϜʹ(#ɺϚϯτ༻ͷڞ༗ϘϦϡʔ Ϝʹ(#ར༻Մೳ ͜ΕΛ͑ΔϑΝΠϧΛѻ͏߹อଘઌΛ4ʹ͢Δඞཁ͕͋Δ &'4ͷϚϯτݱ࣌Ͱग़དྷͳ͍ 'BSHBUFͰେ͖ΊͷϑΝΠϧΛѻ͏߹ͷҙ
࣮ߦॱং͕ॏཁͳ ͭͷόονॲཧͰϫʔΫϑϩʔΛΈ͍ͨ
ͲͷΑ͏ͳύλʔϯ͕͋Δ͔
w 424Λͬͯδϣϒͷ࣮ߦॱংΛ੍ޚ -BNCEB·ͨ$MPVE8BUDI&WFOUTܦ༝ͰޙଓόονΛىಈ ΩϡʔΠϯάؒ࿈ͷຊདྷͷॲཧͱؔͳ͍ίʔυΛॻ͔ͳ͚ΕͳΒͳ͍ w ॲཧຖʹΤϥʔ௨ϦτϥΠ੍ޚΛೖΕΔ (MVFͰͷϦτϥΠ੍ޚͱΤϥʔ௨ όονॲཧͷίʔυͰϦτϥΠ੍ޚͱΤϥʔ௨ w ॲཧεςοϓ͕૿͑Δ΄Ͳશମ૾ΛѲ͢Δͷ͕ࠔʹͳΔ
ΩϡʔΠϯάύλʔϯ
w ॲཧຖʹεέδϡʔϧ࣮ߦ (MVFεέδϡʔϧ࣮ߦ ". 'BSHBUFεέδϡʔϧ࣮ߦ ". ࠷ॳͷॲཧ͕͚ͯ͜ޙଓόον͕ಈ͍͍͍ͯ߹ͷΈʹ͑Δ w
ॲཧຖʹΤϥʔ௨ϦτϥΠ੍ޚΛೖΕΔ (MVFͰͷϦτϥΠ੍ޚͱΤϥʔ௨ όονॲཧͷίʔυͰϦτϥΠ੍ޚͱΤϥʔ௨ wॲཧεςοϓ͕૿͑Δ΄Ͳશମ૾ΛѲ͢Δͷ͕ࠔʹͳΔ εέδϡʔϧ࣮ߦύλʔϯ
w ॲཧຖʹεέδϡʔϧ࣮ߦ (MVFεέδϡʔϧ࣮ߦ ". 'BSHBUFεέδϡʔϧ࣮ߦ ". ࠷ॳͷॲཧ͕͚ͯ͜ޙଓόον͕ಈ͍͍͍ͯ߹ͷΈʹ͑Δ w
ॲཧຖʹΤϥʔ௨ϦτϥΠ੍ޚΛೖΕΔ (MVFͰͷϦτϥΠ੍ޚͱΤϥʔ௨ όονॲཧͷίʔυͰϦτϥΠ੍ޚͱΤϥʔ௨ wॲཧεςοϓ͕૿͑Δ΄Ͳશମ૾ΛѲ͢Δͷ͕ࠔʹͳΔ εέδϡʔϧ࣮ߦύλʔϯ ͬͱศརʹग़དྷΔํ๏ͳ͍ͷ͔
w ॲཧຖʹεέδϡʔϧ࣮ߦ (MVFεέδϡʔϧ࣮ߦ ". 'BSHBUFεέδϡʔϧ࣮ߦ ". ࠷ॳͷॲཧ͕͚ͯ͜ޙଓόον͕ಈ͍͍͍ͯ߹ͷΈʹ͑Δ w
ॲཧຖʹΤϥʔ௨ϦτϥΠ੍ޚΛೖΕΔ (MVFͰͷϦτϥΠ੍ޚͱΤϥʔ௨ όονॲཧͷίʔυͰϦτϥΠ੍ޚͱΤϥʔ௨ wॲཧεςοϓ͕૿͑Δ΄Ͳશମ૾ΛѲ͢Δͷ͕ࠔʹͳΔ εέδϡʔϧ࣮ߦύλʔϯ 4UFQ'VODUJPOTΛ͏͜ͱͰ࣮ݱͰ͖ͨ
w "84͕ఏڙ͢ΔαʔόʔϨεϫʔΫϑϩʔαʔϏε w ࿈ܞ͍ͯ͠Δ"84ϦιʔεΛ؆୯ʹ੍ޚग़དྷΔ ؆୯ʹݺͼग़͔ͭ͠δϣϒऴ͕ྃͪग़དྷΔ ࿈ܞαʔϏεঃʑʹ૿͍͑ͯΔ w +40/ͰϫʔΫϑϩʔΛఆٛ ϦτϥΠΤϥʔϋϯυϦϯά͕Մೳ ॲཧͷલޙؔΛͦͷ··ϏδϡΞϥΠζͯ͘͠ΕΔ
4UFQ'VODUJPOTͱ
4UFQ'VODUJPOTͷఆٛ ॲཧᶃ ॲཧᶄ Τϥʔ௨ ΤϥʔϋϯυϦϯά
w TUBUF ࣮ߦ͢Δॲཧ୯Ґ-BNCEB &$4λεΫ (MVFFUD 5ZQF۟Ͱॲཧ༰Λࢦఆ 5BTL ͳΜΒ͔ͷॲཧ࣮ߦ $IPJDF
ೖྗʹج͖ͮॲཧذ 8BJU Ұఆ࣌ؒεϦʔϓ w TUBUFNBDIJOF TUFUFͷू߹ମ ϫʔΫϑϩʔຊମ +40/ϕʔεͷ"NB[POεςʔτϝϯτݴޠͰఆٛ ͜ͷ୯ҐͰϏδϡΞϥΠζ͞ΕΔ 4UFQ'VODUJPOTͷߏཁૉ
w $BUDI۟Ͱఆٛ͢Δ w ࣄલఆٛ͞ΕͨΤϥʔίʔυ 4UBUFT"--ͯ͢ͷΤϥʔ໊ʹҰக͢ΔϫΠϧυΧʔυ 4UBUFT5JNFPVUλΠϜΞτؔ࿈ 4UBUFT5BTL'BJMFEλεΫͷ࣮ߦࣦഊ 4UBUFT1FSNJTTJPOTఆٛͨ͠λεΫͷ࣮ߦݖݶ͕Γͳ͍ ΤϥʔϋϯυϦϯά
w 3FUSZ۟Ͱఆٛ͢Δ w ઃఆϑΟʔϧυ &SSPS&RVBMTରͱͳΔΤϥʔ໊ *OUFSWBM4FDPOET࠶ࢼߦ·ͰͷΠϯλʔόϧ .BY"UUFNQUT࠷େϦτϥΠ #BDLPGG3BUF࠶ࢼߦ࣌ͷ૿Ճ͢Δ ྫඵɺඵɺඵɺɺɺ ϦτϥΠॲཧ
"84Ϧιʔεͱͷ࿈ܞ݄࣌ δϣϒͷϋϯυϦϯάΛ Step FunctionsଆʹͤΒΕΔ
w ॲཧͷঢ়ଶΛϋϯυϦϯάͯ͘͠ΕΔͷͰ໘ͳ࣮͕ෆཁ w "84Ͱ݁͢ΔόονॲཧͷϫʔΫϑϩʔ͕Έ͍͢ (MVFˠ&$4ˠMBNCEBΈ͍ͨͳ"84αʔϏεͷ࿈ܞ ෳͷ"84#BUDIΛͬͨूܭॲཧ TMBDL௨༻ͷڞ௨ͷMBNCEBΛΈࠐΉ w αʔόϨεͳͷͰӡ༻ෆཁͰϫʔΫϑϩʔ͕ΊΔ 4UFQ'VODUJPOTͷྑ͍ͱ͜Ζ
w ॲཧͷঢ়ଶΛϋϯυϦϯάͯ͘͠ΕΔͷͰ໘ͳ࣮͕ෆཁ w "84Ͱ݁͢ΔόονॲཧͷϫʔΫϑϩʔ͕Έ͍͢ (MVF &$4ͰαʔϏεؒ࿈ܥ ෳͷ"84#BUDIΛͬͨूܭॲཧ w αʔόϨεͳͷͰӡ༻ෆཁͰϫʔΫϑϩʔ͕ΊΔ 4UFQ'VODUJPOTͷྑ͍ͱ͜Ζ
"84ͰϫʔΫϑϩʔΛΉέʔεͰ ͔ͳΓ͓͢͢Ί
w ϦιʔεΛઐ༗ग़དྷΔͷͰίϯϐϡʔςΟϯάϦιʔεΛଟ ͘ར༻͢Δॲཧʹ͍͍ͯΔ େنσʔλͷूܭॲཧػցֶशͷલॲཧ ͚ͬͨͩ՝ۚ͞ΕΔͷͰίετޮ͕ߴ͍ w ଞͷॲཧΛߟྀ࣮ͨ͠ߦܭը͕ෆཁ ίϯϐϡʔςΟϯάϦιʔε໘ͷߟྀ खΛೖΕΔΞϓϦέʔγϣϯ͚ͩΛߟ͑Εྑ͍ͷͰ։ൃࢼݧ͕͍͢͠ αʔόϨεͰόονॲཧΛ͢ΔϝϦοτ
w ϦιʔεΛઐ༗ग़དྷΔͷͰίϯϐϡʔςΟϯάϦιʔεΛଟ ͘ར༻͢Δॲཧʹ͍͍ͯΔ େنσʔλͷूܭॲཧػցֶशͷલॲཧ ͚ͬͨͩ՝ۚ͞ΕΔͷͰίετޮ͕ߴ͍ w ଞͷॲཧΛߟྀ࣮ͨ͠ߦܭը͕ෆཁ ίϯϐϡʔςΟϯάϦιʔε໘ͷߟྀ खΛೖΕΔΞϓϦέʔγϣϯ͚ͩΛߟ͑Εྑ͍ͷͰ։ൃࢼݧ͕͍͢͠ αʔόϨεͰόονॲཧΛ͢ΔϝϦοτ
αʔόΛҙࣝͨ͠ӡ༻͕ෆཁͳͷͰ ࣮ߦ͢Δॲཧͷ͜ͱ͚ͩʹઐ೦ग़དྷΔ
"-#ϩάΛ,JCBOBͰݟΔΈΛαʔόϨεʹ Amazon Elasticsearch Service ALB S3 Bucket Lambda Event
(time-based) 5ຖʹ όέοτʹϩάΛग़ྗ ObjectCreatedτϦΨ ͰLambda͕ىಈ ElasticserachʹBulkLoad GrokͰύʔε͠ɺΠϯ σοΫεొ ΤϯδχΞɺ Kibanaܦ༝ͰϩάΛݟΔ աڈͷΠϯσοΫεΛ ఆظతʹআ
͜ΕΒͷࣄྫ͔Βߟ͑Δ "84Ͱόον࣮ߦΛߟ͑Δ࣌ͷํ
w ·ͣ"84ͷϚωʔδυαʔϏεͰ࣮ݱग़དྷͳ͍͔ߟ͑Δ ˠ͔ͨ͠͠ΒόονॲཧͰͳͯ͘Α͍ՄೳੑඞવతʹαʔόϨεߏ w -BNCEB 'BB4 Ͱ࣮ݱग़དྷͳ͍͔Λߟ͑Δ ˠϥϯλΠϜͷཧ͕ෆཁͳͷͰΓ͍ͨॲཧͷ͜ͱ͚ͩʹઐ೦ग़དྷΔ ˠαʔόϨε͔ͭ"84Ϧιʔεͱॊೈͳ࿈ܞ͕Մೳ w
ಠࣗͷϥϯλΠϜΛͬͯόονॲཧ͕͍ͨ͠ ˠΞϓϦέʔγϣϯͷίϯςφԽ ˠ&$44DIFEVMF5BTLPS"84#BUDIΛ͏ LTͱ͍͏બࢶग़ͯ͘Δ w "84্ͷॲཧͰϫʔΫϑϩʔΛΈ͍ͨ ˠ4UFQ'VODUJPOTΛ͏ "84Ͱόον࣮ߦΛߟ͑Δ࣌ͷํ
w ·ͣ"84ͷϚωʔδυαʔϏεͰ࣮ݱग़དྷͳ͍͔ߟ͑Δ ˠ͔ͨ͠͠ΒόονॲཧͰͳͯ͘Α͍ՄೳੑඞવతʹαʔόϨεߏ w -BNCEB 'BB4 Ͱ࣮ݱग़དྷͳ͍͔Λߟ͑Δ ˠϥϯλΠϜͷཧ͕ෆཁͳͷͰΓ͍ͨॲཧͷ͜ͱ͚ͩʹઐ೦ग़དྷΔ ˠαʔόϨε͔ͭ"84Ϧιʔεͱॊೈͳ࿈ܞ͕Մೳ w
ಠࣗͷϥϯλΠϜΛͬͯόονॲཧ͕͍ͨ͠ ˠΞϓϦέʔγϣϯͷίϯςφԽ ˠ&$44DIFEVMF5BTLPS"84#BUDIΛ͏ LTͱ͍͏બࢶग़ͯ͘Δ w "84্ͷॲཧͰϫʔΫϑϩʔΛΈ͍ͨ ˠ4UFQ'VODUJPOTΛ͏ "84Ͱόον࣮ߦΛߟ͑Δ࣌ͷํ ӡ༻όον࣮ߦͷΛ Ͱ͖Δ͚ͩ"84ʹد͍ͤͯ͘͜ͱͰ ຊདྷՁͷ͋Δ։ൃʹྗ͢Δͷ͕େࣄ
w ·ͣ"84ͷϚωʔδυαʔϏεͰ࣮ݱग़དྷͳ͍͔ߟ͑Δ ˠ͔ͨ͠͠ΒόονॲཧͰͳͯ͘Α͍ՄೳੑඞવతʹαʔόϨεߏ w -BNCEB 'BB4 Ͱ࣮ݱग़དྷͳ͍͔Λߟ͑Δ ˠϥϯλΠϜͷཧ͕ෆཁͳͷͰΓ͍ͨॲཧͷ͜ͱ͚ͩʹઐ೦ग़དྷΔ ˠαʔόϨε͔ͭ"84Ϧιʔεͱॊೈͳ࿈ܞ͕Մೳ w
ಠࣗͷϥϯλΠϜΛͬͯόονॲཧ͕͍ͨ͠ ˠΞϓϦέʔγϣϯͷίϯςφԽ ˠ&$44DIFEVMF5BTLPS"84#BUDIΛ͏ LTͱ͍͏બࢶग़ͯ͘Δ w "84্ͷॲཧͰϫʔΫϑϩʔΛΈ͍ͨ ˠ4UFQ'VODUJPOTΛ͏ "84Ͱόον࣮ߦΛߟ͑Δ࣌ͷํ )PXͱͯ͠ίϯςφαʔόϨεͱ͍ͬͨ ΞʔΩςΫνϟΛཧղ͠ ͦΕΒΛ࣮αʔϏεʹམͱ͠ࠐΉ࣌ʹ
w ·ͣ"84ͷϚωʔδυαʔϏεͰ࣮ݱग़དྷͳ͍͔ߟ͑Δ ˠ͔ͨ͠͠ΒόονॲཧͰͳͯ͘Α͍ՄೳੑඞવతʹαʔόϨεߏ w -BNCEB 'BB4 Ͱ࣮ݱग़དྷͳ͍͔Λߟ͑Δ ˠϥϯλΠϜͷཧ͕ෆཁͳͷͰΓ͍ͨॲཧͷ͜ͱ͚ͩʹઐ೦ग़དྷΔ ˠαʔόϨε͔ͭ"84Ϧιʔεͱॊೈͳ࿈ܞ͕Մೳ w
ಠࣗͷϥϯλΠϜΛͬͯόονॲཧ͕͍ͨ͠ ˠΞϓϦέʔγϣϯͷίϯςφԽ ˠ&$44DIFEVMF5BTLPS"84#BUDIΛ͏ LTͱ͍͏બࢶग़ͯ͘Δ w "84্ͷॲཧͰϫʔΫϑϩʔΛΈ͍ͨ ˠ4UFQ'VODUJPOTΛ͏ "84Ͱόον࣮ߦΛߟ͑Δ࣌ͷํ "84ͩͬͨΓଞͷΫϥυαʔϏεΛ ͍͔ʹ͏·͍͚ͬͯ͘Δ͔͕ ͜Ε͔ΒߋʹٻΊΒΕͯ͘ΔεΩϧͩͱࢥ͏
w ·ͣ"84ͷϚωʔδυαʔϏεͰ࣮ݱग़དྷͳ͍͔ߟ͑Δ ˠ͔ͨ͠͠ΒόονॲཧͰͳͯ͘Α͍ՄೳੑඞવతʹαʔόϨεߏ w -BNCEB 'BB4 Ͱ࣮ݱग़དྷͳ͍͔Λߟ͑Δ ˠϥϯλΠϜͷཧ͕ෆཁͳͷͰΓ͍ͨॲཧͷ͜ͱ͚ͩʹઐ೦ग़དྷΔ ˠαʔόϨε͔ͭ"84Ϧιʔεͱॊೈͳ࿈ܞ͕Մೳ w
ಠࣗͷϥϯλΠϜΛͬͯόονॲཧ͕͍ͨ͠ ˠΞϓϦέʔγϣϯͷίϯςφԽ ˠ&$44DIFEVMF5BTLPS"84#BUDIΛ͏ LTͱ͍͏બࢶग़ͯ͘Δ w "84্ͷॲཧͰϫʔΫϑϩʔΛΈ͍ͨ ˠ4UFQ'VODUJPOTΛ͏ "84Ͱόον࣮ߦΛߟ͑Δ࣌ͷํ ਐԽͷૣ͍֤αʔϏεΛΩϟονΞοϓ͠ ࣮ࡍʹखΛಈ͔ͯ͠ثΛ૿͢͜ͱ͕େࣄ ΫϥυωΠςΟϒͳࢥ
ίωώτͰΤϯδχΞੵۃ࠾༻தͰ͢ʂ ڵຯ͕͋ΔํɺͬͱΛฉ͍ͯΈ͍ͨͱࢥ͏ํ͕͍·ͨ͠Βɹ Λ͔͚͍͔ͯͨͩ͘ɺɹ!TIOBHBJ·Ͱ͝࿈བྷ͍ͩ͘͞ ͍͞͝ʹએ
Thank you! © 2019, Amazon Web Services, Inc. or its
affiliates. All rights reserved. ӬҪ উҰ ίωώτגࣜձࣾ