프로젝트에서 스토리지 객체 업로드 및 다운로드

이 페이지에서는 Google Distributed Cloud (GDC) 에어 갭 스토리지 버킷에 객체를 업로드하고 버킷에서 객체를 다운로드하는 방법을 보여줍니다.

시작하기 전에

프로젝트 네임스페이스는 Management API 서버에서 버킷 리소스를 관리합니다. 버킷 및 객체로 작업하려면 프로젝트가 있어야 합니다.

또한 다음 작업을 수행하려면 적절한 버킷 권한이 있어야 합니다. 버킷 액세스 권한 부여를 참조하세요.

객체 이름 지정 가이드라인

객체 이름을 지정할 때는 다음 가이드라인을 따르세요.

  • 객체 이름을 지정할 때는 UTF-8 문자를 사용합니다.
  • 길이는 1~55자 사이여야 합니다.
  • 개인 식별 정보 (PII)를 포함하지 않습니다.

스토리지 버킷에 객체 업로드

콘솔

  1. 탐색 메뉴에서 객체 스토리지 를 클릭합니다.
  2. 객체를 업로드할 버킷의 이름을 클릭합니다.
  3. 선택사항: 객체를 저장할 폴더를 만들려면 폴더 만들기 를 클릭하고 폴더 이름을 입력한 후 만들기 를 클릭합니다.
  4. 파일 업로드 를 직접 클릭하거나 방금 만든 폴더로 이동한 후 파일 업로드 를 클릭합니다.
  5. 원하는 파일을 선택하고 열기 를 클릭합니다.
  6. 업로드가 완료되었다는 확인 메시지가 표시될 때까지 기다립니다.

CLI

객체를 업로드하려면 다음 명령어를 실행합니다.

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
gdcloud storage mv s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME

다음 명령어에는 FULLY_QUALIFIED_BUCKET_NAME이 필요합니다. 버킷 구성 보기 섹션의 GET 또는 DESCRIBE 명령어를 사용하여 정규화된 버킷 이름을 가져옵니다.

다음 명령어는 로컬 디렉터리의 모든 텍스트 파일을 버킷에 업로드합니다.

gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME

다음 명령어는 로컬 디렉터리의 여러 파일을 버킷에 업로드합니다.

gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME

버킷에 폴더를 업로드하려면 --recursive 옵션을 사용하여 전체 디렉터리 트리를 복사합니다. 다음 명령어는 디렉터리 트리 dir을 업로드합니다.

gdcloud storage cp DIRECTORY_NAME s3://FULLY_QUALIFIED_BUCKET_NAME --recursive

대용량 객체의 경우 멀티파트 업로드를 실행하거나 업로드할 파일이 15MB보다 큰 경우 멀티파트 업로드를 자동으로 사용합니다. 이 경우 파일은 여러 부분으로 분할되며 각 부분의 크기는 15MB입니다. 마지막 부분은 더 작습니다. 각 부분은 개별적으로 업로드되고 전송이 완료되면 대상에서 재구성됩니다.

한 부분의 업로드가 실패하면 이미 업로드된 다른 부분에 영향을 주지 않고 업로드를 다시 시작할 수 있습니다.

멀티파트 업로드와 관련된 두 가지 옵션이 있습니다.

  • --disable-multipart: 모든 파일의 멀티파트 업로드를 사용 중지합니다.
  • --multipart-chunk-size-mb=SIZE: 멀티파트 업로드의 각 청크 크기를 설정합니다.

SIZE보다 큰 파일은 자동으로 다중 스레드 멀티파트로 업로드됩니다. 더 작은 파일은 기존 방식을 사용하여 업로드됩니다. SIZE는 메가바이트 단위입니다. 기본 청크 크기는 15MB입니다. 허용되는 최소 청크 크기는 5MB이고 최대 청크 크기는 5GB입니다.

스토리지 버킷에서 객체 다운로드

콘솔

  1. 탐색 메뉴에서 객체 스토리지 를 클릭합니다.
  2. 객체가 포함된 버킷의 이름을 클릭합니다.
  3. 다운로드할 객체 이름 옆에 있는 체크박스를 선택합니다.
  4. 다운로드 를 클릭합니다.

CLI

버킷에서 객체를 가져오려면 다음 안내를 따르세요.

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE

버킷의 모든 텍스트 파일을 현재 디렉터리로 다운로드하려면 다음 안내를 따르세요.

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .

버킷의 텍스트 파일 abc.txt를 현재 디렉터리로 다운로드하려면 다음 안내를 따르세요.

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .

이전 버전의 파일을 다운로드하려면 먼저 파일의 모든 버전을 나열합니다.

gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions

출력 예시:

s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3

그런 다음 버킷의 특정 버전의 텍스트 파일 abc.txt를 현재 디렉터리로 다운로드합니다.

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .

커스텀 AEADKey 사용

더욱 세부적인 맞춤설정을 위해 자체 AEADKey를 만들고 버킷에서 객체를 암호화할 때 직접 사용할 수 있습니다. 이렇게 하면 기본값을 무시하고 암호화 키를 완전히 제어할 수 있습니다. 키 만들기에 따라 새 AEADKey를 만들고 사용할 버킷과 동일한 Namespace에 있는지 확인합니다. 그런 다음 요청을 보낼 때마다 HEADERx-amz-server-side-encryption: SSE-KMSx-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME으로 구성되어 있는지 확인합니다.