PostgreSQL 데이터베이스를 독립 실행형 설치로 만들기
버전 2021.2부터는 Tableau Server 리포지토리를 독립 실행형 설치로 별도 호스팅할 수 있습니다. 이는 AWS RDS 또는 Azure 데이터베이스와 같은 관리형 클라우드 서비스를 사용하는 것과 다릅니다. 이 구성은 온프레미스, AWS EC2 또는 Azure VM에서 수행할 수 있습니다. 이러한 Tableau Server 리포지토리 설치를 독립 실행형 외부 리포지토리라고 합니다.
외부 리포지토리에 사용할 수 있는 전체 호스트 목록을 보려면 Tableau Server 외부 리포지토리를 참조하십시오.
이 항목에서는 Tableau Server가 PostgreSQL 설치에 연결하여 Tableau Server 외부 리포지토리로 사용하는 데 필요한 요구 사항 및 구성에 대한 지침을 제공합니다. 이 항목에서는 PostgreSQL 설치 방법에 대한 자세한 지침을 제공하지 않습니다. 이 정보를 보려면 PostgreSQL 사이트의 설명서를 따르는 것이 좋습니다.
요구 사항 및 권장 사항
하드웨어 권장 사항: CPU와 저장소는 요구 사항에 따라 다릅니다. 소규모 설치의 경우 50GB 이상의 디스크 저장소와 32GB의 RAM이 장착된 쿼드 프로세서(또는 4개의 가상 코어) 시스템이 있어야 합니다. 백업 및 복원을 위한 디스크 공간 요구 사항을 계산하려면 이 항목의 지침을 검토하십시오. 일반적인 권장 사항은 더 많은 하드웨어 리소스로 시작하고 모니터링 후 축소하는 것입니다.
네트워킹: Tableau Server 클러스터의 모든 노드가 PostgreSQL 데이터베이스 인스턴스에 연결할 수 있어야 합니다. 이렇게 하는 방법 중 하나는 PostgreSQL 데이터베이스 인스턴스를 Tableau Server 클러스터의 모든 노드가 액세스할 수 있는 사용 권한을 가진 보안 그룹의 멤버로 만드는 것입니다.
- 버전 호환성: PostgreSQL의 버전은 로컬로 설치할 때 Tableau Server 리포지토리에서 사용하는 버전과 일치해야 합니다. 호환성에 대한 자세한 내용은 제품 호환성을 참조하십시오.
보안: Tableau Server와 외부 리포지토리 간의 SSL을 사용한 보안 연결은 필수는 아니지만 권장됩니다.
Tableau Server와 외부 리포지토리 간에 보안 연결을 설정하지 않으려는 경우 암호화되지 않은 연결을 허용하도록 독립 실행형 PostgreSQL 데이터베이스를 구성해야 합니다.
독립 실행형 PostgreSQL 데이터베이스 인스턴스 만들기
1단계: PostgreSQL 설치 및 초기화
- PostgreSQL 설명서를 사용하여 Tableau Server의 외부 리포지토리 역할을 할 PostgreSQL 데이터베이스 인스턴스를 설치합니다. 고가용성 요구 사항을 충족하도록 PostgreSQL 데이터베이스 클러스터를 설정할 수 있습니다.
uuid-ossp 확장 프로그램이 포함된 contrib 패키지를 설치합니다. 이 모듈은 Tableau Server가 데이터베이스의 키에 사용하는 UUID를 생성하는 데 사용됩니다.
- PostgreSQL 인스턴스를 초기화합니다.
1단계: PostgreSQL 인스턴스 구성
PostgreSQL 인스턴스를 구성하기 위해 두 개의 구성 파일을 사용합니다.
pg_hba
: 호스트 기반 인증을 위한 구성 파일입니다.postgresql.conf
: 일반 서버 구성 파일입니다.
기본적으로 이러한 파일의 위치는 다음과 같습니다.
/var/lib/pgsql/12/data
(배포에 따라 다를 수 있음)
슈퍼 사용자 설정
요구 사항을 충족하는 사용자 이름을 선택합니다. Admin user name(관리자 사용자 이름)으로 postgres를 사용하는 것이 좋습니다. 다른 사용자 이름을 사용하도록 선택하는 경우 사용자 이름이 pg로 시작하지 않는지 확인하십시오. 또한 사용자 이름으로 rails, tblwgadmin, tableau, readonly 또는 tbladminviews를 사용할 수 없습니다.
Tableau Server에서 외부 리포지토리가 올바르게 작동하려면 이 요구 사항이 충족되어야 합니다.
네트워크 및 보안
모든 Tableau Server 노드에서 데이터베이스 인스턴스에 연결할 수 있는지 확인하십시오. 대부분 모든 노드에서 액세스할 수 있도록 허용하는 보안 그룹을 만들어 처리합니다.
데이터베이스 옵션
포트는 아무 값이나 사용할 수 있지만 기본값인 5432
로 유지하는 것이 좋습니다.
업데이트 매개 변수
Tableau Server 수준에서 인스턴스에 대한 대부분의 매개 변수 값을 기본값으로 설정할 수 있습니다. 특정 성능 또는 로깅 요구 사항이 있는 경우 매개 변수 값을 수정할 수 있지만 다음 매개 변수를 기본값으로 설정하고 변경하지 않는 것이 좋습니다.
standard_conforming_strings
escape_string_warning
또한 성능 문제를 방지하기 위해 work_mem
값을 16384
이상으로 설정하는 것이 좋습니다.
원격 연결 구성
다음 단계에 따라 구성 파일을 업데이트합니다.
기본적으로
postgresql.conf
의 구성은 로컬 연결만 수신하도록 구성됩니다.postgresql.conf
파일의 연결 및 인증 섹션에서 다음과 같이 변경하여 원격 연결을 사용하도록 설정합니다.원격 연결을 허용하려면 다음 줄을 추가합니다.
listen_addresses = '*'
- PostgreSQL 인스턴스를 다시 시작합니다.
SSL 구성
Tableau Server와 외부 리포지토리 간의 보안 연결은 필수는 아니지만 권장됩니다.
Tableau Server와 외부 리포지토리 간에 암호화된 연결을 구성하려면 아래에 설명된 지침 및 자세한 단계를 따릅니다.
독립 실행형 PostgreSQL 데이터베이스 인스턴스를 사용하도록 Tableau Server를 구성할 때 서버 연결을 확인하는 데 사용되는 신뢰할 수 있는 루트 CA(인증 기관)를 제공해야 합니다. 이상적으로, 독립 실행형 PostgreSQL 인스턴스의 서버 인증서는 확인 가능한 호스트 이름을 지정해야 Tableau Server가 sslmode, verify-full을 사용할 수 있습니다. 이 모드는 PostgreSQL 서버의 인증서가 신뢰할 수 있는 CA에 의해 서명되었으며 PostgresSQL Server 인증서의 호스트 이름이 PostgreSQL 인스턴스에 연결하는 데 사용된 호스트 이름과 일치하는지 확인합니다. 그러나 sslmode, verify-ca를 사용할 수 없는 경우 Postgres 서버의 인증서가 신뢰할 수 있는 CA에 의해 서명되었는지 확인하기만 하면 됩니다.
다음 절차에서는 PostgreSQL 서버에 루트 CA 인증서를 생성하는 일반적인 단계를 설명합니다. 자세한 내용은 PostgreSQL 웹 사이트의 SSL 설명서를 참조하십시오(링크는 버전 12를 가리킴).
서명 루트 CA(인증 기관) 키를 생성합니다.
- 루트 CA 인증서를 만듭니다.
PostgreSQL 서버에 대한 인증서와 관련 키(예:
server.csr
및server.key
)를 생성합니다. 인증서의 주체 이름은 PostgreSQL 서버의 DNS 이름과 일치해야 합니다. 주체 이름은 ‘/CN=<private DNS name>
’ 형식의 -subj 옵션으로 설정됩니다.- 2단계에서 만든 CA 인증서를 사용하여 새 인증서에 서명합니다.
crt 및 키 파일을 데이터 디렉터리(
/pgsql/<version>/data
)에 복사합니다.pg_hba.conf
파일은 데이터베이스에 대한 연결을 제어합니다. 원격 연결을 허용하려면 다음 줄을 추가합니다. 예를 들면 다음과 같습니다.host all all 10.0.0.0/8 md5
SSL을 사용하도록 설정하려면 다음을 사용하여
postgresql.conf
파일을 추가하거나 업데이트합니다.ssl = on
SSL로만 연결을 제한하려면 host 대신 hostssl을 사용합니다.
고가용성 및 재해 복구
Tableau Server는 외부 리포지토리에 대한 고가용성을 관리하거나 설정하지 않습니다. PostgreSQL 데이터베이스는 복제 및 로그 전달을 비롯한 이러한 목적을 위한 여러 솔루션을 지원합니다. 자세한 내용은 PostgreSQL 웹 사이트에서 고가용성 설명서(영문)를 참조하십시오.
재해가 발생할 경우 새 PostgreSQL 인스턴스를 설정해야 하면 다음 단계에 따라 새 인스턴스를 사용하도록 Tableau Server를 구성해야 합니다.
새 RDS 인스턴스에 대한 연결 정보를 포함하는 새 JSON 설정 파일을 만듭니다. JSON 설정 파일 만들기에 대한 자세한 내용은 외부 PostgreSQL 리포지토리와 함께 Tableau Server 설치의 1단계를 참조하십시오.
tsm topology external-services repository replace-host
명령을 사용하여 Tableau Server를 새 PostgreSQL 인스턴스를 가리키도록 설정합니다.tsm topology external-services repository replace-host
명령에 대한 자세한 내용은 tsm topology를 참조하십시오.
이 작업을 수행할 수 있는 사용자
Tableau Server 관리자만 Tableau Server를 외부 리포지토리를 사용하도록 구성할 수 있습니다. AWS EC2 또는 Azure VM을 사용하여 독립 실행형 외부 리포지토리를 설정하는 경우 이러한 플랫폼에 액세스하려면 계정이 있어야 합니다.