プログラミング

AWS LambdaでサーバーレスのWEBサイトを作成する①




AWS LambdaでサーバーレスのWEBサイトを作成する⓪

仕事でLambdaやS3をWindowsからデプロイするコードが欲しくなったので自分のアカウントでいろいろお試し。 デプロイ部分だけでもいいんですが、貧乏性せっかくなのでゼロからWEBサイトを作る手順 ...

続きを見る

今回はLambda準備編。
AWSコンソールにログインしておいてください。

Lambda関数の作成

関数の追加

AWSコンソールでLambdaと入力

関数の作成ボタンをクリック

関数のオプションを入力。
今回はサンプルなので一から作成を選択します。
関数名は適当にhello_world
ランタイムはPythonにしました。

他はそのままで関数の作成ボタンをクリック。

Hello Worldするだけの関数が作成されました。

テストしてみる

とりあえずHello Worldしてみます。
テストタブをクリックして、テストボタンを押します。

下のKey:valueでリクエストパラメータを送れるようになってますが、今は何も変更しなくてOK。

実行結果が出力されました。
レスポンスはlambda_handlerでreturnした内容が表示されます。

CloudWatchにログが出力されてます。
今はシステムログしか出てないですが、コード内でprintするとここに出力されるようになります。

トリガーの作成

トリガーの追加

Lambda関数を実行するためのトリガーを追加します。
設定タブのトリガーからトリガーを追加をクリックします。

トリガーはいろいろあって、AWS内の各機能と連動できたりするのですが、今回はAPIとしてWEBから叩かれたら実行するようにします。
API Gatewayを選択してそれぞれ入力します。
APIタイプはHTTPとRESTで若干内容が異なりますが、今回は難しいことをしないので安い(らしい)HTTP APIにしました。

セキュリティはサンプルなのでオープンにしてますが、実際に使用するときはちゃんと考えましょう。

追加ボタンをクリックしてトリガーを登録します。

トリガーが登録され、httpsのリクエストでLambdaが実行できるようになりました。
APIエンドポイントにアクセスするとLambdaから結果が返却されますが、実行するたびに課金されるので勉強目的なんかの場合は隠しておきましょう。
Lambdaの実行は安いけどAPI Gatewayが結構高いので、いたずらに大量実行されると困る。。。

ブラウザからアクセスしてみる

ブラウザでAPIエンドポイントにアクセスするとreturn結果が表示されます。

長くなったのでいったんここまで。
次回はLambdaでS3とファイルをやり取りします。

-プログラミング
-

© 2021 そんなこと猫でもできる Powered by AFFINGER5