Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS Emulatorを触ってみた
Search
sasayan
November 13, 2026
0
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Emulatorを触ってみた
sasayan
November 13, 2026
Transcript
14 slides
おそらく最速登壇 AWS Emulatorを触ってみた 2026/11/13 ささやん
自己紹介 ささやん(佐々谷 厚生) ・3年目 ・バックエンドエンジニア、AI開発推進(1、2年目) ・AWSを利用した基盤構築 ← NEW! 趣味:謎解き(謎屋珈琲行ってきたよ!)
話すこと ・AWS Emulatorの概要と特徴 ・ローカル環境での簡単な動作検証 ・エラーの再現性 ・検証からわかったメリットと制約事項 話さないこと ・詳細な導入や設定手順 ・具体的な実装コード
APエンジニアは悩んでいた ・製造したコードが実機で動くかわからない ・接続方式に間違いがないか ・そもそもどんな応答が返ってくるの ・単体試験なんてあってないようなもの(盛っています) 早く検証させてくれよ
そこでAWS Emulator ・AWS環境にアクセスなし、アカウントなしでAWS APIの動作を ローカル環境で再現・検証できるオープンソースのツール ・もちろんAIが作成したリソースも検証できる Kiro IDEの場合、、、 ➀Kiro IDE、Docker
Desktop、AWS CLI v2.35.0以降を用意 ②AWS Emulatorスキル導入(公式ドキュメントにコマンドあり) ➂Kiroに指示してDocker上にEmulatorを構築 https://docs.aws.amazon.com/emulator/latest/userguide/getting-started-agent.html?utm_source=chatgpt.com
AWS Emulatorの特徴 1.AWSアカウント不要でローカル検証 実際のAWSにリソースを作成せず、PC上で動作検証 2.AWS CLI・SDKをそのまま利用可能 接続先をEmulatorに変更することで、既存のAPI呼び出しを利用できる 3.AWSサービス料金なしで繰り返し検証 Emulatorの利用にAWSサービス料金は発生しない 個人的にこれアツい
(異常系処理で苦い経験あり) 4.AWSのエラー応答を再現 正常時の応答だけでなく、エラーコードやエラーメッセージも再現対象 5.AIエージェントと連携 KiroなどからEmulatorの構築・起動・テストを実行できる 6.オープンソースで継続的に改善 GitHubでソースコードと既知の問題を公開
検証Time ➀LambdaからS3にファイル保存し、別Lambdaから読み取る ②存在しないS3オブジェクトへのアクセス時に、 エラーコードに応じた条件分岐が正常に動作するか検証
デプロイ ・AWS CLIの接続先をAWS Emulatorへ向ける $env:AWS_ENDPOINT_URL = https://127.0.0.1:9297 接続先をローカルのAWS Emulatorに変更 $env:AWS_CONFIG_FILE
= "$env:USERPROFILE¥.aws¥emulator¥9297¥config" AWS Emulator用の設定ファイルを指定 $env:AWS_SHARED_CREDENTIALS_FILE ="$env:USERPROFILE¥.aws¥emulator¥9297¥emulator_credentials“ AWS Emulator用の認証情報ファイルを指定 $env:AWS_CA_BUNDLE ="$env:USERPROFILE¥.aws¥emulator¥9297¥ca.pem“ AWS EmulatorとのHTTPS通信で使用するCA証明書を指定 ・Lambdaコードをzip化 ・AWS CLIでリソース作成
検証➀ LambdaとS3の連携 put-file get-file AWS Emulator上で、Lambda関数で boto3(SDK)を利用してS3へファイル を保存・取得可能
検証② Lambdaから存在しないS3を参照 出力されるエラーが妥当であるか確認 get-file 2パターンの検証 LambdaにListBucketの権限あり → 404 NoSuchKey LambdaにListBucketの権限なし
→ 403 AccessDenied になるはず ※ListBucketはS3バケット内のオブジェクトの一覧を取得するためのIAM権限
検証② 想定していたHTTPStatusCode、Error.Codeに なっていることを確認
メリット ・接続先を環境変数に分離することで、 コードの変更なしで検証できる ・エラー処理を実際のClientErrorで検証できる ・料金がかからない ・実AWS環境での検証が必要となるIAM権限に応じた挙動も、 ローカルで確認可能 ・再実行を行いやすい
注意点 ・すべてのAWS動作を保証しない ・コンテナの停止でリソースが消える ・性能はローカル環境に依存する ・IAMポリシーなどの権限評価を完璧に再現していないので、 セキュリティ観点での検証には限界がありそう
まとめ ・AWS Emulatorを利用することで、 ローカルにて挙動確認を簡単に行うことができる ・連携部分だけでなく、エラー処理にも有効 ・実際のAWS環境を完全に再現できているわけではない ・開発時の早期検証には有効だが、 最終確認は実環境で行う必要がある(当たり前ですが、、、)
More Decks by sasayan
See All by sasayan
Lambda共通処理の管理
sasayan
0
5
Cognitoのカスタム認証とAmazon Rekognitionで顔認証をやってみた!
sasayan
0
18
はじめてのくらうどりふとみつもり
sasayan
0
28
CognitoのLambdaトリガーで認証処理をカスタマイズ!
sasayan
2
53
Kiroを使って「仕様」から「デプロイ」まで丸ごとやらせてみた
sasayan
1
94
オーソライザーを用いた存在証明
sasayan
0
57
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
770
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Language of Interfaces
destraynor
162
27k
Tell your own story through comics
letsgokoyo
1
1.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Building the Perfect Custom Keyboard
takai
2
960
How to make the Groovebox
asonas
2
2.6k
The Cost Of JavaScript in 2023
addyosmani
56
10k