S3 버킷 생성
Bash
aws s3 mb s3://my-bucket-name --region ap-northeast-2
aws s3 ls
aws s3 ls s3://my-bucket-name/
aws s3 ls s3://my-bucket-name/logs/ --recursive파일 업로드 / 다운로드
Bash
aws s3 cp file.txt s3://my-bucket/file.txt
aws s3 cp ./dist/ s3://my-bucket/dist/ --recursive
aws s3 cp s3://my-bucket/file.txt ./file.txt
aws s3 sync ./dist/ s3://my-bucket/ --delete
aws s3 sync s3://my-bucket/backups/ ./backups/유용한 옵션
Bash
aws s3 sync . s3://my-bucket/ --exclude "*.log" --exclude ".git/*"
aws s3 cp backup.tar.gz s3://my-bucket/backups/ \
--storage-class STANDARD_IA
# 미리 서명된 URL (1시간)
aws s3 presign s3://my-bucket/private.pdf --expires-in 3600버킷 정책 (공개 읽기)
JSON
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}]
}Bash
aws s3api put-bucket-policy \
--bucket my-bucket \
--policy file://bucket-policy.json정적 웹사이트 호스팅
Bash
aws s3 website s3://my-bucket/ \
--index-document index.html \
--error-document error.html백업 자동화 (cron + s3)
Bash
#!/bin/bash
DATE=$(date +%Y%m%d-%H%M)
BACKUP_FILE="/tmp/db-backup-${DATE}.tar.gz"
pg_dump mydb | gzip > "$BACKUP_FILE"
aws s3 cp "$BACKUP_FILE" "s3://my-backups/db/${DATE}.tar.gz" \
--storage-class STANDARD_IA
rm -f "$BACKUP_FILE"Bash
# crontab
0 3 * * * /opt/scripts/backup-to-s3.sh >> /var/log/s3-backup.log 2>&1편집 안내 · Editorial Note
이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
관련 공식 문서AWS 공식 문서 ↗
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.