Data Connect 배포

조직에 Data Connect를 배포하기 전에 다음 필수 요건을 충족했는지 확인하십시오.

  • Data Connect 배포를 담당하는 사람 또는 팀은 Linux 운영 체제, 셸 스크립팅, Docker 및 Kubernetes에 대한 경험이 있어야 합니다.

  • Tableau 사이트 관리자 PAT가 있어야 합니다. 자세한 내용은 개인용 액세스 토큰을 참조하십시오.

  • Data Connect 배포 계획에 지정된 최소 하드웨어 요구 사항을 충족해야 합니다.

  • Data Connect 배포 계획에 지정된 네트워킹 사양을 충족하고 데이터베이스 액세스 권한이 있어야 합니다.

1단계: 클러스터 설정

다음 연결 및 액세스를 확인하십시오.

  • Data Connect 인프라, 클러스터 및 컨테이너에는 오케스트레이션 공급자 서비스(위 이미지의 #2) 및 Tableau Cloud(아웃바운드만 해당, #5)에 대한 네트워크 액세스가 필요합니다.

  • Data Connect 인프라, 클러스터, 컨테이너 및 에이전트에는 데이터베이스(#6)에 대한 네트워크 액세스가 필요합니다.

네트워킹 사양을 참조하십시오.

배포 및 구성

Kubernetes 클러스터를 실행하려는 조직의 각 컴퓨터에서 다음 절차를 실행합니다.

  1. 보조 볼륨이 포맷되지 않았음을 확인하십시오. Linux 노드에서 다음 명령을 실행합니다.

    lsblk -f

    다음 이미지는 클러스터 노드에 있는 nvme1n1 추가 볼륨이 포맷되지 않았고 FSTYPE이 비어 있는 예를 보여줍니다.

  2. Data Connect 탭의 풀 아래에서 새 풀을 클릭합니다. 새 풀 창에서 풀 이름을 입력하고 만들기를 클릭합니다.

  3. Data Connect 탭의 클러스터 및 노드 아래에서 새 클러스터를 클릭합니다. 새 클러스터 창에서 클러스터 이름을 입력하고 만들기를 클릭합니다.

  4. 방금 생성한 클러스터에서 동작 열을 클릭한 다음 새 노드를 클릭합니다. 새 노드 추가 창에서 파일 다운로드를 클릭합니다.

    cluster.tar 파일이 다운로드 폴더에 다운로드됩니다. 이 파일에는 노드에서 실행할 부트스트래핑 스크립트가 들어 있습니다.

  5. cluster.tar 파일을 컴퓨터에 복사합니다. 다음 예시는 tar 파일을 복사하고, 파일을 추출하고, 스크립트를 실행 파일로 변경한 다음, 스크립트를 실행하는 방법을 보여줍니다. 이 예는 AWS의 맥락에서 이를 보여줍니다. 환경의 파일 경로를 변경합니다.

    <key-name><IP-address>를 사용자의 값으로 바꾸고 root 또는 sudo 사용자 자격으로 다음 명령을 실행합니다.

    > scp -i <key-name>.pem /Downloads/cluster.tar ec2-user@ip-<IP-address>.us-west-2compute.internal:~/

    > ssh -i <key-name>.pem ex2-user@ip-<IP-address>.us-west-2compute.internal

    > tar -xvf clustertar.tar

    > chmod +x onboard_node.sh preflight_check.sh

    > ./onboard_node.sh

    스크립트를 성공적으로 실행한 후에는 터미널 창에 Successfully performed all operations와 같은 내용이 표시되고, Tableau 팀이 프로비저닝 프로세스를 시작합니다.

    오류가 발생하면 배포가 Data Connect 배포 계획에 설명된 최소 하드웨어 요구 사항 및 네트워킹 사양을 충족하는지 확인합니다.

  6. 사이트의 Data Connect 탭에서 2단계에서 만든 풀을 찾습니다. 동작 열에서 클러스터 할당을 클릭한 다음 3단계에서 만든 클러스터를 선택합니다.

  7. 클러스터에서 V형 무늬(⌄)를 클릭하면 호스트 이름과 사용 가능한 동작을 확인할 수 있습니다. 이 정보가 표시되지 않으면 페이지를 다시 로드해야 할 수도 있습니다. 호스트 이름이 대상 노드인지 확인된 후 노드 수락을 클릭한 다음 확인을 클릭합니다.

    클러스터 노드가 프로비저닝 상태로 전환됩니다. 노드를 프로비저닝하는 데 한 시간 이상 걸릴 수 있습니다.

  8. 노드의 상태가 사용 가능으로 변경되면 클러스터를 할당한 풀로 이동하여 동작 단추(...)를 클릭한 다음 토큰 새로 고침을 클릭합니다. 올바른 풀에 대한 토큰을 새로 고치고 있는지 확인한 다음 확인을 클릭합니다.

  9. 토큰 새로 고침이 완료될 때까지 기다립니다. 완료되면 풀 상태가 사용 가능으로 설정됩니다. 클러스터로 돌아가서 V형 무늬(⌄)를 클릭하여 클러스터 이름 섹션을 축소합니다. 클러스터에 대한 동작 단추(...)를 클릭한 다음 컨테이너 레지스트리 정보 가져오기를 클릭합니다.

    • 이 단계를 시도하는 동안 오류가 발생하면 레지스트리가 아직 배포되지 않았으며 프로비저닝 프로세스가 아직 마무리 중일 수 있습니다. 잠시 기다린 후 다시 시도합니다.
    • 레지스트리 정보(서버 이름, 사용자 이름, 비밀번호)가 표시되면 다음 단계를 위해 해당 정보를 복사합니다.

2단계: 기본 이미지 작성 및 게시

이 단계에서 필요한 드라이버를 포함한 기본 이미지를 작성한 후 Docker 컨테이너 레지스트리에 이미지를 게시합니다. 시작하기 전에:

  • 이전 단계의 Docker 컨테이너 레지스트리 정보가 있는지 확인해야 합니다.

  • 각 풀에는 고유한 기본 이미지와 일련의 드라이버가 있을 수 있습니다.

  • TDC 파일을 사용하여 연결하려면 이 파일을 기본 이미지에 포함해야 합니다. 시스템 사용자 tableau는 이 파일에 대한 읽기 권한이 있어야 합니다. 이 파일을 만들고 저장하는 방법에 대한 자세한 내용은 Tableau Desktop 도움말 항목 연결 사용자 지정 및 조정(링크가 새 창에서 열림)을 참조하십시오.

컨테이너 작성

다음 절차는 RHEL 배포의 예를 보여줍니다. 해당 배포에 맞는 패키지 관리자 도구나 다른 도구를 설치해야 할 수도 있습니다.

  1. Kubernetes 클러스터의 아무 노드에 로그인합니다. 필요에 따라 Docker와 지원 도구를 설치합니다.

    #RedHat
    sudo dnf install -y container-tools podman-docker
    #Ubuntu
    sudo apt-get update -y
    sudo apt-get install -y docker.io
  2. Dockerfile을 만듭니다.

    touch Dockerfile
  3. Dockerfile을 업데이트하여 연결을 지원하는 드라이버를 포함합니다. 이 Dockerfile에 지정된 명령은 기본 이미지를 작성하는 동안 실행됩니다. 예를 들면 다음과 같습니다.

    # example base 
    FROM registry.access.redhat.com/ubi8
    RUN yum -y update
    WORKDIR /
    # Go to https://tableau.com/support/drivers
    # Follow the instructions to install your drivers for linux
    CMD [“/bin/bash”]

    드라이버 파일의 대상 디렉터리는 다양합니다. 자세한 내용은 Tableau 드라이버 다운로드(링크가 새 창에서 열림)를 참조하십시오.

    참고: Data Connect는 Linux 드라이버가 있고 'Bridge를 통해 Tableau Cloud 사용'이라는 레이블로 표시되는 Exchange Connector를 지원합니다. 자세한 내용은 Tableau Exchange 커넥터(링크가 새 창에서 열림)를 참조하십시오.

    curl 명령을 사용하여 드라이버를 다운로드하는 공개 JDBC 드라이버의 Dockerfile 라인 예시:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    RUN curl --location --output /opt/tableau/tableau_driver/jdbc/<file> <URL>
    				

    비공개 JDBC 드라이버에 대한 Dockerfile 라인 예시(복사 기능 사용):

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    COPY  <file> /opt/tableau/tableau_driver/jdbc

    taco 드라이버에 대한 Dockerfile 라인 예시(복사 기능 사용):

    RUN mkdir -p /home/tableau/Documents/My_Tableau_Bridge_Repository/Connectors
    COPY  <file> /home/tableau/Documents/My_Tableau_Bridge_Repository/Connectors
  4. Kubernetes 클러스터 노드에 로그인한 상태에서 변수 POOL_ID를 풀 ID 값으로 설정합니다. 풀 ID 값을 표시하려면 Data Connect 탭을 열고 풀 이름을 클릭합니다.

    • 복사한 레지스트리 값을 해당 값으로 설정합니다.

      REGISTRY_HOSTNAME=registry_host_name_you_copied
      REGISTRY_USERNAME=registry_user_name_you_copied
      REGISTRY_PASSWORD=registry_password_you_copied
    • 풀 ID 값을 설정합니다.

      POOL_ID=<pool_id_value>
  5. 기본 이미지로 사용될 컨테이너를 작성합니다.

    docker build -f <path_to_dockerfile> -t $REGISTRY_HOSTNAME/bridge-base:$POOL_ID .
  6. 기존 Kubernetes 노드에 로그인하고 이미지를 로컬 컨테이너 레지스트리에 푸시합니다.

    docker login --username $REGISTRY_USERNAME $REGISTRY_HOSTNAME
    docker push $REGISTRY_HOSTNAME/bridge-base:$POOL_ID
  7. 구성 중인 풀 아래에서 동작 단추(...)를 클릭하고 기본 이미지 새로 고침을 클릭합니다. 이 동작을 수행하면 기본 이미지를 사용하여 배포가 시작되며 최대 10분이 걸릴 수 있습니다.

    참고: 새로운 기본 이미지가 생성되고 새로 고쳐질 때마다 새 배포가 생성됩니다. 이전 기본 이미지에 사용된 Bridge 에이전트는 할당되지 않은 자산으로 유지됩니다. 할당되지 않은 Bridge 에이전트를 삭제하지 마십시오.

3단계: 풀에 도메인 매핑

허용 목록에 지정하는 도메인 이름은 데이터 원본 연결에 사용되는 서버 이름입니다.

  1. Data Connect 탭의 풀 및 사설망 허용 목록 섹션 아래에서 할당한 풀을 선택하고 동작 열에서 새 도메인을 클릭합니다.

  2. 도메인 텍스트 상자에 허용 목록 등록 규칙에 설명된 정보를 사용하여 도메인의 URI를 입력합니다. 지정한 도메인 URI는 구성 중인 풀로만 범위가 지정됩니다.

  3. 도메인 사용 권한 아래에서 허용 라디오 버튼이 선택되어 있는지 확인합니다.

  4. 작업을 마쳤으면 저장을 클릭합니다.

연결 오류 문제 해결

Data Connect가 연결하려는 모든 필수 데이터 원본에 도달할 수 있도록 네트워크 인프라를 구성해야 합니다. Data Connect에서 데이터 원본에 연결할 수 있는지 확인하려면 Data Connect를 실행할 노드에서 다음 curl 명령을 실행합니다.

$ curl -v $DB_HOSTNAME:$DB_PORT

성공적으로 연결을 설정했다면 응답 모음이 표시되어야 합니다. 다음은 몇 가지 예입니다.

  • Host $DB_HOSTNAME:$DB_PORT was resolved: DNS 서버가 호스트 이름을 성공적으로 확인했는지 확인합니다.

  • Connected to $DB_HOSTNAME: 노드가 네트워크에 연결되어 있는지 확인합니다.

  • Empty reply from server. Closing connection: 이는 curl이 데이터베이스 클라이언트가 아니므로 예상되는 결과입니다.

  • Could not resolve host: $DB_HOSTNAME: DNS 확인에 문제가 있습니다.

  • Trying $DB_IP_ADDRESS:$DB_PORT: 이 메시지 뒤에 중단 결과가 나오면 네트워크에 문제가 있는 것입니다.

Data Connect 인프라에 타사 제품을 사용하는 경우 타사 제품으로 인해 네트워킹 로직이 중단되지 않는지 확인하십시오.

(선택 사항) 4단계: 사이트 간 클러스터 공유

기본적으로 Data Connect 클러스터와 해당 노드는 원래 만든 사이트에서만 사용됩니다. 하지만 Data Connect 클러스터는 Tableau Cloud Manager 테넌트 내의 모든 사이트에서 공유될 수 있습니다. 클러스터를 공유하면 테넌트 내 여러 사이트의 쿼리가 동일한 노드 인프라를 사용하여 수행될 수 있습니다.

사이트 전체의 데이터 개인 정보 보호를 보장하기 위해 테넌트의 다른 사이트에서는 공유 클러스터에 대한 데이터를 사용할 수 없습니다.

참고: 클러스터 공유는 영구적인 작업입니다. 클러스터의 공유를 해제하려면 클러스터를 제거했다가 다시 설치해야 합니다.

클러스터는 원래 만든 사이트에서 성공적으로 승인된 후에만 공유할 수 있습니다.

Data Connect 클러스터를 공유하려면:

  • 공유하려는 클러스터로 이동하여 동작 메뉴인 줄임표(...)를 클릭한 다음 공유를 클릭합니다.

클러스터를 공유한 후에는 테넌트 내 다른 사이트의 사이트 관리자가 자신의 사이트에서 만든 모든 풀과 함께 클러스터를 사용할 수 있습니다.

(선택 사항) 5단계: 클러스터 수신자로 공유 클러스터에서 풀 만들기

수신자는 공유 클러스터에서 풀을 만들기 전에 다음 사항을 확인하십시오.

  • 공유 클러스터가 사이트에서 사용하는 데이터베이스와 네트워크로 연결되어 있음

  • 사이트의 데이터베이스에 필요한 모든 데이터베이스 드라이버가 클러스터에 설치되어야 함

공유 클러스터를 클러스터 수신자로 사용하기 시작하려면 클러스터 소유자와 통신하여 풀의 기본 이미지를 클러스터에 추가해야 합니다.

  1. Data Connect 탭의 풀 아래에서 새 풀을 클릭합니다.

  2. 새 풀 창에서 풀 이름을 입력하고 만들기를 클릭합니다.

  3. 새 풀에서 클러스터 할당을 클릭하고 공유 클러스터를 선택한 다음 동작 메뉴인 줄임표(...)를 클릭한 다음 토큰 새로 고침을 클릭합니다.

  4. 올바른 풀에 대한 토큰을 새로 고치고 있는지 확인한 다음 확인을 클릭합니다.

  5. 풀 상태가 사용 가능으로 설정되면 풀의 Pool_ID를 복사합니다. Pool_ID 값을 표시하려면 풀 이름을 클릭합니다.

  6. 사이트의 기본 이미지를 추가합니다. 위의 2단계: 기본 이미지 작성 및 게시를 참조하십시오.

    클러스터에 액세스할 수 있는 관리자는 기본 이미지를 추가할 때 Pool_ID 값을 사용하여 새 컨테이너를 작성해야 합니다. 클러스터를 원래 만든 사이트의 레지스트리 값도 필요하며, 이는 클러스터 소유자가 제공할 수 있습니다.

  7. 기본 이미지를 로컬 컨테이너 레지스트리에 게시한 후 공유 사이트의 풀로 이동한 다음 기본 이미지 새로 고침을 클릭합니다.

  8. 설정을 완료하려면 위의 3단계: 풀에 도메인 매핑을 참조하십시오.

기존 클러스터에서 노드 추가

  1. 클러스터로 이동하여 새 노드를 클릭합니다.

  2. 위의 1단계: 클러스터 설정 절차에서 4, 5, 7, 8, 9단계를 따릅니다. 클러스터를 할당할 필요가 없으므로 6단계는 생략합니다.

  3. 토큰 새로 고침 단계가 완료되면 클러스터와 연관된 풀로 이동하여 기본 이미지 새로 고침을 클릭합니다.

참고: 새로운 기본 이미지가 생성되고 새로 고쳐지면 새 배포가 생성됩니다. 이전 기본 이미지에 사용된 Bridge 클라이언트는 할당되지 않은 자산으로 유지됩니다. 할당되지 않은 Bridge 클라이언트를 삭제하지 마십시오.

기존 클러스터에서 노드 제거

클러스터에서 노드를 제거한 후에는 Tableau Cloud에서 Bridge 클라이언트에 더 이상 액세스할 수 없습니다. 노드가 삭제되는 시점에 Data Connect에서 실행 중인 모든 작업은 실패합니다. 하지만 해당 Bridge 클라이언트로는 추가 작업이 라우팅되지 않습니다.

노드를 제거하려면 클러스터로 이동하여 동작 메뉴인 줄임표(...)를 클릭하고 삭제를 선택합니다.

기존 풀의 기본 이미지 업데이트

새 데이터베이스를 사용하거나 Data Connect 클러스터에서 사용할 드라이버를 업데이트하기로 결정한 경우 이러한 변경 사항을 수용하도록 기존 기본 이미지를 변경할 수 있습니다. 이렇게 하려면 2단계: 기본 이미지 작성 및 게시에 설명된 대로 컨테이너 파일을 업데이트하여 변경 사항을 적용합니다. 컨테이너 파일을 업데이트한 후 기본 이미지 새로 고침을 클릭합니다. 새 기본 이미지가 성공적으로 배포될 때까지 이전 기본 이미지가 사용됩니다.

데이터베이스 연결 문제 해결

먼저, 도메인이 허용 목록 레지스트리 규칙을 준수하는지 확인합니다. 풀 구성을 참조하십시오.

다음으로, Data Connect가 연결하려는 모든 필수 데이터 원본에 도달할 수 있도록 네트워크 인프라를 구성했는지 확인합니다. Data Connect에서 데이터 원본에 연결할 수 있는지 확인하려면 Data Connect를 실행할 노드에서 다음 curl 명령을 실행합니다.

$ curl -v $DB_HOSTNAME:$DB_PORT

성공적으로 연결을 설정했다면 응답 모음이 표시되어야 합니다. 다음은 몇 가지 예입니다.

  • Host $DB_HOSTNAME:$DB_PORT was resolved: DNS 서버가 호스트 이름을 성공적으로 확인했는지 확인합니다.

  • Connected to $DB_HOSTNAME: 노드가 네트워크에 연결되어 있는지 확인합니다.

  • Empty reply from server. Closing connection: 이는 curl이 데이터베이스 클라이언트가 아니므로 예상되는 결과입니다.

  • Could not resolve host: $DB_HOSTNAME: DNS 확인에 문제가 있습니다.

  • Trying $DB_IP_ADDRESS:$DB_PORT: 이 메시지 뒤에 중단 결과가 나오면 네트워크에 문제가 있는 것입니다.

Data Connect 인프라에 타사 제품을 사용하는 경우 타사 제품으로 인해 네트워킹 로직이 중단되지 않는지 확인하십시오.