폴더를 사용해 S3 콘솔에서 객체 정리하기

폴더를 사용해 S3 콘솔에서 객체 정리하기

S3 일반 용도 버킷에서 기본 리소스는 객체이고, 객체는 버킷에 저장돼요. 일반 용도 버킷은 파일 시스템에서 볼 수 있는 것 같은 계층 구조 대신 평평한 구조를 가져요. 그런데 정리상의 편의를 위해 S3 콘솔은 객체를 묶는 수단으로 폴더(folder) 개념을 지원해요. 콘솔은 묶인 객체에 공통 이름 **접두사(prefix)**를 사용해 이걸 구현해요. 즉, 묶인 객체들은 공통 문자열로 시작하는 이름을 가져요. 이 공통 문자열, 즉 공유 접두사가 바로 폴더 이름이에요. 객체 이름은 **키 이름(key name)**이라고도 불러요.

예를 들어 콘솔에서 일반 용도 버킷에 photos라는 폴더를 만들고 그 안에 myphoto.jpg라는 객체를 저장할 수 있어요. 그 객체는 photos/를 접두사로 하여 photos/myphoto.jpg라는 키 이름으로 저장돼요.

두 가지 예를 더 들어볼게요.

  • 일반 용도 버킷에 logs/date1.txt, logs/date2.txt, logs/date3.txt라는 객체가 있다면, 콘솔은 logs라는 폴더를 보여줘요. 콘솔에서 그 폴더를 열면 date1.txt, date2.txt, date3.txt라는 객체 세 개가 보여요.
  • photos/2017/example.jpg라는 객체가 있다면, 콘솔은 2017 폴더를 담은 photos 폴더를 보여줘요. 2017 폴더에는 example.jpg 객체가 들어 있어요.

폴더 안에 폴더를 만들 수 있지만, 버킷 안에 버킷은 만들 수 없어요. 폴더에 직접 객체를 업로드하고 복사할 수 있어요. 폴더는 만들기, 삭제, 공개 설정이 가능하지만 이름을 바꿀 수는 없어요. 객체는 한 폴더에서 다른 폴더로 복사할 수 있어요.

중요

S3 콘솔에서 폴더를 만들면 S3는 0바이트 객체를 만들어요. 이 객체 키는 여러분이 제공한 폴더 이름에 슬래시(/) 문자를 붙인 값으로 설정돼요. 예를 들어 S3 콘솔에서 버킷에 photos 폴더를 만들면, 콘솔은 photos/ 키를 가진 0바이트 객체를 만들어요. 콘솔은 폴더라는 개념을 지원하기 위해 이 객체를 만들어요.

또한 이름 끝에 슬래시(/) 문자가 붙은 기존 객체는 S3 콘솔에서 폴더로 나타나요. 예를 들어 examplekeyname/이라는 키 이름을 가진 객체는 S3 콘솔에서 객체가 아니라 폴더로 보여요. 그 외에는 다른 객체처럼 동작하며 AWS Command Line Interface(AWS CLI), AWS SDK, 또는 REST API로 보고 다룰 수 있어요. 추가로 S3 콘솔로는 키 이름 끝에 슬래시(/) 문자가 붙은 객체를 업로드할 수 없어요. 하지만 AWS Command Line Interface(AWS CLI), AWS SDK, 또는 REST API로는 슬래시(/)로 끝나는 이름의 객체를 업로드할 수 있어요.

그리고 S3 콘솔은 폴더 객체에 대해서는 다른 객체처럼 내용과 메타데이터를 표시하지 않아요. 콘솔로 슬래시(/)로 끝나는 이름의 객체를 복사하면 대상 위치에 새 폴더가 만들어지지만, 객체의 데이터와 메타데이터는 복사되지 않아요. 또한 객체 키 이름의 슬래시(/)는 특별한 처리가 필요할 수 있어요. 자세한 내용은 Amazon S3 객체 이름 짓기를 참고하세요.

디렉터리 버킷에서 폴더를 만들려면 폴더를 업로드하세요. 자세한 내용은 디렉터리 버킷에 객체 업로드하기를 참고하세요.

출처: 문서

본문

폴더 만들기

이 섹션에서는 S3 콘솔을 사용해 폴더를 만드는 방법을 설명해요.

중요

버킷 정책이 태그, 메타데이터, 또는 ACL(액세스 제어 목록) 수혜자 없이 이 버킷에 객체를 업로드하는 것을 막는다면, 다음 절차로 폴더를 만들 수 없어요. 대신 빈 폴더를 업로드하고 업로드 구성에서 다음 설정을 지정하세요.

