Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

AWS Lambda を使用して"Hello World"をサーバーレスで実行する

はじめに

近年、ITシステムの設計の開発手法として、「サーバーレス」が非常に注目されています。
サーバーレスとは、個々の利用ユーザ企業の管理者がクラウド上にあるサーバの存在を意識せずにアプリケーションやデータベースの利用ができるクラウド利用形態のことを指します。
本稿ではAWSチュートリアルの AWS Lambda を使用して"Hello World"をサーバーレスで実行する (https://aws.amazon.com/jp/getting-started/hands-on/run-serverless-code/)を参考に、AWS Lambdaを使用して Hello World Lambda関数を作成してみたいと思います。

AWS Lambdaとは

AWS LambdaはAWSが提供するサーバーレスコンピューティングサービスです。
AWS Lambdaは以下のような特徴があります。

  • サーバーレス
    AWS Lambdaはサーバーレスコンピューティングサービスであるため、サーバ等のプログラム実行基盤を設定・運用・管理する必要がありません。
    そのため、運用負荷の軽減とコストの削減につながります。

  • 自動スケーリング
    トラフィックの増減に応じて自動的にスケーリングします。
    そのため、負荷の高い期間でも安定したパフォーマンスを保つことができます。

  • イベント駆動型処理
    AWS Lambdaは特定のイベントが発生した時にコードを自動的に実行することができます。

このようにAWS Lambdaを使用することでサーバの設定や運用・管理が必要なく、運用コストを大幅に削減することができます。
また負荷の高い期間でも自動スケーリングにより安定したパフォーマンスを維持し、特定のイベントが発生した際には自動的にコードを実行することが可能です。
これらの特徴により、迅速な開発と効率的な運用を可能にします。

実施手順

手順① AWSマネジメントコンソールにサインイン

AWSマネジメントコンソールにサインインします。

サインイン

手順② Lambdaコンソールの起動

画面左上のテキストボックスにLambdaを入力します。
表示されたLambdaをクリックします。

Lambda選択

手順③ Lambdaブループリントの選択

ブループリントとは特定のタスクを実行するためのコードサンプルとその設定を提供するものです。
今回はHello world functionというブループリントを使用して関数を作成します。
AWS Lambdaダッシュボードの画面右上にある関数の作成をクリックします。

関数の作成

手順④ Lambda関数の設定

関数作成ページに進んだら以下の情報で関数を作成します。

設計図の使用を選択
設計図名 : Hello world function
関数名 : Hello-world-function
実行ロール : AWS ポリシーテンプレートから新しいロールを作成
ロール名 : lambda_basic_execution

情報入力

情報入力②

情報を入力したらページの一番下に進み、関数の作成をクリックします。

手順⑤ Lambda関数の実行と結果の検証

Testのドロップダウンメニューを開き、Configure Test Eventを選択します。

Configure Test Event

エディタがポップアップ表示されるので、以下の情報を入力します。

新しいイベントを作成を選択
イベント名 : HelloWorldEvent
イベント共有の設定 : プライベート
テンプレート - オプション : hello-world
サンプル JSONのvalue1hello, worldに書き換え

テストイベント作成

情報を入力したら保存をクリックします。

続いてTestをクリックします。

テスト実行

テストが正常に完了すると、Execution resultsに結果が表示されます。
Function LogsにはAWS Lambda関数の実行によって生成されたログと、ログ出力で報告された重要な情報が表示されます。

テスト結果

まとめ

本稿ではAWS Lambdaを使用して Hello World Lambda関数を作成しました。
このように、AWS Lambdaを使用することでサーバを用意しなくてもイベントに応じたコードの実行が可能です。
AWS Lambdaに触れたことがない方やサーバーレスに興味のある方の参考になれば幸いです。