【OCI】Archive Storage를 이용하여 저비용으로 백업을 저장한다.

소개



OCI를 조작하는 Oracle Cloud Command Line Interface(OCI CLI)의 실행 환경을 준비한다.
가능한 한 환경을 더럽히고 싶지 않은 & 버전 업 편하게하고 싶은 타입이므로 Docker로 준비합니다.

이번에 이용한 Docker 환경은 Git hub에서 공개하고 있습니다.
manaki-naoe/docker-oci-cli
【OCI】 Docker로 OCI-CLI를 실행한다.

아카이브 스토리지 정보



AWS에서 말하는 "Amazon S3 Glacier"
GCP에서 말하는 「Nearline Storage/Coldline Storage」에 해당하는 서비스라고 생각합니다.

저주파 액세스를 위한 스토리지
1개월당 GB 0.312엔
데이터 액세스나 최소 객체 크기 등 숨겨진 비용이 없기 때문에,
비용 계산을 할 수 있어 안전하게 이용할 수 있다고 생각합니다.

복원까지
데이터 복원에는 약 4시간 정도 걸린다고 합니다.

요금에 대해



AWS나 GCP에서는 꺼내기 위해 요금이 엄청나게 걸립니다만,
OCI는 스토리지 요금과 요청 비용만 받습니다.

이미지 참조 대상

Always Free도 있습니다.



10GB 오브젝트 스토리지
10GB 아카이브 스토리지

10GB까지 무료입니다.

준비



아카이브 스토리지를 만듭니다.



대시보드에서 오브젝트 스토리지 선택


버킷 만들기를 클릭


아카이브 스토리지를 사용하는 경우에는 스토리지 레이어를 "아카이브"로 설정해야 합니다.


만들어진 끝입니다.


OCI CLI 실행 환경을 준비합니다.



Dockerfile 복제
$ git clone [email protected]:manaki-naoe/docker-oci-cli.git

이미지 빌드
$ docker build -t oci-cli .

Config 파일 및 API Key 만들기
$ docker run --rm -v ${PWD}/.oci:/root/.oci -it oci-cli:latest setup config

작성한 API Key 등록
사용자 세부정보 화면에서 API Key를 추가하세요.



구획 용 config 만들기
$ docker run --rm -v ${PWD}/.oci:/root/.oci -it oci-cli:latest setup oci-cli-rc

# リポジトリ内はこんな構造になっているはずです。
- .oci
   - config
   - oci_api_key.pem
   - oci_api_key_public.pem
   - oci_cli_rc
- Dockerfile

$ vi .oci/oci_cli_rc
# 末尾に以下を追加します。
[DEFAULT]
compartment-id = <Compartment OCID>


이상으로 준비는 종료입니다.

아카이브 스토리지에 업로드합니다.



1 파일만 업로드합니다.



스크립트 설치

put.sh
#!/bin/bash
docker run --rm \
-v ${PWD}/.oci:/root/.oci \
-v <アップロードしたいファイルがあるディレクトリパス>:/root/bucket \
-it oci-cli:latest \
os object put \
--bucket-name <バケット名> \
--file /root/bucket/$1

실행
$ ./put.sh <ファイル名>

오브젝트 스토리지 세부사항 페이지에서 파일을 업로드하면 성공합니다.

디렉토리의 파일을 업로드합니다.



스크립트 설치

bulk_upload.sh
#!/bin/bash
docker run --rm \
-v ${PWD}/.oci:/root/.oci \
-v <アップロードしたいファイルがあるディレクトリパス>:/root/bucket \
-it oci-cli:latest \
os object bulk-upload \
--bucket-name <バケット名> \
--src-dir /root/bucket \
--exclude .gitignore \
--no-overwrite

제외된 파일이 있으면 [--exclude] 옵션으로 제외할 수 있습니다.
예 --exclude .gitignore

--no-overwrite는 이미 존재하는 파일을 업로드하지 않는 옵션입니다.

실행
$ ./bulk_upload.sh

오브젝트 스토리지 세부사항 페이지에서 파일을 업로드하면 성공합니다.

결론



비용의 사전 계산을 할 수 있고,
꺼내기 위한 요금이 요청 비용밖에 없기 때문에,
안심하고 꺼낼 수 있습니다.

10GB까지 무료이기 때문에,
나는 백업을 저장하는 데 사용하고 있습니다.

좋은 웹페이지 즐겨찾기