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
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust で AWS で活用しよう!
estie さん主催「Rust、何もわからない... #11」で講演した資料です。
AWS Lambda 関数を Rust で書くことについて、紹介しました。
Tabito Hara
December 12, 2023
Other Decks in Technology
See All in Technology
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
220
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
120
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
2
1.2k
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
310
4人目のSREはAgent
tanimuyk
0
340
AWS PrivateLink × SCIM で実現する セキュアで運⽤負荷の低い Databricks 基盤の構築
tsuda7
0
130
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
130
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
1.7k
フロントエンドイチゲキ実装 ― Figmaデザインと画面設計書からAIに実装・テストを書かせるための”下ごしらえ” / 20260627 Yusuke Mazuka
shift_evolve
PRO
0
120
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.3k
5分でわかるDuckDB Quack
chanyou0311
4
290
時期が悪い!それでもRaspberry Piを買って遊んで活用するには / 20260627-osc26do-rpi-jikigawarui
akkiesoft
1
960
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
630
How to Talk to Developers About Accessibility
jct
2
270
The Spectacular Lies of Maps
axbom
PRO
1
840
WCS-LA-2024
lcolladotor
0
670
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
380
Scaling GitHub
holman
464
140k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Designing for Timeless Needs
cassininazir
1
260
Bash Introduction
62gerente
615
220k
Visualization
eitanlees
152
17k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
190
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