本文へスキップ

AWS Emulatorを検証: 無料のローカルAWSはIAMチェックを素通り

AWS Emulator(AWSエミュレーター)は、Tech AI Wireのテストでポート9297で0.6秒で起動した。IAM権限を持たないユーザーでも、リソースの作成や削除ができた。

著者

4 分で読めます

英語の原文から機械翻訳したものです。原文はClaire Whitmoreが事実確認と編集を行いました。内容に相違がある場合は英語版が優先されます。 編集方針

GitHubのaws/aws-emulatorリポジトリページのスクリーンショット。CC0-1.0ライセンス、最新リリースv1.0.322、ファイル一覧が表示されている。

数字で見る

対応するAWSサービス数(Werner Vogels氏のブログより)
200+
エージェントが基にしたAWS APIモデルの数(Amazonより)
438
LocalStackの最安有料プランのライセンスあたり月額(年払い)
39ドル

AWSは2026年11月11日、AWSのサービスを開発者自身のコンピューターに再現する無料のプログラム、AWS Emulatorを公開した。AWSによると、コードはすべてAIエージェントが書いた。開発者とそのコーディングエージェントは、AWSの料金も本物のAWSアカウントもなしに、クラウド向けのコードを試せる。ただしTech AI Wireのテストでは、IAM権限は守られなかった。IAM権限とは、AWSアカウントで誰が何をしてよいかを決めるルールだ。つまりこのツールでは、そのルールが正しく働くかは確かめられない。

エミュレーターとは、本物のサービスと同じリクエストに応答するローカルの代用品のことだ。Werner Vogels氏のブログAll Things Distributedの記事によると、400を超えるAPIモデルを通じて200を超えるAWSサービスに対応する。Amazon自身の説明によると、コードはパブリックドメインへの献呈であるCC0の下でGitHubに公開されている。

AWSはエージェントでどう作ったか

「エミュレーターはすべて自律型エージェントが書いた。私たちのチームは、コードを一行も書いておらず、レビューもしていない」と、AWSのシニアプリンシパルエンジニアであるMatthew Goldberg氏はHelp Net Securityに語った。Goldberg氏によると、このプロジェクトは週末の実験として始まった。あるエージェントが、AWSのメッセージキューであるAmazon SQSの最初の版を15分で作ったという。

Help Net Securityによると、今は3つのエージェントのチームが作業している。1つ目はAWSの公開API仕様からテストを書き、本物のAWSで確かめる。2つ目はそのテストをエミュレーターに対して走らせる。3つ目は失敗した部分を直す。どの変更も、ビルド、コーディング規約、セキュリティ、忠実度を確かめるマージゲートを通る必要がある。忠実度とは、エミュレーターがどれだけAWSに近いかを指す。Goldberg氏は、438のAPIモデル、「数万」のテスト、そして1日に数千の問題を直す数百のエージェントを挙げている。

Vogels氏のブログの記事は、エンジニアの仕事はこうしたチェックを作ることに移ると論じる。「AI時代のソフトウェア品質は、エンジニアがエージェントの周りに設計するガードレールにかかっている」と記事は述べている。

Tech AI Wireのテスト: セットアップ、速度、権限

テストは、Apple siliconのMacでmacOS 26とDocker 28.4.0を使って行った。AWSは完成済みのイメージを公開していない。代わりにDockerガイドが短いDockerfileを示しており、Apple silicon向けにはArm用パッケージを使う。ビルドは65秒かかり、1.16 GBのイメージができた。中でaws-emulator -vを実行すると、バージョン1.0.322、リリース日2026.11.10と表示された。

--telemetry offを付けて起動すると、エミュレーターは0.6秒で準備ができた。ログが示したエンドポイントはhttps://127.0.0.1:9297で、自己署名証明書を使う。AWSの設定ファイルと認証情報ファイルも自分で書き出したので、AWS CLIは本物の鍵なしで接続できた。ログは、コンテナがすべてのネットワークインターフェイスで待ち受けていると警告した。AWSのガイドがポートを127.0.0.1だけに公開するのは、このためだ。