폴더를 만들려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 General purpose buckets를 선택합니다.
  3. 버킷 목록에서 폴더를 만들 버킷의 이름을 선택합니다.
  4. Objects 탭에서 Create folder를 선택합니다.
  5. 폴더 이름을 입력합니다(예: favorite-pics).

참고

폴더 이름에는 특정 제한과 지침이 적용되고, 객체 키 이름의 일부로 간주되며, 키 이름은 1,024바이트로 제한돼요. 자세한 내용은 Amazon S3 객체 이름 짓기를 참고하세요.

  1. (선택) 버킷 정책이 특정 암호화 키로 객체를 암호화하도록 요구한다면, Server-side encryption에서 Specify an encryption key를 선택하고 폴더를 만들 때 동일한 암호화 키를 지정해야 해요. 그렇지 않으면 폴더 생성이 실패해요.
  2. Create folder를 선택합니다.

폴더 공개하기

특별히 공개 폴더나 버킷이 필요하지 않다면, S3 폴더와 버킷에 대한 모든 공개 액세스를 차단하는 것을 권장해요. 폴더를 공개하면 인터넷의 누구나 그 폴더에 묶인 모든 객체를 볼 수 있어요.

S3 콘솔에서 폴더를 공개할 수 있어요. 접두사로 데이터 액세스를 제한하는 버킷 정책을 만들어 폴더를 공개할 수도 있어요. 자세한 내용은 Amazon S3용 Identity and Access Management를 참고하세요.

경고

S3 콘솔에서 폴더를 공개한 뒤에는 다시 비공개로 되돌릴 수 없어요. 대신 공개 폴더의 각 객체에 공개 액세스가 없도록 개별 객체에 권한을 설정해야 해요. 자세한 내용은 ACL 구성하기를 참고하세요.

폴더 크기 계산하기

이 섹션에서는 S3 콘솔을 사용해 폴더 크기를 계산하는 방법을 설명해요.

폴더 크기를 계산하려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 General purpose buckets를 선택합니다.
  3. General purpose buckets 목록에서 폴더가 저장된 버킷의 이름을 선택합니다.
  4. Objects 목록에서 폴더 이름 옆의 확인란을 선택합니다.
  5. Actions를 선택한 다음 Calculate total size를 선택합니다.

참고

페이지에서 벗어나면 폴더 정보(총 크기 포함)를 더 이상 사용할 수 없어요. 다시 보려면 총 크기를 다시 계산해야 해요.

중요

버킷 안의 지정된 객체나 폴더에 Calculate total size 작업을 사용하면 S3는 총 객체 수와 총 스토리지 크기를 계산해요. 하지만 완료되지 않았거나 진행 중인 멀티파트 업로드와 이전 버전·비현재 버전은 총 객체 수나 총 크기에 포함되지 않아요. 이 작업은 버킷에 저장된 각 객체의 현재(최신) 버전에 대해서만 총 객체 수와 총 크기를 계산해요.

예를 들어 버킷에 객체 버전이 두 개 있다면 S3의 스토리지 계산기는 이를 객체 하나로 세요. 그 결과 S3 콘솔에서 계산된 총 객체 수는 S3 Storage Lens에 표시된 Object Count 메트릭이나 Amazon CloudWatch 메트릭 NumberOfObjects가 보고하는 값과 다를 수 있어요. 마찬가지로 총 스토리지 크기도 S3 Storage Lens에 표시된 Total Storage 메트릭이나 CloudWatch에 표시된 BucketSizeBytes 메트릭과 다를 수 있어요.

폴더 삭제하기

S3 콘솔을 사용해 S3 버킷에서 폴더를 삭제할 수 있어요.

Amazon S3 기능과 요금에 대한 정보는 Amazon S3을 참고하세요.

S3 버킷에서 폴더를 삭제하려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 General purpose buckets를 선택합니다.
  3. General purpose buckets 목록에서 폴더를 삭제할 버킷의 이름을 선택합니다.
  4. Objects 목록에서 삭제할 폴더와 객체 옆의 확인란을 선택합니다.
  5. Delete를 선택합니다.
  6. Delete objects 페이지에서 선택한 폴더와 객체가 Specified objects 아래에 나열되었는지 확인합니다.
  7. Delete objects 상자에 delete를 입력하고 Delete objects를 선택합니다.

경고

이 작업은 지정된 모든 객체를 삭제해요. 폴더를 삭제할 때는 삭제가 끝날 때까지 기다렸다가 폴더에 새 객체를 추가하세요. 그렇지 않으면 새 객체도 함께 삭제될 수 있어요.

더 알아보기 (Learn more)