Skip to main content
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

버킷 작업

기여자

StorageGRID 시스템은 각 S3 테넌트 계정에 대해 최대 1,000개의 버킷을 지원합니다.

버킷 이름 제한은 AWS US 표준 지역 제한을 따르지만, S3 가상 호스팅 스타일 요청을 지원하려면 이러한 제한을 DNS 명명 규칙으로 제한해야 합니다.

버킷 가져오기(개체 나열) 및 버킷 버전 가져오기 작업은 StorageGRID 정합성 보장 제어를 지원합니다.

개별 버킷에 대해 마지막 액세스 시간에 대한 업데이트가 설정되었는지 여부를 확인할 수 있습니다.

다음 표에서는 StorageGRID에서 S3 REST API 버킷 작업을 구축하는 방법을 설명합니다. 이러한 작업을 수행하려면 계정에 필요한 액세스 자격 증명을 제공해야 합니다.

작동 구축

버킷 삭제

모든 Amazon S3 REST API 동작으로 구현됩니다.

버킷 CORS를 삭제합니다

이 작업은 버킷에 대한 CORS 구성을 삭제합니다.

Bucket 암호화를 삭제합니다

이 작업은 버킷에서 기본 암호화를 삭제합니다. 암호화된 기존 개체는 암호화된 상태로 유지되지만 버킷에 추가된 새 개체는 암호화되지 않습니다.

버킷 수명 주기를 삭제합니다

이 작업은 버킷에서 라이프사이클 구성을 삭제합니다.

버킷 정책을 삭제합니다

이 작업은 버킷에 연결된 정책을 삭제합니다.

버킷 복제를 삭제합니다

이 작업은 버킷에 연결된 복제 구성을 삭제합니다.

버킷 태그 지정을 삭제합니다

이 작업은 를 사용합니다 tagging 버킷에서 모든 태그를 제거하는 하위 리소스입니다.

버킷(목록 오브젝트), 버전 1 및 버전 2를 가져옵니다

이 작업은 버킷에 있는 오브젝트의 일부 또는 전체(최대 1,000개)를 반환합니다. 오브젝트를 에 인제스트한 경우에도 오브젝트에 대한 스토리지 클래스는 두 값 중 하나를 가질 수 있습니다 REDUCED_REDUNDANCY 스토리지 클래스 옵션:

  • `STANDARD`는 객체가 스토리지 노드로 구성된 스토리지 풀에 저장되었음을 나타냅니다.

  • `GLACIER`가 표시됩니다. 이는 해당 객체가 Cloud Storage Pool에 지정된 외부 버킷으로 이동되었음을 나타냅니다.

버킷에 동일한 접두사가 있는 삭제된 키의 많은 수가 포함된 경우 응답에 몇 가지 항목이 포함될 수 있습니다 CommonPrefixes 키가 없는 경우

버킷 ACL 가져오기

이 작업은 양수 응답 및 버킷 소유자의 ID, DisplayName 및 권한을 반환하며, 이는 소유자가 버킷에 대한 모든 액세스 권한을 가지고 있음을 나타냅니다.

버킷 CORS를 가져옵니다

이 작업은 를 반환합니다 cors 버킷에 대한 구성.

버킷 암호화 가져오기

이 작업은 버킷의 기본 암호화 구성을 반환합니다.

버킷 수명 주기 가져오기

이 작업은 버킷의 수명 주기 구성을 반환합니다.

버킷 위치를 가져옵니다

이 작업은 를 사용하여 설정된 영역을 반환합니다 LocationConstraint PUT 버킷 요청에 있는 요소입니다. 버킷 영역이 인 경우 `us-east-1`영역에 대해 빈 문자열이 반환됩니다.

버킷 알림을 받습니다

이 작업은 버킷에 연결된 알림 구성을 반환합니다.

버킷 객체 버전을 가져옵니다

