5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【自習】AWS LambdaとTerraform

Last updated at Posted at 2024-12-21

PMする上で必要になってきたのでおさらい

AWS Lambdaとは?

AWS Lambdaは、コードを実行するためのサービス

  • 目的: イベント駆動型の処理を行う。
  • 特徴:
    1. コードの実行: 特定のイベントが発生したときに、登録されたコードを実行します(例: S3にファイルがアップロードされたら画像をリサイズ)。
    2. サーバーレス: サーバーを用意する必要がなく、AWSが自動でリソースを管理。
    3. 短時間の処理: 最大15分の処理を実行。

ユースケース

  • ファイル処理(画像のリサイズ、動画の変換)。
  • APIのバックエンドロジック。
  • 定期的なバッチ処理。

Terraformとは?

Terraformは、インフラをコードとして管理するツール(IaC: Infrastructure as Code)

  • 目的: クラウドリソース(サーバー、データベース、ネットワークなど)の作成、更新、削除をコードで管理する。
  • 特徴:
    1. インフラ管理: AWS、GCP、Azure、オンプレミスなどのインフラを統一されたコードで管理可能。
    2. 状態管理: 作成済みのリソースを追跡し、変更や削除を容易に管理。
    3. 宣言的アプローチ: 「この状態にしたい」というゴールを記述し、Terraformがその状態にする。

ユースケース

  • AWSリソース(EC2、RDS、S3など)のセットアップ。
  • マルチクラウド環境の一括管理。
  • インフラ環境のバージョン管理。

AWS LambdaとTerraformの主な違い

項目 AWS Lambda Terraform
目的 イベント駆動でコードを実行 クラウドインフラのコード化と管理
対象 プログラムロジック(Python、Node.jsなど) AWSリソースやクラウドインフラ全般
利用場面 短時間の処理やAPIのバックエンド サーバー、ネットワーク、サービスのセットアップ
操作の種類 関数の実行(処理) リソースの作成、変更、削除
スコープ アプリケーションレベル インフラ全体
コードの役割 実際の処理ロジック インフラ状態の宣言

具体的な例

AWS Lambdaの役割

  • シナリオ: S3に画像がアップロードされたら、その画像をリサイズする。
  • Lambdaの動作:
    1. S3にアップロードイベントが発生。
    2. Lambdaがトリガーされ、リサイズ処理を実行。
    3. リサイズされた画像を別のS3バケットに保存。

Terraformの役割

  • シナリオ: S3バケットを作成し、そのバケットをLambdaで利用するよう設定する。
  • Terraformの動作:
    1. S3バケットの構造をコードで記述。
    2. TerraformがAWSにAPIリクエストを送り、S3バケットを作成。
    3. バケットが作成され、Lambdaと連携するための設定が完了。

AWS LambdaとTerraformの補完的な使い方

これら2つのツールは対立するものではなく、補完的なもの

  1. Terraformでインフラを構築

    • Lambda関数、S3バケット、API Gatewayをコードでセットアップ。
    • 必要なAWSリソースを自動的に作成。
  2. Lambdaでロジックを実行

    • Terraformで構築したリソースを活用し、Lambdaが実際の処理(例: 画像リサイズ、APIレスポンス生成)を行う。

感想

一年前に先輩エンジニアがテラフォームを使っていたのを見ていたので、違いについて気になったからすっきりした。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?