InfoGrab Docs

백업 및 복원

요약

운영자는 자체 호스팅 Teleport 클러스터를 백업하는 계획을 마련해야 합니다. 백업할 데이터# Auth Service가 세 가지 백엔드에서 관리하는 데이터를 백업해야 합니다: Teleport 백엔드에 대한 자세한 내용은 스토리지 백엔드를 참조하세요.

운영자는 자체 호스팅 Teleport 클러스터를 백업하는 계획을 마련해야 합니다. Teleport Proxy Service와 Teleport 에이전트 서비스는 상태를 갖지 않지만 구성 파일을 복원할 수 있도록 해야 합니다. Teleport Auth Service는 전체 클러스터의 상태를 관리하므로 데이터를 백업할 수 있는 것이 매우 중요합니다. 이 가이드는 백업해야 하는 Teleport Auth Service 배포 구성 요소를 설명하고 백업 수행을 위한 권장 접근 방식을 제시합니다.

백업할 데이터#

Auth Service가 세 가지 백엔드에서 관리하는 데이터를 백업해야 합니다:

  • 클러스터 상태 백엔드
  • 감사 이벤트 백엔드
  • 세션 녹화 백엔드

Teleport 백엔드에 대한 자세한 내용은 스토리지 백엔드를 참조하세요.

다음 표는 Auth Service가 유지하는 백엔드 데이터 종류를 요약합니다:

항목 위치
로컬 사용자 (SSO 제외) 클러스터 상태 백엔드
인증 기관 클러스터 상태 백엔드
동적 리소스 (아래 추가 정보) 클러스터 상태 백엔드
teleport.yaml 파일 시스템
teleport.service 파일 시스템
license.pem 파일 시스템
TLS 키/인증서 파일 시스템 또는 서드파티 서비스 (예: AWS Certificate Manager)
감사 로그 감사 이벤트 백엔드
세션 녹화 세션 녹화 백엔드

Teleport 백엔드 백업#

Teleport 클러스터 상태 및 세션 녹화 백엔드를 백업하는 계획은 각 백엔드에 사용하는 솔루션에 따라 다릅니다. 다음 표에는 각 백엔드 솔루션을 백업하는 지침이 포함되어 있습니다. 여기에 나열되지 않은 백엔드의 경우 백엔드 문서를 참조하세요:

클러스터 상태 및 감사 이벤트 백엔드#

대부분의 경우 각 종류의 백엔드에 별도의 테이블을 설정하여 클러스터 상태와 감사 이벤트 모두에 동일한 솔루션을 사용할 수 있습니다. 예외는 클러스터 상태 백엔드로만 기능할 수 있는 etcd입니다. (스토리지 백엔드에서 전체 설명 참조.)

백엔드 권장 백업 전략
로컬 파일시스템 데이터 디렉터리(/var/lib/teleport/ 기본값) 백업
DynamoDB Amazon DynamoDB 문서
etcd etcd 문서
Firestore Firestore 문서
Azure Database for PostgreSQL Azure Database for PostgreSQL 문서
Cloud SQL for PostgreSQL Cloud SQL for PostgreSQL 문서

세션 녹화 백엔드#

백엔드 권장 백업 전략
로컬 파일시스템 데이터 디렉터리(/var/lib/teleport/ 기본값) 백업
S3 Amazon S3 문서
GCS GCS에는 내장된 중복성이 있지만 교차 버킷 복제도 사용할 수 있습니다
Azure Blob Storage Azure Blob 백업 문서

인프라 코드를 통한 동적 리소스 버전 관리#

Teleport는 역할, 로컬 사용자, 인증 커넥터 및 기타 구성에 동적 리소스를 사용하며, 클러스터 상태 백엔드에 동적 리소스 데이터를 저장합니다. 클러스터 상태 백엔드를 백업하면 동적 리소스 데이터 손실로부터 클러스터를 보호합니다.

백업하고 복원하는 동적 리소스 버전에 대한 더 많은 제어를 위해 버전 제어 시스템을 사용하는 코드 리포지토리에 동적 리소스 매니페스트를 저장하는 것을 권장합니다. 지속적 배포 파이프라인을 사용하여 구성을 자동으로 적용할 수 있으므로 Teleport 클러스터가 항상 동적 리소스의 최신 상태를 반영합니다.

