클라이언트 캐시(Client cache)
클라이언트 캐시(Client cache)
Boundary 클라이언트 캐시는 최종 사용자의 컴퓨터에서 실행되며, Boundary 인스턴스의 세션과 대상 리소스 정보를 로컬에 캐시해요. 캐시는 검색을 빠르게 하는 데 도움이 돼요.
본문
Boundary 클라이언트 캐시는 최종 사용자의 컴퓨터에서 실행되며 Boundary 인스턴스의 세션·대상 리소스 정보를 로컬에 캐시해요. 캐시는 검색을 빨라지게 해주죠.
Boundary list vs. search
Boundary API나 CLI로 대상, 세션, 호스트, 사용자 같은 리소스를 list할 수 있어요. list 명령을 사용하면 Boundary는 결과 목록을 만들 때 현재 전체 리소스 수를 제공하기 위해 제어 플레인을 검색해요. 일부 Boundary 리소스는 응답에 상당한 수의 항목을 제공할 수 있어요.
큰 결과 목록이 시스템 리소스를 압도할 수 있으므로, 클라이언트 캐시는 list 작업의 결과를 캐시해요. 제어 플레인 대신 로컬 캐시를 검색해 시스템 리소스를 보호할 수 있어요. Boundary search 명령도 Boundary 리소스 목록을 만들어요. 그러나 search 명령을 사용하면 Boundary는 로컬 캐시를 검색해 목록을 만들어요.
자세한 내용은 search 명령 문서를 참고하세요.
Note:
search작업은 읽기 권한이 있는 리소스만 표시해요. 리소스를 볼 권한이 없는 사용자로 로그인했다면 그 리소스는 결과 목록에 표시되지 않아요. 자세한 내용은 *Identity and access management (IAM)*을 참고하세요.
클라이언트 캐시 관리
Boundary 클라이언트 캐시는 사용자가 Boundary 인스턴스와 상호작용하는 CLI 명령을 실행할 때 백그라운드에서 자동으로 시작돼요. 캐시가 자동으로 시작되는 것을 원하지 않으면, Boundary CLI로 Boundary 인스턴스와 상호작용할 때 -skip-cache-daemon 플래그를 포함하거나 BOUNDARY_SKIP_CACHE_DAEMON 환경 변수를 설정할 수 있어요.
시작과 커스터마이즈
boundary cache start 명령으로 캐시를 수동으로 시작할 수 있어요. 기본적으로 캐시는 포그라운드에서 시작돼요. -background 플래그를 추가하면 백그라운드에서 시작할 수 있어요.
캐시를 수동으로 시작하면 캐싱 동작을 커스터마이즈할 수 있어요. 다음 옵션 중 하나를 포함해 동작을 커스터마이즈하세요.
max-search-staleness— 마지막 새로고침 이후 경과할 수 있는 시간으로, 이 시간이 지나고boundary search를 호출하면 검색 중인 리소스에 대해 Boundary 인스턴스에서 차단(blocking) 새로고침이 발생해요.max-search-refresh-timeout—boundary search차단 새로고침이 타임아웃되기 전에 걸릴 수 있는 시간이에요. 타임아웃이 발생하면 Boundary는 현재 캐시에 있는 오래된(stale) 데이터를 사용해요.refresh-interval— 클라이언트 캐시가 세션과 대상의 변경 사항에 대해 Boundary를 쿼리해야 하는 빈도를 지정하는 기간이에요. Boundary는 명령을 실행한 사용자가 접근 권한이 있는 세션과 대상만 검색한다는 점을 참고하세요.
자세한 내용은 cache start 명령 문서를 참고하세요.
로깅
클라이언트 캐시는 ~/.boundary 디렉터리에 로그 파일을 저장해요. Boundary는 로그가 5MB에 도달하면 자동으로 순환시켜요. 마지막 3개의 순환된 로그를 압축해 보관한 후 로그를 삭제해요.
상태
boundary cache status 명령으로 캐시의 상태를 확인할 수 있어요. 이 명령은 업타임, 사용자 수, 사용자 정보, 캐시가 추적 중인 Boundary 리소스 등에 대한 정보를 반환해요.
자세한 내용은 cache status 명령 문서를 참고하세요.
인증 토큰
기본적으로 Boundary CLI는 인증 토큰을 저장·수신하기 위해 키링(keyring)을 사용하려고 해요. 인증 토큰으로 Boundary와 상호작용할 때마다 클라이언트 캐시는 그 인증 토큰을 저장하고 이와 연관된 데이터를 동기화해요. 여러 Boundary 인스턴스에 인증하면 클라이언트 캐시는 여러 인증 토큰을 저장하고 각 토큰과 연관된 데이터를 동기화해요.
특정 Boundary 인스턴스에 대해 클라이언트 캐시를 검색하려면, boundary cache add-token 명령으로 적절한 인증 토큰을 지정할 수 있어요.
자세한 내용은 cache add-token 명령 문서를 참고하세요.