버킷에 대한 읽기 액세스에서 이 작업은 를 통해 수행됩니다 versions 하위 리소스는 버킷에 있는 모든 버전의 오브젝트의 메타데이터를 나열합니다.

버킷 정책 가져오기

이 작업은 버킷에 연결된 정책을 반환합니다.

버킷 복제를 가져옵니다

이 작업은 버킷에 연결된 복제 구성을 반환합니다.

버킷 태그 지정을 가져옵니다

이 작업은 를 사용합니다 tagging 버킷에 대한 모든 태그를 반환하는 하위 리소스입니다.

버킷 버전 관리 가져오기

이 구현에서는 을 사용합니다 versioning 버킷의 버전 관리 상태를 반환하는 하위 리소스입니다. 반환된 버전 관리 상태는 버킷이 "비버전"인지 또는 버킷이 "사용" 또는 "일시 중단" 버전인지 여부를 나타냅니다.

개체 잠금 구성을 가져옵니다

이 작업은 버킷에 대해 S3 오브젝트 잠금이 설정되었는지 여부를 결정합니다. "S3 오브젝트 잠금 사용"

헤드 버킷

이 작업은 버킷이 있는지 그리고 버킷에 액세스할 권한이 있는지 여부를 결정합니다.

버킷 을 놓습니다

이 작업은 새 버킷을 생성합니다. 버킷을 만들면 버켓 소유자가 됩니다.

  • 버킷 이름은 다음 규칙을 준수해야 합니다.

    • 각 StorageGRID 시스템에서 고유해야 합니다(테넌트 계정에서만 고유한 것은 아님).

    • DNS를 준수해야 합니다.

    • 3자 이상 63자 이하여야 합니다.

    • 인접한 레이블이 마침표로 구분된 하나 이상의 레이블일 수 있습니다. 각 레이블은 소문자 또는 숫자로 시작하고 끝나야 하며 소문자, 숫자 및 하이픈만 사용할 수 있습니다.

    • 텍스트 형식의 IP 주소처럼 보이지 않아야 합니다.

    • 가상 호스팅 스타일 요청에서 기간을 사용하지 않아야 합니다. 마침표는 서버 와일드카드 인증서 확인에 문제를 일으킬 수 있습니다.

  • 기본적으로 버킷은 에서 생성됩니다 us-east-1 지역. 그러나 을 사용할 수 있습니다 LocationConstraint 다른 영역을 지정할 요청 본문의 요청 요소입니다. 를 사용할 때 LocationConstraint 요소, 그리드 관리자 또는 그리드 관리 API를 사용하여 정의된 영역의 정확한 이름을 지정해야 합니다. 사용할 지역 이름을 모르는 경우 시스템 관리자에게 문의하십시오. * 참고 *: PUT 버킷 요청이 StorageGRID에 정의되지 않은 지역을 사용하는 경우 오류가 발생합니다.

  • 을 포함할 수 있습니다 x-amz-bucket-object-lock-enabled S3 오브젝트 잠금이 활성화된 버킷을 생성하도록 헤더를 요청합니다.

    버킷을 생성할 때 S3 오브젝트 잠금을 활성화해야 합니다. 버킷을 생성한 후에는 S3 오브젝트 잠금을 추가하거나 비활성화할 수 없습니다. S3 오브젝트 잠금에는 버킷 버전 관리가 필요하며, 이 버전은 버킷을 생성할 때 자동으로 활성화됩니다.

버킷 CORS를 넣습니다

이 작업은 버킷이 오리진 간 요청을 처리할 수 있도록 버킷에 대한 CORS 구성을 설정합니다. CORS(Cross-origin Resource Sharing)는 한 도메인의 클라이언트 웹 애플리케이션이 다른 도메인의 리소스에 액세스할 수 있도록 하는 보안 메커니즘입니다. 예를 들어, 이라는 S3 버킷을 사용한다고 가정합니다 images 그래픽을 저장합니다. 에 대한 CORS 구성을 설정합니다 images 버킷을 사용하면 버켓의 이미지를 웹 사이트에 표시할 수 있습니다 http://www.example.com.

