최상위 구성 파라미터
최상위 구성 파라미터
개발 모드가 아닌 환경에서 Boundary의 컨트롤러와 워커는 구성 파일로 설정해요. 이 파일의 형식은 HCL이에요. 이 절에서는 Boundary 컨트롤러와 워커를 위한 구성 블록 예시를 다뤄요.
본문
개발 모드 밖에서 Boundary 컨트롤러와 워커는 파일로 구성돼요. 이 파일의 형식은 HCL이에요. 여기서는 Boundary 컨트롤러와 워커를 위한 구성 블록 예시를 볼 거예요.
구성을 작성한 뒤에는 -config 플래그를 사용해 파일의 로컬 경로를 지정하면 돼요.
HCP Boundary 전용 파라미터
hcp_boundary_cluster_id(string) — HCP Boundary 클러스터의 ID예요. 이 값을 설정하면 self-managed 워커가 클러스터에 연결하기 위한 업스트림 주소를 발견할 수 있어요.
Enterprise / HCP Boundary 공통 파라미터
worker— 워커 특화 구성이에요. 이 값이 있으면boundary server는 Worker 서브프로세스를 시작해요.listener— Boundary가 트래픽(API, cluster, proxy)을 서비스하는 리스너를 구성해요. 컨트롤러에는 최소 두 개의 리스너 블록이 있어야 해요. 하나는api용도, 다른 하나는cluster용도로 표시된 것이죠. 워커는proxy용도로 표시된 리스너 하나만 가져요. 선택적으로ops용도 리스너 블록은 Boundary의 운영 엔드포인트(예:/health)가 위치하는 상위 레벨 리스너 역할을 해요.kms— 다양한 purpose를 위한 KMS 블록을 구성해요.events— 이벤트(관측성, 감사, 오류) 처리를 구성해요.disable_mlock(bool: false) — 서버가 메모리가 디스크로 스왑되는 것을 막는mlocksyscall을 실행하지 못하게 해요. 로컬 개발과 테스트에는 괜찮지만 프로덕션에서는, Boundary를 실행하는 시스템이 암호화된 스왑만 사용하거나 스왑을 전혀 사용하지 않는 경우가 아니라면 권장하지 않아요. Boundary는mlock()syscall을 지원하는 UNIX 계열 시스템(Linux, FreeBSD 등)에서만 메모리 잠금을 지원해요. Linux에서 프로세스를 root로 실행하지 않고 Boundary 실행 파일이mlocksyscall을 사용할 수 있게 하려면 다음을 실행하세요:sudo setcap cap_ipc_lock=+ep $(readlink -f $(which boundary)). 최신 버전의 systemd를 사용하는 Linux 배포판이라면[Service]구성 섹션에LimitMEMLOCK=infinity지시문을 추가할 수 있어요.log_level(string: "info") — (Deprecated: 관측성(observability)을 위해 단계적으로 제거되고 있으며, 현재는 이벤트 처리 실패 시 백업으로만 사용돼요.) 사용할 로그 레벨을 지정해요. CLI와 환경 변수 파라미터로 재정의돼요. 지원되는 로그 레벨: Trace, Debug, Error, Warn, Info.log_format(string: "") — (Deprecated: 관측성을 위해 단계적으로 제거되고 있으며, 현재는 이벤트 처리 실패 시 백업으로만 사용돼요.) 사용할 로그 형식을 지정해요. CLI와 환경 변수 파라미터로 재정의돼요. 지원되는 로그 형식:"standard","json".
Enterprise Boundary 전용 파라미터
controller— 컨트롤러 특화 구성이에요. 이 값이 있으면boundary server는 Controller 서브프로세스를 시작해요.plugins— 플러그인에 대한 옵션을 구성해요.
시그널
SIGHUP 시그널은 워커와 컨트롤러 프로세스가 구성 파일을 다시 로드해 갱신된 값을 반영하게 해요.
Note:
SIGHUP시그널로 모든 구성 값을 다시 로드할 수는 없어요. 어떤 값을SIGHUP으로 다시 로드할 수 있는지는 workers와 controllers 구성 페이지에서 확인하세요.
SIGTERM과 SIGINT 시그널은 워커와 컨트롤러 프로세스가 정상 종료(graceful shutdown)에 들어가게 해요. 컨트롤러의 정상 종료는 컨트롤러를 종료하기 전에 리스너와 서버를 닫는 과정이에요. 워커의 정상 종료는 워커를 종료하기 전에 세션이 모두 소진(drain)될 때까지 기다려요. 정상 종료 상태의 워커는 제어 플레인(control plane)으로부터 세션 프록시를 포함한 어떤 새 작업도 받지 않아요.
예시 구성
완전한 예시 구성은 controller와 worker 절을 참고하세요.