Tableau Server에 대한 프록시 및 부하 분산 장치 구성

대부분의 회사에서는 Tableau Server가 인터넷과 통신할 수 있어야 합니다. Tableau Server는 보호되는 내부 네트워크 안에서 작동하도록 설계되었습니다. 인터넷이나 DMZ에서 직접 노출되도록 Tableau Server를 설정하지 마십시오. 네트워크와 인터넷 간의 통신은 프록시 서버를 통해 중재되어야 합니다. 정방향 프록시 서버는 네트워크 내부에서 인터넷의 대상으로 전달되는 트래픽을 관리합니다. 역방향 프록시 서버 및 부하 분산 장치는 인터넷에서 네트워크 내부의 대상으로 들어오는 트래픽을 중개합니다.

이 문서의 대상

이 문서는 일반적인 네트워킹, 부하 분산 및 게이트웨이 프록시 솔루션을 잘 아는 IT 전문가를 위한 것입니다. 이 문서에는 Tableau에서 인터넷 연결이 필요한 이유 및 시기와 인터넷에 액세스할 때 프록시 서버 및 부하 분산 장치를 사용하도록 네트워크 및 Tableau를 구성하는 방법이 설명되어 있습니다. 다수의 타사 솔루션을 사용할 수 있으므로 일부 콘텐츠는 일반적으로 적용되지 않을 수도 있습니다.

프록시 서버를 구성하기 전에 인터넷 통신을 참조하십시오.

정방향 프록시 서버 구성

Tableau Server에서 인터넷과 통신할 수 있도록 하려면 Tableau Server를 정방향 프록시 서버 뒤에 배포합니다. Tableau Server는 인터넷에 액세스할 때 액세스 요청을 인터넷에 직접 전송하지 않습니다. 대신, 정방향 프록시에 요청을 전송하면 정방향 프록시가 이어서 요청을 전달합니다. 정방향 프록시를 사용하면 관리자가 부하 분산, 사이트 액세스 차단 등과 같은 작업을 위해 인터넷으로 나가는 트래픽을 관리할 수 있습니다.

정방향 프록시를 사용하는 경우 네트워크 내부에서 Tableau Server를 실행하는 컴퓨터를 구성하여 트래픽이 정방향 프록시로 전송되도록 해야 합니다. Tableau Server는 통과 또는 수동 프록시 인증을 지원하지 않습니다.

정방향 프록시 솔루션을 통해 OpenID 인증을 실행하는 경우 추가 구성이 필요합니다. OpenID Connect에 대해 Tableau Server 구성을 참조하십시오.

Linux에서 정방향 프록시를 사용하도록 Tableau Server 구성

설치 프로세스의 일부로 정방향 프록시 솔루션을 사용하도록 Tableau Server를 구성하는 것이 좋습니다. 특히, TSM 설치 및 초기화에 설명된 대로 또는 자동화된 Tableau Server 설치의 일부로 ./initialize-tsm을 실행할 때 Tableau Server를 구성하십시오.

아래 절차에서는 Linux 기반 Tableau Server의 정방향 프록시 구성 파일을 만드는 방법에 대해 설명합니다.

구성 파일은 다음 디렉터리에 저장됩니다.

~<unprivileged_user>/.config/systemd/tableau_server.conf.d

기본적으로 Tableau Server는 권한이 없는 사용자인 tableau를 만듭니다. 따라서 구성 디렉터리의 기본 경로는 다음과 같습니다.

~tableau/.config/systemd/tableau_server.conf.d