Bucket 암호화를 적용합니다

이 작업은 기존 버킷의 기본 암호화 상태를 설정합니다. 버킷 수준 암호화가 활성화된 경우 버킷에 추가된 모든 새 오브젝트는 암호화됩니다. StorageGRID는 StorageGRID 관리 키로 서버 측 암호화를 지원합니다. 서버 측 암호화 구성 규칙을 지정할 때 를 설정합니다 SSEAlgorithm 매개 변수 대상 AES256, 및 은 사용하지 마십시오 KMSMasterKeyID 매개 변수.

객체 업로드 요청이 이미 암호화를 지정한 경우(즉, 요청에 가 포함된 경우) 버킷 기본 암호화 구성은 무시됩니다 x-amz-server-side-encryption-* 요청 헤더 참조).

버킷 수명 주기를 놓습니다

이 작업은 버킷에 대한 새 수명 주기 구성을 생성하거나 기존 수명 주기 구성을 대체합니다. StorageGRID는 수명 주기 구성에서 최대 1,000개의 수명 주기 규칙을 지원합니다. 각 규칙에는 다음 XML 요소가 포함될 수 있습니다.

  • 만료(일, 날짜)

  • NoncurrentVersionExpiration(NoncurrentDays)

  • 필터(접두사, 태그)

  • 상태

  • ID입니다

StorageGRID는 다음 작업을 지원하지 않습니다.

  • AbortIncompleteMultipartUpload를 중단합니다

  • ExpiredObjectDeleteMarker 를 참조하십시오

  • 전환

버킷 수명 주기의 만료 작업이 ILM 배치 명령과 상호 작용하는 방법을 이해하려면 정보 수명 주기 관리를 통해 개체를 관리하기 위한 지침에서 ""ILM이 개체의 수명 내내 작동하는 방식""을 참조하십시오.

  • 참고 *: 버킷 수명 주기 구성은 S3 오브젝트 잠금이 활성화된 버킷과 함께 사용할 수 있지만 레거시 준수 버킷에서는 버킷 수명 주기 구성이 지원되지 않습니다.

버킷 통지를 보냅니다

이 작업은 요청 본문에 포함된 알림 구성 XML을 사용하여 버킷에 대한 알림을 구성합니다. 다음과 같은 구현 세부 사항에 유의해야 합니다.

  • StorageGRID는 SNS(Simple Notification Service) 항목을 대상으로 지원합니다. SQS(Simple Queue Service) 또는 Amazon Lambda 엔드포인트는 지원되지 않습니다.

  • 알림 대상은 StorageGRID 엔드포인트의 URN으로 지정해야 합니다. 테넌트 관리자 또는 테넌트 관리 API를 사용하여 엔드포인트를 생성할 수 있습니다.

    알림 설정을 성공적으로 하려면 끝점이 있어야 합니다. 끝점이 없는 경우, 를 클릭합니다 400 Bad Request 코드와 함께 오류가 반환됩니다 InvalidArgument.

  • 다음 이벤트 유형에 대한 알림을 구성할 수 없습니다. 이러한 이벤트 유형은 * 지원되지 않습니다 *.

    • s3:ReducedRedundancyLostObject

    • s3:ObjectRestore:Completed

  • StorageGRID에서 보낸 이벤트 알림은 다음 목록과 같이 일부 키를 포함하지 않고 다른 키에 대해 특정 값을 사용한다는 점을 제외하고 표준 JSON 형식을 사용합니다.

  • * eventSource * 를 선택합니다

    sgws:s3

  • * awsRegion *

    포함되지 않음

  • x-amz-id-2 *

    포함되지 않음

  • * 표시 *

    urn:sgws:s3:::bucket_name

버킷 정책을 적용합니다

이 작업은 버킷에 연결된 정책을 설정합니다.

버킷 복제를 배치합니다

