1
0

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 の新サービス Lambda Web Functions を SDK から覗いてみた

1
Posted at

はじめに

ある日 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)が返った

何かベストプラクティスが変わるようなサービスになりそうで、今後の情報が楽しみですね!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?