【アップデート】サーバーレス開発を効率化できる Agent Plugin for AWS Serverless がリリースされました!

【アップデート】サーバーレス開発を効率化できる Agent Plugin for AWS Serverless がリリースされました!

2026.03.26

こんにちは、フニです。

本記事では、AI コーディングアシスタント向けの Agent Plugin for AWS Serverless が新たにリリースされ、Lambda を中心としたサーバーレス開発をより効率的に進められるようになったアップデートについてご紹介します。

アップデート概要

AI コーディングアシスタント向けの新しいプラグイン「Agent Plugin for AWS Serverless」がリリースされました。
このプラグインは、Agent Skills と MCP(Model Context Protocol)サーバーを単一のモジュールにパッケージ化したもので、AWS Lambda を中心としたサーバーレス開発におけるベストプラクティスを AI アシスタントが自動的に適用できるようになります。

これまで、サーバーレスアプリケーションの開発では、Lambda 関数の作成、EventBridge などのイベントソース統合、API Gateway の設計、SAM/CDK によるインフラ構築など、多くのコンポーネントに関する知識が必要でした。
プラグインを導入すると、AI アシスタントがこれらの構成に関するベストプラクティスを自動的に提案・適用してくれるようになります。

Lambda 関数の作成からローカルテスト、CI/CD パイプラインの構築まで、開発ワークフロー全体をカバーできますので、サーバーレスアーキテクチャの設計・実装を日常的に行うエンジニアにとって特に嬉しいアップデートです。

プラグインは Claude Code、Cursor、Kiro などの AI コーディングアシスタントに対応しています。
詳細は以下の公式ドキュメントをご参照ください。

https://aws.amazon.com/about-aws/whats-new/2026/03/agent-plugin-aws-serverless/
https://github.com/awslabs/agent-plugins

やってみた

前提

  • Claude Code がインストール済みであること
  • SAM CLI がインストール済みであること
  • AWS CLI がインストール済みで、十分な権限が設定済みであること

Claude Code へのプラグインインストール

Claude Code を起動し、以下のコマンドを実行して、Agent Plugins for AWS プラグインをインストールします。

/plugin marketplace add awslabs/agent-plugins

CleanShot 2026-03-26 at 13.44.20@2x.png

/plugin install aws-serverless@agent-plugins-for-aws

CleanShot 2026-03-26 at 13.48.10@2x.png

インストールが完了すると、サーバーレス関連の Agent Skills が利用可能になります。
Claude Code を再起動し、/mcp コマンドから適用できていることを確認してください。

CleanShot 2026-03-26 at 13.53.13@2x.png

CleanShot 2026-03-26 at 13.49.47@2x.png

Lambda 関数の作成(プラグイン活用)

  1. Claude Code 上で、作成したい Lambda 関数の要件を自然言語で伝えます。例えば、以下のように入力します。
S3 を作成する Lambda 関数を作成してください。

CleanShot 2026-03-26 at 15.28.52@2x.png

プラグインにより、Lambda 関数のコードがベストプラクティスを適用した状態で生成されます。

作成されたコードの例

import json
import logging
import boto3
from botocore.exceptions import ClientError

logger = logging.getLogger()
logger.setLevel(logging.INFO)

s3_client = boto3.client("s3")


def lambda_handler(event, context):
    """S3バケットを作成するLambda関数"""

    # イベントからバケット名を取得
    bucket_name = event.get("bucket_name")
    if not bucket_name:
        return {
            "statusCode": 400,
            "body": json.dumps({"error": "bucket_name は必須パラメータです"}),
        }

    # リージョンを取得(デフォルトはLambdaの実行リージョン)
    region = event.get("region", context.invoked_function_arn.split(":")[3])

    try:
        # バケット作成パラメータ
        create_params = {"Bucket": bucket_name}

        # us-east-1以外の場合はLocationConstraintを指定
        if region != "us-east-1":
            create_params["CreateBucketConfiguration"] = {
                "LocationConstraint": region
            }

        # S3バケットを作成
        s3_client.create_bucket(**create_params)
        logger.info("バケット %s を作成しました", bucket_name)

        # パブリックアクセスをブロック
        s3_client.put_public_access_block(
            Bucket=bucket_name,
            PublicAccessBlockConfiguration={
                "BlockPublicAcls": True,
                "IgnorePublicAcls": True,
                "BlockPublicPolicy": True,
                "RestrictPublicBuckets": True,
            },
        )
        logger.info("パブリックアクセスブロックを設定しました")

        # バケット暗号化を有効化(SSE-S3)
        s3_client.put_bucket_encryption(
            Bucket=bucket_name,
            ServerSideEncryptionConfiguration={
                "Rules": [
                    {
                        "ApplyServerSideEncryptionByDefault": {
                            "SSEAlgorithm": "AES256"
                        }
                    }
                ]
            },
        )
        logger.info("サーバーサイド暗号化を設定しました")

        return {
            "statusCode": 200,
            "body": json.dumps(
                {
                    "message": f"バケット {bucket_name} を作成しました",
                    "bucket_name": bucket_name,
                    "region": region,
                }
            ),
        }

    except ClientError as e:
        error_code = e.response["Error"]["Code"]
        error_message = e.response["Error"]["Message"]
        logger.error("エラー: %s - %s", error_code, error_message)

        return {
            "statusCode": 500,
            "body": json.dumps(
                {"error": error_code, "message": error_message}
            ),
        }
  1. 生成されたコードには、SAM テンプレートまたは CDK コードも含まれており、インフラストラクチャのデプロイも一括で行えます。

