はじめに
ある日 SNS を眺めていたら、「AWS CLI の changelog に lambda-web なんてエントリがある」という話が流れてきました。
AWS Lambda の新サービスか?と思い調べたのですが、結果的にはまだ使えないサービスでしたが、せっかく調べたのでブログにしておきます。
あくまで未提供のサービスなので、ただの読み物だと思ってみていただければ。
この記事で学べること
- AWS CLI の changelog に「GA launch」として現れた直後に「未提供」と訂正された
lambda-web(AWS Lambda Web Functions)のお話し
前提知識・条件
- 検証日: 2026 年 10 月 8 日。boto3 1.43.109 / us-east-1(米国東部(バージニア北部)リージョン)で確認しました
- 以下はあくまで調査時点の情報です。
lambda-webは未提供サービスです
AWS Lambda Web Functions とは?
初出は AWS CLI v2.37.8 の changelog です。
lambda-web はここで初めて登場します。「GA launch(一般提供開始)」と書いてあって、デプロイ用のコマンドまで追加されていました。
[
{
"category": "``lambda-web``",
"description": "Lambda Web Functions GA launch. Lambda Web Functions enable customers to run web applications and API backends",
"type": "api-change"
},
{
"category": "``lambda-web``",
"description": "Added ``aws lambda-web deploy`` to create or update an AWS Lambda Web Function from a local HTTP application.",
"type": "enhancement"
}
]
次の v2.37.9 で、こんな注記が後追いで入ります。
「experimental(実験的)で not yet available to external customers(外部顧客にはまだ提供されていない)」と書いてあります。
1 つ前では「GA launch」だったのに、直後に「実はまだ使えない」と訂正が入りました。
{
"category": "``lambda-web``",
"description": "Documentation update for AWS Lambda Web Functions, clarifies that the LambdaWeb APIs are experimental and not yet available to external customers.",
"type": "api-change"
}
さらに次の v2.37.10 では、GA になっていない Operation(API の操作。deploy のような 1 つ 1 つの呼び出し単位)が、モデル(SDK/CLI がサービスの API 定義を持つファイル。ここから各言語の SDK やコマンドが生成される)から削除されます。
{
"category": "``lambda-web``",
"description": "Removes operations that are not yet generally available from the Lambda Web.",
"type": "api-change"
}
まだ正式なドキュメントはないのですが、AWS SDK for JavaScript v3 のリファレンスに説明文が載っていました。
AWS Lambda Web Functions let you run web applications and APIs as HTTP servers on Lambda. A web function has one or more immutable revisions (code and configuration) and one or more endpoints that expose it over HTTPS.
ここは公式の説明文ですが、lambda-web が「GA launch」として現れた v2.37.8、および experimental 注記が加わった v2.37.9 の間にのみ記載されている内容です。
この経緯は 以下で履歴で追えます。
概要文で使われている用語を分解すると、こうなります。
- Web Function: Web アプリや API そのもの
- Revision: コードと設定のかたまり。immutable(不変)と明記されている
- Endpoint: それを HTTPS で外に公開する口。1 つの Function に複数持てる
調べてみた
Step 1: CLI にはまだ無い、boto3 にはある
まず手元の AWS CLI で lambda-web が使えるか見てみます。少し古い v2.34.37 だと、そもそもサービスとして存在しませんでした。
$ aws lambda-web help
Invalid choice: 'lambda-web', maybe you meant:
* lambda
lambda-web の初出は v2.37.8 なので、それより古いこの CLI には入っていません。一方、boto3 の最新モデルには収録されています。Python から覗くとクライアントが作れました。
import boto3
client = boto3.client("lambda-web", region_name="us-east-1")
print(client.meta.service_model.operation_names)
['GetWebAccountSettings']
公開されている Operation は GetWebAccountSettings の 1 つだけでした。
Step 2: GetWebAccountSettings を叩いてみた
唯一の Operation、GetWebAccountSettings を実際に呼び出してみます。アカウントのクォータや使用状況を返す、引数なしの読み取り系 API です。
import boto3
client = boto3.client("lambda-web", region_name="us-east-1")
resp = client.get_web_account_settings()
print(resp)
AdministratorAccess を持つアカウントで実行したのですが、返ってきたのは 403 でした。
botocore.exceptions.ClientError: An error occurred (AccessDeniedException)
when calling the GetWebAccountSettings operation:
Unable to determine service/operation name to be authorized
権限不足のエラーに見えますが、文面が通常と違います。
普通、IAM の権限が足りなくて 403 になるときは User ... is not authorized to perform: lambda-web:GetWebAccountSettings のように、「あなたにはこの操作の権限がありません」と出ます。
ところが今回は Unable to determine service/operation name to be authorized、つまり「認可対象としてサービス/オペレーション名を解決できない」。
権限が無いのではなく、そもそも外部向けエンドポイントに lambda-web の認可定されていない感じですね?
まとめ
今回分かったことを整理します。
-
lambda-web(AWS Lambda Web Functions)は AWS CLI v2.37.8 の changelog に「GA launch」として現れたが、直後の v2.37.9 で「experimental で外部顧客には未提供」と注記が入り、v2.37.10 では GA 前の Operation がモデルから削除された - 公式説明によれば、Web アプリ/API を HTTP サーバーとして Lambda 上で動かすもので、Function → immutable Revision → Endpoint の 3 層構造
- 唯一公開されている
GetWebAccountSettingsを叩くと、権限不足とは文面の違う 403(Unable to determine service/operation name to be authorized)が返った
何かベストプラクティスが変わるようなサービスになりそうで、今後の情報が楽しみですね!