본문으로 건너뛰기

사용법

Object Storage 사용법

rclone, aws 등의 S3 호환 클라이언트를 사용하여 Object Storage를 사용할 수 있습니다.

로컬 파일을 Object Storage에 업로드하기

aws-cli 사용 예시

  1. aws-cli 설치
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
  1. 인증 설정
aws configure
Access Key ID [None]: YOUR_ACCESS_KEY
Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: (빈칸으로 두고 Enter)
Default output format [None]: (빈칸으로 두고 Enter)
  1. endpoint 설정
# 아래의 내용을 ~/.aws/config 파일에 추가
[default]
services = s3

[services s3]
s3 =
endpoint_url = https://s3.elice.cloud
  1. 파일 업로드
# YOUR_BUCKET_NAME은 eci-... 로 시작하는 bucket name을 사용합니다.
aws s3 cp /path/to/local/file s3://YOUR_BUCKET_NAME/path/in/bucket

rclone 사용 예시

  1. rclone 설치
sudo -v ; curl https://rclone.org/install.sh | sudo bash
  1. rclone 설정
rclone config
  1. n → 새 remote 생성

  2. Name: elicecloud

  3. Storage: 4

  4. Provider: 4

  5. env_auth: (빈칸으로 두고 Enter)

  6. Access Key ID: YOUR_ACCESS_KEY

  7. Secret Access Key: YOUR_SECRET_KEY

  8. Region: (빈칸으로 두고 Enter)

  9. Endpoint: https://s3.elice.cloud

  10. Location constraint: (빈칸으로 두고 Enter)

  11. acl: (빈칸으로 두고 Enter)

  12. server_side_encryption? (빈칸으로 두고 Enter)

  13. sse_kms_key_id? (빈칸으로 두고 Enter)

  14. Edit advanced config: n

  15. Keep this "elicecloud" remote: y

  16. q -> quit

  17. 파일 업로드

# YOUR_BUCKET_NAME은 eci-... 로 시작하는 bucket name을 사용합니다.
rclone copy /path/to/local/file elicecloud:YOUR_BUCKET_NAME/path/in/bucket --s3-no-check-bucket
  • ECI Object Storage의 s3 bucket 생성은 portal에서만 가능하므로, --s3-no-check-bucket 옵션을 사용합니다.

VM에 Object Storage 마운트하기

  1. VM에 rclone 설치
sudo -v ; curl https://rclone.org/install.sh | sudo bash
  1. rclone 설정
rclone config
  1. n → 새 remote 생성

  2. Name: elicecloud

  3. Storage: 4

  4. Provider: 4

  5. env_auth: (빈칸으로 두고 Enter)

  6. Access Key ID: YOUR_ACCESS_KEY

  7. Secret Access Key: YOUR_SECRET_KEY

  8. Region: (빈칸으로 두고 Enter)

  9. Endpoint: https://s3.elice.cloud

  10. Location constraint: (빈칸으로 두고 Enter)

  11. acl: (빈칸으로 두고 Enter)

  12. server_side_encryption? (빈칸으로 두고 Enter)

  13. sse_kms_key_id? (빈칸으로 두고 Enter)

  14. Edit advanced config: n

  15. Keep this "elicecloud" remote: y

  16. q -> quit

  17. Object Storage 마운트

# YOUR_BUCKET_NAME은 eci-... 로 시작하는 bucket name을 사용합니다.
rclone mount elicecloud:YOUR_BUCKET_NAME /path/to/mount/point --daemon

rclone 마운트 시 중의사항

  1. rclone으로 마운트할 경우 chunk size가 기본으로 5MiB가 됩니다.
  2. 최대 chunk 개수는 10,000개입니다.
  3. 따라서 기본값으로 단일 파일 업로드 가능 용량은 약 48GiB입니다.
  4. 더 큰 크기의 단일파일 용량을 업로드하고 싶다면 --s3-chunk-size 옵션을 추가해야 합니다.
  5. 예시: --s3-chunk-size=0.1Gi → 최대 약 1TiB의 단일파일 업로드 가능
  6. rclone으로 마운트된 Object Storage를 df -h로 확인하면 용량이 정확히 표시되지 않고 1.0P(페타바이트)로 표시됩니다.

chunk size 증가 시 trade-off:

  • 장점: 더 큰 단일 파일 업로드 가능
  • 단점:
    • 메모리 사용량 증가 (chunk size만큼 메모리 사용)
    • 네트워크 재시도 시 더 많은 데이터 재전송
    • 업로드 실패 시 더 많은 데이터 손실 위험

예시 - 큰 파일 업로드를 위한 마운트:

rclone mount elicecloud:YOUR_BUCKET_NAME /path/to/mount/point --daemon --s3-chunk-size=0.1Gi