AWS Lambdaを 使ってみた話 にしざわこういち づや会 vol.3 於 GEEKLAB.NAGANO 2016/03/22
AWS Lambdaを使ってみた話にしざわこういちづや会 vol.3 於 GEEKLAB.NAGANO 2016/03/22
who are you?
● にしざわこういち
● @koty● GEEKLAB.NAGANO 管理人見習い
● PythonとDjangoで受託開発
● 実家はりんご農家 いたって普通の田舎者
Labmdaとは?
アプリケーションコードを実行できるコンピュートサービス。
詳しくはこちらやこちら等をご覧くださいm(_ _)m
個人的には、
● EC2不要→サーバーレスアーキテクチャ
● 安い
が利点かなと。
Lambdaの料金体系
https://aws.amazon.com/jp/lambda/pricing/ より
● 関数の実行リクエストのうち毎月最初の 1,000,000 件は無料
● それ以上は 0.20 USD/1,000,000 件のリクエスト
→ちょっとしたことなら無料。それ以上使ったとしても格安。
具体的に何ができるの?
以下、使ってみた事例です。
それ〇〇でもできるんじゃね?感もありますが、Lambdaを使ってみたかったので。。
事例①弁当の注文状況をslackにpost
弁当の注文忘れを防ぐ
構成
⑤注文②APIを呼び出し、注文データ取得
③注文状況を投稿
heroku
slack
AWS Lambda
①スケジュール起動(毎日9時)
④「注文忘れてた!」
Lamdaのコード
スケジュール起動
Cloud Watchのイベントと
Lambda関数を関連付ける
cronの書式でも設定できる
事例②長野市近郊のイベント情報一覧
http://b-sw.co/hokuto/
● 一日一回、Lambda関数で各サイトをクロールし、S3へデータを保存。
● フロントエンド(上記URL)では、S3のデータを参照。
→岡崎市立中央図書館事件 のようなトラブルを防止
所感
● ちょっとしたことなら簡単に実装できる。特にAWSの各サービスとの親和性が高い。
● 複雑なことをしようとすると、現状面倒だったりハマることがある
例:依存モジュールの利用が面倒
→依存モジュールを含めてzipに固めてLamdaに上げる必要がある
例:Pythonでlxml(DOM解析ライブラリ)を使っている場合、特殊な作業が必要。
→こちら参照:
おしまい