컨텐츠로 건너뛰기

클라우드패널 자동 백업 (클라우드플레어 R2) S3 호환

클라우드패널(CloudPanel)의 커스텀 Rclone으로 자동백업을 해보겠습니다. 작성일 현재 10GB까지 무료인, 클라우드플레어 R2 (Cloudflare R2) S3 호환성 버킷을 사용할 것이며, 모든 인스턴스의 불안감을 줄여보겠습니다.

1. 클라우드 플레어 버킷 생성하기

우선 클라우드플레어 R2로 이동해서 버킷을 생성합니다.

  1. 버킷 이름은 적당하게 입력해 주시면 됩니다. 저는 cloudpanel로 하겠습니다.

  2. 버킷 생성으로 계속 진행합니다.

R2 버킷이 잘 생성되었네요.

2. 클라우드플레어 R2 API토큰 생성하기

이번에는 R2의 API토큰을 발급하겠습니다. Rclone에서 AWS S3호환성 스토리지로 설정할 것이므로, 토큰이 필요합니다.

R2 API 토큰 관리를 클릭합니다.

API 토큰 생성을 클릭합니다.

역시 토큰 이름은 적당히 설정하면 됩니다. 저는 아무것도 입력하지 않고 진행하겠습니다.
권한은 관리자 읽기 및 쓰기를 선택합니다.
여러 가지 이유로, 권한은 세밀하게 설정하면 좋으나, 역시 마찬가지로 여러 가지 이유로 문제가 생기면 참고할 자료가 없으므로 저는 관리자 읽기 및 쓰기 권한을 부여했습니다.

API 토큰 생성 버튼을 클릭하면, 토큰 페이지가 나옵니다. 토큰 페이지를 닫지 말고 그대로 열어두세요.
혹시 닫으셨다면 다시 생성하셔야 합니다. 토큰은 생성할 때 한번만 보입니다.

3. 인스턴스에 SSH 접속해서 Rclone 설정하기

인스턴스에 SSH로 접속합니다. VScode, Mobaxterm 등 어떤 프로그램도 좋습니다.

Terminal window
sudo su

root 유저로 전환합니다.

Terminal window
rclone config

위의 명령어를 입력해서 설정을 진행합니다.

CloudPanel에서 커스텀 Rclone을 사용할 때, 이름이 remote인 것으로 진행합니다.
따라서 반드시 remote로 입력하셔야 합니다.

Rclone의 버전에 따라 다를 수 있지만, 앞서 말씀드린 것처럼 우리는 클라우드 플레어 R2, 즉 S3호환성 스토리지를 사용합니다. 따라서 화면에 나온 항목 중에서 S3의 번호를 입력하시면 됩니다. 현재 저는 4번이네요.

마찬가지로 Rclone 버전에 따라 다를 수 있습니다. 저는 현재 Cloudflare R2가 보이지 않으므로 13번 Other를 선택했습니다.

env_auth는 기본 값인 1번을 입력합니다.

4. Rclone에 클라우드플레어 R2 토큰 입력하기

이제 우리가 앞서 발급한 클라우드플레어 R2 API토큰을 입력할 차례입니다.

access_key_id엑세스 키 ID를 입력합니다.

secret_access_key에는 비밀 엑세스 키를 입력합니다.

지역은 1번 즉 기본 값을 사용하겠습니다. 어차피 백업 용도이고, 클라우드플레어에서 리전 선택은 크게 의미가 없으므로 기본값으로 진행합니다. (혹시 차후에 세부적인 리전 선택이 가능할 수 있습니다. 개발자 문서를 확인하세요.)

endpoint에는 R2 버킷의 S3 API 주소를 입력합니다. 트레일링 슬래시(trailing slash)는 입력하지 않습니다.

ACL기본값을 사용합니다. 엔터로 진행합니다.

추가 설정은 하지 않습니다 n입력 혹은 엔터로 진행합니다.

최종적인 결과를 보여줍니다. 최종 결과를 확인하고 y혹은 엔터를 누릅니다.
Rclone 버전에 따라 다르겠지만, 위의 화면과 비슷한 결과가 나옵니다.

5. Rclone 결과 확인하기

Terminal window
touch /tmp/test-file

위의 명령어로 내용이 없는 파일을 만듭니다.

Terminal window
rclone copy /tmp/test-file remote:backups/

위의 명령어로 R2에 테스트 파일을 업로드 합니다.
앞서 말씀드린 것 처럼 클라우드 패널에서는 remote라는 이름의 스토리지 이름을 사용합니다.
따라서 remote를 입력합니다. 클론 뒤에 있는 backups는 클라우드 패널에서 기본적으로 사용되는 경로입니다.

이제 클라우드플레어의 R2 버킷을 확인하면 test 파일이 업로드된 것을 확인할 수 있습니다.

6. 클라우드패널(CloudPanel)에서 백업 설정하기

클라우드 패널의 관리자 페이지로 이동합니다.

순서대로

  1. 백업을 클릭

  2. 커스텀 Rclone설정

  3. 계속 클릭

여기서 바로 숨도 안쉬고 그냥 저장 누르셔도 됩니다. 여기서 입력하기 번거로워서 기본값으로 진행했습니다. :)

자 이제 백업 만들기를 클릭하면 백그라운드에서 작업이 진행되어 tar 파일로 R2 스토리지에 업로드 됩니다.

7. 클라우드플레어에서 백업이 되는지 확인하기

이렇게 업로드가 순차적으로 진행됩니다.

이제, 다시 클라우드패널의 관리자 페이지 - 백업으로 이동해서, 여러분들의 방금 만든 백업의 총 용량을 고려해서 무료 한도인 15기가가 넘지 않게 설정합니다. 주기를 조정하거나, 특정 파일 경로를 제외할 수 있습니다.

예를 들어서, 워드프레스 코어, node_modules 등의 경로는 언제든 다운 받을 수 있으므로 제외하는 것이 용량 차원에서 좋겠죠. 또한, 클라우드패널에서 DB를 사용한다면, DB데이터 역시 백업이 같이 되므로 추가적인 파일이 필요 없을 수 있습니다.

수고 많으셨습니다. 감사합니다.


Askfront.com (에스크프론트)

기존의 댓글 대신, 초보자도 자유롭게 질문할 수 있는 포럼을 만들었습니다.
에스크프론트에서는 가이드뿐만 아니라 모든 종류의 질문을 하실 수 있습니다.
검색해도 오래된 정보나 도움이 되지 않는 정보만 나오는 것 같고, 주화입마에 빠진 것 같은 기분이 들 때가 있습니다.
그럴 때, 부담 없이 질문해 주세요 :) 같이 의논하며 생각해봅시다.
가능하다면, 제가 답변 드리겠습니다. 고맙습니다.