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.6k
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
150
AWS Step Functions × AWS SAMで実現する家族ノートの低運用コストETL基盤/ kazokunote-stepfunctions-awssam-etl
shoichiron
4
5k
機械学習PJのデータ収集における課題を解決する データ基盤の取組み/Efforts of data infrastructure to solve problems in data collection of machine learning PJ
shoichiron
1
2.2k
ECS×Fargateで実現する運用コストほぼ0なコンテナ運用の仕組み/ ecs fargate low cost operation
shoichiron
14
18k
ママリで動くカテゴリ類推エンジンの仕組み ~機械学習導入の4つの勘所を添えて~/mamari category analogy
shoichiron
0
750
SIGNATEの練習問題コンペで 57位までスコアを上げた話/ The story of the signate competition
shoichiron
2
5.6k
Fargateは何がうれしいのか/ fargate-whats-nice
shoichiron
4
11k
コンテナ導入の正攻法〜ママリのコンテナ移行舞台裏〜/Confrontation-of-Container-Transfer
shoichiron
1
3.6k
1年間の本番運用でわかったコンテナがチーム開発にもたらしてくれたもの/container-brought-to-team-development
shoichiron
11
13k
Other Decks in Technology
See All in Technology
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
1
280
数百台のオンプレミスのサーバーをEKSに移行した話
yukiteraoka
0
680
製造業の会計システムをDDDで開発した話
caddi_eng
3
990
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
120
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
6
730
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
410
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
420
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
160
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
220
LINE Notify互換のボットを作った話
kenichirokimura
0
180
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
990
銀行でDevOpsを進める理由と実践例 / 20250317 Masaki Iwama
shift_evolve
1
110
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
17
1.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.8k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
A better future with KSS
kneath
238
17k
What's in a price? How to price your products and services
michaelherold
245
12k
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. ӬҪ উҰ ίωώτגࣜձࣾ