AWS エミュレーター

2026/11/12 3:21

AWS エミュレーター

RSS: https://news.ycombinator.com/rss

要約▶

日本語翻訳:

AWS Emulator は、実際の AWS アカウントが必要なく、サービス料金も発生しないローカルソリューションとして、AWS API に対するソフトウェアテストを提供します。リクエストを実際のサービスではなくローカルにルーティングします。ローカルマシン、開発サーバー、CI エンバーメント上で動作し、Server モード(CLI/SDK を使用、AI エージェントには AWS CLI v2.35.0+ が必須)、Embedded モード(Rust バイナリに直接統合)、および direct integration の 3 つの柔軟なモードをサポートします。グラフィカルインターフェースは備えていませんが、環境変数または直接的な HTTP クライアントコールによる設定で利用可能です。インストールには重要な前提条件が必要です:Rust ツールチェーン、C コンパイラ、少なくとも 100 GB のディスクスペース、マルチコアプロセッサ。Linux ユーザーはソースからビルド可能(x86_64/aarch64)ですが、Windows と macOS ユーザーは Docker を使用する必要があります。Cold full build はすべての crates をコンパイルしますが、その後の増分ビルドの方が高速です。Embedded モードも同様のビルドコストがかかります。デフォルトでは

127.0.0.1:9297
で HTTPS を提供し、自己署名証明書を使用します。Telemetry はデフォルトで有効となり、最小限の使用データを収集しますが(認証情報やコンテンツは除外)、CLI フラグ、環境変数、または構成ファイルによって無効にできます。本ソフトウェアは開発およびテスト用途のみを想定しており、本番環境またはセキュリティ用途には使用しないでください。ライセンスは CC0 1.0 Universal です(ベンダーコードについては Apache 2.0 の例外あり)。問題は GitHub Issues を通じて報告されます。

本文

AWS エミュレーター - ユーザーガイド

AWS エミュレーター は、ローカル環境で動作する AWS API エミュレーター です。本番 AWS を呼び出すことなく、ご自身のマシンや CI 環境上でソフトウェアを検証できます。

  • ✅ AWS アカウント不要
  • ✅ 追加コストなし(本番デプロイ時は通常の AWS リソース料のみ)
  • ⚠️ テスト・開発用(本番ワークロードやセキュリティ検証には使用しないでください)

🚀 クイックスタート

AI コーディングエージェントとの連携

aws-emulator
スキルをインストールし、エージェントにセットアップを指示します。 必要条件: AWS CLI バージョン 2.35.0 以降

aws agent-toolkit add-skill --skill-name aws-emulator --region us-east-1

サーバーモード(CLI / SDK)

  • Linux: RPM または Debian パッケージをインストール。
  • Windows / macOS: Docker コンテナを使用して実行(推奨)。

環境変数設定: SDK をエミュレーターに指し示すには、起動後以下の環境変数を設定します。

埋め込みモード(Rust テスト用)

dev-dependency
として追加し、テストプロセス内で個別インスタンスを動作させます。

  • メリット: エンドポイント URL や証明書の設定不要。
  • 仕組み: SDK クライアントとエミュレーターの HTTP クライアントを直接結び付けます。

⚠️ 既知の問題点

サービスとの互換性については、[リリースページの忠実度(Fidelity)スコア] をご確認ください。

問題の管理

詳細は [AWS エミュレーターとプロジェクトの互換性の確認] を参照してください。


🛠 ソースからのビルド

修正、チェックアウト状態での実行、または埋め込みモード使用时に必須です。 Linux 限定:

x86_64
および
aarch64
アーキテクチャ対応。 (Windows / macOS は Docker の使用を推奨)

📋 前提条件

  • Rust ツールチェーン (rustup を経由)
  • C コンパイラ (GCC や clang 等) - 一部依存パッケージのビルドに必要
  • 空き容量:
    target/
    ディレクトリ用に少なくとも 100 GB(全サービス含めると大容量になります)
  • マルチコア CPU - フルビルドは時間がかかりますが、その後の再ビルドは高速です

🏗 ビルドと実行

