Amazon S3 콘솔에서 폴더를 사용하여 객체 구성 - Amazon Simple Storage Service

Amazon S3 콘솔에서 폴더를 사용하여 객체 구성

Amazon S3에서 버킷과 객체는 기본 리소스이며 객체는 버킷에 저장됩니다. Amazon S3는 파일 시스템에서와 같이 계층 대신 단순한 구조를 가지고 있습니다. 하지만 간결한 구성을 위해 Amazon S3 콘솔에서는 객체를 그룹화하는 수단으로 폴더 개념을 지원합니다. 콘솔은 그룹화된 객체에 공유 이름 접두사를 사용하여 이 작업을 수행합니다. 즉, 그룹화된 객체는 공통 문자열로 시작하는 이름을 갖습니다. 이 공통 문자열 또는 공유 접두사는 폴더 이름입니다. 객체 이름을 키 이름이라고도 합니다.

예를 들어 photos라는 이름의 폴더를 만들고 그 안에 myphoto.jpg라는 이름의 객체를 저장할 수 있습니다. 그러면 객체가 키 이름 photos/myphoto.jpg와 함께 저장됩니다. 여기서 photos/는 접두사입니다.

아래에 두 가지 예가 더 있습니다.

  • 버킷에 3개의 객체(logs/date1.txt, logs/date2.txtlogs/date3.txt)가 있다면 콘솔은 logs라는 이름의 폴더를 표시합니다. 콘솔에서 폴더를 열면 세 객체 date1.txt, date2.txtdate3.txt가 표시됩니다.

  • photos/2017/example.jpg라는 이름의 객체가 있는 경우 콘솔에는 photos 폴더가 포함된 2017라는 폴더가 표시됩니다. 2017 폴더에는 example.jpg 객체가 포함됩니다.

폴더 안에 폴더를 만들 수 있지만 버킷 안에 버킷을 만들 수는 없습니다. 객체를 폴더로 직접 업로드 또는 복사할 수 있습니다. 폴더를 생성하고 삭제하고 퍼블릭으로 만들 수 있지만 폴더 이름을 바꿀 수는 없습니다. 객체를 다른 폴더로 복사할 수 있습니다.

중요

Amazon S3 내에 폴더를 생성할 때 S3는 사용자가 제공한 폴더 이름에 설정된 키를 사용하여 0바이트 객체를 생성합니다. 예를 들어 버킷에 photos라는 이름의 폴더를 만드는 경우 Amazon S3 콘솔이 photos/ 키를 사용하여 0바이트 객체를 생성합니다. 콘솔은 폴더에 대한 아이디어를 지원하기 위해 이 객체를 만듭니다.

Amazon S3 콘솔에서는 키 이름의 마지막(후행) 문자가 슬래시(/) 문자인 모든 객체를 폴더(예: examplekeyname/)로 취급합니다. 따라서 Amazon S3 콘솔을 사용하여 후행 / 문자를 포함하는 키 이름을 가진 객체를 업로드할 수 없습니다. 이름에 후행 / 문자가 포함된 객체는 AWS Command Line Interface(AWS CLI), AWS SDK 또는 REST API를 사용하여 업로드할 수 있습니다.

이름에 후행 / 문자가 포함된 객체는 Amazon S3 콘솔에 폴더로 표시됩니다. Amazon S3 콘솔에서는 그런 객체에 대한 콘텐츠 및 메타데이터를 표시하지 않습니다. 콘솔을 사용하여 이름에 후행 / 문자가 포함된 객체를 복사할 경우 대상 위치에 새 폴더가 생성되지만 객체의 데이터와 메타데이터는 복사되지 않습니다.

폴더 생성

이 섹션에서는 Amazon S3 콘솔을 사용하여 폴더를 만드는 방법을 설명합니다.

중요

버킷 정책에서 태그, 메타데이터 또는 액세스 제어 목록(ACL) 권한 부여자없이 이 버킷에 객체를 업로드할 수 없도록 하는 경우에는 다음 절차를 사용하여 폴더를 만들 수 없습니다. 그 대신 빈 폴더를 업로드하고 업로드 구성에서 다음 설정을 지정합니다.

폴더 생성
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷 목록에서 폴더를 만들 버킷의 이름을 선택합니다.

  4. 버킷 정책에서 암호화 없이 이 버킷에 객체를 업로드하지 못하도록 경우 서버 측 암호화사용으로 선택해야 합니다.

  5. 폴더 생성을 선택합니다.

  6. 폴더의 이름을 입력합니다(예: favorite-pics). [폴더 생성(Create folder)]을 선택합니다.

