Huney

クラウド / AWS

AWS Lambdaとは?サーバーレスを初心者向けに解説

AWS LambdaについてIT初心者向けに基礎からやさしく解説します。

読了時間:約3

AWS Lambdaとは?サーバーレスを初心者向けに解説

AWS Lambdaは、サーバーを自分でプロビジョニング・管理することなくコードを実行できるサーバーレスコンピューティングサービスです。

「サーバーレス」という名前からサーバーが存在しないように見えますが、実際の基盤はAWSが管理しています。

Lambda関数

Lambdaで実行するコードと設定をまとめた単位をLambda関数と呼びます。

イベント
   |
   v
Lambda関数
   |
   v
処理を実行

イベントをきっかけに実行

Lambdaはさまざまなイベントと組み合わせられます。

たとえば、

S3へファイルを保存
       |
       v
 Lambdaを実行
       |
       v
画像を処理

といったイベント駆動の処理を作れます。

API Gatewayなどと組み合わせてWeb APIの処理を実装することもできます。

EC2との違い

EC2では仮想サーバーを起動し、OSやソフトウェアなどを管理します。

Lambdaでは、利用者は主に実行するコードと必要な設定に集中できます。

EC2
→ サーバーを用意してアプリを動かす

Lambda
→ コードを用意し、実行基盤の多くをAWSに任せる

どちらが優れているという話ではなく、用途によって使い分けます。

実行時間

Lambda関数は永続的に動かし続けるサーバーではなく、イベントなどに応じて処理を実行します。

長時間常駐する処理など、Lambdaに向かないワークロードもあります。

料金の考え方

Lambdaはリクエスト数や実行時間などに基づく料金体系を持っています。

常時稼働するサーバーとは料金の考え方が異なるため、ワークロードによって適性があります。

LambdaとVPC

Lambda関数からVPC内のRDSなどへアクセスする構成も可能です。

VPCへ接続する場合はネットワーク設定も理解する必要があります。

サーバーレス = 運用ゼロ?

サーバーOSを自分で管理する必要はありませんが、

  • コード
  • IAM権限
  • ログ
  • エラー処理
  • セキュリティ
  • コスト

などは利用者が適切に設計・運用する必要があります。

🍯 はちみつメモ

AWS Lambda = サーバー管理をAWSに任せ、コードの実行に集中できるサーバーレスサービス

まとめ

  • Lambdaはサーバーレスコンピューティングサービス
  • 実行するコードをLambda関数として作成する
  • イベントをきっかけに処理を実行できる
  • EC2より利用者がサーバー管理を意識する範囲が小さい
  • S3やAPI Gatewayなど多くのAWSサービスと連携できる
  • VPC内のリソースへアクセスする構成も可能
  • サーバーレスでも利用者側の運用・セキュリティ責任はある

次におすすめ

次は**「Amazon CloudFrontとは?」**を学びます。