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 Serverless Express 入門
Search
Nokogiri
August 03, 2018
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Serverless Express 入門
AWS Lambda を使って Express を 一瞬で公開する方法
Nokogiri
August 03, 2018
More Decks by Nokogiri
See All by Nokogiri
Zustandを用いた実践的状態管理
undefined_name
3
870
React Testing Libraryでの WAI-ARIAロールの活用事例
undefined_name
1
220
自動テストは何の役に立つのか そして役に立たないのか
undefined_name
5
1.8k
Pipe Operator (|>) の紹介
undefined_name
2
400
FizzBuzzで学ぶOCP
undefined_name
0
160
エンジニアとQAでコラボするフロントエンドリアーキテクチャ開発の事例
undefined_name
4
3.1k
オブジェクト指向のプラクティスをフロントエンドで活用する
undefined_name
7
1.7k
モププロ@kintone開発チーム
undefined_name
1
660
勉強会で登壇者に 質問しづらい課題を解決する サービスをリリースしました🎉
undefined_name
2
1.3k
Other Decks in Technology
See All in Technology
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
470
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
820
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.6k
GoとSIMDとWasmの今。
askua
3
510
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.6k
運用を見据えたAIエージェント設計実践
amacbee
1
2.9k
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
7.8k
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
220
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
480
Sony_KMP_Journey_KotlinConf2026
sony
2
210
Diagnosing performance problems without the guesswork
elenatanasoiu
0
170
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
400
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
570
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Deep Space Network (abreviated)
tonyrice
0
160
How GitHub (no longer) Works
holman
316
150k
Building Applications with DynamoDB
mza
96
7.1k
Exploring anti-patterns in Rails
aemeredith
3
390
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
It's Worth the Effort
3n
188
29k
Transcript
2018/08/03 ؔNodeֶԂ 3࣌ݶ AWS Serverless Eλpress ೖ AWS Lambda Λͬͯ
Express Λ ҰॠͰެ։͢Δํ๏
AWS Serverless Express ͬͯ·͔͢ʁ
JavaScript / Java / React / AWS / Vim ͡Ί·ͯ͠!
Taiki Nishi @nkgrnkgr Nokogiri Blog nkgrnkgr.github.io WebΞϓϦέʔγϣϯΤϯδχΞ ๏ਓ͚άϧʔϓΣΞαʔϏεͷ։ൃ HN: Nokogiri(nkgrnkgr) Ұࣇͷʢࠓ݄ೋࣇͷʹͳΓ·͢ ʣ Speaker Deck
Expressͬͨ͜ͱ͋Γ·͔͢ʁ
AWS Lambdaͬͨ͜ͱ͋Γ·͔͢ʁ
ExpressΛ͍ͬͯΔਓ͕ AWS LambdaΛͬͯ ͤʹͳΕΔͰ͢ ☺
What is Serverless ? ͦͦServerlessͱʁ 1
αʔόʔϨείϯϐϡʔςΟϯάͱɺΫϥυϓϩό Πμʔ͕ΞϓϦέʔγϣϯʹඞཁͳϚγϯϦιʔεͷׂ ΓͯΛಈతʹཧ͠ɺࣄલʹߪೖ͞Εͨ͜ͱʹجͮ͘ ٻͰͳ͘ɺ֤ΞϓϦέʔγϣϯཁٻΛຬͨͨ͢Ίʹ ༻͞ΕΔݸʑͷϦιʔεྔʹج͍ͮͨٻΛߦ͏Α͏ ͳΫϥυίϯϐϡʔςΟϯάϞσϧɻ “ Wikipedia ΑΓ
CLOUD FUNCTIONS AWS Lambda Azure functions ओͳ Serverless Platform
CLOUD FUNCTIONS AWS Lambda Azure functions ओͳ Serverless Platform Today’s
Topic
AWS Lambda ͷಛ ։ൃऀ͕࣮ߦڥͷαʔόʔΛ४උͤͣίʔυΛσϓϩΠ͢Δ͚ͩ HTTP ϦΫΤετͳͲ༷ʑͳΠϕϯτΛτϦΨʔʹؔΛ࣮ߦ͢Δ Φʔτεέʔϧ ॳճىಈʹ͕͔͔࣌ؒΔ σϓϩΠͰ͖ΔϑΝΠϧαΠζ͕ 50MB
·Ͱ 1ϦΫΤετ͋ͨΓͷ࠷େ࣮ߦ͕࣌ؒ 300ඵ ͍Ͳ͜ΖΛબͿ͕ͱʹ͔͍҆͘ 1ϲ݄ 100M ϦΫΤετ·Ͱແྉ Ҏ߱ 100M ϦΫΤετຖʹ 0.2 US$
What is AWS Serverless Express ? AWS Serverless Express ͱʁ
2
AWS Serverless Express AWS LambdaͱAPI Gatewayͷ্ʹɺExpress༻ͯ͠αʔόʔϨε ΞϓϦέʔγϣϯͱREST APIΛ࣮ߦ͢ΔAWSެࣜϥΠϒϥϦ ExpressͷMiddleware ʹՃ͢Δ͚ͩͰ
LambdaͰ࣮ߦՄೳʹͳΔ https://github.com/awslabs/aws-serverless-express
How to use 3
Express ʹ aws-serverless-express ΛΠϯετʔϧ STEP1 STEP2 STEP3 STEP4 ❯ npm
install aws-serverless-express +
[email protected]
updated 1 package and audited 198 packages in 2.889s found 2 low severity vulnerabilities run `npm audit fix` to fix them, or `npm audit` for details
const awsServerlessExpress = require('aws-serverless-express'); const app = require('./app'); const server
= awsServerlessExpress.createServer(app); exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context); Lambda ͔Βݺͼग़͞ΕΔ handler Λ࡞ STEP1 STEP2 STEP3 STEP4 index.js
ࠓ Express ͷ middleware ʹ ͜ͷϥΠϒϥϦΛՃ STEP1 STEP2 STEP3 STEP4
const serverlessExpress = require('aws-serverless-express/middleware'); var app = express(); app.use(serverlessExpress.eventContext()); app.js
ࠓ Express ͷ middleware ʹ ͜ͷϥΠϒϥϦΛՃ STEP1 STEP2 STEP3 STEP4
const serverlessExpress = require('aws-serverless-express/middleware'); var app = express(); app.use(serverlessExpress.eventContext()); app.js ΞϓϦέʔγϣϯͱͯ͠Δ͜ͱҎ্ͰऴΘΓ
Lambda ͷσϓϩΠ Serverless Flamework Λར༻ STEP1 STEP2 STEP3 STEP4 $
npm install serverless -g +
[email protected]
updated 3 packages in 11.062s https://serverless.com/framework/
σϓϩΠ༻ʹ ઃఆϑΝΠϧΛ࡞ STEP1 STEP2 STEP3 STEP4 service: serverless-express-example provider: name:
aws runtime: nodejs8.10 stage: dev region: ap-northeast-1 functions: app: handler: index.handler events: - http: ANY / - http: 'ANY {proxy+}' serverless.yml
❯ sls deploy Serverless: Packaging service... Serverless: Excluding development dependencies...
Serverless: Uploading CloudFormation file to S3... Serverless: Uploading artifacts... Serverless: Uploading service .zip file to S3 (2.16 MB)... Serverless: Validating template... Serverless: Updating Stack... Serverless: Checking Stack update progress... .............. Serverless: Stack update finished... Service Information service: serverless-express-example stage: dev region: ap-northeast-1 stack: serverless-express-example-dev api keys: None endpoints: ANY - https://u8klxp40gc.execute-api.ap-northeast-1.amazonaws.com/dev ANY - https://u8klxp40gc.execute-api.ap-northeast-1.amazonaws.com/dev/{proxy+} functions: app: serverless-express-example-dev-app APIGawayͷEndPointsͷ࡞͔ΒίʔυͷσϓϩΠ·Ͱશ෦ͬͯ͘ΕΔ STEP1 STEP2 STEP3 STEP4
URLʹΞΫηεͨ͠Βެ։͞Εͯ·͢ STEP1 STEP2 STEP3 STEP4
ϥΠϒίʔσΟϯά %
Thanks!