이 작업은 요청 본문에 제공된 복제 구성 XML을 사용하여 버킷에 대한 StorageGRID CloudMirror 복제를 구성합니다. CloudMirror 복제의 경우 다음과 같은 구축 세부 정보를 알고 있어야 합니다.

  • StorageGRID는 복제 구성의 V1만 지원합니다. 즉, StorageGRID는 의 사용을 지원하지 않습니다 Filter 규칙에 대한 요소로, 개체 버전 삭제에 대한 V1 규칙을 따릅니다. 자세한 내용은 복제 구성에 대한 Amazon 설명서를 참조하십시오.

  • 버킷 복제는 버전 관리되거나 버전이 지정되지 않은 버킷에서 구성할 수 있습니다.

  • 복제 구성 XML의 각 규칙에서 다른 대상 버킷을 지정할 수 있습니다. 소스 버킷은 둘 이상의 대상 버킷에 복제할 수 있습니다.

  • 대상 버킷은 테넌트 관리자 또는 테넌트 관리 API에 지정된 StorageGRID 엔드포인트의 URN으로 지정해야 합니다.

    복제 구성이 성공하려면 엔드포인트가 있어야 합니다. 엔드포인트가 없으면 요청이 로 실패합니다 400 Bad Request. 오류 메시지는 다음과 같습니다. Unable to save the replication policy. The specified endpoint URN does not exist: URN.

  • 을 지정할 필요가 없습니다 Role 구성 XML에서. 이 값은 StorageGRID에서 사용되지 않으며 제출될 경우 무시됩니다.

  • 구성 XML에서 스토리지 클래스를 생략하면 StorageGRID에서 를 사용합니다 STANDARD 기본적으로 스토리지 클래스입니다.

  • 소스 버킷에서 객체를 삭제하거나 소스 버킷 자체를 삭제하는 경우 지역 간 복제 동작은 다음과 같습니다.

    • 복제되기 전에 오브젝트 또는 버킷을 삭제하면 객체/버킷이 복제되지 않으므로 사용자에게 통보되지 않습니다.

    • 복제된 후 오브젝트 또는 버킷을 삭제하면 StorageGRID는 지역 간 복제 V1에 대한 표준 Amazon S3 삭제 동작을 따릅니다.

Bucket 태그 달기

이 작업은 를 사용합니다 tagging 하위 리소스로서 버킷에 대한 태그 집합을 추가하거나 업데이트합니다. 버킷 태그를 추가할 때 다음과 같은 제한 사항을 숙지하십시오.

  • StorageGRID 및 Amazon S3 모두 각 버킷당 최대 50개의 태그를 지원합니다.

  • 버킷과 연결된 태그에는 고유한 태그 키가 있어야 합니다. 태그 키의 길이는 최대 128자의 유니코드 문자일 수 있습니다.

  • 태그 값의 길이는 최대 256자의 유니코드 문자일 수 있습니다.

  • 키와 값은 대/소문자를 구분합니다.

버킷 버전 관리

이 구현에서는 을 사용합니다 versioning 기존 버킷의 버전 관리 상태를 설정하는 하위 리소스입니다. 다음 값 중 하나를 사용하여 버전 관리 상태를 설정할 수 있습니다.

  • Enabled(사용): 버킷의 오브젝트에 대한 버전 관리를 활성화합니다. 버킷에 추가된 모든 오브젝트는 고유한 버전 ID를 받습니다.

  • Suspended(일시 중지됨): 버킷의 오브젝트에 대한 버전 관리를 비활성화합니다. 버킷에 추가된 모든 오브젝트는 버전 ID를 수신합니다 null.

S3 라이프사이클 구성 생성

S3 라이프사이클 구성을 생성하여 StorageGRID 시스템에서 특정 오브젝트 삭제 시기를 제어할 수 있습니다.

