홈/엔지니어/클라우드/AWS S3 버킷 생성과 CLI 활용…
클라우드초급ubuntumacosawss3cli

AWS S3 버킷 생성과 CLI 활용

S3 버킷을 생성하고, 버킷 정책과 ACL을 설정하며, AWS CLI로 파일을 업로드·다운로드·동기화하는 방법입니다.

목차
  1. S3 버킷 생성
  2. 파일 업로드 / 다운로드
  3. 유용한 옵션
  4. 버킷 정책 (공개 읽기)
  5. 정적 웹사이트 호스팅
  6. 백업 자동화 (cron + s3)

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
#aws#s3#cli#스토리지#백업#cloud
편집 안내 · Editorial Note

AI 도구가 초안 작성에 사용될 수 있습니다. 명령어의 실행 여부와 검증 환경은 각 가이드에 기재된 근거를 확인하세요. 적용 전 사용 중인 버전의 공식 문서를 확인하고, 오류는 이메일로 알려주세요. 이메일로 제보

주제 관련 공식 문서(자동 연결 · 문장별 근거 아님)AWS 공식 문서 ↗web.dev Core Web Vitals ↗

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.