本文へ移動
情シスのミカタ
トレンド約11分で読めます

Lambda Web Functionsは既定で認証なしの公開URL 情シスが先に決める設定

AWS Lambda Web Functionsは、1つのコマンドでHTTPSのURLまで作れます。公式ドキュメントで確かめると、このコマンドの既定は認証なしの公開で、環境の数や流量の上限も既定では付きません。公開の範囲・費用の上限・ログについて、情シスが先に決めておく設定をまとめます。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
Lambda Web Functionsは既定で認証なしの公開URL 情シスが先に決める設定

この記事のまとめ

  • aws lambda-web deploy は、S3バケット・IAMロール・公開URLまで1回で作ります。既定の認証はApplicationManaged(認証なし)で、だれでも開けるURLになります。
  • エンドポイントのドメインは、IAM認証にしてもインターネットから届きます。CloudFrontだけに絞るには、IAM認証とOAC、リソースベースのポリシーを組み合わせます。
  • 環境の数(maxEnvironments)と1秒あたりのリクエスト数(rateLimit)の上限は、既定では設定されません。URLへのアクセスの記録(CloudTrailのデータイベント)も、既定では残りません。
  • AWS Organizationsを使う会社は、認証なしのエンドポイントの作成を止めるSCPの例が公式ドキュメントにあります。まず、自社のアカウントでもう作られていないかを確かめます。
こんな方に#30代#40代#50代実務

AWSが2026年10月12日に提供を始めた「AWS Lambda Web Functions」は、ポートで待ち受けるふつうのWebアプリを、書き換えずにLambdaで動かせる仕組みです。発表の中身は、AWSのLambda Web Functions提供開始、東京も対象にまとめています。

この記事では、AWSの公式ドキュメントを読んで分かった、情シスが先に決めておくことを書きます。要点は3つです。

  • 1つのコマンドで作ると、既定では認証なしで、だれでも開けるURLができます。
  • 環境の数と、1秒あたりのリクエスト数の上限は、既定では設定されません。
  • URLへのアクセスの記録(CloudTrail)は、既定では残りません。

どれも「便利に始められる」ための既定値です。会社で使うなら、開発者が最初の1本を出す前に、決めておくことがあります。

何が増えたのか Lambdaは3つの形に

AWSは今回、Lambdaを3つの形に整理しました。

形 動かし方 課金 向く用途
Event Functions イベントを1件ずつ受け取って処理する。これまでのLambda関数の新しい呼び名 リクエスト数と、実行した時間 イベントの処理、キューの処理、ほかのAWSサービスからの呼び出し
Web Functions(新しい形) ポートで待ち受けるHTTPサーバーを動かす。1つの環境が複数のリクエストを同時に処理する リクエスト数、実際に使ったCPU時間、環境があるあいだのメモリ、データ転送 Webアプリ、APIのバックエンド、対話型のHTTP処理
MicroVMs 利用者が寿命を管理する、隔離されたサンドボックス インスタンスの秒数 信頼できないコードや、利用者が作ったコードの実行

Event Functionsへの呼び名の変更について、AWSは「名前だけの変更で、既存の関数のコードの変更や再デプロイは要らない」と書いています。

Web Functionsでは、ExpressやNext.jsなどのNode.jsのフレームワークを、Lambda用の変換の部品(アダプター)なしで動かせます。Webの処理は、データベースやほかのAPIの返事を待つ時間が長くなりがちです。待っているあいだのCPUには課金しない、というのが料金の考え方です。

1つのコマンドで何が作られるか

AWSのブログは、aws lambda-web deploy という1つのコマンドで、事前の準備なしにURLまでできると紹介しています。ドキュメントによると、最初の実行で次のものが作られます。

  • コードを置くS3バケット(バージョニングを有効にしたもの。既にあれば使い、無ければ作る)
  • CloudWatch Logsに書き込む権限を持つIAMの実行ロール(同じく、無ければ作る)
  • Web Functionと、最初のリビジョン(コードと設定の、変更できない写し)
  • dev という名前のエンドポイント。1つのリージョンで動くHomeRegionの型で、新しいリビジョンへ自動で切り替わる設定

そして、このコマンドが作るエンドポイントの認証は、既定でApplicationManagedです。Lambdaは認証をせず、URLを知っている人はだれでも呼び出せます。ドキュメントは「既定では、スターターのエンドポイントは認証なしでリクエストを受け付ける。IAMの認可を求めるには --auth-type IamAuth を付ける」と書いています。