이 섹션의 간단한 예는 S3 라이프사이클 구성에서 특정 S3 버킷에서 특정 객체가 삭제(만료)되는 시기를 제어하는 방법을 보여줍니다. 이 섹션의 예제는 설명을 위한 것입니다. S3 라이프사이클 구성 생성에 대한 자세한 내용은 _Amazon Simple Storage Service Developer Guide_에서 오브젝트 라이프사이클 관리에 대한 섹션을 참조하십시오. StorageGRID는 만료 작업만 지원하며 전환 작업은 지원하지 않습니다.

문서 수정 상태 설정은 무엇입니까

라이프사이클 구성은 특정 S3 버킷의 오브젝트에 적용되는 규칙 세트입니다. 각 규칙은 영향을 받는 개체와 해당 개체가 만료되는 시기(특정 날짜 또는 특정 일 수 이후)를 지정합니다.

StorageGRID는 수명 주기 구성에서 최대 1,000개의 수명 주기 규칙을 지원합니다. 각 규칙에는 다음 XML 요소가 포함될 수 있습니다.

  • 만료: 지정된 날짜에 도달하거나 지정된 일 수에 도달할 때 개체를 인제스트할 때로부터 개체를 삭제합니다.

  • NoncurrentVersionExpiration: 지정된 일 수에 도달할 때 개체가 비전류가 되었을 때부터 개체를 삭제합니다.

  • 필터(접두사, 태그)

  • 상태

  • ID입니다

버킷에 라이프사이클 구성을 적용하는 경우 버킷의 라이프사이클 설정은 항상 StorageGRID ILM 설정을 재정의합니다. StorageGRID는 ILM이 아닌 버킷의 만료 설정을 사용하여 특정 개체의 삭제 또는 유지 여부를 결정합니다.

따라서 ILM 규칙의 배치 지침이 개체에 계속 적용되더라도 그리드에서 개체를 제거할 수 있습니다. 또는 개체에 대한 ILM 배치 지침이 만료된 후에도 개체가 그리드에 남아 있을 수 있습니다. 자세한 내용은 정보 수명 주기 관리를 통해 개체를 관리하는 지침에 있는 ""ILM이 개체의 수명 내내 작동하는 방법"을 참조하십시오.

참고 버킷 수명 주기 구성은 S3 오브젝트 잠금이 활성화된 버킷과 함께 사용할 수 있지만 버킷 수명 주기 구성은 레거시 준수 버킷에서 지원되지 않습니다.

StorageGRID는 다음 버킷 작업을 사용하여 라이프사이클 구성을 관리합니다.

  • 버킷 수명 주기를 삭제합니다

  • 버킷 수명 주기 가져오기

  • 버킷 수명 주기를 놓습니다

문서 수정 상태 설정 작성

라이프사이클 구성을 만드는 첫 번째 단계에서는 하나 이상의 규칙이 포함된 JSON 파일을 만듭니다. 예를 들어 이 JSON 파일에는 다음과 같은 세 가지 규칙이 포함되어 있습니다.

  1. 규칙 1은 접두사와 일치하는 객체에만 적용됩니다 category1/ 및 이(가) 있습니다 key2 의 값 tag2. 를 클릭합니다 Expiration 매개 변수는 필터와 일치하는 개체가 2020년 8월 22일 자정에 만료되도록 지정합니다.

  2. 규칙 2는 접두사와 일치하는 객체에만 적용됩니다 category2/. 를 클릭합니다 Expiration 매개 변수는 필터와 일치하는 개체가 수집된 후 100일이 경과하도록 지정합니다.

    중요함 일 수를 지정하는 규칙은 오브젝트가 수집된 시점을 기준으로 합니다. 현재 날짜가 수집 날짜와 일 수를 더한 값을 초과하면 라이프사이클 구성이 적용되는 즉시 일부 객체가 버킷에서 제거될 수 있습니다.
  3. 규칙 3은 접두사와 일치하는 객체에만 적용됩니다 category3/. 를 클릭합니다 Expiration 매개 변수 일치하는 개체의 현재 버전이 아닌 버전이 최신 상태가 아닌 후 50일 후에 만료되도록 지정합니다.

