개발 모드(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 인스턴스의 시작과 종료가 단순해져요.
본문
요구 사항
Dev mode를 실행하려면 몇 가지 요구 사항이 있어요:
- Docker 설치
- Postgres Docker 이미지를 다운로드할 경로가 있거나 로컬 이미지 캐시가 있는 것
$PATH에 Boundary 바이너리- (선택) 데스크톱 예시를 사용하고 싶다면 Boundary Desktop 설치
문제 해결
- boundary command not found — Boundary 바이너리가 설치되어 있고 그 위치가
$PATH에 포함되어 있는지 확인하세요. - dev mode 시작 실패 또는 Postgres 이미지 풀 중 멈춤 — Docker가 실행 중이고 Postgres Docker 이미지를 풀 네트워크 접근이 있는지, 또는 로컬 이미지 캐시가 있는지 확인하세요.