-
Floci는 계정 등록이나 인증 없이 바로 실행 가능한 무료 오픈소스 AWS 로컬 에뮬레이터로, 단일 명령으로 구동되는 경량 구조
- LocalStack 커뮤니티 에디션의 2026년 서비스 종료 이후를 대비한 제한 없는 대안으로, MIT 라이선스를 통해 상업적 사용도 허용
-
시작 시간 24ms, 메모리 13MiB, 이미지 크기 90MB로 매우 가볍고, LocalStack 대비 100배 빠른 속도와 10배 적은 메모리 사용량을 보임
-
20개 이상 AWS 서비스를 완전 지원하며, 408개 SDK 테스트 전부 통과로 높은 호환성 확보
- 기존 AWS SDK의 엔드포인트만 변경하면 바로 통합 가능해, 로컬 개발·테스트 환경에서 즉시 사용 가능한 대체 솔루션 제공
Floci 개요
-
Floci는 무료 오픈소스 로컬 AWS 에뮬레이터로, 계정 등록이나 인증 토큰 없이 바로 실행 가능한 구조
-
docker compose up 명령만으로 구동되며, CI/CD 제한이나 기능 잠금이 없음
- 이름은 구름 형태인 cirrocumulus floccus에서 유래했으며, “가볍고 부드럽고 항상 무료”를 표방
LocalStack 대안으로서의 위치
- LocalStack 커뮤니티 에디션은 2026년 3월 서비스 종료 예정으로, 이후 인증 토큰 요구·CI 지원 중단·보안 업데이트 중지 예정
- Floci는 이에 대한 제한 없는 대안으로 제공됨
-
MIT 라이선스로 배포되어 상업적 사용을 포함한 자유로운 활용 가능
성능 및 기능 비교
-
시작 시간 약 24ms, 유휴 메모리 13MiB, 도커 이미지 크기 90MB로 매우 경량
- LocalStack 커뮤니티 버전 대비 약 100배 빠른 시작 속도, 10배 이상 적은 메모리 사용량
-
20개 이상 AWS 서비스 지원, 408/408 SDK 테스트 통과
- 주요 지원 서비스:
-
API Gateway v2 / HTTP API**,** Cognito**,** ElastiCache (Redis + IAM 인증)
-
RDS (PostgreSQL, MySQL, IAM 인증), S3 Object Lock (COMPLIANCE / GOVERNANCE)
-
DynamoDB Streams, IAM, STS, Kinesis, KMS 등 완전 지원
- LocalStack에서는 위 기능들이 부분 지원 또는 미지원 상태
빠른 시작
- 기본 docker-compose.yml 설정 예시 제공
- 포트 4566 사용, 로컬 ./data 디렉터리 마운트
- 실행 명령:
docker compose up
- 모든 서비스는 http://localhost:4566에서 접근 가능
- AWS 자격 증명은 임의 값 사용 가능 (AWS_ACCESS_KEY_ID=test, 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의 엔드포인트만 변경하면 그대로 사용 가능
- 주요 언어별 예시:
- 모든 예시에서 region은 us-east-1, 자격 증명은 "test" 값 사용
이미지 태그
-
latest: 네이티브 이미지, 1초 미만 시작 속도로 권장
-
latest-jvm: JVM 기반 이미지로 플랫폼 호환성 중시
-
x.y.z / x.y.z-jvm: 버전 고정 릴리스
환경 설정
- 모든 설정은 FLOCI_ 접두 환경 변수로 재정의 가능
- 주요 변수:
-
QUARKUS_HTTP_PORT: 기본 4566
-
FLOCI_DEFAULT_REGION: 기본 us-east-1
-
FLOCI_DEFAULT_ACCOUNT_ID: 기본 000000000000
-
FLOCI_STORAGE_MODE: memory, persistent, hybrid, wal 중 선택 (기본 hybrid)
-
FLOCI_STORAGE_PERSISTENT_PATH: 데이터 디렉터리 경로 (./data)
- 전체 설정 문서: configuration docs
- 서비스별 스토리지 설정: storage docs
라이선스
-
MIT 라이선스로 제공되어, 제한 없이 자유로운 사용 및 수정 가능