既定のリソースを作らせる場合、実行する人には、iam:CreateRole・iam:PutRolePolicy・s3:CreateBucket・s3:PutBucketPolicy などの権限が要ります。

編集部の補足です。開発者の手元の権限が広い会社では、情シスが知らないうちに、ロール・バケット・公開URLが1回のコマンドでそろいます。検証のつもりの dev が、そのまま外から開ける状態で残ることも考えられます。

公開の範囲 認証の型は2つ

エンドポイントごとに、認証の型を選びます。あとから変えることもできます。

型 Lambdaがすること 向く使い方
ApplicationManaged 認証も認可もしない。すべてのリクエストがアプリに届く。リソースベースのポリシーでも、呼び出す相手を絞れない だれでも見られるサイト。アプリの中で認証する場合
IamAuth リクエストの署名(SigV4。複数リージョンの共通ドメインはSigV4a)を確かめ、lambda:InvokeWebFunctionEndpoint の権限がある相手だけを通す システムどうしの呼び出し。CloudFrontの後ろに置く場合

ネットワークについて、ドキュメントに書かれている注意は次のとおりです。

  • エンドポイントのドメインは、インターネットから届きます。PrivateLinkのインターフェイスエンドポイントは使えません。
  • IamAuthは、呼び出せる相手を絞るものです。ネットワークの上でエンドポイントを非公開にするものではありません。
  • 独自ドメインとAWS WAFは、エンドポイントに直接は付けられません。必要なら、前にCloudFrontを置きます。
  • ApplicationManagedのままCloudFrontを前に置いても、エンドポイントのドメインへ直接来たリクエストは、CloudFrontとWAFを通りません。
  • CloudFrontからだけ受けるには、IamAuthにして、CloudFrontのOAC(オリジンアクセスコントロール)で署名させます。あわせて、自社のディストリビューションだけを許すリソースベースのポリシーを付けます。

組織で、認証なしのエンドポイントを止める

AWS Organizationsでアカウントをまとめている会社向けに、ドキュメントはSCP(サービスコントロールポリシー)の例を載せています。リクエストの中の認証の型を表す条件キー lambda:Request/WebFunctionAuthType が ApplicationManaged のとき、作成と更新を拒否する内容です。

AWSのドキュメントの「Restricting public endpoints in an organization」の節。条件キー lambda:Request/WebFunctionAuthType が ApplicationManaged のときに、CreateWebFunction・CreateWebFunctionEndpoint・UpdateWebFunctionEndpoint を拒否するSCPの例と、既定ではdeployコマンドがApplicationManagedのエンドポイントを作るという説明
ドキュメントのSCPの例。認証なしのエンドポイントの作成と更新を拒否する出典: Amazon Web Services「Lambda Web Function endpoint access control」(引用)

このSCPを入れると、aws lambda-web deploy は --auth-type IamAuth を付けない限り、アクセス拒否で失敗します。公開サイトを出すアカウントだけを対象から外す、という使い分けができます(使い分けの部分は編集部の補足です)。

費用 上限は既定では付かない

課金は、リクエスト数、実際に使ったCPU時間、環境があるあいだのメモリ、データ転送の4つです。メモリは、リクエストが来ていない待ち時間も、環境が残っているあいだはかかります。

2026年10月13日に料金ページで確かめた単価(Arm)は、次のとおりです。

項目 東京 バージニア北部
CPU(1 vCPU秒) 0.0000322421ドル 0.0000276944ドル
メモリ(1 GB秒) 0.0000042688ドル 0.0000036667ドル
リクエスト(100万件) 0.30ドル 0.30ドル

東京は、CPUとメモリがバージニア北部より約16%高い計算です(編集部の計算)。

AWSの料金ページには、試算の例が4つあります。1つ目は、サーバー側で画面を作るWebアプリです。月1,500万リクエスト、1件150ミリ秒のうちCPUを使うのが40ミリ秒、メモリは約500MB、環境が1つだけ動き続けるという前提で、バージニア北部では月25.78ドルです。同じ式に東京の単価を入れると、約29.27ドルになります(編集部の試算。無料枠とデータ転送は入れていません)。

気を付けたいのは、台数と流量の上限です。

