プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • AWS
  • 【AWS】「Lambda」と「Fargate」の使い分け
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【AWS】「Lambda」と「Fargate」の使い分け

11.28

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

どちらもサーバーレスを謳うサービスなのですが使い分けはどうなのでしょうか。

実行環境

Lambda

使用できるランタイムは決まっている。デプロイ環境にも制約がある(というかデプロイするものではない)のでフロントエンドでNext.jsやNuxt.jsなどのSSRの実行環境では使えないです。ECSを使っていくことになると思います。

ただ、PHPのLaravelやRubyのRailsなどのモノシリックフレームワークの場合はこちらでも使えます。(一部言語によっては対応していないフレームワークもあるので注意です。Node.jsなど。)

ECS on Fargate

ユーザーが用意したDockerコンテナを使用してアプリケーションを実行することができるため、開発言語に制限がなく、実行環境の構築の自由度が高い。

もしインフラの柔軟性が求められるのであればこちらの方が良いと思います。

学習コスト

Fargateはコンテナやコンテナオーケストレーションの知識が必要だが、Lambdaは関数や実行OSに関する知識を抑えるだけなので学習コストが低め。

料金

常時コンテナに料金がかかってくるのでFargateの方がかなり高い。Lambdaはリクエストがあった分だけコストがかかってくる。(少ないリクエスト数のアプリケーションであれば実質無料になります。)

アプリケーション移行コスト

もし、既存アプリケーションがコンテナベースで動作しているアプリケーションであればFargateもlambdaも移行コストは変わらないかもしれません。コンテナベースではないのであれば関数を定義するだけで済むLambdaに軍配が上がるでしょう。

リソース

Lambda

Lambda関数のメモリ割り当てなどの変更は可能。

Fargate

割り当て可能なvCPUとメモリの組み合わせは用意されていてユーザーは選択する。

ユースケース

基本的には、まずLambdaで実現できないかを考えてLambdaで実現が難しいことはFargateに任せるという思考で考えると良いでしょう。

Lambda

  • 普通のCRUDのあるWebアプリケーション(イベントトリブン)の利用
  • 小規模のアプリ
  • 短い処理(処理時間15分以下)

Fargate

  • 何十分もかかるような重たい処理や、長時間動作が必要なWebやモバイル、Paasなどのバックエンド開発
  • 容量の大きいファイルを扱う処理
  • docker-composeを利用したい場合
スポンサーリンク
  • 2021 11.28
  • miyabisan2
  • コメントを書く
  • AWS
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 12.31

    【AWS】「EKS」、「eksctl」

  2. 2021 01.16

    【AWS】セキュリティの考え方(責任共有モデル、SSO、Cognito、CloudTrail、KMS、Inspector、ACM、WAFなど)

  3. 2020 12.30

    【AWS】「ルートユーザー」、「IAMユーザー」、アカウント発行のデザインパターン

  4. 2020 11.10

    【AWS】「Lambda」、関数の定義

  5. 2021 11.28

    【AWS】コンテナアーキテクチャパターン

  6. 2021 12.02

    【AWS】「Code Commit」、「Code Build」、「Code Deploy」、「Code Pipeline」の違い

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【AWS】コンテナアーキテクチャパターン

【インフラ】構成管理・各種デプロイ自動化言語の違い、I…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー