Boundary에서 호스트 관리

Boundary에서 호스트 관리

Boundary 호스트 관리는 정적 호스트 카탈로그를 수동으로 정의하거나, AWS·Azure·GCP 같은 클라우드 제공자에서 호스트를 자동으로 발견·동기화하는 호스트 카탈로그 플러그인을 사용해 호스트를 온보딩해요. 연결 세부 사항을 손으로 추적할 필요를 없애주죠.

  • 호스트 카탈로그(Host catalogs) — 호스트와 호스트 셋을 포함해요.
  • 호스트 셋(Host sets) — 호스트의 모음이에요. 접근 관리 관점에서 동일한 것으로 간주되는 호스트들이에요. 호스트 셋은 대상에 할당할 수 있어요.
  • 호스트(Hosts) — Boundary가 도달할 수 있는(흔히 같은 네트워크에 배포된 워커를 통해) 네트워크 주소를 가진 컴퓨팅 요소예요.

호스트 카탈로그는 호스트를 직접 포함하거나, 호스트 셋을 포함하거나, 둘의 조합을 포함할 수 있어요.

정적 호스트 카탈로그는 운영자가 대상에 대한 호스트 셋을 수동으로 정의할 수 있게 해요.

호스트 카탈로그 플러그인은 호스트 발견을 가능하게 해, 운영자가 Amazon Web Services, Microsoft Azure, Google Cloud Platform 같은 클라우드 제공자에서 호스트 셋을 동기화할 수 있게 해요.

출처: HashiCorp Boundary docs

본문

Boundary 호스트 관리는 정적 호스트 카탈로그를 수동으로 정의하거나, AWS·Azure·GCP 같은 클라우드 제공자에서 호스트를 자동으로 발견·동기화하는 호스트 카탈로그 플러그인을 사용해 호스트를 온보딩해요. 연결 세부 사항을 손으로 추적할 필요를 없애주죠.

  • 호스트 카탈로그 — 호스트와 호스트 셋을 포함해요.
  • 호스트 셋 — 호스트의 모음이에요. 접근 관리 관점에서 동일한 것으로 간주되는 호스트들이에요. 호스트 셋은 대상에 할당할 수 있어요.
  • 호스트 — Boundary가 도달할 수 있는(흔히 같은 네트워크에 배포된 워커를 통해) 네트워크 주소를 가진 컴퓨팅 요소예요.

호스트 카탈로그는 호스트를 직접 포함하거나, 호스트 셋을 포함하거나, 둘의 조합을 포함할 수 있어요.

정적 호스트 카탈로그는 운영자가 대상에 대한 호스트 셋을 수동으로 정의할 수 있게 해요.

호스트 카탈로그 플러그인은 호스트 발견을 가능하게 해, 운영자가 Amazon Web Services, Microsoft Azure, Google Cloud Platform 같은 클라우드 제공자에서 호스트 셋을 동기화할 수 있게 해요.

호스트 발견의 이점

전통적으로 원격 호스트와 서비스에 연결하려면 엔드포인트의 연결 정보, 즉 서비스의 IP 주소와 포트를 알아야 해요.

이는 대규모로 새 리소스의 온보딩을 관리하거나, 연결 정보가 자주 바뀌는 동적·일시적 서비스를 다룰 때 복잡성을 만든다. 새 리소스나 기존 리소스를 수동으로 관리하고 갱신해야 하는 운영 오버헤드 증가도 시간의 비효율적인 사용이에요. 현대적인 클라우드 리소스는 적절히 태그를 지정할 수 있어, 사용자가 연결이 허용된 리소스에 자동으로 접근할 수 있게 해요.

**호스트 발견(host discovery)**은 새롭거나 변경된 인프라 리소스와 그 연결 정보를 호스트로 Boundary에 온보딩하는 과정을 자동화하는 데 초점을 맞춰요.

Boundary에서 자동 호스트 발견

Boundary는 세 가지 주요 워크플로에서 대상/호스트 발견을 지원해요.

  • 수동 구성 — Boundary 관리자는 관리자 UI와 CLI로 정적 호스트와 대상을 수동으로 구성할 수 있어요. 정적 호스트로 대상의 수동 구성은 호스트에 연결하는 데 사용되는 IP 주소나 엔드포인트를 알아야 해요.
  • Terraform을 통한 코드형 구성으로 호스트 발견 — Boundary는 완전히 프로그래밍 방식으로 계측되며, 새 인프라 대상의 발견과 구성은 Boundary의 Terraform provider로 자동화할 수 있어요. 이는 대상의 연결 정보를 미리 알 필요 없이 호스트와 대상의 동적 구성을 가능하게 해요.
  • 동적 호스트 카탈로그를 통한 런타임 호스트 발견 — Boundary 다이나믹 호스트 카탈로그는 인프라 제공자에서 Boundary로 리소스를 가져오는 것을 자동화해요. Boundary 호스트는 이 제공자들이 유지하는 연결 정보를 반영하기 위해 자동으로 생성·갱신되고 호스트 셋에 추가돼요. 이는 호스트 연결 정보를 알거나 새 리소스·변경된 리소스를 구성하기 위해 인프라 코드 템플릿을 다시 적용할 필요를 없애줘요.

정적 호스트 카탈로그

정적 호스트 카탈로그는 호스트 셋의 수동 정의를 포함해요. 운영자가 호스트 모음을 수동으로 온보딩하고 유지할 수 있게 해요.

동적 호스트 카탈로그

동적 호스트 카탈로그는 Boundary가 런타임에 인프라 제공자를 안전하게 쿼리해 새 서비스를 발견·구성하기 위한 에이전트 없는(agentless) 워크플로예요. Boundary 관리자는 호스트 셋 생성에 attributes 필터를 사용해 어떤 외부 리소스를 카탈로그로 가져올지 규칙을 정의할 수 있어요. 이 필터는 어떤 발견된 호스트가 호스트 셋의 구성원이 되어야 하는지 지정해요.

일부 플러그인 유형은 선택적 preferred_endpoints 속성으로 특정 네트워크 범위나 IP에 연결하는 선호도를 정의할 수 있게 해줘요. 설정하면 preferred_endpoints 속성은 Boundary가 대상과 세션을 수립할 때 호스트가 가진 사용 가능한 옵션 중 어떤 IP 주소나 DNS 이름을 선호 엔드포인트로 할지 지정해요.

CIDR 또는 DNS 형식으로 여러 엔드포인트를 지정해 선호 순서를 만들 수 있어요. CIDR(Classless Inter-Domain Routing) 문자열은 cidr:<valid IPv4/6 CIDR> 형식을 따라야 해요. 예: cidr:10.0.0.0/16. DNS 문자열은 dns:<globbed name> 형식을 따라야 해요. 예: dns:*.internal.

선호도를 지정하지 않으면 Boundary는 다음 내장 우선순위 순서로 엔드포인트를 선택해요.

  • Private IPv4
  • Public IPv4
  • DNS
  • Private IPv6
  • Public IPv6

Boundary는 현재 AWS, Azure, GCP에 대한 동적 호스트 카탈로그를 지원해요. HashiCorp는 더 많은 제공자를 지원하도록 이 생태계를 계속 확장할 거예요.

다음 단계

정적 호스트 카탈로그를 시작하려면 다음을 참고하세요.

동적 호스트 카탈로그를 시작하려면 다음 주제를 참고하세요.