
2026/03/22 6:49
フロウシ― 無料・オープンソースのローカルAWSエミュレーター (Note: The translation of the title preserves its meaning and form.)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Flociは軽量でMITライセンスのローカルAWSエミュレータです。
docker compose up コマンドを1回実行するだけで起動でき、AWSアカウントや認証トークンは不要です。API Gateway v2、Cognito、ElastiCache、RDS、S3 Object Lock、DynamoDB Streams、IAM、STS、Kinesis、および KMS を含む20以上の主要なAWSサービスをサポートし、それぞれ完全または部分的に機能します。すべて http://localhost:4566 でアクセスでき、任意のリージョンや認証情報(例:AWS_ACCESS_KEY_ID=test)を使用できます。
起動時間は約24 msで、アイドル時のメモリ使用量は約13 MiBです。Dockerイメージサイズは約90 MBと非常に小さく、LocalStack Community Edition(起動に≈3.3 秒、RAMが≈143 MiB、イメージが>1 GB)よりも圧倒的に軽量です。LocalStackが2026年3月にサポート終了予定であるため、FlociはMITライセンスの下で無制限アクセスと継続的な保守を提供し、将来の空白を埋めます。
プロジェクトには便利なDocker‑Composeスニペット(
floci という単一サービスがポート 4566 を公開し、ローカルデータディレクトリをマウント)と複数のイメージタグ(latest、latest-jvm、バージョン付きリリース)が付属しています。設定は FLOCI_ プレフィックスが付いた環境変数(例:FLOCI_HTTP_PORT、FLOCI_DEFAULT_REGION、FLOCI_STORAGE_MODE、FLOCI_PERSISTENT_PATH)で行います。SDK統合にはエンドポイントの上書きだけが必要であり、Java、Python boto3、および Node.js のサンプルコードスニペットも提供されています。
開発者や企業はFlociを採用してローカルテストやCIパイプラインを効率化し、有料エミュレーションサービスへの依存を減らすことができます。軽量でオープンソースの代替手段として、LocalStackのサポート終了後も完全にサポートされ続けます。
本文
🍿☁️ 軽くてふわっと、いつでも無料
「フロッカス(floccus)」――ポップコーンと同じ形をした雲の形成にちなんで名付けられました。
オープンソースで利用できるローカルAWSエミュレーター。アカウント不要、機能制限もなし、CIの制約もありません。
ただ
docker compose up を実行するだけです。
2026年3月に終了予定の LocalStack Community Edition
- 認証トークンが必須
- CIサポートを廃止
- セキュリティアップデートが凍結
Floci は、これらの制限なしで利用できる代替品です。
Floci のメリット
| 機能 | Floci | LocalStack(2026年3月以降) |
|---|---|---|
| 認証トークン必須 | いいえ | はい (2026年3月以降) |
| CI/CDサポート | 無制限 | 有料プランが必要 |
| セキュリティアップデート | あり | 凍結 |
| 起動時間 | 約24 ms | 約3.3 s |
| アイドル時メモリ | 約13 MiB | 約143 MiB |
| Dockerイメージサイズ | 約90 MB | 約1.0 GB |
| ライセンス | MIT | 制限付き |
対応サービス(✓)
- API Gateway v2 / HTTP API
- Cognito
- ElastiCache (Redis + IAM認証)
- RDS (PostgreSQL + MySQL + IAM認証)
- S3 Object Lock (COMPLIANCE / GOVERNANCE) – ⚠️ 部分的サポート
- DynamoDB Streams – ⚠️ 部分的サポート
- IAM(ユーザー、ロール、ポリシー、グループ)– ⚠️ 部分的サポート
- STS(すべての7操作)– ⚠️ 部分的サポート
- Kinesis(ストリーム、シャード、ファンアウト)– ⚠️ 部分的サポート
- KMS(署名・検証・再暗号化)– ⚠️ 部分的サポート
ネイティブバイナリ: ✅ (~40 MB)
20+サービス。408/408 SDKテストが合格。永遠に無料です。
クイックスタート
# docker-compose.yml services: floci: image: hectorvent/floci:latest ports: - "4566:4566" volumes: - ./data:/app/data
すべてのサービスは http://localhost:4566 で利用可能です。
任意のAWSリージョンを指定してください – 認証情報は何でも構いません。
export AWS_ENDPOINT_URL=http://localhost:4566 export AWS_DEFAULT_REGION=us-east-1 export AWS_ACCESS_KEY_ID=test export AWS_SECRET_ACCESS_KEY=test # 使ってみる aws s3 mb s3://my-bucket aws sqs create-queue --queue-name my-queue aws dynamodb list-tables
SDK統合
既存のAWS SDKを
http://localhost:4566 にポイントするだけで、他に変更は不要です。
Java (AWS SDK v2)
DynamoDbClient client = DynamoDbClient.builder() .endpointOverride(URI.create("http://localhost:4566")) .region(Region.US_EAST_1) .credentialsProvider(StaticCredentialsProvider.create( AwsBasicCredentials.create("test", "test"))) .build();
Python (boto3)
import boto3 client = boto3.client( "s3", endpoint_url="http://localhost:4566", region_name="us-east-1", aws_access_key_id="test", aws_secret_access_key="test" )
Node.js (AWS SDK v3)
import { S3Client } from "@aws-sdk/client-s3"; const client = new S3Client({ endpoint: "http://localhost:4566", region: "us-east-1", credentials: { accessKeyId: "test", secretAccessKey: "test" }, forcePathStyle: true, });
イメージタグ
| タグ | 説明 |
|---|---|
| ネイティブイメージ – サブセカンド起動(推奨) |
| JVMイメージ – 最も広いプラットフォーム互換性 |
| 固定リリース |
設定
すべての設定は環境変数(
FLOCI_ プレフィックス)で上書き可能です。
| 変数 | デフォルト | 説明 |
|---|---|---|
| 4566 | HTTPポート |
| us-east-1 | デフォルトのAWSリージョン |
| 000000000000 | デフォルトのAWSアカウントID |
| hybrid | , , , または |
| ./data | データディレクトリ |
→ 詳細: [設定ドキュメント]
→ サービスごとのストレージオーバーライド: [ストレージドキュメント]
ライセンス
MIT – 何でも好きに使ってください。