AWS Lambdaで遊ぼう #1 Lambda関数作成

もくじ はじめに Lambdaとは 前提条件 Lambda作成 Lambda操作 Lambdaで何が出来るのか さいごに はじめに こんにちは ベンジャミンの中村です!AWS Lambdaの作成方法を紹介したいと思います。 Lambdaとは サーバレスにプログラムを実行するためのもの つまりサーバー(EC2など)を構築しなくてもプログラムを実行できるサービスとなりますサーバレスとは言ったものの、「サーバーが無い」訳ではなく「サーバーを意識しなくて良い」という意味です。Lambdaを実行すると、動かしている間だけAWSさんが裏でサーバーを立ち上げて、その中でプログラムを実行してくれます。EC2はサーバーが起動している間はずっとお金がかかりますが、Lambdaはプログラムを実行している間のみの課金なので、かなりコスパが良くなるかと思います! ↓↓AWS公式によるLambdaの解説↓↓ メリット サーバー構築が不要なため、スピーディに開発できる 処理されている間のみ課金されるため、コストパフォーマンスが見込める デメリット 1つの処理時間の上限が15分 (15分以上必要な処理はLambdaでなくサーバーを立てる必要がある) 処理の同時実行数は1,000まで ベンジャミンのサーバレス開発サービス ベンジャミンではAWS Lambdaを使ったサーバーレス開発サービスを提供しております。詳細は以下をご確認ください ベンジャミン サービス ベンジャミン 問い合わせ 前提条件 AWSアカウント作成ずみである事 Lambda作成 AWSコンソール画面の検索窓に「lambda」と入力し、Lambdaを選択する 左メニューの「関数」をクリック、「関数の作成」を実施する 「一から作成」を選択 lambda関数名を決めて入力します。ここはお好みで♡ランタイム(どの言語で書くか)を選択します。ここもお好きな言語でOKです。 ザックリですが以下の言語が選べるようですね ランタイム JAVA Python Node.js Ruby Go .Net 筆者はPythonにしました アーキテクチャは、こだわりがなければ特に変更不要です。最近Lambdaでも使えるようになった「arm64」ですが、これはMacPCで言うところの「M1」と同じCPUプロセッサなのだそうです。気になる方は試してみるのもアリかも! ここではLambda以外のAWSリソースを操作する為に必要な権限与える為にIAMロールを付与します。自分で事前に作ったロールを使いたい場合は「既存のロールを使用する」を選択しても良いです今回はめんどいので「基本的なLambdaアクセス権限で新しいロールを作成」にしましょうwこれでLambda作成時についでにロールも勝手に作成してくれます。 一番下の「関数の作成」をクリックする Lambda関数が作成されました(^^)v このLambdaを使って色々遊んでみましょう Lambda操作 さて、作ったLambdaで色々いじって遊んでみましょう Lambdaプログラム変更 作成したLambda関数の画面から「コード」タブを開きます。ここのエディタでどんどんプログラムを書いていきます 基本的にはメインの処理を def lambda_handler(event, context): の中に書いくことになります。試しに print で適当な文字をコンソールに出力してみましょう 書けたら「デプロイ」をクリックします。 「Changes Deployed」と表示されれば、デプロイ成功です 動作確認 修正したLambdaを実際に動かしてみます。「テスト」タブを開いて、「テスト」をクリックします。 はい、成功しました!( ´∀`) 失敗する時は、こんな感じ(´Д` ) さっき print に書いたものが出力されているか見てみましょう「モニタリング」タブを開き、「CloudWatchのログを表示」をクリックします。 CloudWatch画面のLambda実行ログが保存されている場所に遷移します。 「ログストリーム」タグの中に、Lambdaが実行されたタイミング毎に区切られたフォルダが表示されます。直近のフォルダを開いてみます 先ほど … Continue reading AWS Lambdaで遊ぼう #1 Lambda関数作成