본문 바로가기

Public Cloud/Cloudflare

[Cloudflare] R2를 rclone으로 다뤄 보기[1]

반응형

rclone


Go로 만들어진 클라우드 스토리지 up/down 툴로 AWS의 s3 뿐만 아니라 다양한 클라우드를 지원하는데 Cloudflare R2 역시 지원한다.

또한 윈도우, 리눅스, MAC 등 여러 OS 플랫폼을 지원한다.

 

 

 

설치


리눅스

  • CentOS 7 x64 에서 테스트 한다.
  • 설치방법은 Script Installation , Precompiled binary 등의 방법이 있다.

 

Precompiled binary

1. 다운로드 및 압축 해제

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip

 

 

2. 파일 복사

cd rclone-v1.66.0-linux-amd64

# 권한 설정
chown root:root rclone
chmod 755 rclone

# 바이너리 파일 복사
cp -arf rclone /usr/bin/

 

 

3. man page 설치

cp -arf rclone.1 /usr/local/share/man/man1/
mandb

 

 

Script Installation

sudo -v ; curl https://rclone.org/install.sh | sudo bash

 

 

 

 

윈도우

1. binary 파일 다운로드

https://downloads.rclone.org/rclone-current-windows-amd64.zip

 

압축 해제 후 rclone.exe 파일을 %SystemRoot%\system32 아래에 복사한다 

또는 C 드라이브에 복사 한후 환경변수 추가 설정을 통해 진행한다.

 

rclone라는 이름으로 디렉토리 이름을 수정한 후 C 드라이브에 복사한다.

 

2. 환경변수를 등록한다.

시스템 속성 - 고급 - 환경변수를 클릭한다.
시스템변수 - path를 편집한다.
새로만들기로 경로를 등록한다.

 

 

 

 

 

rclone.conf


(아래 내용은 윈도우, 리눅스 모두 유사하므로 설명은 리눅스를 기준으로 한다.)

 

클라우드 스토리지에 접속하기 위한 provider 정보는 rclone.conf를 사용한다.

rclone의 경로는 다음 명령어로 확인 할 수 있다.

rclone config paths
rclone config paths

Config file: /root/.config/rclone/rclone.conf
Cache dir:   /root/.cache/rclone
Temp dir:    /tmp

 

 

대화 형식( interactive  )으로 아래의 명령어로 rclone.conf 를 생성해도 되지만

rclone config

 

직접 rclone.conf  파일 수정을 통해도 된다.

[r2]
type = s3
provider = Cloudflare
access_key_id = <...>
secret_access_key = <...>
endpoint = https://<...>.r2.cloudflarestorage.com
acl = private

 

access_key_id, secret_access_key, endpoint 는 cloudflare GUI 에서 생성하고 확인할 수 있다.

 

대시보드 - R2 - Manage R2 API Tokens

 

API Token을 생성한다.

 

 

Permissions 

  • Admin Read & Write : 모든 bucket의 read, write, delete, list 등의 권한을 가진다.
  • Admin Read only : 모든 bucket의 read, list 권한을 가진다.
  • Object Read & Write : 특정 bucket의 read, write, delete, list 등의 권한을 가진다.
  • Object Read only : 특정 bucket의 read, list 등의 권한을 가진다.

Specify bucket(s)

  • 특정 bucket을 선택할 수 있다.

TTL

  • Token의 만료되는 시간을 설정 할 수 있다.

Client IP Address Filtering

  • Client IP로 ACL 을 설정할 수 있다.
  • 설정하지 않으면 모든 IP에 대해 허용된다.

 

아래와 같이 access_key_id, secret_access_key, endpoint 값을 확인 할 수 있다.

access_key_id, secret_access_key, endpoint  를 확인한다.

 

 

 

참조 : [cloudflare] R2를 rclone으로 다뤄 보기[2]
반응형