600===Dev AWS/S3

Amazon S3(Simple Storage Service) 완벽 가이드 📦

블로글러 2024. 11. 17. 09:12

안녕하세요! 오늘은 클라우드 스토리지의 대명사, AWS S3에 대해 자세히 알아보겠습니다.

AWS S3가 뭔가요? 🤔

마치 무제한 용량의 클라우드 창고를 상상해보세요!

  • 파일을 안전하게 보관하고
  • 언제 어디서나 접근할 수 있으며
  • 원하는 만큼만 비용을 지불하는 온라인 스토리지 서비스입니다

S3의 핵심 개념 🎯

1. 버킷(Bucket)

  • S3의 최상위 디렉토리
  • 전 세계에서 유일한 이름을 가져야 함
  • 예: my-awesome-bucket-2024

2. 객체(Object)

  • 실제 저장되는 파일
  • 최대 5TB까지 저장 가능
  • 메타데이터와 태그 부여 가능

3. 스토리지 클래스

1. Standard - 자주 접근하는 데이터
2. Infrequent Access (IA) - 덜 자주 접근하는 데이터
3. Glacier - 거의 접근하지 않는 아카이브 데이터
4. Intelligent-Tiering - AI가 알아서 최적화

주요 기능 💫

1. 버저닝(Versioning)

// 객체의 이전 버전을 모두 보존
bucket.enableVersioning();

2. 수명주기 관리

{
  "Rules": [{
    "ID": "TransferToGlacier",
    "Status": "Enabled",
    "Transition": {
      "Days": 90,
      "StorageClass": "GLACIER"
    }
  }]
}

3. 암호화

// 서버 사이드 암호화 설정
putObjectRequest.withSSEAlgorithm(SSEAlgorithm.AES256);

실제 사용 예시 📱

1. 파일 업로드

AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                        .withRegion(Regions.AP_NORTHEAST_2)
                        .build();

// 파일 업로드
s3Client.putObject(
    "my-bucket",
    "folder/image.jpg",
    new File("/path/to/local/image.jpg")
);

2. 파일 다운로드

S3Object object = s3Client.getObject(
    "my-bucket",
    "folder/image.jpg"
);
InputStream inputStream = object.getObjectContent();

주요 활용 사례 🌟

  1. 정적 웹사이트 호스팅

    • HTML, CSS, JavaScript 파일 호스팅
    • CDN과 연동하여 전세계 배포
  2. 백업 및 아카이브

    • 중요 데이터 백업
    • 오래된 로그 보관
  3. 미디어 스토리지

    • 이미지, 비디오 저장
    • 스트리밍 서비스 구축

비용 관리 💰

  1. 스토리지 비용

    • 실제 사용한 용량만큼 과금
    • 스토리지 클래스별 다른 요금
  2. 데이터 전송 비용

    • AWS 밖으로 나가는 트래픽만 과금
    • 리전간 전송은 별도 요금

보안 설정 🔒

  1. 버킷 정책

    {
     "Version": "2012-10-17",
     "Statement": [
         {
             "Effect": "Allow",
             "Principal": "*",
             "Action": "s3:GetObject",
             "Resource": "arn:aws:s3:::my-bucket/*"
         }
     ]
    }
  2. IAM 역할

  3. 암호화 설정

  4. 액세스 포인트

성능 최적화 팁 💡

  1. 멀티파트 업로드

    • 큰 파일은 나눠서 업로드
    • 실패 시 부분만 재시도 가능
  2. 적절한 파일 구조

    • 폴더 깊이는 얕게
    • 파일명은 고르게 분산

참고 자료 📚

  1. AWS 공식 문서: https://docs.aws.amazon.com/s3/
  2. AWS S3 요금: https://aws.amazon.com/s3/pricing/
  3. AWS S3 Best Practices: https://docs.aws.amazon.com/AmazonS3/latest/userguide/best-practices.html
728x90

'600===Dev AWS > S3' 카테고리의 다른 글

S3 Pricing Policy  (0) 2024.06.11
Amazon Simple Storage Service (S3) Introduced  (0) 2024.05.29