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는 부하 분산을 제공하기 위해 무작위로 애플리케이션 서비스 인스턴스를 선택합니다. 선택된 인스턴스가 다운된 경우 (예: AZ 장애 발생 시), 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:
    # 이름이 인스턴스 #2와 다르지만 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 원문 보기