Floci – A free, open-source local AWS emulator - Floci — 無料のオープンソース ローカルAWSエミュレータ

ローカルで「本物に近いAWS」を超軽量かつ無料で再現する、新しい選択肢 — 今すぐ試したくなる小さなクラウド

要約

FlociはMITライセンスの軽量なローカルAWSエミュレータで、LocalStackのコミュニティ版が制限を強めた後の「無償でCIでも使える」代替となるツールです。複数サービスに対応し、非常に高速・低メモリで動作します。

この記事を読むべき理由

LocalStackコミュニティ版の仕様変更でローカル開発/CI環境に影響が出る日本の開発チームにとって、Flociはコストゼロで既存のAWS SDK互換ワークフローに差し替えられる現実的な選択肢です。スタートアップや教育現場、オフラインでの検証にも最適です。

詳細解説

簡単な起動例:

# yaml
services:
  floci:
    image: hectorvent/floci:latest
    ports:
      - "4566:4566"
    volumes:
      - ./data:/app/data

SDK接続例:

// java
DynamoDbClient client = DynamoDbClient.builder()
  .endpointOverride(URI.create("http://localhost:4566"))
  .region(Region.US_EAST_1)
  .credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("test","test")))
  .build();
# python
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")
// javascript
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,
});

実践ポイント