Amazon S3 시작하기

Amazon S3 시작하기

버킷과 객체로 작업하면 Amazon S3를 시작할 수 있어요. 버킷은 객체를 담는 컨테이너이고, 객체는 파일과 그 파일을 설명하는 메타데이터예요.

Amazon S3에 객체를 저장하려면 버킷을 만든 뒤 그 버킷에 객체를 업로드해요. 객체가 버킷에 들어가면 열고, 내려받고, 옮길 수 있어요. 더 이상 필요 없어지면 리소스를 정리할 수 있어요.

Amazon S3는 사용한 만큼만 비용을 내요. 새 고객이라면 AWS 프리 티어로 무료로 시작할 수 있어요.

출처: 문서

본문

시작하기 전에 "Amazon S3 설정"의 단계를 완료했는지 확인하세요.

Amazon S3 설정 (Setting up Amazon S3)

AWS에 가입하면 내 AWS 계정이 AWS의 모든 서비스(Amazon S3 포함)에 자동으로 가입돼요. 사용한 서비스에 대해서만 요금이 부과돼요.

  1. AWS 계정 가입 — AWS를 시작하려면 AWS 계정이 필요해요. AWS 계정 생성 방법은 "AWS 계정 시작하기" 문서를 참고하세요.

Step 1: 첫 번째 S3 버킷 만들기

가입 후에는 AWS Management Console을 사용해 Amazon S3에 버킷을 만들 수 있어요. Amazon S3의 모든 객체는 버킷에 저장되며, 데이터를 저장하기 전에 버킷을 만들어야 해요.

참고: 버킷 생성에는 요금이 부과되지 않아요. 버킷에 객체를 저장하고 전송할 때만 비용이 발생해요. 이 안내서의 예시를 따라가며 발생하는 요금은 최소(1달러 미만)예요.

  1. AWS Management Console에 로그인하고 Amazon S3 콘솔(https://console.aws.amazon.com/s3/)을 엽니다.
  2. 탐색 모음에서 현재 표시된 AWS 리전 이름을 선택하고, 버킷을 만들 리전을 선택해요.

참고: 버킷을 만든 후에는 리전을 변경할 수 없어요. 지연 시간과 비용을 줄이고 규제 요건을 충족하려면 가까운 리전을 선택하세요. 리전에 저장된 객체는 명시적으로 옮기지 않는 한 그 리전을 벗어나지 않아요.

  1. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  2. Create bucket을 선택해요.
  3. Bucket name에 버킷 이름을 입력해요. 버킷 이름은 파티션 안에서 고유해야 하고(파티션: aws, aws-cn, aws-us-gov), 3~63자, 소문자·숫자·마침표(.)·하이픈(-)만 사용하며, 문자나 숫자로 시작·끝나야 해요.

중요: 버킷을 만든 후에는 이름을 변경할 수 없어요. 버킷 이름에 민감한 정보를 포함하지 마세요. 버킷 이름은 객체를 가리키는 URL에 표시돼요.

  1. (선택) General configuration 아래에서 기존 버킷의 설정을 새 버킷에 복사할 수 있어요.
  2. Object Ownership에서 다음 중 하나를 선택해요.
    • ACL 비활성화 — Bucket owner enforced(기본값): ACL이 비활성화되고 버킷 소유자가 모든 객체를 소유·완전 제어. 버킷은 정책만으로 접근 제어를 정의.
    • ACL 활성화 — Bucket owner preferred: bucket-owner-full-control 캐넌 ACL로 쓴 객체를 버킷 소유자가 소유·제어.
    • Object writer: 객체를 업로드한 계정이 객체를 소유.
  3. Block Public Access settings for this bucket에서 설정을 선택해요. 기본적으로 네 가지 설정이 모두 활성화돼 있어요.
  4. (선택) Bucket Versioning을 활성화할 수 있어요. 버전 관리는 같은 버킷에 객체의 여러 버전을 유지해 실수로 인한 사용자 작업과 애플리케이션 실패에서 더 쉽게 복구하게 해줘요.
  5. (선택) Tags를 추가할 수 있어요. AWS 비용 할당으로 버킷 태그를 사용해 비용을 주석 처리할 수 있어요.
  6. Default encryption에서 암호화 유형을 선택해요: SSE-S3, SSE-KMS, 또는 DSSE-KMS. 기본적으로 모든 버킷은 SSE-S3를 사용해요. SSE-KMS 또는 DSSE-KMS를 선택하면 AWS KMS 키를 지정해야 해요. SSE-KMS를 위해 KMS 키를 지정할 때는 같은 리전의 키만 사용할 수 있고, 콘솔은 같은 리전의 처음 100개 키만 나열해요.
  7. (선택) S3 Object Lock을 활성화할 수 있어요. Object Lock은 새 객체가 삭제·덮어쓰기되는 것을 방지하며, 활성화하면 버킷에 버전 관리가 자동으로 활성화돼요.
  8. Create bucket을 선택해요.

Step 2: 버킷에 객체 업로드

  1. Amazon S3 콘솔(https://console.aws.amazon.com/s3/)을 엽니다.
  2. Buckets 목록에서 업로드할 버킷 이름을 선택해요.
  3. Objects 탭에서 Upload를 선택해요.
  4. Files and folders에서 Add files를 선택해요.
  5. 업로드할 파일을 선택하고 Open을 선택해요.
  6. Upload를 선택해요.

Step 3: 객체 다운로드

S3 콘솔 사용 — Amazon S3 콘솔로 버킷에서 객체를 다운로드할 수 있어요.

참고:

  • 한 번에 하나의 객체만 다운로드할 수 있어요.
  • 콘솔로 키 이름이 마침표(.)로 끝나는 객체를 다운로드하면 다운로드된 객체 키 이름 끝의 마침표가 제거돼요. 마침표를 유지하려면 AWS CLI, AWS SDK, 또는 REST API를 사용해야 해요.
  1. AWS Management Console에 로그인하고 Amazon S3 콘솔(https://console.aws.amazon.com/s3/)을 엽니다.
  2. 왼쪽 탐색 창에서 General purpose buckets 또는 Directory buckets를 선택해요.
  3. 목록에서 객체를 다운로드할 버킷 이름을 선택해요.
  4. 다음 중 한 가지 방법으로 객체를 다운로드해요.
    • 객체 옆의 확인란을 선택하고 Download를 선택.
    • 특정 폴더에 내려받으려면 Actions 메뉴에서 Download as를 선택.
    • 특정 버전을 다운로드하려면 Show versions를 켜고 원하는 버전 옆의 확인란을 선택한 뒤 Download를 선택.

Step 4: 객체를 폴더에 복사

  1. Buckets 목록에서 내 버킷 이름을 선택해요.
  2. Create folder를 선택하고 새 폴더를 구성해요: 폴더 이름 입력, 폴더 암호화 설정에서 Disable 선택, Save 선택.
  3. 복사할 객체가 있는 버킷이나 폴더로 이동해요.
  4. 복사할 객체 이름 왼쪽의 확인란을 선택해요.
  5. Actions를 선택하고 Copy를 선택해요.
  6. 대상 폴더를 선택해요: Browse S3에서 폴더를 선택하거나 Destination에 경로(예: s3://bucket-name/folder-name/)를 입력하고 Copy를 선택해요.

Step 5: 객체와 버킷 삭제

더 이상 필요 없으면 추가 요금을 막기 위해 삭제하세요. 버킷을 삭제하기 전에 버킷을 비우거나 안의 객체를 삭제해야 해요.

같은 버킷 이름을 계속 쓰려면 객체를 삭제하거나 버킷을 비우되, 버킷 자체는 삭제하지 마세요. 버킷을 삭제하면 이름을 재사용할 수 있게 되지만, 다른 AWS 계정이 먼저 그 이름으로 버킷을 만들 수 있어요.

객체 삭제 — 1) 버킷 이름을 선택하고, 2) 삭제할 객체를 선택하고, 3) Delete를 선택하고, 4) Delete objects 페이지에서 delete를 입력하고 Delete objects를 선택해요.

