개발 모드(dev mode)란 무엇인가요?

개발 모드(dev mode)란 무엇인가요? (What is dev mode?)

Dev mode는 테스트와 학습 목적으로 Boundary를 빠르게 시작하는 방법이에요. 이름에서 알 수 있듯 dev mode는 프로덕션 설치 방법이 아니며, Postgres 데이터베이스와 함께 Boundary를 쉽게 실행할 수 있게 해줍니다.

프로덕션 환경에서는 dev mode를 사용하지 마세요. 프로덕션에 적합한 배포 방법은 다음 섹션들을 참고하세요:

Dev mode는 완전히 동작하는 Boundary 인스턴스를 가동합니다:

  • 컨트롤러 서버
  • worker 서버
  • Postgres 데이터베이스

이 구성 요소들은 모두 임시(ephemeral)로 간주해야 해요 — dev mode를 재시작해도 데이터 영속성은 없습니다. 이런 외부 구성 요소와 함께, dev mode는 첫 번째 타깃에 더 쉽고 빠르게 연결할 수 있도록 Boundary 안에 여러 리소스도 만듭니다:

리소스 기본 ID 비고
Org 스코프 o_1234567890
Project 스코프 p_1234567890
Password 인증 방법 ampw_1234567890
OIDC(OpenID Connect) 인증 방법 amoidc_1234567890
Admin 사용자 로그인 이름 admin, 비밀번호 password
권한 없는 사용자 로그인 이름 user, 비밀번호 password
Static 호스트 카탈로그 hcst_1234567890
Static 호스트 hst_1234567890
Static 호스트 세트 hsst_1234567890
TCP 타깃 ttcp_1234567890 주소와 포트로 직접 설정됨
TCP 타깃 ttcp_0987654321 앞서 언급한 static 호스트 세트 사용

기본 ID 접미사는 덮어쓰거나 무작위로 생성할 수 있고, 다른 dev mode 제어 옵션도 많아요. 이런 오버라이드 플래그의 전체 목록은 boundary dev -h를 참고하세요.

Dev mode에서 많은 수의 리소스를 프로비저닝할 계획이라면, Boundary 구성 관리를 위해 Boundary용 Terraform Provider를 사용하는 것을 강력히 권장합니다. 이렇게 하면 Boundary dev 인스턴스의 시작과 종료가 단순해져요.

출처: HashiCorp Boundary docs

본문

요구 사항

Dev mode를 실행하려면 몇 가지 요구 사항이 있어요:

  • Docker 설치
  • Postgres Docker 이미지를 다운로드할 경로가 있거나 로컬 이미지 캐시가 있는 것
  • $PATH에 Boundary 바이너리
  • (선택) 데스크톱 예시를 사용하고 싶다면 Boundary Desktop 설치

문제 해결

  • boundary command not found — Boundary 바이너리가 설치되어 있고 그 위치가 $PATH에 포함되어 있는지 확인하세요.
  • dev mode 시작 실패 또는 Postgres 이미지 풀 중 멈춤 — Docker가 실행 중이고 Postgres Docker 이미지를 풀 네트워크 접근이 있는지, 또는 로컬 이미지 캐시가 있는지 확인하세요.

더 알아보기 (Learn more)