見出し画像

「AWS Lambdaを使って自動化する」AWSをマスターする#24

AWSでサイトをひとつ創り上げるというゴールがある中で最近AWSの周辺サービスばっかりになってきてます。
肝心のサイトの方は今週末の連休で作って、AWSのEC2に公開できるようにコーディングを進めていこうと思います。

今回はまた見えない裏側のサーバー周りの話で、「AWS Lambda」についてやっていこうと思います。

前回の記事では、CloudWatchでサービスの状況が監視できるという話をしていました。
今回その監視しているサービスの情報をキャッチして、自動で処理するということが出来るAWS Lambdaについて記事を書きます。
前半と後半に分かれますが、最終的にこのAWS Lambdaを使って、画像をアップすれば自動でHPで使用するためのサムネイルを作ってくれる処理をやっていこうと思います。

AWS Lambdaって何?

ざっくり、このAWS Lambdaが出来ることは「ルールを設定して、自動で処理できる」という感じです!
具体的な動きで説明しますー

Lambdaの動き

上の画像を使って実際にAWS Lambdaが出来る動きを説明すると、
① S3に適当な画像サイズの画像をアップします。
② S3からLambdaに「画像がアップされたよ!」という通知が送られて、Lambdaに設定しているルールに基づいて動きます。
③ 設定したルールが「アップされた画像の300×300のサムネイル画像を作る」という指示だったので、その処理をする。
という感じの動きをします。

ここで説明した処理を後半の記事ではやっていこうと思います。

実際の活用事例

前の箇所で説明したS3に画像アップとかがきっかけで処理するっていう活用事例の他には、
例えば
・映像配信で自動でファイル形式を変換
・ある一定の料金に到達したら稼働を停止させる
などAWSのサービスはこれを使うことで自動で処理をすることが出来るようになります。

以下は動画のファイル形式を自動で変換するために、Lambdaを使用している例です。
ここでは、ストリーミングで配信して多くのデバイスで視聴できるように、動画ファイルをS3にアップするとLambdaを使って自動でHLS形式に変換してくれるようにしてます。

どんなメリットがある!?

・自動化
これを使って設定することで、人がめちゃくちゃ楽できる。

・サーバーがいらない
このAWS Lambdaを実行するためのサーバーはAmazonで管理してくれて、使い人は、ルール(コード)だけを設定すれば良い!

使ってみよう

画像2

Lambdaのサービスを検索!

画像3

次の画面で設定するルールについての設定をやっていきます。
「関数」というのがLambdaで設定する自動化するルールのこと。
ランタイムというところで、プログラムの言語を選べます。

画像4

次の画面にいくと、上記のような表示になります。
デザイナー
ここでは、トリガーになるサービス、lambdaの処理を送る先を選択できます。
このトリガーはAWSの中のサービスの中から選べるので、例えばAlexaのskillに設定したりすれば音声認識で操作するルールを設定できたりもします。

関数コード
ここで、lambdaがトリガーを受け取ってどうゆう処理をさせるかプログラムを書いていきます。
ここが難関だ。。。

明日は、このコードを書いて実際に画像をアップしたら、自動でサムネイル画像を作ってくれる処理を作ってみたいと思います。

この記事が気に入ったらサポートをしてみませんか?