cargo build -p aws-emulator-router
# 実行コマンド
cargo run   -p aws-emulator-router

エミュレーターは

127.0.0.1:9297
で HTTPS(自己署名証明書)を提供します。

💰 埋め込みモードのビルドコスト

プロジェクト初回の

cargo test
では、エミュレーターの全サービスがビルドされます。

  • 対応策: 共通の
    CARGO_TARGET_DIR
    を再利用し、CI で
    target/
    をキャッシュ(または
    sccache
    )します。
  • 推奨: エミュレーターをリリースコミットにピン留めし、不要な再ビルドを防ぎます。

📂 リポジトリ構成

.
├── Cargo.toml              # ワークスペース定義(コア crate + サービス各 1 つ)
├── services/
│   └── service-<name>/     # サービス個別ディレクトリ
│       ├── smithy-model/   # ウェアプロトコル駆動の Smithy モデル
│       ├── build.rs        # モデルからサービス宣言生成
│       └── src/
│           ├── service.rs  # リクエストルーティング・拒否処理
│           ├── state.rs    # メモリ内状態管理
│           └── ops/        # オペレーション別ファイル
├── core/
│   ├── router/             # エミュレーターバイナリ(単一エンドポイントマウント)
│   └── embedded/           # プロセス内ファサード(埋め込みモード用)
├── vendor/                 # フレームワーク crate(編集禁止・更新時に置換)
└── issues/                 # 忠実度に関する問題追跡

📊 テlemetry(利用状況の収集)

デフォルトでは有効。 AWS に使用方法データを送信します。 収集内容はデータ最小化原則に基づき、個人情報・認証情報・コード内容等は含まれません。

❌ 無効化する設定方法

1. コマンドラインオプション(プロセス単位)

aws-emulator --telemetry off
# 短縮形
aws-emulator -t off

2. 環境変数(シェルセッション全体)

export EMULATOR_TELEMETRY=off
aws-emulator
  • 有効値:
    on
    ,
    true
    ,
    1
  • 無効値:
    off
    ,
    false
    ,
    0
  • その他: 警告表示と共に自動無効化されます。

3. 設定ファイル(マシンの全実行用)

.aws/emulator/config.toml
に以下を追加します。

[telemetry]
enabled = false
  • パス: Linux/macOS:
    ~/.aws/emulator/config.toml
    | Windows:
    %USERPROFILE%\.aws\emulator\config.toml

4. 埋め込みモード(Rust API)

use aws_emulator_embedded::{AwsEmulatorEmbedded, EmbeddedOptions, Telemetry};

fn main() {
    let emulator = AwsEmulatorEmbedded::new(
        EmbeddedOptions::default()
            .telemetry(Telemetry::Off) // オフ設定
    );
}

📝 問題報告と貢献

  • 報告先: GitHub Issues
  • 記載事項: サービス名、オペレーション、SDK バージョン、差分内容など。
  • PR について: このリポジトリでは PR を受け付けていません。

📜 ライセンス

  • 本ソフトウェア: CC0 1.0 Universal
  • vendor/ フォルダ内コード: Apache License 2.0
  • ※詳細は
    vendor/README.md
    および
    LICENSE
    を参照してください。

同じ日のほかのニュース

一覧に戻る →

2026/11/11 16:03

Tim Peters が死去した

## Japanese Translation: Tim Peters の死去は、愛称「Timbot」として親しまれる彼が Python の歴史の基盤となる柱の一つを失ったことを象徴する。2001 年から 2014 年まで Python Software Foundation のステアリングコミーティーに在籍したピボタルフイグである Peters は、Python コードを実行した第 2 号人物であり、かつその核心メカニズムの主要な設計者の一人でもあった。彼の技術的遺産は膨大で、言語そのものを共設計し、「Python の禅」 (PEP 20) を著述し、Java および Android システムで標準となっている効率的なソートアルゴリズムである Timsort を開発した。これらのハイライトに加えて、pymalloc の改良、Py_ADDRESS_IN_RANGE や循環ガベージコレクターといった内部コンポーネントの最適化、簡易的なジェネレーターの基盤作りなどを行い、float オブジェクト、math モジュール、dict の最適化、weakref.txt、difflib、pickletools、tabnanny、doctest といった多くの必須モジュールにも寄与した。キャリア初期には Cray Research でスーパーコンピューター用のコンパイラ開発に携わり、Dragon Systems で音声認識ソフトウェアを開発した。彼のコード以外にも、彼はその忍耐強くユーモアに富んだメーリングリスト上の指導を通じてコミュニティを形作り、創業者である Guido van Rossum のスタイルによく似ていたことで知られ、「Timbot」という愛称もこの評判を反映している。彼は Python が int と float の間での混合演算をサポートするよう主張した。行政的な対立によってリーダーシップからの退任およびその後のステアリングコミーティーによる禁止措置を受けることとなったが、同僚らはそれを機に開発者の自由な支援を手放しなかったことを指摘している。