例えば、SAM テンプレートを作成したい場合 Claude Code 上で以下のように入力します。

SAM テンプレートを作成してください

CleanShot 2026-03-26 at 15.29.26@2x.png

作成されたコードの例

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: S3バケットを作成するLambda関数

Globals:
  Function:
    Timeout: 30
    Runtime: python3.12
    MemorySize: 128

Resources:
  S3CreatorFunction:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: s3-bucket-creator
      Handler: lambda_function.lambda_handler
      CodeUri: .
      Description: S3バケットを作成するLambda関数
      Policies:
        - Statement:
            - Effect: Allow
              Action:
                - s3:CreateBucket
                - s3:PutBucketPublicAccessBlock
                - s3:PutEncryptionConfiguration
              Resource: "arn:aws:s3:::*"

Outputs:
  S3CreatorFunctionArn:
    Description: Lambda関数のARN
    Value: !GetAtt S3CreatorFunction.Arn
  S3CreatorFunctionName:
    Description: Lambda関数名
    Value: !Ref S3CreatorFunction

動作確認

  1. SAM CLI を使用してデプロイします。
sam deploy --guided
  1. デプロイ設定を入力します。今回は以下のように設定しました。
  • Stack Name [sam-app]: S3CreateFunction
  • AWS Region [ap-northeast-1]: ap-northeast-1
  • Confirm changes before deploy [y/N]: y
  • Allow SAM CLI IAM role creation [Y/n]: y
  • Disable rollback [y/N]: y
  • Save arguments to configuration file [Y/n]: y
  • SAM configuration file [samconfig.toml]: samconfig.toml
  • SAM configuration environment [default]: default
  1. デプロイにより、AWS アカウントにリソースが作成されたことを確認します。

今回は CloudFormation スタックにより、Lambda 関数と IAM Role などが作成されました。

CleanShot 2026-03-26 at 15.18.14@2x.png

CleanShot 2026-03-26 at 15.21.02@2x.png

  1. 作成された Lambda のテストイベントから実行してみます。
{
  "bucket_name": "s3-create-function-hwang",
  "region": "ap-northeast-1"
}

CleanShot 2026-03-26 at 15.23.04@2x.png

  1. S3 バケットが作成されたことを確認します。

CleanShot 2026-03-26 at 15.26.00@2x.png

注意点

  • プラグインは AI アシスタントのコンテキストに基づいて提案を行うため、生成されたコードは必ずレビューしてからデプロイしてください
  • Claude Marketplace からのインストールには、Claude Code の対応バージョンが必要です
  • Lambda 関数のデプロイには通常の AWS 利用料金が発生します

さいごに

今回は、Agent Plugin for AWS Serverless のリリースにより、AI コーディングアシスタントを活用したサーバーレス開発がどのように効率化されるかをご紹介しました。

Lambda を中心としたサーバーレスアーキテクチャの設計・実装において、ベストプラクティスの適用を自動化できる点は、開発生産性の向上に大きく貢献するアップデートだと感じます。

この記事が誰かの助けになれば幸いです。

参考

https://aws.amazon.com/about-aws/whats-new/2026/03/agent-plugin-aws-serverless/
https://github.com/awslabs/agent-plugins

この記事をシェアする

FacebookHatena blogX

関連記事