Infograb logo
애플리케이션 접근 고가용성 (HA)

애플리케이션 서비스를 고가용성 (HA) 구성으로 배포할 수 있는 일반적인 두 가지 방법은 결합 인스턴스 및 분리 인스턴스입니다. 두 가지 방법 모두 여러 애플리케이션 서비스를 동일한 애플리케이션에 포인팅하는 방식입니다.

결합 인스턴스

가장 일반적인 접근 방법은 각 애플리케이션 서비스에 동일한 name을 할당하여 애플리케이션을 프록시하는 것입니다.

동일한 애플리케이션을 프록시하는 두 개의 애플리케이션 서비스가 있는 경우, 두 에이전트의 구성은 동일해야 합니다:

# 두 에이전트를 위한 동일한 구성.
app_service:
  enabled: "yes"
  apps:
  - name: "elastic"
    uri: https://elasticsearch.example.com:9200

이 구성에서는 tsh apps ls에서 애플리케이션의 단일 항목만 표시됩니다:

tsh apps ls
Application Description Type Public Address Labels----------- ----------- ---- ------------------------- -------------------elastic HTTP elastic.proxy.example.com teleport.dev/origin

연결할 때, Teleport는 로드 밸런싱을 제공하기 위해 무작위로 연결할 애플리케이션 서비스 인스턴스를 선택합니다. 선택된 인스턴스가 다운되면 (예: 가용 영역 중단 시), Teleport는 다른 인스턴스를 통해 연결을 시도합니다.

분리 인스턴스

분리 인스턴스의 경우, 각 애플리케이션 서비스 인스턴스가 애플리케이션을 프록시하며 서로 다른 이름을 할당합니다. 이렇게 하면 연결하려는 에이전트를 명시적으로 선택할 수 있습니다:

# 애플리케이션 서비스 인스턴스 #1.
app_service:
  enabled: "yes"
  apps:
  # 인스턴스 #2와 이름이 다르지만 URI는 동일합니다.
  - name: "elastic-us-east-1a"
    uri: https://elasticsearch.example.com:9200
# 애플리케이션 서비스 인스턴스 #2.
app_service:
  enabled: "yes"
  apps:
  # 인스턴스 #1과 이름이 다르지만 URI는 동일합니다.
  - name: "elastic-us-east-1b"
    uri: https://elasticsearch.example.com:9200

이 구성에서는 두 서비스가 tsh apps ls 출력에서 두 개의 별도 항목으로 나타나며 연결할 때 명시적으로 하나를 선택해야 합니다:

tsh apps ls
Application Description Type Public Address Labels------------------- ----------- ---- ------------------------- -------------------elastic-us-east-1a HTTP elastic.proxy.example.com teleport.dev/originelastic-us-east-1b HTTP elastic.proxy.example.com teleport.dev/origin

이 접근 방식은 연결하려는 인스턴스를 제어하고 싶을 때 유용합니다.

Teleport 원문 보기