Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS Lambda ではじめる Rust
Search
Yuki Toyoda
August 26, 2020
750
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Lambda ではじめる Rust
AWS GameDay in CyberAgent で発表した資料です。
Yuki Toyoda
August 26, 2020
More Decks by Yuki Toyoda
See All by Yuki Toyoda
パフォーマンスクリティカルな領域へのRust活用戦略
helloyuk13
4
920
Context Oriented Programming of Kotlin
helloyuk13
3
5.4k
カジュアルコントリビュータと学ぶRustコンパイラ
helloyuk13
3
2.1k
2025 年の Rust はどこに向かっているのか?
helloyuk13
6
1.5k
RustでWeb開発コソコソ噂話
helloyuk13
15
20k
SeaQL Projectsについて
helloyuk13
1
660
年末ですし、今年のRustの進捗の話をしましょう
helloyuk13
2
3.2k
SwiftでAWS Lambda
helloyuk13
0
280
Rustハンズオン@エウレカ社
helloyuk13
22
11k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Code Review Best Practice
trishagee
74
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
700
A Soul's Torment
seathinner
8
3.6k
Leo the Paperboy
mayatellez
10
2.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Transcript
AWS Lambda meets Rust ではじめる
Yuki Toyoda 事業本部某プロダクト テックリード ❤ 2
本を出しました。 買ってください。 『実践 プログラミング入門』 3 宣伝
Contents 4 Rust とは、AWS Lambda とは カスタムランタイムを用いた の利用例 AWS Lambda
で Rust 登場人物のご紹介 まとめ 1 2 3
1. Rust とは、AWS Lambda とは 登場人物のご紹介
“A language empowering everyone to build reliable and efficient software.”
6
Rust の特徴 7 爆速 や より平均して早 く、 並のスピードが出 る。 がない。
安全♀ 基本的にセグフォしない。 メモリ安全性を強力に担 保しており、 やデータ 競合などはコンパイル時 に検出される。 開発者体験 一貫性がある文法で開発 者を迷わせない。また、 というビルドツール 兼パッケージ管理ツール が最高。
先日登壇した資料にさらに詳しく記載した。 プログラミング言語Rustのご紹介 https://speakerdeck.com/helloyuk13/puroguraminguyan-yu-rustfalsegoshao-jie 詳しくは 8
いわゆるサーバーレスを実現するためのサービス。 λ AWS Lambda とは 9
2. AWS Lambda で Rust カスタムランタイムを使って を 動かしてみる
Lambda のカスタムランタイムで Rust を利用可能に 年の後半に「カスタムランタイム」が 登場し、 も実質利用可能になった。 最初の お試しとして個人的に結構 おすすめ。
11
やってみるしかない 12 使う必然性はないが、やりたいからやるのだ。
• 今回は、リクエストを送ると内容を に保存する を 作る。 • リクエストを →中でデータを起こす → に保存
できる形に変換する →保存する。 作るもの 13
※ クレート のライブラリのこと • lambda-runtime 向けカスタムランタイム。 • serde の Ser
De をする。 • rusoto-dynamodb 向けの ◦ の 。 • cargo-aws-lambda 向けバイナリの生成〜リリースまでを 一挙に行ってくれる。 必要なクレート 14
• というのが最終的なバイナリ名になる。 ディレクトリ構成 15
がつく関数はマクロである。 がエントリポイント。 lambda-runtime を用意しておく 16
の中身を定義しておく。 lambda-runtime を用意しておく 17
アトリビュート(他言語だとアノテーションとも)を定義するだけ。 serde を使って JSON のパースをできるようにする 18
が扱えるように構造体を に変換する。 DynamoDB へ保存する 19
保存をかける。 DynamoDB へ保存する 20
デプロイ 21 • がかなり便利で、これを使っておく。 向けの プラグイン。 • の公式では、クロスビルドの設定が必要など、いくつか注意 点がある。 •
ならこれをインストールしておいて、設定ファイル を書いて実行するだけ。
の を に追加する。複数指定できる。 デプロイ 22
コマンドを叩く。 デプロイ 23
デプロイ 24
3. まとめ まとめ
• のお試しのために を使うのはおすすめ。 • 手軽に試すために必要なクレートをご紹介した。 • がビルド周りのめんどくささを一気に解消。 • Rust はいいぞ。←一番大事
• コード https://github.com/yuk1ty/aws-lambda-rust-example まとめ 26
についての質問や、導入のご相談はいつでもどうぞ! 27 ご清聴ありがとうございました