Webサイト制作コースのお申し込みはこちら

AWS Lambdaについてまとめています。

AWS Lambdaは、サーバレスでコードを実行できるコンピューティングサービス

Lambda はサーバーインスタンスを起動しておかなくてもコードを実行できるサーバレスコンピューティングサービスです。Lambda では、可用性の高いコンピューティングインフラ上で実行されます。Node.jsやPythonなどの環境でコードを実行し、コンピューティングリソースの管理をユーザがおこなう必要はありません。サーバやOSのメンテナンス、容量のプロビジョニング、オートスケール、コードのモニタリング、ログ記録などを行ってくれるんですね。

参考)AWS Lambda とは – AWS Lambda

サーバレスでのコード実行のメリットは、サーバ管理が不要な点と、コード実行時間のみ課金できる点です。動的ウェブやモバイルバックエンド処理として、「呼ばれたら都度処理を行う」ようなアプリケーションと相性が良いです。

Lambda は、ランタイムの使用で複数言語をサポートしています。コンテナイメージとして定義された関数では、コンテナイメージを作成時に、ランタイムと Linux ディストリビューション(Amazon Linuxか、Amazon Linux 2)を選択します。ランタイムを変更するには、新しいコンテナイメージを作成します。

参考)Lambda ランタイム – AWS Lambda

AWS Lambdaの料金

AWS Pricing Calculator

Amazon Lambdaの料金は、アーキテクチャ、月間リクエスト数、リクエストごとの実行時間、割当メモリ量で決まります。オプションとして、プロビジョニングされた同時実行性(アクセスが急増した場合などに、プロビジョニングすることで2桁ミリ秒で応答するハイパー対応状態にする)、Lambda@Edge(ユーザに近いロケーションでコード実行する機能。パフォーマンス向上と待ち時間短縮が見込める)で決まります。

項目を、AWS Pricing Calculatorに入力することで見積もりを入手できます。

【関連記事】
AWSの見積もりは、AWS Pricing Calculatorで自動計算 ユースケースから流用も可能

AWS Lambdaの使い方

AWS Lambdaは、以下の手順で使用できます。

参考)サーバーレスコードを実行する方法 – アマゾン ウェブ サービス (AWS)

AWSマネジメントコンソールから、検索窓に「Lambda」と入力して、AWS Lambdaコンソールを開きます。

【関連記事】
AWSを集中管理したい!AWS マネジメントコンソールを使いこなそう!

AWS Lambdaコンソールから「関数の作成」をクリックします。

関数の作成には、「一から作成」やサンプルコードを使った「設計図の使用」、関数にコンテナをデプロイする「コンテナイメージ」、サーバレスアプリのサンプル「Serverless Application Repositoryの参照」から選べます。ここでは、「設計図の使用」を選び、設計図「hello-world-python」を選択し、「設定」をクリックします。

hello-world-pythonのコードが表示されます。関数名や、実行ロールの設定を行ないます。ここでは、関数名に[mytest」とつけ、実行ロールは「基本的なLambdaアクセス権限で新しいロールを作成」を選びました。「Lambda関数のコード」で、実行環境(ランタイム)や、アーキテクチャを選択可能です。ここでは、設計図のデフォルトのまま、ランタイム=Python3.7、アーキテクチャ=x86_64のまま、「関数の作成」をクリックします。

コードは以下の通りです。コード内容は、テストイベントで渡されたkey1、key2、key3の値を表示するコードです。

import json

print('Loading function')


def lambda_handler(event, context):
    #print("Received event: " + json.dumps(event, indent=2))
    print("value1 = " + event['key1'])
    print("value2 = " + event['key2'])
    print("value3 = " + event['key3'])
    return event['key1']  # Echo back the first key value
    #raise Exception('Something went wrong')

 

「コード」ペインの「Test」→「configure test event」を選択し、テストイベントを編集します。

Lambda関数に渡すテストイベントの編集が可能です。イベントテンプレートで「hello-world」を選択(デフォルトで選択されている)します。イベント名を入力し、「作成」をクリックします。イベントデータは編集できますが、今回は内容はそのままにしておきます。

「テスト」ペインをクリックし、「テスト」ボタンクリックで、Lambda関数mytestにテストイベントが渡された結果が表示されます。

結果は以下の通りです。リクエストIDが表示され、Lambda関数の実行結果が表示されます。

START RequestId: 5bfa14ae-d1fd-4fa7-896e-241fb4352750 Version: $LATEST
Loading function
value1 = value1
value2 = value2
value3 = value3
END RequestId: 5bfa14ae-d1fd-4fa7-896e-241fb4352750
REPORT RequestId: 5bfa14ae-d1fd-4fa7-896e-241fb4352750	Duration: 1.57 ms	Billed Duration: 2 ms	Memory Size: 128 MB	Max Memory Used: 36 MB	Init Duration: 100.89 ms	

関数を削除するには、Lambdaコンソールのナビゲーションペインで「関数」を選択して、削除したい関数にチェックをつけ「アクション」プルダウンメニューから「削除」を選択します。

AWS Lambdaのまとめ

ポテパンダの一言メモ
  • AWS Lambdaは、サーバレスでコードを実行するサービス
  • AWS Lambdaが対応している環境(Node.jsやPython)で、指定されたバージョンでのみコード実行可能
  • AWS Lambdaの料金はオンデマンド。コードの実行時間のみ課金されるので、EC2インスタンスでの実行と比べて、コストの節約になります。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。