버킷 비우기 — 1) 비울 버킷을 선택하고 Empty를 선택해요. 2) 확인을 위해 permanently delete를 입력하고 Empty를 선택해요.

중요: 버킷 비우기는 되돌릴 수 없어요. 비우기 작업이 진행되는 동안 버킷에 추가된 객체도 삭제돼요.

버킷 삭제 — 1) 삭제할 버킷을 선택하고 Delete를 선택해요. 2) Delete bucket에서 버킷 이름을 입력하고 Delete bucket을 선택해요.

중요: 버킷 삭제는 되돌릴 수 없어요. 버킷 이름은 고유하므로, 삭제하면 다른 AWS 사용자가 그 이름을 쓸 수 있어요. 같은 이름을 계속 쓰려면 버킷을 삭제하지 말고 비워서 유지하세요.

다음 단계 (Next steps)

앞의 예시에서 기본적인 Amazon S3 작업을 배웠어요. 다음 주제들은 Amazon S3를 더 깊이 이해하는 학습 경로를 설명해요.

일반적인 사용 사례 이해 — Amazon S3를 특정 사용 사례에 맞게 사용할 수 있어요.

  • 백업 및 스토리지 – 비용 관리, 규제 요건 충족, 지연 시간 감소, 규정 준수를 위한 여러 데이터 복사본 저장.
  • 애플리케이션 호스팅 – 신뢰할 수 있고 확장 가능하며 저비용인 웹 애플리케이션 배포·관리. 정적 웹사이트 호스팅 포함.
  • 미디어 호스팅 – 비디오, 사진, 음악 업로드·다운로드 호스팅.
  • 소프트웨어 전달 – 고객이 다운로드할 소프트웨어 애플리케이션 호스팅.

버킷과 객체에 대한 접근 제어 — 기본적으로 S3 버킷과 객체는 비공개예요. 세분화된 리소스 권한을 부여하거나 권한을 감사하는 기능으로는 S3 Block Public Access, IAM 자격 증명, 버킷 정책, ACL, S3 Object Ownership, IAM Access Analyzer for S3가 있어요.

스토리지 보호 및 모니터링 — S3 버전 관리, 복제, Multi-Region 액세스 포인트 장애 조치, AWS Backup, S3 Object Lock으로 객체 스토리지를 보호하고, Amazon S3 Storage Lens와 Storage Class Analysis로 사용량을 분석·최적화하고, S3 Lifecycle로 비용을 관리할 수 있어요.

개발 — Amazon S3는 REST 서비스예요. REST API, AWS SDK, AWS CLI로 개발할 수 있어요.

튜토리얼 — 단계별 튜토리얼로 Amazon S3를 더 배울 수 있어요.

교육 및 지원 — AWS 전문가에게 배우고 지원을 받을 수 있어요.

더 알아보기 (Learn more)