튜토리얼: 멀티파트 업로드로 객체 업로드 및 데이터 무결성 확인
튜토리얼: 멀티파트 업로드로 객체 업로드 및 데이터 무결성 확인 (Tutorial: Upload an object through multipart upload and verify its data integrity)
멀티파트 업로드(multipart upload)를 사용하면 단일 객체를 여러 부분으로 나눠 업로드할 수 있어요. 각 부분은 객체 데이터의 연속적인 일부예요. 이 객체 부분들은 서로 독립적으로, 어떤 순서로든 업로드할 수 있어요. 일부 부분의 전송이 실패하면 다른 부분에 영향을 주지 않고 해당 부분만 다시 전송할 수 있어요. 객체의 모든 부분을 업로드한 후 Amazon S3가 이 부분들을 조합해 객체를 만들어요. 일반적으로 객체 크기가 100MB에 이르면 단일 작업으로 객체를 업로드하는 대신 멀티파트 업로드 사용을 고려해야 해요. 멀티파트 업로드에 대한 자세한 내용은 Amazon S3에서 멀티파트 업로드를 사용한 객체 업로드 및 복사를 참고하세요. 멀티파트 업로드 관련 한도는 Amazon S3 멀티파트 업로드 한도를 참고하세요.
출처: 문서
본문
체크섬(checksum)을 사용해 자산이 복사될 때 변경되지 않았는지 확인할 수 있어요. 체크섬 수행은 파일의 모든 바이트를 알고리즘으로 순차적으로 반복하는 작업이에요. Amazon S3는 데이터 무결성 확인을 위한 여러 체크섬 옵션을 제공해요. 내구성 모범 사례로 이러한 무결성 검사를 수행하고 모든 바이트가 변경 없이 전송됐는지 확인할 것을 권장해요. Amazon S3는 또한 SHA-1, SHA-256, CRC32, CRC32C 알고리즘을 지원해요. Amazon S3는 이러한 알고리즘 중 하나 이상을 사용해 추가 체크섬 값을 계산하고 이를 객체 메타데이터의 일부로 저장해요. 체크섬에 대한 자세한 내용은 Amazon S3에서 객체 무결성 확인을 참고하세요.
목표(Objective) 이 튜토리얼에서는 AWS Command Line Interface(AWS CLI)를 통해 멀티파트 업로드와 추가 SHA-256 체크섬을 사용해 객체를 Amazon S3에 업로드하는 방법을 배워요. 또한 업로드한 객체의 MD5 해시와 SHA-256 체크섬을 계산해 객체의 데이터 무결성을 확인하는 방법도 배워요.
주제(Topics)
- 사전 조건
- 1단계: 대형 파일 만들기
- 2단계: 파일을 여러 파일로 분할
- 3단계: 추가 체크섬으로 멀티파트 업로드 만들기
- 4단계: 멀티파트 업로드의 부분 업로드
- 5단계: 멀티파트 업로드의 모든 부분 나열
- 6단계: 멀티파트 업로드 완료
- 7단계: 객체가 버킷에 업로드됐는지 확인
- 8단계: MD5 체크섬으로 객체 무결성 검증
- 9단계: 추가 체크섬으로 객체 무결성 검증
- 10단계: 리소스 정리
사전 조건 (Prerequisites)
- 이 튜토리얼을 시작하기 전에 업로드할 수 있는 Amazon S3 버킷에 접근할 수 있는지 확인하세요. 자세한 내용은 범용 버킷 만들기를 참고하세요.
- AWS CLI가 설치·구성되어 있어야 해요. AWS CLI가 설치되어 있지 않다면 AWS Command Line Interface 사용자 가이드의 최신 버전의 AWS CLI 설치 또는 업데이트를 참고하세요.
- 또는 AWS CloudShell을 사용해 콘솔에서 AWS CLI 명령을 실행할 수 있어요. AWS CloudShell은 AWS Management Console에서 직접 시작할 수 있는 브라우저 기반의 사전 인증된 셸이에요. 자세한 내용은 AWS CloudShell 사용자 가이드의 CloudShell이란 무엇인가요?와 AWS CloudShell 시작하기를 참고하세요.
1단계: 대형 파일 만들기 (Step 1: Create a large file)
업로드할 준비가 된 파일이 이미 있다면 그 파일을 이 튜토리얼에 사용할 수 있어요. 그렇지 않으면 다음 단계를 사용해 15MB 파일을 만들어요. 멀티파트 업로드 관련 한도는 Amazon S3 멀티파트 업로드 한도를 참고하세요.
대형 파일 만들기 (To create a large file)
사용 중인 운영 체제에 따라 다음 명령 중 하나를 사용해 파일을 만들어요.
Linux 또는 macOS 15MB 파일을 만들려면 로컬 터미널을 열고 다음 명령을 실행해요.
dd if=/dev/urandom of=census-data.bin bs=1M count=15
이 명령은 15MB 크기의 임의 바이트로 채워진 census-data.bin이라는 파일을 만들어요.
Windows 15MB 파일을 만들려면 로컬 터미널을 열고 다음 명령을 실행해요.
fsutil file createnew census-data.bin 15728640
이 명령은 15MB(15728640바이트)의 임의 데이터로 구성된 census-data.bin이라는 파일을 만들어요.
2단계: 파일을 여러 파일로 분할 (Step 2: Split the file into multiple files)
멀티파트 업로드를 수행하려면 대형 파일을 더 작은 부분으로 분할해야 해요. 그런 다음 멀티파트 업로드 프로세스를 사용해 더 작은 부분을 업로드할 수 있어요. 이 단계는 1단계에서 만든 대형 파일을 더 작은 부분으로 분할하는 방법을 보여줘요. 다음 예시는 census-data.bin이라는 15MB 파일을 사용해요.
대형 파일을 부분으로 분할 (To split a large file into parts)
Linux 또는 macOS
대형 파일을 5MB 부분으로 나누려면 split 명령을 사용해요. 터미널을 열고 다음을 실행해요.
split -b 5M -d census-data.bin census-part
이 명령은 census-data.bin을 5MB 부분으로 분할하며, 부분 이름은 census-part**이고 **는 00부터 시작하는 숫자 접미사예요.
Windows 대형 파일을 분할하려면 PowerShell을 사용해요. PowerShell을 열고 다음 스크립트를 실행해요.
$inputFile = "census-data.bin"
$outputFilePrefix = "census-part"
$chunkSize = 5MB
$fs = [System.IO.File]::OpenRead($inputFile)
$buffer = New-Object byte[] $chunkSize
$fileNumber = 0
while ($fs.Position -lt $fs.Length) {
$bytesRead = $fs.Read($buffer, 0, $chunkSize)
$outputFile = "{0}{1:D2}" -f $outputFilePrefix, $fileNumber
$fileStream = [System.IO.File]::Create($outputFile)
$fileStream.Write($buffer, 0, $bytesRead)
$fileStream.Close()
$fileNumber++
}
$fs.Close()
이 PowerShell 스크립트는 대형 파일을 5MB 청크로 읽고 각 청크를 숫자 접미사가 있는 새 파일에 기록해요.
적절한 명령을 실행한 후에는 명령을 실행한 디렉터리에서 부분 파일을 볼 수 있어요. 각 부분에는 해당 부분 번호에 해당하는 접미사가 있게 돼요. 예를 들어:
census-part00 census-part01 census-part02
3단계: 추가 체크섬으로 멀티파트 업로드 만들기 (Step 3: Create the multipart upload with an additional checksum)
멀티파트 업로드 프로세스를 시작하려면 멀티파트 업로드 요청을 만들어야 해요. 이 단계는 멀티파트 업로드를 시작하고 데이터 무결성을 위한 추가 체크섬을 지정하는 작업을 포함해요. 다음 예시는 SHA-256 체크섬을 사용해요. 업로드 중인 객체를 설명하는 메타데이터를 제공하려면 멀티파트 업로드를 시작하는 요청에서 이를 제공해야 해요.
참고 이 단계와 이후 단계에서 이 튜토리얼은 SHA-256 추가 알고리즘을 사용해요. 이 단계에 CRC32, CRC32C 또는 SHA-1 같은 다른 추가 체크섬을 선택적으로 사용할 수도 있어요. 다른 알고리즘을 사용한다면 튜토리얼 단계 전체에서 해당 알고리즘을 사용해야 해요.
멀티파트 업로드 시작 (To start the multipart upload)
터미널에서 다음 create-multipart-upload 명령을 사용해 버킷에 대한 멀티파트 업로드를 시작해요. amzn-s3-demo-bucket1을 실제 버킷 이름으로 바꾸세요. 또한 census_data_file을 선택한 파일 이름으로 바꾸세요. 이 파일 이름은 업로드가 완료되면 객체 키가 돼요.
aws s3api create-multipart-upload --bucket amzn-s3-demo-bucket1 --key 'census_data_file' --checksum-algorithm sha256
요청이 성공하면 다음과 같은 JSON 출력이 표시돼요.
{
"ServerSideEncryption": "AES256",
"ChecksumAlgorithm": "SHA256",
"Bucket": "amzn-s3-demo-bucket1",
"Key": "census_data_file",
"UploadId": "cNV6KCSNANFZapz1LUGPC5XwUVi1n6yUoIeSP138sNOKPeMhpKQRrbT9k0ePmgoOTCj9K83T4e2Gb5hQvNoNpCKqyb8m3.oyYgQNZD6FNJLBZluOIUyRE.qM5yhDTdhz"
}
참고 멀티파트 업로드를 시작하는 요청을 보내면 Amazon S3가 업로드 ID가 포함된 응답을 반환해요. 이것은 멀티파트 업로드의 고유 식별자예요. 부분을 업로드하거나, 부분을 나열하거나, 업로드를 완료하거나, 업로드를 중지할 때마다 이 업로드 ID를 포함해야 해요. 이후 단계에서
UploadId,Key,Bucket값을 사용해야 하므로 이 값들을 저장해 두세요.또한 추가 체크섬과 함께 멀티파트 업로드를 사용하는 경우 부분 번호는 연속적이어야 해요. 연속되지 않은 부분 번호를 사용하면
complete-multipart-upload요청이 HTTP500 Internal Server Error를 일으킬 수 있어요.
4단계: 멀티파트 업로드의 부분 업로드 (Step 4: Upload the parts of your multipart upload)
이 단계에서는 멀티파트 업로드의 부분을 S3 버킷에 업로드할 거예요. upload-part 명령을 사용해 각 부분을 개별적으로 업로드해요. 이 프로세스는 각 부분에 대해 업로드 ID, 부분 번호, 업로드할 파일을 지정해야 해요.
부분 업로드 (To upload the parts)
- 부분을 업로드할 때 업로드 ID 외에
--part-number인자를 사용해 부분 번호도 지정해야 해요. 1에서 10,000 사이의 부분 번호를 선택할 수 있어요. 부분 번호는 업로드 중인 객체에서 부분과 그 위치를 고유하게 식별해요. 선택한 부분 번호는 연속적이어야 해요(예: 1, 2, 3). 이전에 업로드한 부분과 같은 부분 번호로 새 부분을 업로드하면 이전 부분이 덮어써져요. upload-part명령을 사용해 멀티파트 업로드의 각 부분을 업로드해요.--upload-id는 3단계의create-multipart-upload명령이 만든 출력과 동일해요. 데이터의 첫 번째 부분을 업로드하려면 다음 명령을 사용해요.
aws s3api upload-part --bucket amzn-s3-demo-bucket1 --key 'census_data_file' --part-number 1 --body census-part00 --upload-id "cNV6KCSNANFZapz1LUGPC5XwUVi1n6yUoIeSP138sNOKPeMhpKQRrbT9k0ePmgoOTCj9K83T4e2Gb5hQvNoNpCKqyb8m3.oyYgQNZD6FNJLBZluOIUyRE.qM5yhDTdhz" --checksum-algorithm SHA256
각 upload-part 명령이 완료되면 다음 예시와 같은 출력이 표시돼요.
{
"ServerSideEncryption": "AES256",
"ETag": "\"e611693805e812ef37f96c9937605e69\"",
"ChecksumSHA256": "QLl8R4i4+SaJlrl8ZIcutc5TbZtwt2NwB8lTXkd3GH0="
}
- 이후 부분에 대해서는 부분 번호를 그에 맞게 증가시켜요.
aws s3api upload-part --bucket amzn-s3-demo-bucket1 --key 'census_data_file' --part-number <part-number> --body <file-path> --upload-id "<your-upload-id>" --checksum-algorithm SHA256
예를 들어 다음 명령을 사용해 두 번째 부분을 업로드해요.
aws s3api upload-part --bucket amzn-s3-demo-bucket1 --key 'census_data_file' --part-number 2 --body census-part01 --upload-id "cNV6KCSNANFZapz1LUGPC5XwUVi1n6yUoIeSP138sNOKPeMhpKQRrbT9k0ePmgoOTCj9K83T4e2Gb5hQvNoNpCKqyb8m3.oyYgQNZD6FNJLBZluOIUyRE.qM5yhDTdhz" --checksum-algorithm SHA256
Amazon S3는 각 업로드된 부분에 대한 엔터티 태그(ETag)와 추가 체크섬을 응답의 헤더로 반환해요.
- 객체의 모든 부분을 업로드할 때까지
upload-part명령을 계속 사용해요.
5단계: 멀티파트 업로드의 모든 부분 나열 (Step 5: List all the parts of your multipart upload)
멀티파트 업로드를 완료하려면 해당 멀티파트 업로드에 대해 업로드된 모든 부분의 목록이 필요해요. list-parts 명령의 출력은 버킷 이름, 키, 업로드 ID, 부분 번호, ETag, 추가 체크섬 등과 같은 정보를 제공해요. 이 출력을 파일에 저장하면 멀티파트 업로드 프로세스를 완료할 때 다음 단계에서 사용할 수 있으므로 유용해요. 다음 방법으로 parts.json이라는 JSON 출력 파일을 만들 수 있어요.
모든 부분을 나열하는 파일 만들기 (To create a file that lists all of the parts)
- 업로드된 모든 부분의 세부 정보가 포함된 JSON 파일을 생성하려면 다음
list-parts명령을 사용해요.amzn-s3-demo-bucket1을 실제 버킷 이름으로 바꾸고<your-upload-id>를 3단계에서 받은 업로드 ID로 바꾸세요.list-parts명령에 대한 자세한 내용은 AWS Command Line Interface 사용자 가이드의 list-parts를 참고하세요.
aws s3api list-parts --bucket amzn-s3-demo-bucket1 --key 'census_data_file' --upload-id <your-upload-id> --query '{Parts: Parts[*].{PartNumber: PartNumber, ETag: ETag, ChecksumSHA256: ChecksumSHA256}}' --output json > parts.json
parts.json이라는 새 파일이 생성돼요. 이 파일에는 업로드된 모든 부분의 JSON 형식 정보가 포함돼요. parts.json 파일은 멀티파트 업로드 프로세스를 완료하는 데 필요한 각 부분의 부분 번호와 해당 ETag 값 같은 필수 정보를 포함해요.
- 임의의 텍스트 편집기나 터미널로
parts.json을 열어요. 다음은 예시 출력이에요.
{
"Parts": [
{
"PartNumber": 1,
"ETag": "\"3c3097f89e2a2fece47ac54b243c9d97\"",
"ChecksumSHA256": "fTPVHfyNHdv5VkR4S3EewdyioXECv7JBxN+d4FXYYTw="
},
{
"PartNumber": 2,
"ETag": "\"03c71cc160261b20ab74f6d2c476b450\"",
"ChecksumSHA256": "VDWTa8enjOvULBAO3W2a6C+5/7ZnNjrnLApa1QVc3FE="
},
{
"PartNumber": 3,
"ETag": "\"81ae0937404429a97967dffa7eb4affb\"",
"ChecksumSHA256": "cVVkXehUlzcwrBrXgPIM+EKQXPUvWist8mlUTCs4bg8="
}
]
}
6단계: 멀티파트 업로드 완료 (Step 6: Complete the multipart upload)
멀티파트 업로드의 모든 부분을 업로드하고 나열한 후, 마지막 단계는 멀티파트 업로드를 완료하는 것이에요. 이 단계는 업로드된 모든 부분을 S3 버킷의 단일 객체로 병합해요.
참고
complete-multipart-upload를 호출하기 전에--checksum-sha256을 요청에 포함해 객체 체크섬을 계산할 수 있어요. 체크섬이 일치하지 않으면 Amazon S3는 요청을 실패시켜요. 자세한 내용은 AWS Command Line Interface 사용자 가이드의 complete-multipart-upload를 참고하세요.
멀티파트 업로드 완료 (To complete the multipart upload)
멀티파트 업로드를 마무리하려면 complete-multipart-upload 명령을 사용해요. 이 명령은 5단계에서 만든 parts.json 파일, 버킷 이름, 업로드 ID가 필요해요. <amzn-s3-demo-bucket1>을 버킷 이름으로, <your-upload-id>를 parts.json의 업로드 ID로 바꾸세요.
aws s3api complete-multipart-upload --multipart-upload file://parts.json --bucket amzn-s3-demo-bucket1 --key 'census_data_file' --upload-id <your-upload-id>
다음은 예시 출력이에요.
{
"ServerSideEncryption": "AES256",
"Location": "https://amzn-s3-demo-bucket1.s3.us-east-2.amazonaws.com/census_data_file",
"Bucket": "amzn-s3-demo-bucket1",
"Key": "census_data_file",
"ETag": "\"f453c6dccca969c457efdf9b1361e291-3\"",
"ChecksumSHA256": "aI8EoktCdotjU8Bq46DrPCxQCGuGcPIhJ51noWs6hvk=-3"
}
참고 아직 개별 부분 파일을 삭제하지 마세요. 병합된 객체의 무결성을 검증하기 위해 개별 부분에 대해 체크섬을 수행해야 하므로 개별 부분이 필요해요.
7단계: 객체가 버킷에 업로드됐는지 확인 (Step 7: Confirm that the object is uploaded to your bucket)
멀티파트 업로드를 완료한 후 객체가 S3 버킷에 성공적으로 업로드됐는지 확인할 수 있어요. 버킷의 객체를 나열하고 새로 업로드한 파일의 존재를 확인하려면 list-objects-v2 명령을 사용해요.
업로드된 객체 나열 (To list the uploaded object)
버킷의 객체를 나열하려면 list-objects-v2 명령을 사용해요. amzn-s3-demo-bucket1을 실제 버킷 이름으로 바꾸세요:
aws s3api list-objects-v2 --bucket amzn-s3-demo-bucket1
이 명령은 버킷의 객체 목록을 반환해요. 객체 목록에서 업로드한 파일(예: census_data_file)을 찾아보세요.
자세한 내용은 AWS Command Line Interface 사용자 가이드의 list-objects-v2 명령에 대한 예시 섹션을 참고하세요.
8단계: MD5 체크섬으로 객체 무결성 검증 (Step 8: Verify object integrity with an MD5 checksum)
객체를 업로드할 때 Amazon S3가 사용할 체크섬 알고리즘을 지정할 수 있어요. 기본적으로 Amazon S3는 바이트의 MD5 다이제스트를 객체의 ETag로 저장해요. 멀티파트 업로드의 경우 ETag는 전체 객체의 체크섬이 아니라 각 개별 부분의 체크섬들이 결합된 복합체(composite)예요.
MD5 체크섬으로 객체 무결성 검증 (To verify object integrity by using an MD5 checksum)
- 업로드된 객체의 ETag를 검색하려면
head-object요청을 수행해요.
aws s3api head-object --bucket amzn-s3-demo-bucket1 --key census_data_file
다음은 예시 출력이에요.
{
"AcceptRanges": "bytes",
"LastModified": "2024-07-26T19:04:13+00:00",
"ContentLength": 16106127360,
"ETag": "\"f453c6dccca969c457efdf9b1361e291-3\"",
"ContentType": "binary/octet-stream",
"ServerSideEncryption": "AES256",
"Metadata": {}
}
이 ETag의 끝에는 "-3"이 붙어 있어요. 이것은 객체가 멀티파트 업로드를 사용해 세 부분으로 업로드됐다는 것을 나타내요.
- 다음으로
md5sum명령을 사용해 각 부분의 MD5 체크섬을 계산해요. 부분 파일의 올바른 경로를 제공해야 해요.
md5sum census-part*
다음은 예시 출력이에요.
e611693805e812ef37f96c9937605e69 census-part00
63d2d5da159178785bfd6b6a5c635854 census-part01
95b87c7db852451bb38b3b44a4e6d310 census-part02
- 이 단계에서는 MD5 해시를 하나의 문자열로 수동으로 결합해요. 그런 다음 다음 명령을 실행해 문자열을 바이너리로 변환하고 바이너리 값의 MD5 체크섬을 계산해요.
echo "e611693805e812ef37f96c9937605e6963d2d5da159178785bfd6b6a5c63585495b87c7db852451bb38b3b44a4e6d310" | xxd -r -p | md5sum
다음은 예시 출력이에요.
f453c6dccca969c457efdf9b1361e291 -
이 해시 값은 1단계의 원래 ETag 값의 해시 값과 일치해야 하며, 이는 census_data_file 객체의 무결성이 검증됐다는 것을 의미해요.
Amazon S3에 추가 체크섬을 사용하도록 지시하면 Amazon S3는 각 부분의 체크섬 값을 계산해 저장해요. 아직 진행 중인 멀티파트 업로드의 개별 부분에 대한 체크섬 값을 검색하려면 list-parts를 사용할 수 있어요.
체크섬이 멀티파트 업로드 객체에서 어떻게 작동하는지에 대한 자세한 내용은 Amazon S3에서 객체 무결성 확인을 참고하세요.
9단계: 추가 체크섬으로 객체 무결성 검증 (Step 9: Verify object integrity with an additional checksum)
이 단계에서는 이 튜토리얼이 SHA-256을 객체 무결성 검증을 위한 추가 체크섬으로 사용해요. 다른 추가 체크섬을 사용했다면 해당 체크섬 값을 대신 사용해요.
SHA256으로 객체 무결성 검증 (To verify object integrity with SHA256)
- 객체의
ChecksumSHA256값을 표시하려면--checksum-mode enabled인자를 포함해 터미널에서 다음 명령을 실행해요.
aws s3api head-object --bucket amzn-s3-demo-bucket1 --key census_data_file --checksum-mode enabled
다음은 예시 출력이에요.
{
"AcceptRanges": "bytes",
"LastModified": "2024-07-26T19:04:13+00:00",
"ContentLength": 16106127360,
"ChecksumSHA256": "aI8EoktCdotjU8Bq46DrPCxQCGuGcPIhJ51noWs6hvk=-3",
"ETag": "\"f453c6dccca969c457efdf9b1361e291-3\"",
"ContentType": "binary/octet-stream",
"ServerSideEncryption": "AES256",
"Metadata": {}
}
- 다음 명령을 사용해 개별 부분의
ChecksumSHA256값을 base64로 디코딩해outfile이라는 바이너리 파일에 저장해요. 이 값은parts.json파일에서 찾을 수 있어요. 예시 base64 문자열을 실제ChecksumSHA256값으로 바꾸세요.
echo "QLl8R4i4+SaJlrl8ZIcutc5TbZtwt2NwB8lTXkd3GH0=" | base64 --decode >> outfile
echo "xCdgs1K5Bm4jWETYw/CmGYr+m6O2DcGfpckx5NVokvE=" | base64 --decode >> outfile
echo "f5wsfsa5bB+yXuwzqG1Bst91uYneqGD3CCidpb54mAo=" | base64 --decode >> outfile
outfile의 SHA256 체크섬을 계산하려면 다음 명령을 실행해요.
sha256sum outfile
다음은 예시 출력이에요.
688f04a24b42768b6353c06ae3a0eb3c2c50086b8670f221279d67a16b3a86f9 outfile
다음 단계에서 이 해시 값을 가져와 바이너리 값으로 변환해요. 이 바이너리 값은 1단계의 ChecksumSHA256 값과 일치해야 해요.
- 3단계의 SHA256 체크섬을 바이너리로 변환한 다음 이를 base64로 인코딩해 1단계의
ChecksumSHA256값과 일치하는지 확인해요.
echo "688f04a24b42768b6353c06ae3a0eb3c2c50086b8670f221279d67a16b3a86f9" | xxd -r -p | base64
다음은 예시 출력이에요.
aI8EoktCdotjU8Bq46DrPCxQCGuGcPIhJ51noWs6hvk=
이 출력은 base64 출력이 head-object 명령 출력의 ChecksumSHA256 값과 일치하는지 확인해야 해요. 출력이 체크섬 값과 일치하면 객체가 유효한 것이에요.
중요
- Amazon S3에 추가 체크섬을 사용하도록 지시하면 Amazon S3는 각 부분의 체크섬 값을 계산해 이 값들을 저장해요.
- 아직 진행 중인 멀티파트 업로드의 개별 부분에 대한 체크섬 값을 검색하려면
list-parts명령을 사용할 수 있어요.
10단계: 리소스 정리 (Step 10: Clean up your resources)
이 튜토리얼에서 만든 파일을 정리하려면 다음 방법을 사용해요. S3 버킷에 업로드한 파일을 삭제하는 방법에 대한 지침은 Amazon S3 객체 삭제를 참고하세요.
1단계에서 만든 로컬 파일 삭제 (Delete local files created in Step 1):
멀티파트 업로드를 위해 만든 파일을 제거하려면 작업 디렉터리에서 다음 명령을 실행해요.
rm census-data.bin census-part* outfile parts.json