에뮬레이터를 사용하여 테스트

Google Cloud CLI는 애플리케이션을 테스트하는 데 사용할 수 있는 Bigtable용 로컬 인메모리 에뮬레이터를 제공합니다. 에뮬레이터는 메모리에만 데이터를 저장하므로 여러 번 실행할 경우 데이터가 유지되지 않습니다. 에뮬레이터는 프로덕션 배포용이 아니며, 로컬 개발 및 테스트에서 Bigtable을 사용하는 데 도움을 주기 위한 것입니다.

에뮬레이터는 모든 Cloud Bigtable 클라이언트 라이브러리에서 사용할 수 있습니다.

에뮬레이터는 인스턴스와 클러스터 관리를 위한 관리 API를 제공하지 않습니다. 에뮬레이터가 시작된 후 프로젝트와 인스턴스 이름으로 에뮬레이터에 연결하여 테이블을 만들고 데이터를 읽거나 쓸 수 있습니다. 에뮬레이터는 보안 연결을 지원하지 않습니다.

에뮬레이터 설치 및 실행

에뮬레이터를 실행하는 가장 일반적인 두 가지 방법은 gcloud CLIDocker를 사용하는 것입니다. 애플리케이션 개발 및 테스트 워크플로에 적합한 방법을 선택합니다.

인증 설정

다음 개발 환경 중 하나에서 이 페이지의 gcloud CLI 샘플을 사용할 수 있습니다.

  • Cloud Shell: gcloud CLI가 이미 설정된 온라인 터미널을 사용하려면 Cloud Shell을 활성화하세요.

    이 페이지 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  • 로컬 셸: 로컬 개발 환경에서 gcloud CLI를 사용하려면 gcloud CLI를 설치하고 초기화합니다.

gcloud CLI

  1. 최신 기능을 이용하려면 gcloud CLI 설치를 업데이트하세요.

    gcloud components update beta
    
  2. 다음 명령어를 실행하여 에뮬레이터를 시작합니다.

    gcloud beta emulators bigtable start
    

    에뮬레이터가 이미 설치되지 않은 경우 에뮬레이터의 바이너리를 다운로드하여 설치하라는 메시지가 나타납니다.

    에뮬레이터가 실행되고 있는 호스트와 포트 번호가 출력됩니다.

    기본적으로 에뮬레이터는 localhost:8086을 선택합니다. 에뮬레이터를 특정 호스트 및 포트에 결합하려면 선택사항인 --host-port 플래그를 사용하고, HOSTPORT를 바꿉니다.

    gcloud beta emulators bigtable start --host-port=HOST:PORT
    

    다음은 그 예시입니다.

    gcloud beta emulators bigtable start --host-port=localhost:8086
    
  3. Control-C를 입력하여 에뮬레이터를 중지합니다.

Docker

  1. Docker가 시스템에 설치되었고 시스템 경로에서 사용할 수 있는지 확인합니다.

  2. 에뮬레이터를 시작합니다.

    docker run -p 127.0.0.1:8086:8086 --rm -ti google/cloud-sdk gcloud beta emulators bigtable start --host-port=0.0.0.0:8086
    

    이 명령어는 에뮬레이터를 실행하고 컨테이너의 포트를 로컬 호스트에 있는 동일한 포트에 매핑합니다.

기존 Docker Compose 구성(.yaml) 파일의 일부로 에뮬레이터를 사용할 수도 있습니다. Docker Compose에 대한 자세한 내용은 Docker Compose 개요를 참조하세요.

에뮬레이터에 클라이언트 라이브러리 사용

에뮬레이터에 클라이언트 라이브러리를 사용하도록 BIGTABLE_EMULATOR_HOST 환경 변수를 설정합니다.

Linux/Mac OS

  export BIGTABLE_EMULATOR_HOST=localhost:8086

Windows

  set BIGTABLE_EMULATOR_HOST=localhost:8086

애플리케이션이 시작되면 클라이언트 라이브러리는 자동으로 BIGTABLE_EMULATOR_HOST를 확인하고 실행 중인 에뮬레이터에 연결합니다.

BIGTABLE_EMULATOR_HOST가 설정되면 hello world 샘플에 따라 에뮬레이터를 테스트할 수 있습니다.

에뮬레이터를 중지하려면 Control-C를 입력한 후 다음 명령어로 BIGTABLE_EMULATOR_HOST를 설정 해제합니다.

    unset BIGTABLE_EMULATOR_HOST

에뮬레이터용 Java 래퍼

Java 래퍼는 기본 제공 Bigtable 에뮬레이터를 번들로 제공하고 테스트를 작성할 수 있는 Java 인터페이스를 제공합니다.

Java 래퍼 사용에 대한 자세한 내용은 GitHub 저장소를 참조하세요.

다음 문서는 에뮬레이터 Java 패키지에 대한 자세한 정보를 제공합니다.

필터

에뮬레이터는 Sink 제한 필터를 제외한 모든 필터를 지원합니다.

Bigtable 에뮬레이터와 관련된 문제는 버그 신고 및 기능 요청이나 기존 문제에 대한 의견을 제출할 수 있는 google-cloud-go GitHub 저장소에서 추적됩니다.