MinIO Client 는 최고의 S3 관리도구이다. 여러 도구를 사용해봤으나 이만한 도구를 찾기 힘들다. aws cli의 경우 pagination, rate limit을 사용자가 직접 처리해야 한다. 1000 개 이상의 파일을 다룰 때 피곤하다. s3cmd 는 병렬처리를 제대로 못하는데다 버그가 꽤 있다. bloomreach/s4cmd: Super S3 command line tool 같은 변형 도구가 있지만 s3cmd와 크게 다르지 않고 문제는 더 많다.
MinIO의 클라이언트 도구인 mc
는 그야말로 쾌적하다. Rate limit과 Pagination을 잘 다룬다. 병렬처리도 잘하는 덕에 파일이 많은 경우에 다른 도구에 비해 월등한 속도로 작업을 끝낸다.
#!/bin/bash -xe
mc config host add s3 https://sgp1.digitaloceanspaces.com "${AWS_ACCESS_KEY_ID}" "${AWS_SECRET_ACCESS_KEY}"
# mc config host add s3 https://s3.amazonaws.com "${AWS_ACCESS_KEY_ID}" "${AWS_SECRET_ACCESS_KEY}"
mc mirror s3/src-bucket/src-subdir s3/dst-bucket/dst-subdir
문제점 1
AWS IAM Role을 지원하지 않는다. Access key를 무조건 받아야 하기 때문에 사용상의 제약이 많다.
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.