퍼블릭 폴더 설정

퍼블릭 폴더 또는 버킷이 특별히 필요하지 않은 경우에는 Amazon S3 폴더 및 버킷에 대한 모든 퍼블릭 액세스를 차단하는 것이 좋습니다. 폴더를 퍼블릭으로 설정하면 인터넷에서 누구나 해당 폴더에 있는 그룹화된 모든 객체를 볼 수 있습니다.

Amazon S3 콘솔에서 폴더를 퍼블릭으로 설정할 수 있습니다. 또한 접두사별로 데이터 액세스를 제한하는 버킷 정책을 생성하여 폴더를 퍼블릭으로 설정할 수도 있습니다. 자세한 내용은 Amazon S3의 Identity and Access Management 단원을 참조하십시오.

주의

Amazon S3 콘솔에서 폴더를 퍼블릭으로 설정한 후에는 다시 프라이빗으로 설정할 수 없습니다. 대신에, 객체에 대한 퍼블릭 액세스가 허용되지 않도록 퍼블릭 폴더에 있는 각 개별 객체에 대한 권한을 설정해야 합니다. 자세한 내용은 ACL 구성 단원을 참조하십시오.

폴더 크기 계산

이 섹션에서는 Amazon S3 콘솔을 사용하여 폴더의 크기를 계산하는 방법을 설명합니다.

폴더 크기를 계산하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. Buckets(버킷) 목록에서 폴더가 저장된 버킷의 이름을 선택합니다.

  4. Objects(객체) 목록에서 폴더 이름 옆의 확인란을 선택합니다.

  5. Actions(작업)를 선택한 다음 Calculate total size(총 크기 계산)를 선택합니다.

참고

페이지에서 다른 곳으로 이동하면 폴더 정보(총 크기 포함)를 더 이상 사용할 수 없습니다. 다시 보려면 총 크기를 다시 계산해야 합니다.

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

    예를 들어, 버킷에 객체의 버전이 두 개 있는 경우 Amazon S3 스토리지 계산기는 이를 하나의 객체로 계산합니다. 따라서 Amazon S3 콘솔에서 계산되는 총 객체 수는 S3 스토리지 렌즈에 표시된 Object Count(객체 수) 지표 및 Amazon CloudWatch 지표 NumberOfObjects에서 보고한 객체 수와 다를 수 있습니다. 마찬가지로, 총 스토리지 크기도 S3 스토리지 렌즈에 표시된 Total Storage(총 스토리지) 지표 및 CloudWatch에 표시된 BucketSizeBytes 지표와 다를 수 있습니다.

  • 대용량 폴더의 총 크기를 계산하는 데 시간이 너무 오래 걸리는 경우, Amazon S3 Inventory 및 Amazon S3 Select를 대안으로 사용해 보십시오. 먼저 대용량 폴더의 각 객체에 대한 크기 메타데이터를 인벤토리 보고서에 포함하도록 S3 Inventory 구성을 생성합니다. 첫 번째 S3 Inventory 보고서를 전달하는 데 최대 48시간이 걸릴 수 있습니다. 인벤토리 보고서가 게시되면 S3 Select SUM 표현식을 사용하여 인벤토리 보고서를 쿼리하여 폴더에 있는 객체의 크기를 집계합니다. 자세한 내용은 S3 콘솔을 사용하여 인벤토리 구성SUM 예 단원을 참조하세요.

폴더 삭제

이 섹션에서는 Amazon S3 콘솔을 사용하여 S3 버킷에서 폴더를 삭제하는 방법을 설명합니다.

Amazon S3 기능 및 요금에 대한 자세한 내용은 Amazon S3를 참조하십시오.

S3 버킷에서 폴더 삭제
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 목록에서 폴더를 삭제할 해당 버킷의 이름을 선택합니다.

  3. [객체(Objects)] 목록에서 삭제할 폴더 및 객체 옆의 확인란을 선택합니다.

  4. 삭제를 선택합니다.

  5. 객체 삭제 페이지에서 삭제를 선택한 폴더의 이름이 열거되어 있는지 확인합니다.

  6. [객체 삭제(Delete objects)] 상자에 delete를 입력하고 [객체 삭제(Delete objects)]를 선택합니다.

주의

이 작업은 지정된 모든 객체를 삭제합니다. 폴더를 삭제할 때 폴더에 새 객체를 추가하기 전에 삭제 작업이 완료될 때까지 기다립니다. 그러지 않으면 새 객체도 삭제될 수 있습니다.