基本機能は、AWS CLI 2.24.16で動いた。AWSのファイルストレージであるS3では、バケット作成、アップロード、一覧表示がすべて成功した。SQSのキューは、メッセージを受け取って返した。AWSのキーバリュー型データベースであるDynamoDBでは、新しいテーブルにすぐ書き込むとResourceNotFoundExceptionで失敗した。テーブルがまだCREATINGの状態だったためだ。aws dynamodb wait table-existsの後は、書き込みも読み込みも動いた。全体の実行は7秒で、コンテナのメモリ使用量は174 MiBだった。

弱点は権限だった。すべてを拒否するバケットポリシーは、ダウンロードを403エラーで確かに止めた。しかし次に、ポリシーを1つも付けないIAMユーザーを作った。そのユーザーの鍵を使うと、3つの呼び出しがすべて成功した。

$ aws sqs list-queues
https://sqs.us-east-1.amazonaws.com/000000000000/taw
$ aws s3 mb s3://nobody-bucket
make_bucket: nobody-bucket
$ aws dynamodb delete-table --table-name taw
DELETING

これはAWS自身が警告している弱点だ。Help Net Securityによると、エミュレーターはIAMポリシーやリソースベースのポリシーをAWSと同じようには評価しない。そのためAWSは、セキュリティのテストには使わないよう求めている。再起動すると、ドキュメントのとおりすべてが消えた。docker restartの後、バケットの一覧は空だった。

AWS EmulatorとLocalStackの無料プランの比較

LocalStackも、AWSのサービスをローカルで動かすツールだ。その無料プランには、AWS Emulatorにはない条件が付いている。表はLocalStackの料金ページとAWS自身のページによる。

AWS EmulatorLocalStack Hobby(無料)
価格無料、サービス料金なし無料
登録テストでは不要アカウントが必要
商用利用制限の記載なし。コードはCC0不可:「趣味やその他の非商用利用向け」
最安の有料プラン記載なしBase、年払いでライセンスあたり月39ドル、月払いなら45ドル

開発者にとっての意味

AWS Emulatorは、アプリのテストを走らせたり、コーディングエージェントにAWSの呼び出しを試させたりするには、速くて無料の場所だ。誰が何をできるかを確かめる場所ではない。

  • 権限のテストは本物のAWSで行う。 ここでは権限のないユーザーがテーブルを削除できた。IAMのロールやポリシーは、検証用のAWSアカウントで試すこと。
  • localhostだけに公開する。 AWSのガイドのとおり、Dockerでは-p 127.0.0.1:9297:9297を使う。そうしないと、同じネットワークの誰でも呼び出せてしまう。
  • 必要ならテレメトリーを切る。 --telemetry offを付けるか、EMULATOR_TELEMETRY=offを設定する。既定ではオンだが、Help Net Securityによると、リクエスト、レスポンス、リソースのデータは送らない。
  • テストのたびにデータを用意する。 すべてはメモリ上にあり、再起動で消える。
  • 本物のコードと同じく、リソースの準備を待つ。 準備前のDynamoDBテーブルに書き込むテストは、ここでは失敗する。
  • サービスに頼る前に忠実度を確かめる。 AWSは、GitHubのリリースごとにサービス別の忠実度スコアを公開している。

AWSのテストを社内で動かすためだけにLocalStackに支払っているチームには、比べられる無料の選択肢ができた。ただし注意点はAWS自身が挙げるものと同じで、ここでテストが通っても、権限については何もわからない。

出典

  1. How autonomous AI agents built AWS Emulator - About Amazon
  2. AWS Emulator and the engineer's job when agents write the code - All Things Distributed
  3. AWS Emulator: Open-source tool for testing AWS apps locally, built by autonomous AI agents - Help Net Security
  4. Getting started with AWS Emulator in Docker - AWS Documentation
  5. LocalStack pricing - LocalStack

関連記事

通りから見たカプコンの研究開発ビル。茶色の高層オフィスビルで、頭上には電線が走っている。
開発ツール

Capcom、RE EngineをAI対応に作り直す計画「REX」を発表

Capcom(カプコン)は10月2日、27本以上のゲームに使われてきたRE Engineを、段階的にAI対応のエンジンへ変える計画「REX」を発表しました。構成要素のうち2つはオープンソース化されます。