Floci – 무료 오픈소스 로컬 AWS 에뮬레이터

5 days ago 7

  • 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 라이선스로 제공되어, 제한 없이 자유로운 사용 및 수정 가능

Read Entire Article