設定 付ける場所 範囲 既定
maxConcurrencyPerEnvironment(1つの環境が同時に受けるリクエスト数の上限) リビジョン 1〜128 64
maxEnvironments(環境の数の上限。リージョンごと) エンドポイント 2〜10,000 なし
rateLimit(1秒あたりのリクエスト数の上限。リージョンごと) エンドポイント 0〜10,000 なし

maxEnvironments と rateLimit は、既定では設定されません。設定しない場合に効くのは、アカウントの上限(リージョンごと)だけです。

AWSのドキュメントのスケーリングのページ。maxEnvironmentsとrateLimitは任意の設定で既定では設定されないこと、アカウントの上限として1エンドポイント10,000 RPS・合計100,000 RPS・2,000 vCPU(1環境2 vCPU)が書かれている
ドキュメントの上限の説明。2つの上限は既定では設定されない出典: Amazon Web Services「Scaling behavior for Lambda Web Functions」(引用)
  • 1つのエンドポイントで、1秒あたり10,000リクエスト
  • アカウントの全エンドポイントの合計で、1秒あたり100,000リクエスト
  • vCPUは2,000まで。1つの環境が2 vCPUを使うので、計算上は1,000環境まで(編集部の計算)

編集部の補足です。認証なしの公開URLで、上限が既定のままだと、アクセスが急に増えたときに、アカウントの上限まで環境が増える余地があります。攻撃や、巡回するボットによるアクセスでも同じです。公開する前に rateLimit と maxEnvironments の値を決め、費用の通知も設定しておくと、請求で初めて気づくことを防げます。rateLimit を超えたリクエストには、HTTP 429が返ります。

動かせるもの・動かせないもの

開発の担当や委託先に、先に伝えておきたい条件です。

項目 内容
言語 Node.js 24(nodejs24.x)だけ。Java・Python・.NETなどは、Event FunctionsかMicroVMsを使う
CPU Arm64だけで、選べない。ネイティブのバイナリを含む部品は、Linuxのarm64向けのビルドが要る
1つの環境の大きさ 2 vCPU、メモリ2GB、一時ファイルの置き場(/tmp)は512MB
ランタイムの更新 セキュリティの修正は自動で当たる。パッチの版の固定も、自動更新の停止もできない
通信 エンドポイントはHTTPS(443番)だけ。アプリへはHTTP/1.1で届く。WebSocketへの切り替えは使えない
タイムアウト 1リクエスト3〜900秒。既定は30秒
起動と終了 サーバーは10秒以内に待ち受けを始める必要がある。終了のときは、SIGTERMのあと1秒で止められる
VPCへの接続 外向きの通信をVPCに通す接続は、HomeRegionの型のエンドポイントだけで使える
複数リージョン 共通のドメインで、遅延の小さいリージョンへ振り分ける。リージョンの状態を見て切り替える仕組みではない。型とリージョンは、作ったあとで変えられない
作る手段 コンソール、AWS CLI、CloudFormation、AWS SAM、AWS CDK、SDK

複数リージョンの型(MultiRegion)について、ドキュメントは「Lambdaは、ヘルスチェックにもとづくフェイルオーバーをしない」と書いています。災害対策の切り替えの仕組みとして見るのは避けてください。

もう1つ、運用で気づきにくい点があります。Lambdaは、リビジョンを作るときに、サーバーが待ち受けを始めたかどうかを確かめません。画面でActiveと出ていても、リクエストが失敗することがあります。公開の前に、実際にURLを開いて確かめる手順を入れておきます。

ログと監査 残るもの・残らないもの

記録 既定 情シスが決めること
管理の操作(CreateWebFunction・CreateWebFunctionEndpoint・UpdateWebFunctionEndpointなど) CloudTrailの管理イベントとして記録される。イベント履歴で過去90日分を見られる 90日より長く残すなら、証跡かイベントデータストアを作る
URLへのアクセス(InvokeWebFunctionEndpoint) 記録されない。CloudTrailのデータイベントの扱いで、取るには設定と追加の料金が要る 取るかどうか。複数リージョンのエンドポイントは、処理したリージョンごとに記録されるので、マルチリージョンの証跡にする
アプリのログ 標準出力と標準エラーが、CloudWatch Logsに送られる。ロググループは /aws/lambda/web/関数名 保持期間。既定では期限なしで残り続ける
コードと環境変数の暗号化 常に暗号化される。既定はAWSが持つ鍵 自社で管理する鍵(カスタマーマネージドキー)にするかどうか

