AWS を使う開発では、ローカルで動かしたいのに「本物のクラウドに繋ぐしかない」場面がつきまといます。アカウントと課金、認証トークン、ネット接続——テストや CI のたびにこれらが要るのは重い。Floci(フロッチ)は、その AWS 互換サービスをローカルで動かすエミュレータで、README いわく「a free, open-source local AWS emulator for development, testing, and CI」。使い方は、SDK や CLI、Terraform、CDK の向き先を http://localhost:4566 に変えるだけ、というものです。本記事は、リポジトリを clone して版・構成・ライセンスを実測したうえで、何ができて何が未検証かを整理します(起動の実行までは本記事では行っていません=後述)。
先にお伝えすると、Floci にユーザー向けの AI 機能はありません。当サイトは AI 系 OSS と OSS セキュリティを扱いますが、本記事は読者からの明示依頼を受けて、隣接する開発者向け OSS として取り上げます。AI 的な切り口を無理に付けることはしません。
REAL AWS vs LOCAL向き先を変えるだけ
実AWSに繋ぐ開発から、localhost:4566 に向ける開発へ
従来(実AWS)
- クラウドアカウントと課金が要る
- 認証トークン・ネット接続が前提
- 検証のたびに本物のリソースを作る
- CI でも本物に繋いで遅い・金がかかる
Floci(ローカル)
- localhost:4566 に向けるだけ(SDK/CLI/Terraform/CDK)
- アカウント・認証トークン不要、認証情報はダミーで可
- オフラインで動く・無料(MIT)
- 起動は Docker か単体バイナリ floci-aws
30秒でわかる
- ・何か:ローカルで動くAWS 互換エミュレータ(Java/Quarkus 製・v2.4.0・MIT・ポート4566)。LocalStack の drop-in 代替を名乗る
- ・使い方:SDK/CLI/Terraform/CDK の向き先を
localhost:4566に変えるだけ。アカウント・認証トークン不要、認証情報はダミーで可 - ・実測:clone して v2.4.0・MIT・Java 25/Quarkus・対応サービスの docs を確認(起動の実行は未実施=未検証)
- ・注意:忠実度は対象ごとに濃淡(stub・定型応答あり)。ベンチや「LocalStack 終了」は README 公称で未検証
Floci とは——「向き先を変えるだけ」のローカル AWS
README の定義は明快です——「Floci is a free, open-source local AWS emulator for development, testing, and CI.」。そして「It gives you AWS-shaped services on your machine without requiring a cloud account, an auth token, or paid feature gates.(クラウドアカウント・認証トークン・有料機能ゲート無しで、AWS 形のサービスを手元に)」。認証情報は「any non-empty values(空でなければ何でもよい)」で済み、リージョンは公開されている任意のものが使えます。
実体は Java 25 / Quarkus 製で、現行版は 2.4.0(2026-10-31)、ライセンスは MIT。待ち受けポートは 4566——これは LocalStack と同じポートで、「drop-in replacement(イメージを差し替えればそのまま使える)」という主張に沿っています。配布は Docker イメージ(floci/floci:latest)に加え、ランタイム不要の単体ネイティブバイナリ(floci-aws)も Linux/macOS/Windows 向けに用意されており、CI のジョブに1ファイル置いて走らせる、といった使い方を想定しています。README は「development, testing, and CI」を用途に挙げ、起動の速さ(ミリ秒級)を CI 適性の根拠として強調しています(速度は後述のとおり公称値)。GitHub のスター数は執筆時点で約 30.9k(fork 3.4k)でした(star・コミットは変動するので最新は GitHub で確認してください)。
HOW TO USE使い方の流れ
起動 → エンドポイントを向ける → いつものツールのまま
-
起動する
Docker(image: floci/floci:latest、ports 4566)か単体バイナリ floci-aws / floci start。Lambda・RDS 等は実 Docker を使うため docker.sock をマウント
-
エンドポイントを向ける
AWS_ENDPOINT_URL=http://localhost:4566、認証情報はダミー(AWS_ACCESS_KEY_ID=test 等)。aws --endpoint-url http://localhost:4566 でも可
-
いつものツールで使う
AWS SDK・CLI・Terraform・CDK・OpenTofu・テストスイートをそのまま。Web コンソールは /_floci/ui
Floci の使い方——起動して、エンドポイントを向ける
起動は2通りです。Docker なら公式イメージ floci/floci:latest を使い、ポート 4566 を公開します。Lambda や RDS などは実 Docker を内部で起動するため、Docker ソケットをマウントします(README 記載の形)。
# docker-compose.yml(README の例)
services:
floci:
image: floci/floci:latest
ports:
- "4566:4566"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Docker を使わない単体バイナリ floci-aws(Linux/macOS/Windows)もあり、公式 CLI の floci start で起動できます。
# Docker を使わない単体バイナリ(README 記載・本記事では未実行)
floci start # Floci を起動
eval "$(floci env)" # AWS_ENDPOINT_URL などを今のシェルに設定
あとは、ツールのエンドポイントを 4566 に向けるだけです。
# AWS CLI / SDK の向き先をローカルに
export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_ACCESS_KEY_ID=test # ダミーで可
export AWS_SECRET_ACCESS_KEY=test
# いつもの操作がそのまま通る(例:S3 バケット作成)
aws --endpoint-url http://localhost:4566 s3 mb s3://my-bucket
AWS SDK・CLI だけでなく、Terraform・CDK・OpenTofu・各種テストスイートも同じエンドポイント差し替えで使えると README は述べます。Web コンソールは http://localhost:4566/_floci/ui で、初回アクセス時にサイドカーのコンソールイメージ(floci/floci-ui)を起動する作りです。保存は既定でメモリ(FLOCI_STORAGE_MODE で persistent / hybrid / wal も選べます)。
ここは正直に:上記コマンドは README 記載のもので、本記事の環境では Floci の起動までは実行していません(Docker 実行や CLI 取得が要るため)。確認したのは、リポジトリの clone・版(pom.xml の 2.4.0)・ライセンス(MIT)・対応サービスの docs・Java 25/Quarkus 構成までです。実際に動かすときは、自分の対象サービスで通るかを確かめてください。
何をエミュレートし、何は「そっくり」ではないか
Floci の魅力は対応範囲の広さですが、すべてが本物そっくりではない点を押さえると判断を誤りません。
WHAT IT EMULATES何をして、何はしないか
広く対応。ただし“本物そっくり”には濃淡がある
-
1.代表的な対応サービス
S3・SQS・SNS・DynamoDB・Lambda・IAM・STS・KMS・Secrets Manager・SSM など(docs/services に 135 ファイル)
-
2.In-process と Real Docker の混在
多くは Floci 内で実装。Lambda・RDS・ElastiCache・ECS・EC2 等は実 Docker を起動して忠実度を上げる(docker.sock が要る)
-
3.忠実度に制限がある部分
Textract は in-process stub、Transcribe は実音声処理なし、Bedrock は定型応答、QuickSight は SQL/SPICE なし 等(README/docs に明記)
-
4.永続化とコンソール
保存は既定メモリ(persistent / hybrid / wal も)。Web コンソールのサイドカー(floci/floci-ui)あり
README によると、対応は「application services, data services, eventing, identity, infrastructure, billing, and container-backed workloads」まで広く、代表例として S3・SQS・SNS・DynamoDB・Lambda・IAM・STS・KMS・Secrets Manager・SSM が挙がります(docs/services には135ファイル)。実装の仕方は2通りです。
| 種類 | 例 | 意味 |
|---|---|---|
| In-process(Floci 内実装) | S3・DynamoDB・SQS・IAM など多数 | Floci のプロセス内で軽く動く。Docker 不要で速い |
| Real Docker を起動 | Lambda・RDS・ElastiCache・ECS・EC2 など | 忠実度のため本物のエンジン等を Docker で起動。docker.sock が要る |
| 忠実度に制限 | Textract(stub)・Transcribe(音声処理なし)・Bedrock(定型応答)・QuickSight(SQL/SPICE なし) | 形だけ返す・一部機能なし。本番同等の挙動は期待しない |
各サービスの docs には「Limitations」節があり、S3 の一部チェックサムは拒否される、といった具体的な制限が書かれています。「対応している」と「本番と同じに動く」は別なので、重要な経路は自分のユースケースで必ず確かめるのが前提です。
これは Floci に限らず、ローカルエミュレータ全般の性質でもあります。向くのは、S3 への読み書きや DynamoDB のテーブル操作、SQS のキュー処理、Lambda のローカル実行といった「API の形さえ同じなら十分」な開発・テスト・CI です。アカウントを汚さずに何度でも作り直せ、ネットにも繋がず、料金も気にせず回せるのが効きます。逆に向かないのは、本番固有の挙動や性能、課金の正確さ、まだ stub の段階のサービスに依存する検証です。エミュレータで緑になったからといって本番でも通るとは限らないので、最終確認は実 AWS の検証環境で、という二段構えが安全です。Floci はこの「速くて安いローカルの一段目」を担う道具だと捉えると、過不足なく使えます。
LocalStack 代替の主張と、未検証の数値
Floci は LocalStack との比較を前面に出します。README は「LocalStack の community 版が2026年3月に終了し、認証トークンが必要になった」という外部ブログの主張を引き、自らを「Broad AWS coverage. Free forever.」「drop-in replacement」と位置づけます。比較表には起動 ~24ms 対 ~3.3s、アイドルメモリ ~13MiB 対 ~143MiB、イメージ ~90MB 対 ~1.0GB、ライセンス MIT 対 Restricted、といった数字が並びます。
ただし、これらはすべて README 記載の公称値で、リポジトリ内に裏付けのベンチ資料は見当たりませんでした。LocalStack の community 版の状況も外部ブログの引用で、本記事では確認していません。数字をそのまま信じず、移行や採用の判断は自分の環境・対象サービスで測ってから行ってください。互換性テストの件数(README は2,576件と記載)も同様に未検証です。
まとめ
Floci は、「実 AWS に繋ぐしかなかった開発・テスト・CI を、アカウントも課金も認証トークンも無しでローカルに寄せる」ことを狙った、MIT ライセンスの AWS エミュレータです。向き先を localhost:4566 に変えるだけで SDK・CLI・Terraform・CDK がそのまま使える手軽さと、LocalStack の drop-in 代替という立ち位置が特徴です。一方で、対応サービスの忠実度には濃淡があり(stub・定型応答あり)、性能や「LocalStack 終了」の記述は公称で未検証です。まずは自分がよく使う S3・DynamoDB・Lambda あたりを、実際に起動して確かめるところから試すのがよいでしょう。なお本ツールにユーザー向けの AI 機能はありません。
参照ソース
- floci-io/floci(GitHub)(v2.4.0・MIT・star 30.9k/fork 3.4k は 2026-11-07 時点)
- Floci 公式ドキュメント(対応サービス・設定・LocalStack からの移行)





