티스토리 뷰
AI 모델 학습을 위해 S3에 저장중인 이미지 500장 이상을 전달해야 하는 업무가 있었다.
정확히는 DB에서 전달할 데이터 조회 → 메타데이터.csv 파일로 생성 → S3 이미지를 일괄 다운로드 → 압축 → 전달까지 하나의 데이터셋으로 만드는 작업이었다.
이번 글에서 AWS CLI를 활용해 S3 이미지를 일괄 다운로드하는 과정을 정리해보았다.
AWS CLI(Command Line Interface)란?
터미널에서 AWS 서비스를 명령어로 제어할 수 있는 도구이다. GUI 대신 명령어를 사용해 다양한 작업을 자동화할 수 있습니다.
반복 작업을 스크립트로 처리할 수 있어 대량의 데이터를 다루는 업무에서 특히 유용하다.
🗂️ 데이터셋 구성 (참고)
최종 전달 구조는 아래와 같다. 이렇게 구성하면 이미지와 메타데이터를 쉽게 매핑할 수 있다. (images의 파일명은 user_id로 저장)
데이터를 균등하게 샘플링하여 DB 조회 결과는 CSV로 Export 했다.
student_dataset/
├── metadata.csv
└── images/
├── 1.jpeg
├── 203.png
└── ...
1. AWS CLI 설치
macOS에서는 Homebrew를 이용해 설치할 수 있다.
brew install awscli
설치 확인
aws --version
2. AWS 인증 설정
AWS CLI 인증 설정을 해준다.
aws configure
입력값 예시
AWS Access Key ID: 회사에서 받은 키
AWS Secret Access Key: 회사에서 받은 시크릿 키
Default region name: ap-northeast-2
Default output format: json
*Access Key는 AWS IAM에서 관리하고 Secret Access Key는 생성시에만 확인 가능하다.
*만약 정보가 없다면 사내 관리자에게 요청한다.
3. S3 이미지 일괄 다운로드
500장 이상의 이미지를 일괄 다운로드하기 위해 CSV 전체를 돌리는 스크립트를 작성한다.
#!/bin/bash
mkdir -p student_dataset/images
tail -n +2 metadata.csv | while IFS=',' read -r user_id name school_id school_name college_id college_name subjct_id department_name img_key img_url
do
ext="${img_key##*.}"
aws s3 cp \
"s3://버킷명/${img_key}" \
"student_dataset/images/${user_id}.${ext}"
done
*파일명에 유저 ID를 쓰면 나중에 metadata.csv랑 매칭하기 쉬울 것이다.
4. 실행
download_images.sh 파일이 있는 위치에서 실행한다.
cd student_dataset
./download_images.sh
권한이 없다면 다운로드 실행에 실패할 수 있다. zsh: permission denied: ./download_images.sh
아래 명령어로 다시 시도한다.
cd student_dataset
chmod +x download_images.sh # 처음 한 번만(실행 권한 주기)
./download_images.sh
처음에 500장 넘는 이미지를 어떻게 한번에 받지? 생각하다가 방법을 찾아보니 AWS CLI로 몇 분 만에 다운로드할 수 있었다.
역시 개발엔 안되는 것보다 아직 모르는 방법이 더 많다는걸 또 한번 느꼈다.
오늘 업무도 무사히 마무으리~💪
참고 https://aws.amazon.com/ko/cli/
'서비스 > 인프라' 카테고리의 다른 글
| [AWS] 액세스 키(Access Key) 생성하기 (0) | 2025.12.22 |
|---|---|
| [AWS] Bugets 비용 예산 초과 알림 설정 (0) | 2025.05.20 |
| [AWS] Resource Explorer(리소스 탐색기) 켜기 및 비활성화 (0) | 2025.05.20 |
| [Google Analytics] GA4 실시간 디버깅하기(Debug View) (0) | 2025.04.06 |
| [Google Analytics] 구글 애널리틱스 도입 + 추적코드 설치 (0) | 2025.03.16 |
- Total
- Today
- Yesterday