백업 및 복원
운영자는 자체 호스팅 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 프로세스가 필요한 권한을 갖게 됩니다.
-
복제용 구성 파일을 작성합니다. 다음 구조를 포함하는
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 데이터베이스로 복제합니다.
-
복제 구성 파일의
src및dst섹션을 업데이트하여 소스 및 대상 백엔드에 대한 정보를 포함합니다.src와dst의 가능한 값은 Teleport 구성 파일의teleport.storage섹션과 동일합니다. 각 백엔드에 할당할 구성 필드는 스토리지 백엔드 참조를 참조하세요. -
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]