리소스의 이전 버전으로 되돌려야 하는 경우(예: 잘못된 구성을 수정하기 위해) 클러스터 상태 백엔드의 전체 복원을 수행하지 않고 코드 리포지토리에서 리소스를 복원할 수 있습니다.

Teleport는 동적 리소스 관리를 위한 다음 인프라 코드 도구를 제공합니다:

백엔드 복제#

Teleport Auth Service 백엔드를 복제하려면 Teleport가 한 백엔드에서 모든 항목을 가져와 다른 백엔드에 저장하도록 지시합니다. 이 작업을 사용하면 예를 들어 데이터를 새 백엔드로 마이그레이션하거나 한 리전에서 다른 리전으로 데이터를 백업할 수 있습니다.

이 작업은 소스 및 대상 백엔드에 대한 정보가 포함된 구성 파일과 함께 teleport backend clone 명령을 사용합니다. 복제를 실행하는 teleport 프로세스는 두 백엔드에 대한 자격 증명에 접근할 수 있어야 합니다. 일반적으로 Teleport Auth Service를 실행하는 가상 머신 또는 Kubernetes 파드에서 아래 지침을 완료하면 teleport 프로세스가 필요한 권한을 갖게 됩니다.

  1. 복제용 구성 파일을 작성합니다. 다음 구조를 포함하는 clone.yaml 파일을 생성합니다:

      # src is the configuration for the backend where data is cloned from.
      src:
        type: dynamodb
        region: us-east-1
        table_name: teleport_backend
      # dst is the configuration for the backend where data is cloned to.
      dst:
        type: sqlite
        path: /var/lib/teleport_data
      # parallel is the amount of backend data cloned in parallel.
      # If a clone operation is taking too long consider increasing this value.
      parallel: 100
    

    이 예시는 Amazon DynamoDB의 백엔드 데이터를 SQLite 데이터베이스로 복제합니다.

  2. 복제 구성 파일의 srcdst 섹션을 업데이트하여 소스 및 대상 백엔드에 대한 정보를 포함합니다. srcdst의 가능한 값은 Teleport 구성 파일의 teleport.storage 섹션과 동일합니다. 각 백엔드에 할당할 구성 필드는 스토리지 백엔드 참조를 참조하세요.

  3. Auth Service 인스턴스에서 다음 명령을 실행하여 복제 작업을 실행합니다. -c 플래그의 값은 앞서 생성한 구성 파일입니다:

    $ sudo teleport backend clone -c clone.yaml
    

클러스터를 중지하지 않고 Auth Service 인스턴스에서 teleport backend clone 명령을 실행할 수 있습니다. 명령은 소스 백엔드에서 각 항목을 가져와 대상 백엔드에 씁니다. 초기 검색 후 소스 백엔드에 생성된 항목은 복제에 포함되지 않습니다.

롤백#

teleport backend clone을 사용하여 기존 백엔드 복사본을 생성함으로써 백엔드 손상이나 데이터 손실 없이 롤백을 수행할 수 있습니다. 예를 들어 Teleport v18에서 v19로 클러스터를 업그레이드하기 전에 다음 복제 구성을 사용하여 prefix 필드를 사용하여 동일한 etcd 클러스터의 다른 키 범위에 Teleport 백엔드 상태의 전체 복제를 만들 수 있습니다. 설명은 etcd 스토리지 백엔드 구성 참조를 참조하세요:

