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
Go x AWSによるシンプルなサーバーレス実装
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yukpiz
March 27, 2019
Technology
590
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go x AWSによるシンプルなサーバーレス実装
シューマイGo編での登壇資料です。
https://shuuu-mai.connpass.com/event/122861/
yukpiz
March 27, 2019
More Decks by yukpiz
See All by yukpiz
Go x AWSによるシンプルなサーバーレス実装
yukpiz
1
130
Golang Beginners!
yukpiz
0
130
Go言語と事例で学ぶAWS Lambda
yukpiz
3
1.1k
Other Decks in Technology
See All in Technology
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
850
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
2
330
TypeScript入門 2026
recruitengineers
PRO
3
740
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
110
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
130
My broken English still works: speaking at global OSS events
naruoga
0
120
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
100
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
150
AIのためのEthernet技術動向 (SerDes)
markunet
1
230
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
110
Genie Codeハンズオン応用編
taka_aki
0
130
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Fireside Chat
paigeccino
42
4k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
500
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
A Tale of Four Properties
chriscoyier
163
24k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
Designing for Timeless Needs
cassininazir
1
450
Documentation Writing (for coders)
carmenintech
77
5.5k
Transcript
Go x AWSによる シンプルなサーバーレス実装 Written by @yukpiz Mar 27, 2019
#shuuumai #golang
Who?
Who? Yuuki Zayasu(@yukpiz) リディッシュ株式会社 テックリード
Who? Yuuki Zayasu(@yukpiz) リディッシュ株式会社 テックリード #golang #aws
Who? Yuuki Zayasu(@yukpiz) リディッシュ株式会社 テックリード #golang #aws #engineers_lt(エンジニアの登壇を応援する会)
Who? Yuuki Zayasu(@yukpiz) リディッシュ株式会社 テックリード #golang #aws #engineers_lt(エンジニアの登壇を応援する会) 釣り スノボ
小型船舶操縦士1級
Who? Yuuki Zayasu(@yukpiz) リディッシュ株式会社 テックリード #golang #aws #engineers_lt(エンジニアの登壇を応援する会) 釣り スノボ
小型船舶操縦士1級 第二種電気工事士 生コン打設 養鶏 野菜栽培
Who? Please follow me! @yukpiz https://labo.yukpiz.me
Go言語への入り口
Go言語への入り口 Go言語 触ったことありますか?
Go言語への入り口
Go言語への入り口 Go言語に興味を持っている、もしくは普段使っている皆さんに 少しでも知らなかった事を知って欲しい
Go言語への入り口 Go言語に興味を持っている、もしくは普段使っている皆さんに 少しでも知らなかった事を知って欲しい AWSと簡単に組み合わせて 様々な使い方ができる事を知ってほしい
Go言語への入り口 Go言語に興味を持っている、もしくは普段使っている皆さんに 少しでも知らなかった事を知って欲しい AWSと簡単に組み合わせて 様々な使い方ができる事を知ってほしい 是非、持ち帰って自分でGo言語を触ってみるキッカケにして欲しい
Go言語への入り口
Go言語への入り口 コマンドラインツールを作る(urfave/cli等)
Go言語への入り口 コマンドラインツールを作る(urfave/cli等) A Tour of Goをやる(https://go-tour-jp.appspot.com/)
Go言語への入り口 コマンドラインツールを作る(urfave/cli等) A Tour of Goをやる(https://go-tour-jp.appspot.com/) Webフレームワークを使ってWebサイトを作る(gin, echo等)
Go言語への入り口 コマンドラインツールを作る(urfave/cli等) A Tour of Goをやる(https://go-tour-jp.appspot.com/) Webフレームワークを使ってWebサイトを作る(gin, echo等) AWSを組み合わせてサービスを作ってみる(New!)
Go言語への入り口 コマンドラインツールを作る(urfave/cli等) A Tour of Goをやる(https://go-tour-jp.appspot.com/) Webフレームワークを使ってWebサイトを作る(gin, echo等) AWSを組み合わせてサービスを作ってみる(New!) DynamoDB,
Lambda, SQS, API Gateway, ECS/EKS, EC2, etc...
Go言語への入り口 AWS Lambda
Go言語への入り口 機能を実装してクラウド上で実行可能(FaaS)
Go言語への入り口 機能を実装してクラウド上で実行可能(FaaS) Go言語(1.x Runtime)が使える
Go言語への入り口 機能を実装してクラウド上で実行可能(FaaS) Go言語(1.x Runtime)が使える 様々なAWSの各種サービスと連携が可能
Go言語への入り口 機能を実装してクラウド上で実行可能(FaaS) Go言語(1.x Runtime)が使える 様々なAWSの各種サービスと連携が可能 API Gateway AWS IoT Alexa
Skills Kit Alexa Smart Home Application Load Balancer CloudWatch Events CloudWatch Logs CodeCommit Cognito Sync Trigger DynamoDB Kinesis S3 SNS SQS
Go言語への入り口 機能を実装してクラウド上で実行可能(FaaS) Go言語(1.x Runtime)が使える 様々なAWSの各種サービスと連携が可能 API Gateway AWS IoT Alexa
Skills Kit Alexa Smart Home Application Load Balancer CloudWatch Events CloudWatch Logs CodeCommit Cognito Sync Trigger DynamoDB Kinesis S3 SNS SQS + Invoke Lambda
活用事例
活用事例 サービス内メッセージの一斉配信サービス
活用事例 サービス内メッセージの一斉配信サービス レストランに関連するデータの収集サービス
活用事例 サービス内メッセージの一斉配信サービス レストランに関連するデータの収集サービス SendGridを使ったメール配信サービス ...etc
活用事例
活用事例 配信予定時刻に処理を開始
活用事例 配信予定時刻に処理を開始 SQSで一定速度でLambdaに排出
活用事例 配信予定時刻に処理を開始 SQSで一定速度でLambdaに排出 配信処理を担うLambda
活用事例 配信予定時刻に処理を開始 SQSで一定速度でLambdaに排出 配信処理を担うLambda ユーザーの端末へ
活用事例 配信予定時刻に処理を開始 SQSで一定速度でLambdaに排出 配信処理を担うLambda ユーザーの端末へ 処理に失敗した配信レコード
活用事例 各種サービスの制限について
活用事例 各種サービスの制限について サービスごとに制限項目がある Lambdaなら実行時間や同時実行数など 他のサービスと連携させる場合、その考慮も必要
活用事例 各種サービスの制限について サービスごとに制限項目がある Lambdaなら実行時間や同時実行数など 他のサービスと連携させる場合、その考慮も必要 詳細は各種サービスのドキュメントに記載がある 以下はLambdaの制限事項ドキュメント https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/limits.html
Go × Lambdaへの入り口
Go × Lambdaへの入り口 デプロイツールの選定(Apex, Lamvery, Serverless Framework)
Go × Lambdaへの入り口 デプロイツールの選定(Apex, Lamvery, Serverless Framework) 実装したLambda関数をツールを使ってアップロードする LambdaはApex、それ以外のサービスはterraformに一元化
Go × Lambdaへの入り口 デプロイツールの選定(Apex, Lamvery, Serverless Framework) 実装したLambda関数をツールを使ってアップロードする LambdaはApex、それ以外のサービスはterraformに一元化 関数の実装
Go × Lambdaへの入り口
Go × Lambdaへの入り口 必要なのは2パッケージ
Go × Lambdaへの入り口 必要なのは2パッケージ Lambda実行時に呼び出される関数
Go × Lambdaへの入り口 必要なのは2パッケージ Lambda実行時に呼び出される関数 発火元から受け取るイベント引数
Go × Lambdaへの入り口 必要なのは2パッケージ Lambda実行時に呼び出される関数 発火元から受け取るイベント引数 処理結果を返す errorインターフェース型
Go × Lambdaへの入り口 デプロイツールの選定(Apex, Lamvery, Serverless Framework) 実装したLambda関数をツールを使ってアップロードする LambdaはApex、それ以外のサービスはterraformに一元化 関数の実装
Handlerの引数で受け取れるイベントはgodocで確認できる https://godoc.org/github.com/aws/aws-lambda-go/events
Go × Lambdaへの入り口 デプロイツールの選定(Apex, Lamvery, Serverless Framework) 実装したLambda関数をツールを使ってアップロードする LambdaはApex、それ以外のサービスはterraformに一元化 関数の実装
Handlerの引数で受け取れるイベントはgodocで確認できる https://godoc.org/github.com/aws/aws-lambda-go/events AWSの各種サービスとの連携
Go × Lambdaへの入り口 Lambdaの発火元
その他の用途
その他の用途 BOTを作ってみよう!
その他の用途 BOTを作ってみよう! Slack BOTやTwitter BOTで遊んでみる API Gatewayと連携して、Webhook駆動のBOT CloudWatchと連携して、定期実行するBOT
その他の用途 BOTを作ってみよう! Slack BOTやTwitter BOTで遊んでみる API Gatewayと連携して、Webhook駆動のBOT Cloudwatchと連携して、定期実行するBOT
最後に
最後に Go言語入門の選択肢にAWS Lambdaを! 連携できるサービスを組み合わせて、簡単に作ろう
最後に Go言語入門の選択肢にAWS Lambdaを! 連携できるサービスを組み合わせて、簡単に作ろう 仕事じゃなくても、まずはプライベートの簡単なツールから! こういうのも作れそうとか面白いアイデア、是非教えてください
Written by @yukpiz Mar 27, 2019 #shuuumai #golang Slides Policy
The Go gopher was designed by Renée French. #f3f3f3 #434343 #da6272