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
Rust で AWS で活用しよう!
Search
Tabito Hara
December 12, 2023
Technology
0
290
Rust で AWS で活用しよう!
estie さん主催「Rust、何もわからない... #11」で講演した資料です。
AWS Lambda 関数を Rust で書くことについて、紹介しました。
Tabito Hara
December 12, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
1
230
IVRyエンジニア忘年LT大会2024 クリティカルユーザージャーニーの整理
abnoumaru
0
160
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
160
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
140
AWS re:Invent 2024 re:Cap CloudFront編
yoshimi0227
0
330
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
170
『GRANBLUE FANTASY: Relink』続・最高の「没入感」を実現するカットシーン制作手法とそれを支える技術
cygames
0
130
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
130
リソースのテレメトリも管理したい!〜CloudWatch Telemetry管理のご紹介〜
nnydtmg
0
100
私なりのAIのご紹介 [2024年版]
qt_luigi
1
100
同一クラスタ上でのFluxCDとArgoCDのリソース最適化の話
kumorn5s
0
210
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
310
Featured
See All Featured
RailsConf 2023
tenderlove
29
930
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Bash Introduction
62gerente
608
210k
A Tale of Four Properties
chriscoyier
157
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Optimizing for Happiness
mojombo
376
70k
Fireside Chat
paigeccino
34
3.1k
Building Applications with DynamoDB
mza
91
6.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Transcript
1 ©2023 Loglass Inc. 3VTUΛ "84Ͱ׆༻͠Α͏ʂ 3VTUɺԿΘ͔Βͳ͍ גࣜձࣾϩάϥε ݪ
ཱྀਓ
2 ©2023 Loglass Inc. ࣗݾհ גࣜձࣾϩάϥε ։ൃ෦ ΫϥυΤϯδχΞ ݪ ཱྀਓ
εύίϯͰఱؾ༧ใΛߦ͏ιϑτΣΞ։ൃ ɺݕࡧΤϯδ ϯγεςϜͷ։ൃձࣾͰͷϓϩμΫτ։ൃ͓Αͼݚڀ։ൃɺ"84 ʢαϙʔτΤϯδχΞʣΛܦͯɺ݄ʹϩάϥεʹೖࣾɻ ݱࡏΫϥυΤϯδχΞϦϯάΛϕʔεͱͨ͠։ൃࢧԉΛ௨͡ ͯϓϩμΫτͷՁͱ৴པੑ্Λࢦ͢ɻ • ΫϥυΠϯϑϥ • ηΩϡϦςΟ • ։ൃɾϏδωεࢧԉ • σʔλج൫ "84ೝఆࢿ֨શףɺ,VCFSOFUFTೝఆࢿ֨શףʢ߹֨ྺʣɻ ʮίϯηϓτ͔Βཧղ͢Δ3VTUʯʢٕज़ධ͔ࣾΒൃചʣΛࣥචɻ ݱࡏɺ"84*B$ʹؔ͢Δॻ੶Λࣥචதɻ
3 3 ©2023 Loglass Inc. 次世代型 経営管理クラウド
4 ©2023 Loglass Inc. ϩάϥεͷओͳٕज़ελοΫ όοΫΤϯυ • ,PUMJO 4QSJOH#PPU ϑϩϯτΤϯυ
• 5ZQF4DSJQU 3FBDU ΫϥυΠϯϑϥ • "84 ◦ &$4'BSHBUF ◦ "VSPSB ◦ -BNCEB ◦ 4UFQ'VODUJPO ◦ FUDʜ
5 ©2023 Loglass Inc. 3VTUͰ "84-BNCEBؔΛॻ͜͏
6 ©2023 Loglass Inc. "84-BNCEBؔͱʁ • "84ͷαʔϏεͷҰͭ • αʔόʔϨεͰϓϩάϥϜΛ࣮ߦͰ͖Δ ◦
ࣗͰ &$ΠϯελϯεͳͲͷαʔόʔΛ༻ҙ͢Δඞཁ͕ͳ͍ ˠίετʂ ◦ ࣮ߦ࣌ؒͷ্ݶɺϝϞϦͷ্ݶ (#ɺ࣮ߦճͱϝϞϦཁٻྔ º NT୯Ґͷ࣌ؒͰ՝ۚ • "84ͷϚωʔδυαʔϏεͱࣗͷڥʹΧελϚΠζͨ͠ػೳΛΈ߹ΘͤΔ͜ͱ͕Ͱ͖Δ • ฐࣾͰͷ༻్ͷ΄ΜͷҰྫ ◦ ӡ༻ܥ ▪ TUHڥͷ࣌ࠁʹΑΔࣗಈىಈɾఀࢭ ◦ ࢹܥ ▪ ֎ܗࢹʢ"1* &&ʣ ▪ $MPVE8BUDI-PHTͷαϒεΫϦϓγϣϯϑΟϧλʔʹΑΔϩάͷࢹ ◦ σϓϩΠܥ ▪ $PEF1JQFMJOFͷதͰΞΫγϣϯʢσϓϩΠͷ੍ޚͳͲʣ ◦ σʔλج൫ ▪ ϚελʔσʔλͷσʔλΣΞϋε 3FETIJGU ͷϩʔυ ◦ ϓϩμΫτͷػೳ ▪ ը໘Ͱͳ͘ 4'51Λ௨ͨ͡ϑΝΠϧΞοϓϩʔυ ϩάϥεͰ΄΅ͯ͢ͷ -BNCEBؔΛ 3VTUͰॻ͍͍ͯ·͢
7 ©2023 Loglass Inc. 3VTUͰͷ -BNCEBͷ࢝Ίํ • BXT@MBNCEB@SVTU@SVOUJNFΛΠϯετʔϧ ◦ IUUQTHJUIVCDPNBXTMBCTBXTMBNCEBSVTUSVOUJNF
◦ ͜ΕʹΑͬͯɺ-BNCEBΛ 3VTUͰ࣮ߦ͢ΔͨΊͷΧελϜϥϯλΠϜͷ ϥΠϒϥϦ DBSHPMBNCEBίϚϯυ͕Πϯετʔϧ͞ΕΔɻ ◦ .BD04Ͱ͋ΕɺCSFXJOTUBMMͰ؆୯ʹΠϯετʔϧͰ͖Δ • DBSHPOFXͷΘΓʹ DBSHPMBNCEBOFXͰϓϩδΣΫτΛ࡞͢Δ ◦ TSDNBJOSTʹςϯϓϨʔτ͕࡞͞ΕΔɻ
8 ©2023 Loglass Inc. 3VTUͷ -BNCEBͷίʔυͷߏʢDBSHPMBNCEBOFXͰ࡞͞ΕΔςϯϓϨʔτʣ リクエストの型定義(自分で定義できるし、aws_lambda_events に定義された型 を使うこともできる) レスポンスの型定義(同上)
本体の実装 ここに本体の処理内容を書く。 入力の payload は event.payload.XXX で参照できる。 runtime の起動(テンプレートそのままでよい)
9 ©2023 Loglass Inc. ͳͥ 3VTUͰ "84-BNCEBؔΛʁ • ߴʹ࣮ߦͰ͖ͯɺϝϞϦ༻ྔ͕খͯ͘͞ࡁΉ ˠ՝͕ۚ҆͘ࡁΉ
• ੩తܕ͖ݴޠͰ͋ΔͷͰɺೖྗग़ྗͷεΩʔϚ͕ෳࡶͰɺΤσΟλͷ ิΛ͍ͳ͕Βόά͕ग़ʹ͍͘ίʔυ͕ॻ͚Δɻ ◦ +40/ͷγϦΞϥΠζɺσγϦΞϥΠζϓϩάϥϚ͕ؾʹ͢Δ͜ͱ ͳ͍ɻ • γϯάϧόΠφϦͰɺσϓϩΠ͕؆୯ ◦ ίϯύΠϧ͞Ε࣮ͨߦόΠφϦΛ [JQʹΞʔΧΠϒͯ͠ɺΞοϓϩʔυ ͢Δ͚ͩɻ ◦ ଞͷݴޠͰ͋Δͱɺґଘ͕ؔ͋ΔϞδϡʔϧΛҰॹʹ [JQʹΞʔΧΠ ϒͨ͠Γ͢Δඞཁ͕͋Γɺ໘ͳ͜ͱ͋Δɻ
10 ©2023 Loglass Inc. ߴʹ࣮ߦͰ͖ͯɺϝϞϦ༻ྔ͕খͯ͘͞ࡁΉ ͳͥ 3VTUͰ "84-BNCEBؔΛʁ ͍ɺϝϞϦ༻ྔ͕খ͍͞ ˠ
՝͕ۚখ͍͞ -BNCEBͷ՝ۚ • ࣮ߦճ • ϝϞϦཁٻྔ Y࣮ߦ࣌ؒ 'PSDJB$VCF4IJOKVLVSTΛ։࠵͠·ͨ͠ IUUQTXXXGPSDJBDPNCMPHIUNM ۀͰ։ൃͨ͠ "1*Λ ͭͷݴޠͰ࣮ͯ͠ϝϞϦ༻ྔͱ࣮ߦ࣌ؒΛൺֱ ʹ࣮ߦ
11 ©2023 Loglass Inc. ੩తܕ͖ݴޠͰ͋Δ͜ͱͷར ͳͥ 3VTUͰ "84-BNCEBؔΛʁ • "84͔ΒͷΠϕϯτͷεΩʔϚͷఆٛΛఏڙ͢Δ
DSBUF BXT@MBNCEB@FWOFUT ͕͋ΔͷͰɺͦΕΛ ͑ΠϕϯτͷॲཧΛΤσΟλิΛ͍ͳ͕Βॻ͚Δɻ IUUQTEPDTSTBXT@MBNCEB@FWFOUTMBUFTUBXT@MBNCEB@ FWFOUT 4Πϕϯτͷ 3FDPSEͷଐੑ͕ิͰදࣔ͞Ε Δ IUUQTEPDTBXTBNB[PODPNKB@KQ"NB[PO4MBUFTUVTFSHVJEFOPUJGJDBUJPODPOUFOU TUSVDUVSFIUNM ೖྗͱͳΔ 4ΠϕϯτϨίʔυͷαϯϓϧ
12 ©2023 Loglass Inc. γϯάϧόΠφϦͰɺσϓϩΠ͕؆୯ ͳͥ 3VTUͰ "84-BNCEBؔΛʁ ࣗͰ [JQϑΝΠϧΛ࡞ͯ͠Ξοϓϩʔυ͢Δํ๏
• ࣍ͷίϚϯυͰ UBSHFUMBNCEB\QBDLBHFOBNF^CPPUTUSBQͱ͍͏ϑΝΠϧ͕࣮ߦό ΠφϦͱͯ͠ੜ "3.ͷ߹ ◦ DBSHPMBNCEBCVJMESFMFBTFBSN • CPPUTUSBQΛ [JQͰΞʔΧΠϒͯ͠ɺ"84Ϛωδϝϯτίϯιʔε͔ΒΞοϓϩʔυ DBSHPMBNCEBEFQMPZΛ͏ ্ͷҰ࿈ͷ͜ͱΛࣗಈͰͬͯ͘ΕΔɻ ଞͷݴޠͩͱɺґଘؚؔΊͯ [JQΞʔΧΠϒΛ࡞͢Δͷ͕ࡶͳ߹ • 1ZUIPOͷྫ ◦ IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHQZUIPOQBDLBHFIUNM
13 ©2023 Loglass Inc. "84αʔϏεͱ -BNCEBΛΈ߹ΘͤͯɺϓϩμΫτͷҰػೳΛ࡞Γ·ͨ͠ʂ ը໘͔ΒͰͳͯ͘ 4'51ͰϑΝΠϧΛΞοϓϩʔυͯ͠ॲཧ طଘͷ "1*ʹඍमਖ਼ΛՃ
͚͑ͨͩͰɺ"84αʔϏ εͷར༻ͱ -BNCEBؔͷ ࣮Ͱ࣮ݱ ظؒͰ࣮ -BNCEBؔͷ ʮϚΠΫϩαʔϏεʯ
14 ©2023 Loglass Inc. "844%,GPS3VTU͕ ("ʹͳΓ·ͨ͠ʂʂ ࢀߟใ • "844%, "84ͷϦιʔεΛૢ࡞͢Δ
"1*ΛɺϓϩάϥϛϯάݴޠͰهड़Ͱ͖ΔͷͰ͢ɻ • 1SFWJFXʹͳ͍ͬͯͨ 3VTU͚͕ઌɺ("ʹͳΓ·ͨ͠ɻ • 'MVFOU#VJMEFS4UZMFͰύϥϝʔλΛઃఆͯ͠ɺTFOE Ͱ "1*ʹϦΫΤετ͢ΔελΠϧͰશମ͕ ౷Ұ͞Ε͍ͯ·͢ɻ ◦ ΤσΟλͷิͰઃఆύϥϝʔλ͕Θ͔Δͷ͏Ε͍͠ 4ͷ (FU0CKFDUͷίʔυྫ ࢀߟ "844%,GPS3VTUʹ͍ͭͯॻ͍ͨϒϩάIUUQT[FOOEFWMPHMBTTBSUJDMFTDDD
15 ©2023 Loglass Inc. ·ͱΊ • -BNCEBΛ͑ΔΑ͏ʹͳΔͱɺ"84׆༻ͷࣗ༝͕͞Βʹ͕Γ·͢ɻ • -BNCEBΛॻ͍ͯΈΑ͏ͱࢥͬͨΒɺͥͻ 3VTUͰॻ͍ͯΈ·͠ΐ͏
◦ ؆୯ ▪ Πϯετʔϧ ▪ ؆୯ͳίʔυΛॻ͘ͷ ▪ σϓϩΠ ◦ ܦࡁత ▪ ߴɺলϝϞϦ͔ͩΒ՝͕͍ۚ҆
16 ©2023 Loglass Inc. ϩάϥεͰݱࡏʮྑ͍ܠؾΛ࡞Ζ͏ɻʯͱ͍͏ϛογϣϯୡΛࢦ͠ɺؒΛืू͍ͯ͠·͢ʂ 8FBSFIJSJOH IUUQTKPCMPHMBTTKQ ืूதͷओͳΤϯδχΞͷϙδγϣϯ $3& ΞϓϦέʔγϣϯج൫
43& ΫϥυΤϯδχΞ ιϑτΣΞΤϯδχΞʢϨϙʔτɾσʔλੳྖҬʣ 8FCΞϓϦέʔγϣϯΤϯδχΞ 2"4&5ΤϯδχΞ ΤϯδχΞϦϯάϚωʔδϟʔ ͳͲ
17