2026/11/12 6:24

ユナイテッド航空が、旅行者代わりのフライト予約においてAIエージェントの使用を禁止しました

## Japanese Translation: ユナイテッド航空は、フライトの予約やチェックインを実行することを人工知能(AI)エージェントから厳格に禁止しており、シームレスな自動化よりもセキュリティを最優先しています。この決定的な措置は、連邦法違反を防ぎ、支払い詳細や認証情報など、不正な AI ツールによって晒される可能性のある機密顧客データを保護することを目的としています。航空会社はまた、自律型エージェントが意図せぬ購入やマイレージプラスマイルの誤用を引き起こすことを懸念しており、AI によるチェックインは荷物验证を対面で行うことを要求する規制に違反する可能性もあるとしています。スウェーショアのような競合他社(フライト在庫を人気チャットボットに表示することを許可している)とは異なり、ユナイテッドはこれらのツールに対する直接予約チャンネルを即座に閉鎖しています。Google Flights などの集約プラットフォームを通じた通常の検索は引き続き利用可能ですが、高度な AI ボットを使用してチケットを予約したりチェックインを試みる場合は、人間による介入が必要となります。業界の分析家は、この変化が、AI ボットによって引き起こされる検索急増に伴う高いコストを回避し、顧客データに対する厳格な制御を維持することを目指すユナイテッドの意向を反映していると考えています。結局のところ、自動化された旅行管理ソリューションに依存している企業のワークフローを妨げることになっても、規制遵守を確実にするためにより航空会社はそのポリシーを調整しています。

2026/11/12 7:34

スプラッターのうち 93% が有効な Perl プログラムである(2019)

## Japanese Translation: はい。キーポイントリストの完全性をよりよく反映するために、改善されたバージョンではコード中发现された非標準文字列の具体例を、一般統計および刊行情報と併せて含んでいます。 **改善後の要約:** 本ユーモアあふれる論文は、光学文字認識(OCR)によって解釈された無作為の絵具飛び散りを、有効な Perl プログラムとして機能するかどうかを検討しています。2019 年 4 月 1 日、ピッツバーグで開催された SIGBOVIK で発表された本研究では、これらの無作為な画像のうち約 93%が有効なコードとして正しくパースされることが結論付けられ、言語が視覚的なノイズに対して寛容であることが強調されています。著者らは絵具飛び散り画像 100 件のデータセットを発表し、対応するソースコードを含む補助 tarball を提供しています(無効なケースは赤色でマーク)。7 つの具体的な例において、飛び散りが有効なコードを形成しない場合が示されていますが、その他にも驚くべき結果を生じる例があります。例えば、一部の画像は「0」といった単純な数値としてパースされます(「-*?」や「lerzfijglpFiji-j」などの文字列から)。また、他の例は「c」、「E__」、または「;i;c;;#\\?z{;?;;fn':.,」といった特定の文字列として評価されます。本作品は、そのユニークなアートのアプローチにより、無自覚参加リボンを受賞し、提出期限後にも発見された追加の興味深い成果を含む誤植も記載されています。完全な論文内容は会議資料の 174 ページにあります。ただし、著者がプラットフォームとの個人的な困難を抱えているため、特定のソースコードは現在 GitHub にホストされていません。

AWS エミュレーター | そっか~ニュース