2026年04月26日
OTTAN.JP
iPhone · Mac · Windows Tips
Blog

【2026年版】無償で始められる Netlify Functions(AWS Lambda)で学ぶサーバレスプログラミング入門

By ottanjp 3 min read 更新 2026.04.22

🔁 2026年リライト版 この記事は2019年1月に公開した「無償で利用可能なNetlify Functions(AWS Lambda)で学ぶサーバレスプログラミングの基本」を、2026年時点の Netlify Functions 仕様(Node.js 20/22 LTS、Netlify CLI、Edge Functions の追加)に合わせて全面書き換えしたものです。

Netlify Functions は、サイトのデプロイに付随してサーバレス関数を一緒に動かせるサービスです。バックエンドは AWS Lambda(通常の Functions)と Deno / Vercel Edge Runtime 相当のエッジワーカー(Edge Functions)の2種類があります。

2026年時点の主な変化点

  • Node.js ランタイム: 2019年当時は Node.js 8.x のみだったが、現在は Node.js 20 / 22 LTS が標準。Go ランタイムは 2022年に廃止され、Rust や Python も基本は Docker カスタムランタイムで対応する形
  • ローカル開発の中心: netlify-lambda ではなく netlify dev(Netlify CLI) に統一
  • Edge Functions の登場: Lambda とは別に、CDN エッジで動作する超低レイテンシ実行基盤が追加(2022年 GA)
  • 無償プラン枠: 2026年時点で 125,000 リクエスト/月 + 100時間/月 の枠は維持(変動する可能性あり、最新は 公式料金 参照)
  • Background Functions: 最大10分間実行可能な非同期関数(Pro プラン以上)

セットアップ(2026年版)

前提: Node.js 20+ と npm、Netlify アカウント、GitHub(または GitLab / Bitbucket)アカウント。

1. Netlify CLI をインストール

❯ npm install -g netlify-cli
❯ netlify --version
netlify-cli/18.x.x

2. プロジェクトを初期化

既存の Hugo / Next.js / Astro / 任意の静的サイトプロジェクトでも、新規でも OK。

❯ netlify init

対話形式で「新規サイトを作成」または「既存サイトにリンク」を選びます。完了すると netlify.toml.netlify/ が生成されます。

3. 関数用ディレクトリの作成

.
├── netlify.toml
└── netlify/
    └── functions/
        └── hello.js

netlify.toml:

[functions]
  directory = "netlify/functions"
  node_bundler = "esbuild"

node_bundler = "esbuild" を指定しておくと、TypeScript やモダン ESM がそのまま動きます(2022年以降の推奨)。

4. 最初の関数を書く

netlify/functions/hello.js:

export const handler = async (event, context) => {
  return {
    statusCode: 200,
    body: JSON.stringify({
      message: "Hello from Netlify Functions!",
      path: event.path,
      method: event.httpMethod,
    }),
  };
};

ローカルで動作確認

❯ netlify dev

http://localhost:8888/.netlify/functions/hello にアクセスすると JSON レスポンスが返ります。Netlify CLI は 静的サイト + 関数 + リダイレクト を全部まとめてローカルで再現してくれるので、2019年当時のように netlify-lambda と別の静的サイトサーバの両方を立てる必要はもうありません。

デプロイ

Git ブランチを push すると、Netlify が自動的にビルド・デプロイします(GitHub 等と連携していれば)。手動でも可能:

❯ netlify deploy --prod

Edge Functions — 2022年以降の新定番

低レイテンシが必要な用途(A/Bテスト、リクエスト書き換え、認証チェックなど)は Edge Functions を使います。Functions と違い、CDN エッジで Deno ベースのランタイムが動作します。

netlify/edge-functions/geolocation.js:

export default async (request, context) => {
  const country = context.geo?.country?.name ?? "Unknown";
  return new Response(`Hello from ${country}!`, {
    headers: { "content-type": "text/plain" },
  });
};

export const config = {
  path: "/hello",
};

デプロイすると https://<site>/hello が Edge Function 経由で応答します。

課金

2026年4月時点の Free プラン:

  • Netlify Functions: 125,000 リクエスト/月 + 100時間の実行時間/月 無料
  • Edge Functions: 1,000,000 リクエスト/月 無料
  • Background Functions: Pro プラン以上で利用可能

個人ブログの認証付きお問い合わせフォームや、軽量な API エンドポイントであれば、無料枠で十分運用できます。

参考

Comments
comments powered by Disqus