{
	"Rules": [
        {
		    "ID": "rule1",
			"Filter": {
                "And": {
                    "Prefix": "category1/",
                    "Tags": [
                        {
                            "Key": "key2",
							"Value": "tag2"
                        }
                    ]
                }
            },
			"Expiration": {
                "Date": "2020-08-22T00:00:00Z"
            },
            "Status": "Enabled"
        },
		{
            "ID": "rule2",
			"Filter": {
                "Prefix": "category2/"
            },
			"Expiration": {
                "Days": 100
            },
            "Status": "Enabled"
        },
		{
            "ID": "rule3",
			"Filter": {
                "Prefix": "category3/"
            },
			"NoncurrentVersionExpiration": {
                "NoncurrentDays": 50
            },
            "Status": "Enabled"
        }
    ]
}

버킷에 라이프사이클 구성 적용

문서 수정 상태 구성 파일을 작성한 후 PUT Bucket 수명주기 요청을 실행하여 이를 버킷에 적용합니다.

이 요청은 예제 파일의 문서 수정 상태 구성을 이름이 인 버킷의 오브젝트에 적용합니다 `testbucket`버킷

aws s3api --endpoint-url <StorageGRID endpoint> put-bucket-lifecycle-configuration
--bucket testbucket --lifecycle-configuration file://bktjson.json

라이프사이클 구성이 버킷에 성공적으로 적용되었는지 확인하려면 Get Bucket 수명주기 요청을 실행합니다. 예를 들면 다음과 같습니다.

aws s3api --endpoint-url <StorageGRID endpoint> get-bucket-lifecycle-configuration
 --bucket testbucket

성공적으로 응답하면 방금 적용한 문서 수정 상태 설정이 나열됩니다.

버킷 수명 주기 만료가 객체에 적용되는지 검증합니다

Put Object, Head Object 또는 Get Object 요청을 실행할 때 수명 주기 구성의 만료 규칙이 특정 개체에 적용되는지 확인할 수 있습니다. 규칙이 적용될 경우 응답에는 가 포함됩니다 Expiration 객체가 만료되는 시간과 일치하는 만료 규칙을 나타내는 매개 변수입니다.

참고 버킷 라이프사이클이 ILM, 을 무시하기 때문입니다 expiry-date 객체가 삭제될 실제 날짜가 표시됩니다. 자세한 내용은 StorageGRID 관리 수행 지침에서 "개체 보존 결정 방법"을 참조하십시오.

예를 들어, 이 PUT 오브젝트 요청은 2020년 6월 22일에 발행되었으며 에 오브젝트를 두었습니다 testbucket 버킷.

aws s3api --endpoint-url <StorageGRID endpoint> put-object
--bucket testbucket --key obj2test2 --body bktjson.json

성공 응답은 개체가 100일(2020년 10월 1일) 내에 만료되고 라이프사이클 구성의 규칙 2와 일치함을 나타냅니다.

{
      *"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:49 GMT\", rule-id=\"rule2\"",
      "ETag": "\"9762f8a803bc34f5340579d4446076f7\""
}

예를 들어, 이 head Object 요청은 testbucket 버킷에서 동일한 객체에 대한 메타데이터를 가져오는 데 사용되었습니다.

aws s3api --endpoint-url <StorageGRID endpoint> head-object
--bucket testbucket --key obj2test2

성공 응답에는 개체의 메타데이터가 포함되며 개체가 100일 후에 만료되고 규칙 2와 일치함을 나타냅니다.

{
      "AcceptRanges": "bytes",
      *"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:48 GMT\", rule-id=\"rule2\"",
      "LastModified": "2020-06-23T09:07:48+00:00",
      "ContentLength": 921,
      "ETag": "\"9762f8a803bc34f5340579d4446076f7\""
      "ContentType": "binary/octet-stream",
      "Metadata": {}
}
관련 정보

"버킷 작업"