アプリのログは、動いたリージョンごとの .local という名前のロググループに書かれてから、ホームリージョンのロググループに集められます。保持期間は、両方に設定します。ホームリージョンだけ直しても、各リージョンの .local のログは残り続けます。

影響する会社・しない会社

  • 影響する: AWSで、開発者にLambdaの広い権限を渡している会社。新しい操作のアクション名は lambda: で始まります。lambda:* のようにまとめて許可しているポリシーには、新しい操作も含まれます(編集部の補足)。
  • 影響する: Node.jsのWebアプリやAPIを、開発会社やフリーランスにAWSの上で作ってもらっている会社。委託先のアカウントや権限で、公開URLが作られることがあります。
  • 影響する: すでにLambdaでWebやAPIを動かしている会社。移すかどうかを比べる対象になります。
  • 影響しない(いまは): Node.js以外の言語で作っているアプリ。提供開始のときのランタイムは、Node.js 24だけです。
  • 影響しない: 既存のLambda関数。呼び名がEvent Functionsに変わるだけで、コードの変更や再デプロイは要りません。
  • 影響しない: AWSを使っていない会社。

情シスが今日やること

  1. もう作られていないかを確かめる。CloudTrailのイベント履歴で、イベント名 CreateWebFunction と CreateWebFunctionEndpoint を探します(過去90日)。Lambdaのコンソールの「Web Functions」でも一覧できます。提供中の5つのリージョン(東京・バージニア北部・オハイオ・オレゴン・アイルランド)をそれぞれ見ます。
  2. 認証なしの公開を、どのアカウントで許すかを決める。AWS Organizationsを使っているなら、ドキュメントのSCPの例を入れ、公開サイトを出すアカウントだけを対象から外します。
  3. Lambdaの権限を持つロールを洗い出す。lambda:* を許可しているポリシーと、iam:CreateRole・iam:PassRole・s3:CreateBucket を併せ持つロールを一覧にします。
  4. 公開するときの型を決めておく。CloudFrontを前に置き、IamAuthとOACで直接のアクセスを止める。rateLimit と maxEnvironments に値を入れる。費用の通知を設定する。この3点を、公開の前の確認項目にします。
  5. ログの扱いを決める。URLへのアクセスの記録(データイベント)を取るかどうかと、ロググループの保持期間です。
  6. 開発の担当と委託先に、上の「動かせるもの・動かせないもの」の条件を伝える。WebSocketを使うアプリや、Node.js以外のアプリは、そのままでは対象になりません。

書かれていないこと

確かめた資料に、次の点は書かれていません。

  • Node.js以外の言語や、x86への対応の時期
  • 提供するリージョンが増える時期。提供中のリージョンは、AWSの「AWS Capabilities by Region」のページで確かめられます
  • 円での料金。単価はドルです
  • 稼働率の保証(SLA)の対象かどうか

よくある質問

Qすでに使っているLambdaの関数に影響はありますか?

AAWSの発表では、これまでのLambda関数は「Lambda Event Functions」という呼び名に変わります。名前だけの変更で、コードの変更や再デプロイは要らないと書かれています。

QIAM認証(IamAuth)にすれば、社内だけに閉じられますか?

A閉じられません。ドキュメントは、IamAuthは呼び出せる相手を絞るもので、ネットワークの上でエンドポイントを非公開にするものではないと書いています。署名と権限のないリクエストは拒否されますが、ドメインはインターネットから届きます。PrivateLinkのインターフェイスエンドポイントは使えません。

QCloudFrontを前に置けば、URLへの直接のアクセスは止まりますか?

A認証なし(ApplicationManaged)のままでは止まりません。エンドポイントのドメインへ直接来たリクエストは、CloudFrontとAWS WAFを通りません。IamAuthにして、CloudFrontのOACと、自社のディストリビューションだけを許すリソースベースのポリシーを組み合わせます。

Q東京リージョンの料金はいくらですか?

A2026年10月13日に料金ページで確かめた単価は、CPUが1 vCPU秒あたり0.0000322421ドル、メモリが1 GB秒あたり0.0000042688ドル、リクエストが100万件あたり0.30ドルです。円での表示はありません。

出典・参考

チェック済み。この記事は監修者によってチェックされました。(2026年10月13日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします