이 문서는 Server CE 및 Ayakaleaf Pro에서 S3를 설정하는 방법을 다룹니다. 기존 데이터를 S3 호환 스토리지로 마이그레이션하는 방법은 별도 가이드를 참조하세요.
s3.md 스토리지를 활성화한 상태로 Ayakaleaf Pro를 배포하면 S3에 저장된 데이터가 암호화되나요?아니요. 데이터는 암호화되지 않습니다. 모든 기록 청크, 템플릿 파일, PDF 및 기타 파일은 평문으로 저장됩니다. 서드파티 외부 S3 스토리지 제공업체를 사용하는 경우 데이터 보안과 개인정보 보호에 각별히 주의하세요.
데이터 저장에 S3 사용을 고려해야 하는 경우
사용자 수가 1000석 미만인 인스턴스에는 정기적인 일관된 백업과 함께 로컬 디스크 스토리지를 사용하는 것을 권장합니다.
1000석 이상의 대규모 인스턴스에서 로컬 스토리지의 한계(용량 또는 처리량)에 도달한 경우, NFS 같은 다른 네트워크 기반 스토리지 솔루션보다 S3 호환 객체 스토리지 백엔드를 사용하는 것을 권장합니다.
S3 호환 객체 스토리지 옵션
가장 많이 사용되는 S3 호환 객체 스토리지 옵션은 다음과 같습니다.
- AWS S3, 관리형. AWS에서 Overleaf CE/Server Pro를 실행하는 경우 AWS S3를 선택하는 것을 권장합니다.
- MINIO, 자체 호스팅
- Ceph, 자체 호스팅
- 다른 호스팅 제공업체도 일종의 관리형 S3 호환 객체 스토리지를 제공합니다. 이미 해당 제공업체에서 Overleaf CE/Server Pro를 실행 중이라면 직접 운영하는 대신 이를 사용하는 것이 좋을 수 있습니다.
S3 호환 객체 스토리지 선택 시 지연 시간 고려 사항
Server CE/Server Pro 인스턴스와 S3 호환 객체 스토리지 간의 지연 시간은 마이그레이션 완료에 걸리는 시간에 큰 영향을 미칩니다. 지연 시간은 Server CE/Server Pro의 파일 업로드 성능에도 영향을 주며, 파일 다운로드가 느리면 PDF 컴파일 시간에도 큰 영향을 줄 수 있습니다. Server CE/Server Pro 인스턴스와 S3 호환 객체 스토리지 간의 지리적 거리를 최소화하는 것을 권장합니다. 관리형 환경에서는 같은 리전에 버킷을 프로비저닝하고, 온프레미스 솔루션에서는 두 시스템을 같은 캠퍼스에서 운영하는 것을 의미합니다.
S3 설정
네 개의 “버킷”과 두 개의 제한된 사용자 계정이 필요합니다. overleaf-user-files와 OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME은 v6 이전 버전에서만 필요합니다.
| | | |
|---|
| 버킷 | 용도 | 서비스 | 이전 위치 /var/lib/overleaf/data |
overleaf-user-files | 프로젝트 사용자 파일 | filestore | user_files |
overleaf-template-files | 템플릿 파일 | filestore | template_files |
overleaf-project-blobs | 프로젝트 기록 blob | history 및 읽기 전용 filestore | history/overleaf-project-blobs |
overleaf-chunks | 기록 청크 | history | history/overleaf-chunks |
다른 이름을 선택하고 싶거나 선택해야 할 수도 있습니다. 그런 경우 모든 명령에서 사용자 지정 버킷 이름을 사용하세요.
다음은 실제 자격 증명 대신 자리 표시자를 사용합니다.
| 환경 변수 | 설명 |
|---|
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID | filestore 서비스용 제한된 사용자의 액세스 키/사용자 이름입니다. |
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY | filestore 서비스용 제한된 사용자의 시크릿 키/비밀번호입니다. |
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID | history 서비스용 제한된 사용자의 액세스 키/사용자 이름입니다. |
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY | history 서비스용 제한된 사용자의 시크릿 키/비밀번호입니다. |
Server CE와 Server Pro는 각 버킷에 대해 다음과 같은 최소한의 권한만 필요합니다.
- 객체 생성
- 객체 가져오기
- 객체 삭제
- 버킷 나열
액세스 정책
filestore 사용자의 정책은 다음과 같이 구성할 수 있습니다.
history 사용자의 정책은 다음과 같이 구성할 수 있습니다.
변수 개요
AWS S3를 사용하는 경우
자체 호스팅 옵션을 사용하는 경우
MINIO 설정
MINIO_ROOT_USER 및 MINIO_ROOT_PASSWORD는 MINIO 인스턴스의 루트 자격 증명입니다.
mc를 설치하려면 공식 문서를 따르세요.