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_Lambda入門.pdf
Search
dach
October 02, 2019
Technology
350
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ローカル環境から始めるAWS_Lambda入門.pdf
dach
October 02, 2019
More Decks by dach
See All by dach
dbt_ベストプラクティス_完全に理解した.pdf
dach
2
1.2k
プロジェクトマネージャーと炎の回避術
dach
0
980
SLO_By_Google_Cloud_Monitoring
dach
0
230
状態遷移テスト完全に理解しよう.pdf
dach
0
880
JWT完全に理解しよう-認証編-.pptx.pdf
dach
0
830
JWT完全に理解しよう-公開鍵編-.pptx.pdf
dach
0
730
チームの垣根を越境する_チーム間交換留学
dach
0
110
設計書のないサービスとの付き合い方.pptx.pdf
dach
0
210
designからWebページを作るやりかた完全に理解した.pdf
dach
1
390
Other Decks in Technology
See All in Technology
Claude Codeとハーネスについて考えてみる
oikon48
18
8.9k
初めてのDatabricks勉強会
taka_aki
2
250
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
240
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
2.2k
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
790
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4k
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
12
1.9k
次世代ランサムウェア対策の考察 / 20260704 Mitsutoshi Matsuo
shift_evolve
PRO
5
1.7k
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
3.5k
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
110
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
160
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
2.9k
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Why Our Code Smells
bkeepers
PRO
340
58k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Building an army of robots
kneath
306
46k
So, you think you're a good person
axbom
PRO
2
2.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
The Limits of Empathy - UXLibs8
cassininazir
1
400
WCS-LA-2024
lcolladotor
0
680
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
HDC tutorial
michielstock
2
730
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Transcript
ローカル環境から始める AWS Lambda入門 @i-dach 2019/10
Who are you ? 職業 • 現在:カイゼンエンジニア • 将来:ムキムキカイゼンエンジニア
(トレーニング中) 所属 • DesignOne Japan, inc ◦ DOG主催 / diet部部長 / キックボクシング部部長 ◦ ジェネラリストとしてカイゼン&越境活動 ◦ 設計 / 開発 / 運用 / 保守 趣味 • 呼吸法の研究 • エンジニア • DIY(Iot) ←予定 最近熱いもの • golang Twitter: i-dach qiita: @i-dach github: i-dach 表記揺れ問題解決
今日お伝えしたいこと
Lambdaの挙動って ローカルでも確認できますよ (今更感)
本題に入る前に
Q. AWS Lambda使ってる / 事ある人?
ということで
知らない人のためのざっくり説明 AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用した コンピューティング時間に対してのみ発生し、コードが実行されていないときには料金も発生しません。 Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コー ドさえアップロードすれば、高可用性を実現しながらコードを実行およびスケーリングするために必要なことは、すべて Lambda によ
り行われます。コードは、他の AWS サービスから自動的にトリガーされるよう設定することも、ウェブまたはモバイルアプリから直接 呼び出すよう設定することもできます。 AWS公式のLPより引用 つまりは、 Serverless !!
① event 簡略化するとこんな使い方 ② なんらかの処理した結果 event source some one
だからこんな使い方したり ① obj put ② event ③ objを加工
こんな使い方もできる ① データ欲しいんだけど... スマホ ② あとは任せた!! API Gateway Lambda
開発はこんなイメージ
どんなことができるか イメージがついたところで
DevOpsについて考えてみよう
DevとOpsをざっくり分解すると 開発します - まずは要求を達成する動くものを - e.g. - 設計 / 実装
/ テスト / デプロイ 運用します - 更にいい子にしましょう / 手のかからない子にしましょう - e.g. - リファクタリング / 監視 / 分析 / 管理
Lambdaにすることでメリデメって?
メリット 開発します - まずは要求を達成する動くものを - e.g. - 設計 / 実装
/ テスト / デプロイ 運用します - 更にいい子にしましょう / 手のかからない子にしましょう - e.g. - リファクタリング / 監視 / 分析 / 管理 やってくれるから 「開発」に集中できる! (後はコストが固定費じゃなくなる) イベントドリブンな 動きが簡単に!
デメリット 開発します - まずは要求を達成する動くものを - e.g. - 設計 / 実装
/ テスト / デプロイ 運用します - 更にいい子にしましょう / 手のかからない子にしましょう - e.g. - リファクタリング / 監視 / 分析 / 管理 利用状況によっては 高く付く ローカルでのテスト 複数人での開発では コンソール向いてない
コンソールでの開発じゃ 運用を考えたときに不安が残る
ようやく本題
Lambdaの挙動って ローカルでも確認できますよ
どいうことか
「Lambda」って どんな技術で動いているかを考える
Lambdaってどうやって動かしてる?
念の為確認
ということは
こういう風になってる かも(予想) EC2
ならdockerを使えば動くはず ※注意: Community Organizationのイメージ
使い方はDocker Hubにある通り docker run [--rm] -v <code_dir>:/var/task [-v <layer_dir>:/opt] lambci/lambda:<runtime>
[<handler>] [<event>]
やってみる $ ls -ltr total 2 -rw-r--r--@ 1 user group
Users 189 10 2 11:12 hello.py $ $ $ $ docker run --rm -v "$PWD":/var/task lambci/lambda:python3.7 hello.hello START RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Version: $LATEST 実行環境: Linux-4.9.184-linuxkit-x86_64-with-glibc2.2.5 実行dir: /var/task 実行users: bx_user1051 END RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 REPORT RequestId: 52fdfc07-2182-154f-163f-5f0f9a621d72 Duration: 15.96 ms Billed Duration: 100 ms Memory Size: 1536 MB Max Memory Used: 22 MB null
OSとか異なるけど 簡単な挙動は確認できた
とりあえず学習コスト低めで 試してみようという方は これでも十分だと思うので是非お試しを
aws-sam-cliがあるので 実際に使うならそちらを推奨 ※今回は敢えてaws-sam-cliを使いませんでした
実際に開発するにあたっての ハマリポイント他にもあったりしますが 今回はここまで
まとめ
チキン南蛮最高
ではなく
Lambdaの挙動って ローカルでも確認できますよ
ご利用は計画的に ※注意: 2019/10/2時点
おしまい