이 항목과 아래 구성 파일에서 프록시 구성 파일 이름은 20-proxy.conf로 참조됩니다. 자신의 규칙에 따라 이 파일의 이름을 지정할 수 있지만 확장명은 .conf를 사용해야 합니다. systemd는 파일 이름에 따라 어휘 순서대로 tableau_server.conf.d 디렉터리에 저장된 파일을 처리합니다.

  1. tsm stop 명령을 실행합니다.

  2. 권한이 없는 사용자로 세션을 시작합니다. 기본적으로 tableau가 설치 중에 Tableau Server에 의해 만들어지는 권한이 없는 사용자입니다. 다음 명령을 실행합니다.

    sudo su -l tableau

  3. tableau_server.conf.d 디렉터리에서 20-proxy.conf 파일을 만들거나 엽니다. 설치하는 동안 정방향 프록시를 구성한 경우 20-proxy.conf 파일이 이미 만들어졌습니다.

    • 파일을 만듭니다. 다음 명령을 실행합니다.

      touch ~tableau/.config/systemd/tableau_server.conf.d/20-proxy.conf

    • 텍스트 편집기에서 20-proxy.conf 파일을 엽니다.

  4. 프록시 구성 파일 내용을 파일에 복사합니다. 기존 파일을 편집하는 경우 구성을 삭제하지 않도록 주의하십시오. 프록시 구성 파일 내용에는 정방향 프록시 구성을 설정하는 방법에 대한 지침이 들어 있습니다. 파일을 편집하고 저장한 후 5단계로 이동합니다.

  5. 프록시 구성 파일 내용
    
    # Always edit this file on Tableau Server as the unprivileged user. By default, tableau, is the unprivileged user created by Tableau Server during installation.
    # Set environment variables http_proxy and https_proxy to point to your proxy host.
    # For example, to set the proxy to example-host for ports 80 and 443, run the following commands:
    #
    http_proxy=http://example-host:80/
    https_proxy=http://example-host:443/
    #
    # Take care to use 'http' when you specify the URL for the https_proxy environmental variable.  
    # Do not specify the 'https' protocol for the value of  the https_proxy environmental variable.
    #                   
    # To bypass the proxy server, specify exceptions in the no_proxy variable. Use this variable if your proxy server does not route internal addresses. 
    # You must also add exceptions to this proxy configuration to guarantee that all communications within a local Tableau Server cluster (if you have one now or will have one later) do not route to the proxy server. 
    # Enter both the host name and the IP address for each computer. Additionally, include the cannonical host name (localhost) and IP address (127.0.0.1) for the local computer.
    # For example, to specify exceptions for a three-node cluster:
    #
    no_proxy="localhost,127.0.0.1,hostname1,hostname2,hostname3,IP1,IP2,IP3"
    #									
    # Where "hostname1" is the actual hostname of node 1, and "IP1" is the actual IP address of node 1, etc.
  6. Tableau 셸을 종료합니다. 다음 명령을 실행합니다.

    exit

  7. TSM 비즈니스 서비스를 다시 시작합니다. 다음 스크립트 명령을 실행합니다.

    sudo /opt/tableau/tableau_server/packages/scripts.<version>/stop-administrative-services

    sudo /opt/tableau/tableau_server/packages/scripts.<version>/start-administrative-services

  8. TSM을 다시 시작합니다.

    tsm restart

서버 장애 보고 프로그램

조직에서 프록시 서버를 사용하여 인터넷에 연결하는 경우 Tableau Server의 장애 보고 프로그램을 프록시를 사용하도록 구성해야 합니다. 이미 프록시를 사용하도록 Tableau Server를 구성한 경우에도 서버 장애 보고 프로그램을 별도로 구성해야 합니다. 서버 장애 보고 프로그램의 프록시를 구성하려면 서버 장애 보고 프로그램 구성을 참조하십시오.

Tableau Server의 역방향 프록시 및 부하 분산 장치 작동 원리

역방향 프록시 및 부하 분산 장치는 외부(인터넷) 클라이언트의 요청을 수신하여 Tableau Server에 전달하는 서버입니다. 이러한 솔루션을 사용하면 특정 Tableau Server의 개별 IP 주소를 인터넷에 공개하지 않고 인터넷에서 Tableau Server를 사용할 수 있습니다. 이들은 인증 및 통과 기기 역할도 하므로 회사 밖의 사용자가 연결할 수 있는 위치에 데이터가 저장되지 않습니다. PCI, HIPAA, SOX 같은 다양한 개인정보취급방침이 적용되는 조직인 경우 이 요구 사항이 중요할 수 있습니다.

