Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Ca...
Search
Edward Fox
May 28, 2021
Technology
0
100
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Canary release using Lamdba@Edge
2021-05-28 @AWS Dev Alliance
Edward Fox
May 28, 2021
Tweet
Share
More Decks by Edward Fox
See All by Edward Fox
Priorityを制するものはローディングを制す
edwardkenfox
4
760
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
590
Repro basketball club
edwardkenfox
0
250
Introduction to UX Optimizer
edwardkenfox
0
110
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
330
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
150
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
460
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
1.1k
window.windowとは何か / What is window window
edwardkenfox
1
230
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
7
2.8k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
AI 時代のデータ戦略
na0
8
3.2k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.3k
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
2
710
.NET 10 のパフォーマンス改善
nenonaninu
2
4.7k
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
2
400
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
620
21st ACRi Webinar - AMD Presentation Slide (Nao Sumikawa)
nao_sumikawa
0
200
なぜフロントエンド技術を追うのか?なぜカンファレンスに参加するのか?
sakito
9
1.9k
MS Ignite 2025で発表されたFoundry IQをRecap
satodayo
3
230
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Designing for humans not robots
tammielis
254
26k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Writing Fast Ruby
sferik
630
62k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
75
Git: the NoSQL Database
bkeepers
PRO
432
66k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Documentation Writing (for coders)
carmenintech
76
5.2k
Transcript
Lambda@Edge Λར༻ͨ͠ αʔυύʔςΟJavaScriptͷ ΧφϦΞϦϦʔε Edward Fox 2021/05/28 @AWS Dev Alliance
@edwardkenfox Edward Fox ɾΤϯδχΞ @ Reproגࣜձࣾ ɾWEBʗϒϥβٕज़શൠɺࢄॲཧ ɾόεέɺϏʔϧɺӉ 2/52
ࠓ͢͜ͱ: Lambda@Edge Λར༻͠ ҆શͳܗͰϦϦʔε͕Ͱ͖Δ Α͏ʹͳͬͨ 3/52
ࠓ͞ͳ͍͜ͱ: Lambda@Edge ͷػೳհ ͳͲ 4/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ 5/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
αΠτʹຒΊࠐΜͰΒ͍ σʔλΛऩूͨ͠Γૹ৴͢Δ αʔυύʔςΟͷJavaScriptίʔυɻ Google Analyticsʹද͞ΕΔΑ͏ͳ λάࠂܭଌπʔϧ͕͜Εʹ͋ͨΔ 7/52
※ ฐࣾͰఏڙ͍ͯ͠Δ αʔυύʔςΟJavaScript Web SDKͱݺΕ͍ͯ·͢ 8/52
※ ࣮ࡍͷͷͱҟͳΓ·͢
Web SDK ʹมߋ͕͋Δͨͼʹ ϦϦʔεΛ࣮ࢪ͢Δ͕ repro-sdk.min.js ৗʹ ࠷৽όʔδϣϯΛࢀর͢Δ 10/52
None
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
৽͍͠όʔδϣϯΛϦϦʔε ͢Δͱ ଈ࣌ͯ͢ͷ ΫϥΠΞϯτͰಈ࡞Λ࢝ΊΔ 13/52
👍 ɾ͕͋ͬͨΒ͙͢ʹؾ͚Δ 👎 ɾ͕͋ͬͨͱ͖ͷඃ͕ਙେ 14/52
ڪාͷҰٿೖࠢϦϦʔε 😇 15/52
༷ʑͳϒϥβΣϒαΠτͰ ಈ࡞͢ΔαʔυύʔςΟ JavaScriptͱ͍͏ੑ࣭తʹɺ ΫϥΠΞϯτґଘͰى͖ΔΛ ͯ͢ࣄલʹ༧ଌ͢Δ͜ͱࠔ
=> ຊ൪ʹग़ͯ͠Έͳ͍ͱ ͔Βͳ͍ɻ ͰͳΔ҆͘શʹग़͍ͨ͠ 17/52
ͦΜͳͱ͖ͷͨΊͷ ΧφϦΞϦϦʔε 🐧 🐧 🐧 18/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
https://martinfowler.com/bliki/ CanaryRelease.html ͔ΒҾ༻ 20/52
1. 2. 3.
22/52
Web SDKʹ͓͚Δ ΧφϦΞϦϦʔεͷཁ݅ 23/52
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λࢦఆ ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
24/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
26/52
27/52
None
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52 👌👌👌
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52 👌👌👌 👌👌
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52 👌👌👌 👌👌 👌
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
None
None
ຖճίʔυΛॻ͖͑ͳ͚Ε ͍͚ͳ͍ͷ໘ 37/52
=> ͦ͏ͩɺڥมΛ͓͏ 38/52
None
None
None
None
😱 😱 😱 43/52
ཁ1: ڥมͷαϙʔτ 🙏 44/52
None
None
None
🤔 🤔 🤔 48/52
ཁ2: UIͷվળ 🙏 49/52
·ͱΊ 50/52
ɾLambda@Edge Λར༻ͯ͠ΧφϦΞ ϦϦʔεΛ࣮ݱ͠ɺ҆৺ɾ҆શͳܗͰ ϦϦʔεΛ࣮ࢪͰ͖ΔΑ͏ʹͳͬͨ ɾ͜ΕҎ֎ʹ Lambda@Edge ଟ͘ͷ Ϣʔεέʔεʹ͑ΔػೳͳͷͰɺ ࠓޙՄೳੑΛ୳͍͖͍ͬͯͨ 51/52
52/52
We are hiring!
None
None
None