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の今現在
Search
hihats
September 01, 2017
Technology
0
790
AWS Lambdaの今現在
Lambdaで色々やろうとして悪戦苦闘した話をまとめました。
結論Docker上げです。
hihats
September 01, 2017
Tweet
Share
More Decks by hihats
See All by hihats
Which Json Serializer should we use in Ruby on Rails6 era
hihats
1
120
ソフトウェア設計についての基本認識
hihats
1
82
アジャイル開発を始める前におさえておきたいこと
hihats
0
100
コードの静的解析ツールを使う目的と効用
hihats
0
230
DIコンテナを学ぶ
hihats
2
400
Laravel勉強会 2016
hihats
0
1.4k
Other Decks in Technology
See All in Technology
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
kargoの魅力について伝える
magisystem0408
0
200
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
Qiita埋め込み用スライド
naoki_0531
0
860
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
180
生成AIのガバナンスの全体像と現実解
fnifni
1
180
20241220_S3 tablesの使い方を検証してみた
handy
3
360
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
Featured
See All Featured
Fireside Chat
paigeccino
34
3.1k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
RailsConf 2023
tenderlove
29
940
Writing Fast Ruby
sferik
628
61k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Speed Design
sergeychernyshev
25
670
Faster Mobile Websites
deanohume
305
30k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Transcript
AWS Lambdaの今 2017 Autumn 手軽さと手軽でないところと
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。 AWSの公式ドキュメントより http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。AWS Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから
1 秒あたり数千のリクエストまで自動的にスケーリングし ます。使用したコンピューティング時間に対してのみお支払いいただきます- コードが実行中でなければ料金はかかりません。AWS Lambda によって、実質どのようなタイプのアプリケーションやバックエンドサービスでも、管理なしでコードを実行できます。AWS Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースの管理をすべて担当 します。これにはサーバーおよびオペレーティングシステムの管理、キャパシティーのプロビジョニングおよび自動スケーリング、コー ドのモニタリングおよびログ記録などが含まれます。必要な操作は、AWS Lambda がサポートするいずれかの言語 (現在は Node.js、Java、C# および Python) でコードを指定するだけです。 AWS Lambda を使用して、Amazon S3 バケットまたは Amazon DynamoDB テーブル内のデータの変更などのイベントに応答し てコードを実行できます。Amazon API Gateway を使用して HTTP リクエストに応答してコードを実行します。または AWS SDK を 使用して作成された API コールを使用してコードを呼び出します。これらの機能により、Lambda をつ
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。
Lambdaとは AWSコンソールの GUI エディタ画面上でコーディング
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。 手軽に作れるバッチサーバのイメージ
Lambdaとは AWS Lambda とは AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。 手軽に作れるバッチサーバのイメージ +プラス イベントドリブンでプログラムを実行
Lambdaとは
Lambdaとは メリット • コスト Lambda では 1 か月に 1,000,000 件の無料リクエストおよび
400,000 GB-秒のコンピューティング時間が無料利用枠となっています。 • 運用 サーバメンテナンスの面 オートスケール気にしない 通知の設定が簡単
実際使ってみて
• 複雑な処理もやりたくなる
None
ローカルマシン環境で開発するには Node, python, java, C# それぞれ用の SDK っぽいものがあり、それぞれ使う言語と使うラ イブラリをプロジェクトホームにインストールしなければならない コーディング終わったら、デプロイパッケージ(
ZIP ファイル)固めてアップロード しなけれ ばならない
Serverless Framework • sls コマンドで大体のことができる • yml でもろもろ設定 • コマンド一発で
Lambda にデプロイ • npmインストールして使う • AWSのIAMロール(管理者権限)が必要
Dockerでできるんじゃない?
LambCI • Lambda で CI 環境を作ろうという OSS • 自前で作るよりは楽 •
CI サービスよりは低コスト
None
$ ls lambda_function.py input.json $ docker run -v "$PWD":/var/task lambci/lambda:python3.6
lambda_function.lambda_handler $(printf '%s' $(cat input.json))
使いたいパッケージは requirements.txt に書く twitter pymongo numpy requests_oauthlib pytz
Dockerfileに実行環境用のビルドファイルを書く FROM lambci/lambda:build-python3.6 ENV LANG C.UTF-8 ENV AWS_DEFAULT_REGION ap-northeast-1 RUN
/bin/cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime WORKDIR /var/task ADD . . CMD pip install -r requirements.txt -t /var/task && \ zip -9 deploy_package.zip twitter_crawler.py && \ zip -r9 deploy_package.zip *
docker最高ですね