다음 다이어그램에서는 클라이언트가 역방향 프록시 및/또는 부하 분산 장치(LB)를 사용하도록 구성된 Tableau Server에 요청을 수행할 때 따르게 되는 통신 경로를 보여줍니다.

  1. 외부 클라이언트가 Tableau Server 연결을 초기화합니다. 클라이언트에서는 역방향 프록시 서버/LB가 구성된 공개 URL을 사용합니다(예: https://tableau.example.com). (클라이언트는 역방향 프록시/LB에 액세스하는 것을 모릅니다.)

  2. 역방향 프록시는 이 요청을 매핑하고 Tableau Server에 요청을 전달합니다. 일부 시나리오에서는 Tableau Server에 요청을 전달하기 위한 사전 조건으로 SSL/TLS를 사용하여 클라이언트를 인증하도록 역방향 프록시를 구성할 수 있습니다.

  3. Tableau Server가 요청을 가져와 역방향 프록시/LB로 응답을 보냅니다.

  4. 역방향 프록시/LB가 클라이언트로 콘텐츠를 전달합니다. 클라이언트가 연결되어 있는 동안 Tableau Server와 상호 작용하게 되고 통신이 중간 서버를 통과했는지 알 방법이 없습니다.

TLS/SSL

게이트웨이 시나리오에 따라 네트워크 외부의 모든 트래픽에 대해 TLS/SSL을 사용하도록 역방향 프록시 및 부하 분산 서버를 구성하는 것을 고려해야 합니다. 이렇게 하면 개인 정보 보호, 콘텐츠 무결성 및 인증을 보장할 수 있습니다. 인터넷 게이트웨이와 Tableau Server 사이의 트래픽을 보호하기 위해 다른 보안 수단을 배포하지 않는 경우 게이트웨이 프록시와 Tableau Server 사이에 SSL을 구성하는 것이 좋습니다. 내부 또는 자체 서명된 인증서를 사용하여 Tableau Server와 다른 내부 컴퓨터 간의 트래픽을 암호화할 수 있습니다.

Mobile 액세스

Tableau Server는 Tableau Mobile 세션에 대한 모든 HTTP 응답에 X-헤더를 추가합니다. 기본적으로 대부분의 프록시 솔루션에서는 X-헤더가 유지됩니다. 사용하는 게이트웨이 솔루션에서 X-헤더가 유지되지 않는 경우 Mobile 클라이언트 세션에 대한 모든 HTTP 응답에 X-Tableau: Tableau Server 헤더를 유지하도록 프록시 서버 및 부하 분산 장치를 구성해야 합니다.

게이트웨이에서 인증을 구성한 경우 프록시 서버/LB가 Tableau Mobile HTTP 요청에 HTTP 302 응답으로 응답해야 합니다. 302에는 ID 공급자 로그인 페이지로의 리디렉션이 포함되어야 합니다. 302 인증 순서를 설명하는 다이어그램을 보려면 Tableau 커뮤니티에서 Tableau Mobile Authentication Sequence(링크가 새 창에서 열림)(Tableau Mobile 인증 순서)를 참조하십시오.

역방향 프록시, 부하 분산 장치 및 사용자 인증

Tableau Server는 항상 사용자를 인증합니다. 따라서 조직의 게이트웨이에서 인바운드 연결을 인증하는 경우에도 Tableau Server는 사용자를 인증합니다.

하지만 모든 클라이언트가 게이트웨이 솔루션을 포함하는 사용자 인증을 지원하는 것은 아닙니다.

  • 지원되는 웹 브라우저의 경우 SAML, OpenID Connect, Kerberos, Trusted Tickets 또는 역방향 프록시/LB를 포함하는 수동 인증을 사용할 수 있습니다.

  • Tableau Mobile은 SAML 또는 역방향 프록시/LB를 포함하는 수동 인증을 지원합니다. Tableau Mobile의 iOS 버전은 추가적으로 역방향 프록시/LB를 포함하는 Kerberos를 지원합니다. 여기에도 위와 동일한 추천 항목이 적용됩니다.

  • Tableau Prep은 역방향 프록시 또는 부하 분산 장치를 포함하는 인증을 지원하지 않습니다. 원격 액세스의 경우 VPN 솔루션을 사용하거나 Tableau Prep의 트래픽을 인증을 위해 Tableau Server로 직접 라우팅하도록 게이트웨이 서비스를 구성합니다.

  • Tableau Desktop은 트래픽이 최종 인증을 위해 Tableau Server로 라우팅되기 전에 인증 모듈이 역방향 프록시에서 사전 인증을 수행하는 것을 조건으로 역방향 프록시 인증을 지원합니다. 자세한 내용은 Tableau Server 엔터프라이즈 배포 가이드5부 - 웹 계층 구성(링크가 새 창에서 열림)독립 게이트웨이로 인증 모듈 구성을 참조하십시오.

조직에서 Active Directory를 사용하여 인증하는 경우:

  • Kerberos를 사용하도록 Tableau Server를 구성하기 전에 Tableau Server에서 역방향 프록시를 구성해야 합니다. 자세한 내용은 Kerberos 구성을 참조하십시오.

역방향 프록시 서버 및/또는 부하 분산 장치를 사용하도록 Tableau Server 구성

Tableau Server를 구성하기 전에 프록시 서버 구성과 관련된 다음과 같은 정보를 수집해야 합니다. Tableau Server를 구성하려면 tsm configuration set 명령을 사용합니다. 수집해야 하는 정보는 tsm을 실행할 때 필요한 옵션에 따라 다릅니다.

다음 tsm 옵션의 대부분은 부하 분산 장치 뒤에서 작동하는 Tableau Server 배포를 구성하는 데에도 사용됩니다. 자세한 내용은 부하 분산 장치 추가를 참조하십시오.

항목설명해당하는 tsm configuration set 옵션
IP 주소 또는 CNAME

이 옵션에는 IP 주소나 CNAME을 입력할 수 있습니다.

프록시 및 부하 분산 장치 서버의 공용 IP 주소입니다. IP 주소는 IPv4 형식(예: 203.0.113.0)이어야 하며 정적 IP여야 합니다.

정적 IP를 제공할 수 없거나 클라우드 프록시 또는 외부 부하 분산 장치를 사용하는 경우 클라이언트가 Tableau Server에 연결할 때 사용할 CNAME(정규 이름) DNS 값을 지정할 수 있습니다. 이 CNAME 값은 역방향 프록시 솔루션에서 Tableau Server와 통신하도록 구성되어야 합니다.

gateway.trusted
FQDNTableau Server에 연결하기 위해 사용하는 정규화된 도메인 이름(예: tableau.example.com). Tableau Server는 이 옵션에 대해 컨텍스트 전환을 지원하지 않습니다. 예를 들어 example.com/tableau URL은 지원되지 않습니다.gateway.public.host
비FQDN프록시 또는 LB 서버의 모든 하위 도메인 이름입니다. 예를 들어 tableau.example.com에서 하위 도메인 이름은 tableau입니다.gateway.trusted_hosts
별칭프록시 또는 LB 서버에 대한 공용 대체 이름입니다. 대부분의 경우 별칭은 CNAME 값을 사용하여 지정됩니다. bigbox.example.comftp.example.comwww.example.com CNAME 항목을 포함하는 프록시 서버를 예로 들 수 있습니다.gateway.trusted_hosts
포트클라이언트에서 역방향 프록시 서버로 이동하는 트래픽에 대한 포트 번호입니다.

gateway.public.port

Tableau Server의 분산 설치를 사용하는 경우 클러스터의 초기 노드에서 다음 tsm 명령을 실행하십시오.

  1. 다음 명령을 입력하여 클라이언트가 프록시 및/또는 LB 서버를 통해 Tableau Server에 접속할 때 사용하는 FQDN을 설정합니다. 여기서 name은 FQDN입니다.

    tsm configuration set -k gateway.public.host -v 'name'

    예를 들어 브라우저에 https://tableau.example.com을 입력하여 Tableau Server에 연결하는 경우 이 명령을 입력합니다.

    tsm configuration set -k gateway.public.host -v 'tableau.example.com'

  2. 다음 명령을 입력하여 프록시 및/또는 LB 서버의 주소 또는 CNAME을 설정합니다. 여기서 server_address는 IPv4 주소 또는 CNAME 값입니다.

    tsm configuration set -k gateway.trusted -v 'server_ip_address'

    여러 개의 프록시 서버 및/또는 LB 서버를 사용하는 경우 여러 IPv4 주소를 쉼표로 구분하여 입력합니다. IP 범위는 지원되지 않습니다. Tableau Server의 시작 및 초기화를 개선하려면 gateway.trusted의 항목 수를 최소화하십시오.

  3. 다음 명령을 입력하여 정규화된 도메인 이름, 정규화되지 않은 도메인 이름, 별칭 등과 같은 프록시/LB 서버에 대한 대체 이름을 지정합니다. 둘 이상의 이름이 있는 경우 쉼표로 이름을 구분합니다.

    tsm configuration set -k gateway.trusted_hosts -v 'name1, name2, name3'

    예:

    tsm configuration set -k gateway.trusted_hosts -v 'proxy1.example.com, proxy1, ftp.example.com, www.example.com'

  4. 프록시 서버가 SSL을 사용하여 인터넷과 통신하는 경우 다음 명령을 실행하여 역방향 프록시 서버에 포트 80이 아닌 포트 443이 사용됨을 Tableau에 알려 줍니다.

    tsm configuration set -k gateway.public.port -v 443

    참고: 프록시 서버가 SSL을 사용하여 Tableau Server와 통신하는 경우 Tableau Server에서 SSL을 구성하고 사용하도록 설정해야 합니다.

  5. 다음 명령을 입력하여 구성 변경을 커밋합니다.

    tsm pending-changes apply

    보류 중인 변경 내용을 적용하려면 서버를 다시 시작해야 하는 경우 pending-changes apply 명령은 서버가 다시 시작됨을 알리는 메시지를 표시합니다. 서버가 중지된 경우에도 이 메시지가 표시되지만 이 경우 다시 시작은 없습니다. --ignore-prompt 옵션을 사용하여 이 메시지를 표시하지 않을 수 있지만 다시 시작 동작은 변경되지 않습니다. 변경 내용을 적용해도 다시 시작할 필요가 없는 경우 메시지 없이 변경 내용이 적용됩니다. 자세한 내용은 tsm pending-changes apply를 참조하십시오.

Tableau Server에서 작동하도록 역방향 프록시 또는 부하 분산 서버 구성

클라이언트가 역방향 프록시 또는 부하 분산 장치를 통해 Tableau Server에 액세스하는 경우 특정 메시지 헤더가 보존(또는 추가)되어야 합니다. 구체적으로, 메시지 체인의 모든 서버는 gateway.trustedgateway.trusted_hosts 설정에 표시되어야 합니다.

다음 그래픽은 프록시 서버가 Tableau Server와 직접 통신하는 단일 홉 메시지 체인에 대한 예제 헤더를 보여 줍니다.

다음 그래픽은 메시지가 두 개의 프록시 서버를 통과한 후 Tableau Server에 연결하는 다중 홉 메시지 체인에 대한 예제 헤더를 보여 줍니다.

다음 표에서는 이러한 헤더의 정의 및 관련된 Tableau Server 구성 설정을 설명합니다.

헤더설명관련된 Tableau Server 설정
REMOTE_ADDRX-FORWARDED-FOR(XFF)Tableau Server에서 요청의 원본 IP 주소를 확인하는 데 사용됩니다. X-FORWARDED-FOR 헤더에는 Tableau Server에 대한 IP 주소 체인이 연결이 발생한 순서로 표시되어야 합니다.gateway.trusted에 설정한 IP 주소는 REMOTE_ADDR에 제공된 IP와 일치해야 합니다. gateway.trusted에 여러 주소를 설정한 경우 그 중 하나가 REMOTE_ADDR에 제공된 IP와 일치해야 합니다.
HOSTX-FORWARDED HOST(XFH)Tableau Server가 클라이언트에 회신할 때 Tableau Server에 대한 절대 링크를 생성하는 데 사용됩니다. X-FORWARDED-HOST 헤더에는 Tableau Server에 대한 호스트 이름이 연결이 발생한 순서로 표시되어야 합니다.X-FORWARDED-HOST 헤더에 표시된 호스트 이름은 gateway.trusted_hosts에서 지정한 호스트 이름에 포함되어야 합니다.
X-FORWARDED-PROTO(XFP)이 헤더는 클라이언트에서 프록시로 이동하는 트래픽에 SSL을 사용하지만 프록시에서 Tableau Server로 이동하는 트래픽에는 사용하지 않는 경우 필요합니다.

X-FORWARDED-PROTO 헤더는 메시지 경로의 각 홉에서 HTTP 또는 HTTPS가 유지되지 않는 시나리오에서 중요합니다. 예를 들어 역방향 프록시에서는 외부 요청에 대해 SSL을 요구하지만 역방향 프록시와 Tableau Server 사이의 트래픽은 SSL을 사용하도록 구성되지 않은 경우 X-FORWARDED-PROTO 헤더가 필요합니다. 일부 프록시 솔루션은 자동으로 X-FORWARDED-PROTO 헤더를 추가하지만 그렇지 않은 솔루션도 있습니다. 최종적으로, 프록시 솔루션에 따라 포트 443에서 포트 80으로 요청을 변환하도록 포트 전달을 구성해야 할 수 있습니다.

관련 KB 문서: 업그레이드한 후 SAML에서 "로그인할 수 없음" 및 "잘못된 사용자 이름 또는 암호" 오류 발생(영어)(링크가 새 창에서 열림)

역방향 프록시에 대한 포트 구성(클라이언트에서 오는 인바운드 연결 및 Tableau Server로 향하는 아웃바운드 연결)을 해당하는 매개 변수인 gateway.public.port(클라이언트가 프록시에 연결할 때 사용하는 포트)에 지정해야 합니다.

프록시 서버가 SSL을 사용하여 Tableau Server와 통신하는 경우 Tableau Server에서 SSL을 구성하고 사용하도록 설정해야 합니다.

역방향 프록시 및 부하 분산 장치 구성 검증

게이트웨이와 Tableau Server 간 구성의 유효성을 확인하려면 Tableau Server 웹 작성 또는 Tableau Desktop을 사용하여 통합 문서 및 데이터 원본을 게시합니다. 인터넷에서 웹 브라우저를 통해 Tableau Server에 연결하는 경우 권장 브라우저(링크가 새 창에서 열림)를 사용하는지 확인하십시오. 기존 데이터 원본을 사용하는 통합 문서와 게시된 데이터 원본을 사용하는 통합 문서를 게시하고 봅니다. Tableau Server에 최종 사용자로 연결하는 방법에 익숙해지려면 아래 링크를 참조하십시오.

작업설명서
웹 작성의 개요입니다.웹에서 Tableau 사용(링크가 새 창에서 열림)
Tableau Desktop 또는 웹 브라우저에서 Tableau Server에 로그인합니다.Tableau Server 또는 Online에 로그인(링크가 새 창에서 열림)
통합 문서를 Tableau Server에 게시합니다.통합 문서 게시(링크가 새 창에서 열림)
데이터 원본을 게시합니다.데이터 원본 게시(링크가 새 창에서 열림)
Tableau Server에서 통합 문서를 엽니다.서버에서 통합 문서 열기(링크가 새 창에서 열림)
서버에서 로그아웃합니다(Desktop 사용).Tableau Server 또는 Online에 로그인(링크가 새 창에서 열림)
웹 브라우저에서 통합 문서를 다운로드합니다.통합 문서 다운로드(링크가 새 창에서 열림)
tabcmd(비서버 클라이언트에서)가 작동하는지 확인합니다.tabcmd

관련 항목

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!