src:
  type: etcd
  prefix: teleport
  peers: [https://peer.example.com:2379]
dst:
  type: etcd
  prefix: teleport-v18-backup
  peers: [https://peer.example.com:2379]
parallel: 100

Teleport 메이저 릴리즈는 이전 버전에서 조정할 수 없는 방식으로 백엔드 상태를 변경할 수 있습니다. v19로의 업그레이드가 실패하여 롤백이 필요한 경우 v18 백업이 포함된 접두사로 Auth Service 구성을 편집하여 롤백을 수행할 수 있습니다.

teleport:
  storage:
    type: etcd
    prefix: teleport-v18-backup
    peers: [https://peer.example.com:2379]

백업 및 복원

원문 보기
요약

운영자는 자체 호스팅 Teleport 클러스터를 백업하는 계획을 마련해야 합니다. 백업할 데이터# Auth Service가 세 가지 백엔드에서 관리하는 데이터를 백업해야 합니다: Teleport 백엔드에 대한 자세한 내용은 스토리지 백엔드를 참조하세요.

운영자는 자체 호스팅 Teleport 클러스터를 백업하는 계획을 마련해야 합니다. Teleport Proxy Service와 Teleport 에이전트 서비스는 상태를 갖지 않지만 구성 파일을 복원할 수 있도록 해야 합니다. Teleport Auth Service는 전체 클러스터의 상태를 관리하므로 데이터를 백업할 수 있는 것이 매우 중요합니다. 이 가이드는 백업해야 하는 Teleport Auth Service 배포 구성 요소를 설명하고 백업 수행을 위한 권장 접근 방식을 제시합니다.

백업할 데이터#

Auth Service가 세 가지 백엔드에서 관리하는 데이터를 백업해야 합니다:

  • 클러스터 상태 백엔드
  • 감사 이벤트 백엔드
  • 세션 녹화 백엔드

Teleport 백엔드에 대한 자세한 내용은 스토리지 백엔드를 참조하세요.

다음 표는 Auth Service가 유지하는 백엔드 데이터 종류를 요약합니다:

항목 위치
로컬 사용자 (SSO 제외) 클러스터 상태 백엔드
인증 기관 클러스터 상태 백엔드
동적 리소스 (아래 추가 정보) 클러스터 상태 백엔드
teleport.yaml 파일 시스템
teleport.service 파일 시스템
license.pem 파일 시스템
TLS 키/인증서 파일 시스템 또는 서드파티 서비스 (예: AWS Certificate Manager)
감사 로그 감사 이벤트 백엔드
세션 녹화 세션 녹화 백엔드

Teleport 백엔드 백업#

Teleport 클러스터 상태 및 세션 녹화 백엔드를 백업하는 계획은 각 백엔드에 사용하는 솔루션에 따라 다릅니다. 다음 표에는 각 백엔드 솔루션을 백업하는 지침이 포함되어 있습니다. 여기에 나열되지 않은 백엔드의 경우 백엔드 문서를 참조하세요:

클러스터 상태 및 감사 이벤트 백엔드#

대부분의 경우 각 종류의 백엔드에 별도의 테이블을 설정하여 클러스터 상태와 감사 이벤트 모두에 동일한 솔루션을 사용할 수 있습니다. 예외는 클러스터 상태 백엔드로만 기능할 수 있는 etcd입니다. (스토리지 백엔드에서 전체 설명 참조.)

백엔드 권장 백업 전략
로컬 파일시스템 데이터 디렉터리(/var/lib/teleport/ 기본값) 백업
DynamoDB Amazon DynamoDB 문서
etcd etcd 문서
Firestore Firestore 문서
Azure Database for PostgreSQL Azure Database for PostgreSQL 문서
Cloud SQL for PostgreSQL Cloud SQL for PostgreSQL 문서

세션 녹화 백엔드#

백엔드 권장 백업 전략
로컬 파일시스템 데이터 디렉터리(/var/lib/teleport/ 기본값) 백업
S3 Amazon S3 문서
GCS GCS에는 내장된 중복성이 있지만 교차 버킷 복제도 사용할 수 있습니다
Azure Blob Storage Azure Blob 백업 문서

인프라 코드를 통한 동적 리소스 버전 관리#

Teleport는 역할, 로컬 사용자, 인증 커넥터 및 기타 구성에 동적 리소스를 사용하며, 클러스터 상태 백엔드에 동적 리소스 데이터를 저장합니다. 클러스터 상태 백엔드를 백업하면 동적 리소스 데이터 손실로부터 클러스터를 보호합니다.

백업하고 복원하는 동적 리소스 버전에 대한 더 많은 제어를 위해 버전 제어 시스템을 사용하는 코드 리포지토리에 동적 리소스 매니페스트를 저장하는 것을 권장합니다. 지속적 배포 파이프라인을 사용하여 구성을 자동으로 적용할 수 있으므로 Teleport 클러스터가 항상 동적 리소스의 최신 상태를 반영합니다.

리소스의 이전 버전으로 되돌려야 하는 경우(예: 잘못된 구성을 수정하기 위해) 클러스터 상태 백엔드의 전체 복원을 수행하지 않고 코드 리포지토리에서 리소스를 복원할 수 있습니다.

Teleport는 동적 리소스 관리를 위한 다음 인프라 코드 도구를 제공합니다:

백엔드 복제#

Teleport Auth Service 백엔드를 복제하려면 Teleport가 한 백엔드에서 모든 항목을 가져와 다른 백엔드에 저장하도록 지시합니다. 이 작업을 사용하면 예를 들어 데이터를 새 백엔드로 마이그레이션하거나 한 리전에서 다른 리전으로 데이터를 백업할 수 있습니다.

이 작업은 소스 및 대상 백엔드에 대한 정보가 포함된 구성 파일과 함께 teleport backend clone 명령을 사용합니다. 복제를 실행하는 teleport 프로세스는 두 백엔드에 대한 자격 증명에 접근할 수 있어야 합니다. 일반적으로 Teleport Auth Service를 실행하는 가상 머신 또는 Kubernetes 파드에서 아래 지침을 완료하면 teleport 프로세스가 필요한 권한을 갖게 됩니다.

  1. 복제용 구성 파일을 작성합니다. 다음 구조를 포함하는 clone.yaml 파일을 생성합니다:

      # src is the configuration for the backend where data is cloned from.
      src:
        type: dynamodb
        region: us-east-1
        table_name: teleport_backend
      # dst is the configuration for the backend where data is cloned to.
      dst:
        type: sqlite
        path: /var/lib/teleport_data
      # parallel is the amount of backend data cloned in parallel.
      # If a clone operation is taking too long consider increasing this value.
      parallel: 100
    

    이 예시는 Amazon DynamoDB의 백엔드 데이터를 SQLite 데이터베이스로 복제합니다.

  2. 복제 구성 파일의 srcdst 섹션을 업데이트하여 소스 및 대상 백엔드에 대한 정보를 포함합니다. srcdst의 가능한 값은 Teleport 구성 파일의 teleport.storage 섹션과 동일합니다. 각 백엔드에 할당할 구성 필드는 스토리지 백엔드 참조를 참조하세요.

  3. Auth Service 인스턴스에서 다음 명령을 실행하여 복제 작업을 실행합니다. -c 플래그의 값은 앞서 생성한 구성 파일입니다:

    $ sudo teleport backend clone -c clone.yaml
    

클러스터를 중지하지 않고 Auth Service 인스턴스에서 teleport backend clone 명령을 실행할 수 있습니다. 명령은 소스 백엔드에서 각 항목을 가져와 대상 백엔드에 씁니다. 초기 검색 후 소스 백엔드에 생성된 항목은 복제에 포함되지 않습니다.

롤백#

teleport backend clone을 사용하여 기존 백엔드 복사본을 생성함으로써 백엔드 손상이나 데이터 손실 없이 롤백을 수행할 수 있습니다. 예를 들어 Teleport v18에서 v19로 클러스터를 업그레이드하기 전에 다음 복제 구성을 사용하여 prefix 필드를 사용하여 동일한 etcd 클러스터의 다른 키 범위에 Teleport 백엔드 상태의 전체 복제를 만들 수 있습니다. 설명은 etcd 스토리지 백엔드 구성 참조를 참조하세요:

src:
  type: etcd
  prefix: teleport
  peers: [https://peer.example.com:2379]
dst:
  type: etcd
  prefix: teleport-v18-backup
  peers: [https://peer.example.com:2379]
parallel: 100

Teleport 메이저 릴리즈는 이전 버전에서 조정할 수 없는 방식으로 백엔드 상태를 변경할 수 있습니다. v19로의 업그레이드가 실패하여 롤백이 필요한 경우 v18 백업이 포함된 접두사로 Auth Service 구성을 편집하여 롤백을 수행할 수 있습니다.

teleport:
  storage:
    type: etcd
    prefix: teleport-v18-backup
    peers: [https://peer.example.com:2379]