클라우드 설계자라면 스토리지가 모든 조직에서 가장 중요한 리소스 중 하나라는 것을 잘 알고 있을 것입니다. 회사에서는 매일 수천 개의 새로운 파일과 문서를 생성하고 수정하며, 여기에 액세스합니다. 클라우드 설계자로서 여러분은 성공적인 재해 복구 계획을 수립하여 백업을 저장하고 다음과 같은 중복 아키텍처를 구축할 수 있습니다.
- 안전하고 확장 가능하며 가용성이 높은 객체 수준 스토리지
- 세분화된 액세스 제어
- 버전 관리
- 수명 주기 관리 기능
- 온프렘 디렉터리와 클라우드 디렉터리 간의 직접 동기화
Amazon Web Services(AWS)에서 Simple Storage Service(S3)를 객체 스토리지 솔루션으로 사용합니다.
세분화된 액세스 제어의 경우 버킷 정책, Identity and Access Management(IAM) 정책, 액세스 제어 목록(ACL) 조합을 사용하여 전체 버킷과 개별 객체에 액세스할 수 있는 사용자를 관리합니다. S3 버킷에서 객체를 AWS 관리형 또는 클라이언트 관리형 암호화 키로 암호화하여 보안을 한층 강화할 수도 있습니다.
중요한 파일을 실수로 삭제하거나 덮어쓰는 일이 발생하지 않도록 버전 관리를 설정했습니다. 액세스 패턴에 따라 객체를 한 스토리지 클래스에서 다른 스토리지 클래스로 자동으로 옮기는 수명 주기 정책을 설정하여 비용을 최적화할 수도 있습니다. 디렉터리 동기화의 경우에는 위치를 미러링하여 소스의 변경사항이 대상에 반영되게 하고, 이를 통해 데이터 복제가 가능해집니다.

이제 Cloud 콘솔과 gsutil 도구를 모두 사용하여 Google Cloud에 데이터를 안전하게 저장할 수 있는 다양한 Cloud Storage 기능을 살펴보겠습니다.
개요
Cloud Storage는 다양한 고급 기능을 갖춘 Google Cloud의 기본 리소스입니다. 이 실습에서는 설계에 유용한 여러 가지 Cloud Storage 기능을 연습합니다. 콘솔과 gsutil 도구를 모두 사용하여 Cloud Storage를 살펴보겠습니다.
목표
이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.
- 버킷 생성 및 사용
- 액세스 제어 목록(ACL)을 설정하여 액세스 제한
- 자체 암호화 키 사용
- 버전 제어 구현
- 디렉터리 동기화 사용
Qwiklabs 설정
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
-
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다.
왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.
-
Google Cloud 콘솔 열기 버튼
- 남은 시간
- 이 실습에 사용해야 하는 임시 사용자 인증 정보
- 필요한 경우 실습 진행을 위한 기타 정보
-
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
-
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
{{{user_0.username | "Username"}}}
실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.
-
다음을 클릭합니다.
-
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
{{{user_0.password | "Password"}}}
실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.
-
다음을 클릭합니다.
중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요.
참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
-
이후에 표시되는 페이지를 클릭하여 넘깁니다.
- 이용약관에 동의합니다.
- 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
- 무료 체험판을 신청하지 않습니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
참고: Google Cloud 제품 및 서비스 목록이 있는 메뉴를 보려면 왼쪽 상단의 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다.
작업 1. 준비
이 작업에서는 Cloud Storage 버킷을 만듭니다. 그런 다음, 다음 작업에서 사용할 샘플 파일을 다운로드합니다.
Cloud Storage 버킷 만들기
- Google Cloud 콘솔의 탐색 메뉴(
)에서 Cloud Storage > 버킷을 클릭합니다.
참고: 버킷의 이름은 전역적으로 고유해야 합니다. 고유한 이름을 만들기 위해 이름에 PROJECT_ID_1
의 일부를 사용할 수 있습니다. 예를 들어 PROJECT_ID_1
이 myproj-154920
인 경우 버킷 이름을 storecore154920
으로 할 수 있습니다.
-
만들기를 클릭합니다.
- 다음을 지정하고 나머지 설정은 기본값으로 둡니다.
속성 |
값(지정된 대로 값 입력 또는 옵션 선택) |
이름 |
전역적으로 고유한 이름 입력 |
위치 유형 |
리전 |
리전 |
|
이 버킷에 공개 액세스 방지 적용 |
선택 해제됨 |
액세스 제어 |
세분화(버킷 수준 권한 외에 객체 수준 권한도 사용) |
- 버킷 이름을 기록해 둡니다. 이 실습의 이후 단계에서 [BUCKET_NAME_1]에 사용됩니다.
-
만들기를 클릭합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
Cloud Storage 버킷 만들기
CURL을 사용하여 샘플 파일을 다운로드하고 사본 2개 만들기
- Cloud 콘솔에서 Cloud Shell 활성화(
)를 클릭합니다.
- 메시지가 표시되면 계속을 클릭합니다.
- 환경 변수에 [BUCKET_NAME_1]을 저장합니다.
export BUCKET_NAME_1=<여기에 버킷 이름 1 입력>
- echo를 사용하여 값을 확인합니다.
echo $BUCKET_NAME_1
- 다음 명령어를 실행하여 샘플 파일을 다운로드합니다. 이 샘플 파일은 공개적으로 사용 가능한 Hadoop 문서 HTML 파일입니다.
curl \
https://hadoop.apache.org/docs/current/\
hadoop-project-dist/hadoop-common/\
ClusterSetup.html > setup.html
- 다음 명령어를 실행하여 파일의 사본을 만듭니다.
cp setup.html setup2.html
cp setup.html setup3.html
작업 2. 액세스 제어 목록(ACL)
이 작업에서는 Cloud Storage 버킷에 복사한 파일에 대한 액세스를 제한하도록 액세스 제어 목록을 설정합니다.
파일을 버킷에 복사하고 액세스 제어 목록 구성
- 다음 명령어를 실행하여 첫 번째 파일을 버킷에 복사합니다.
gcloud storage cp setup.html gs://$BUCKET_NAME_1/
- 다음 명령어를 실행하여 setup.html에 할당된 기본 액세스 목록을 가져옵니다.
gsutil acl get gs://$BUCKET_NAME_1/setup.html > acl.txt
cat acl.txt
- 다음 명령어를 실행하여 액세스 목록을 비공개로 설정하고 결과를 확인합니다.
gsutil acl set private gs://$BUCKET_NAME_1/setup.html
gsutil acl get gs://$BUCKET_NAME_1/setup.html > acl2.txt
cat acl2.txt
- 다음 명령어를 실행하여 액세스 목록을 업데이트하고 공개적으로 읽기 가능한 파일로 만듭니다.
gsutil acl ch -u AllUsers:R gs://$BUCKET_NAME_1/setup.html
gsutil acl get gs://$BUCKET_NAME_1/setup.html > acl3.txt
cat acl3.txt
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
파일을 읽을 수 있도록 공개
Cloud 콘솔에서 파일 검사
- Google Cloud 콘솔의 탐색 메뉴(
)에서 Cloud Storage > 버킷을 클릭합니다.
- [BUCKET_NAME_1]을 클릭합니다.
- setup.html 파일의 공개 액세스에서 공개 링크를 사용할 수 있는지 확인합니다.
로컬 파일 삭제 및 Cloud Storage에서 다시 복사
-
Cloud Shell로 돌아갑니다. 필요한 경우 Cloud Shell 활성화(
)를 클릭합니다.
- 다음 명령어를 실행하여 설정 파일을 삭제합니다.
rm setup.html
- 다음 명령어를 실행하여 파일 삭제를 확인합니다.
ls
- 다음 명령어를 실행하여 버킷에서 파일을 다시 복사합니다.
gcloud storage cp gs://$BUCKET_NAME_1/setup.html setup.html
작업 3. 고객 제공 암호화 키(CSEK)
이 작업에서는 Cloud Storage 버킷에 저장된 파일을 암호화하는 CSEK 키를 생성합니다.
CSEK 키 생성
다음 단계를 진행하려면 AES-256 base-64 키가 필요합니다.
- 다음 명령어를 실행하여 키를 만듭니다.
python3 -c 'import base64; import os; print(base64.encodebytes(os.urandom(32)))'
결과(출력 예시입니다):
b'tmxElCaabWvJqR7uXEWQF39DhWTcDvChzuCmpHe6sb0=\n'
- 명령어 출력에서
b'
및 \n'
을 제외하고 생성된 키 값을 복사합니다. 키 형식은 tmxElCaabWvJqR7uXEWQF39DhWTcDvChzuCmpHe6sb0=
입니다.
boto 파일 수정
암호화 컨트롤은 .boto
라는 gsutil 구성 파일에 포함되어 있습니다.
- 다음 명령어를 실행하여 boto 파일을 열거나 볼 수 있습니다.
ls -al
nano .boto
참고: .boto
파일이 비어 있으면 Ctrl+X를 눌러 nano 편집기를 닫고 gsutil config -n
명령어를 사용하여 새 .boto
파일을 생성합니다. 그런 다음, 위에서 사용한 명령어로 파일을 다시 엽니다.
.boto
파일이 여전히 비어 있으면 gsutil version -l
명령어를 사용하여 찾아야 합니다.
- '
#encryption_key=
'이 있는 줄을 찾습니다.
참고: nano 편집기 하단의 단축키로 파일을 빠르게 탐색할 수 있습니다. Where Is 단축키를 사용하여 #encryption_key=이 있는 줄을 빠르게 찾을 수 있습니다.
- # 문자를 삭제하여 줄의 주석 처리를 삭제하고 앞서 생성한 키를 끝에 붙여넣습니다.
예시(예시입니다):
변경 전:
# encryption_key=
변경 후:
encryption_key=tmxElCaabWvJqR7uXEWQF39DhWTcDvChzuCmpHe6sb0=
-
Ctrl+O와 ENTER 키를 눌러 boto 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
나머지 설정 파일(암호화됨) 업로드 및 Cloud 콘솔에서 확인
- 다음 명령어를 실행하여 나머지 setup.html 파일을 업로드합니다.
gsutil cp setup2.html gs://$BUCKET_NAME_1/
gsutil cp setup3.html gs://$BUCKET_NAME_1/
- Cloud 콘솔로 돌아갑니다.
- [BUCKET_NAME_1]을 클릭합니다. setup2.html 파일과 setup3.html 파일 모두 고객이 제공한 키로 암호화되어 있다고 표시됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
고객 제공 암호화 키(CSEK)
로컬 파일 삭제, 새 파일 복사, 암호화 확인
- Cloud Shell에서 다음 명령어를 실행하여 로컬 파일을 삭제합니다.
rm setup*
- 다음 명령어를 실행하여 버킷에서 파일을 다시 복사합니다.
gsutil cp gs://$BUCKET_NAME_1/setup* ./
- 다음 명령어를 실행하여 암호화된 파일을 화면에 출력하고 파일이 다시 돌아왔는지 확인합니다.
cat setup.html
cat setup2.html
cat setup3.html
작업 4. CSEK 키 순환
이 작업에서는 지속적인 데이터 보안을 유지하기 위해 Cloud Storage에서 데이터 암호화에 사용되는 CSEK를 순환합니다.
현재 CSEK 암호화 키를 복호화 키로 이동
- 다음 명령어를 실행하여
.boto
파일을 엽니다.
nano .boto
- 현재 encryption_key 줄의 맨 앞에 # 문자를 추가하여 해당 줄을 주석 처리합니다.
참고: nano 편집기 하단의 단축키로 파일을 빠르게 탐색할 수 있습니다. Where Is 단축키를 사용하여 #encryption_key=이 있는 줄을 빠르게 찾을 수 있습니다.
- # 문자를 삭제하여 decryption_key1의 주석 처리를 삭제하고 encryption_key 줄의 현재 키를 decryption_key1 줄에 복사합니다.
결과(출력 예시입니다):
변경 전:
encryption_key=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
# decryption_key1=
변경 후:
# encryption_key=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
decryption_key1=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
-
Ctrl+O와 ENTER 키를 눌러 boto 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
참고: 실제 환경에서는 encryption_key 줄에서 이전 CSEK 키를 삭제하게 됩니다.
다른 CSEK 키를 생성하여 boto 파일에 추가
- 다음 명령어를 실행하여 새 키를 생성합니다.
python3 -c 'import base64; import os; print(base64.encodebytes(os.urandom(32)))'
- 명령어 출력에서
b'
및 \n'
을 제외하고 생성된 키 값을 복사합니다. 키 형식은 tmxElCaabWvJqR7uXEWQF39DhWTcDvChzuCmpHe6sb0=
입니다.
- 다음 명령어를 실행하여 boto 파일을 엽니다.
nano .boto
- 암호화의 주석 처리를 삭제하고 새로운
encryption_key=
키 값을 붙여넣습니다.
결과(출력 예시입니다):
변경 전:
# encryption_key=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
변경 후:
encryption_key=HbFK4I8CaStcvKKIx6aNpdTse0kTsfZNUjFpM+YUEjY=
-
Ctrl+O와 ENTER 키를 눌러 boto 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
파일 1 키 재작성 및 이전 복호화 키의 주석 처리
암호화된 파일을 재작성하면 이전에 설정한 decryption_key1로 파일이 복호화되고 새 encryption_key로 다시 암호화됩니다.
setup2.html의 키는 재작성하되 setup3.html의 키는 재작성하지 않음으로써 키가 적절히 순환되지 않으면 어떤 일이 발생하는지 확인할 수 있습니다.
- 다음 명령어를 실행합니다.
gsutil rewrite -k gs://$BUCKET_NAME_1/setup2.html
- 다음 명령어를 실행하여 boto 파일을 엽니다.
nano .boto
- # 문자를 다시 추가하여 현재 decryption_key1 줄을 주석 처리합니다.
결과(출력 예시입니다):
변경 전:
decryption_key1=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
변경 후:
# decryption_key1=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
-
Ctrl+O와 ENTER 키를 눌러 boto 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
참고: 실제 환경에서는 decryption_key1 줄에서 이전 CSEK 키를 삭제하게 됩니다.
설정 2 및 설정 3 다운로드
- 다음 명령어를 실행하여 setup2.html을 다운로드합니다.
gsutil cp gs://$BUCKET_NAME_1/setup2.html recover2.html
- 다음 명령어를 실행하여 setup3.html을 다운로드합니다.
gsutil cp gs://$BUCKET_NAME_1/setup3.html recover3.html
참고: 어떻게 된 것일까요? setup3.html은 새 키로 재작성하지 않았기 때문에 복호화될 수 없고 복사되지 않습니다. CSEK 키를 성공적으로 순환했습니다.
작업 5. 수명 주기 관리 사용 설정
이 작업에서는 Cloud Storage 버킷에 수명 주기 관리를 사용 설정하여 지정된 기간 후에 객체 삭제를 자동화합니다.
버킷의 현재 수명 주기 정책 보기
- 다음 명령어를 실행하여 현재 수명 주기 정책을 확인합니다.
gsutil lifecycle get gs://$BUCKET_NAME_1
참고: 수명 주기 구성이 없습니다. 다음 단계에서 수명 주기 구성을 만듭니다.
JSON 수명 주기 정책 파일 만들기
- 다음 명령어를 실행하여 life.json이라는 이름의 파일을 만듭니다.
nano life.json
- life.json 파일에 다음 값을 붙여넣습니다.
{
"rule":
[
{
"action": {"type": "Delete"},
"condition": {"age": 31}
}
]
}
참고: 이를 통해 Cloud Storage에 31일이 지난 객체를 삭제하도록 지시할 수 있습니다.
-
Ctrl+O와 Enter 키를 눌러 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
정책 설정 및 확인
- 다음 명령어를 실행하여 정책을 설정합니다.
gsutil lifecycle set life.json gs://$BUCKET_NAME_1
- 다음 명령어를 실행하여 정책을 확인합니다.
gsutil lifecycle get gs://$BUCKET_NAME_1
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
수명 주기 관리 사용 설정
작업 6. 버전 관리 사용 설정
이 작업에서는 Cloud Storage 버킷에 버전 관리를 사용 설정하여 실수로 삭제되거나 수정되지 않도록 데이터를 보호합니다.
버킷의 버전 관리 상태 확인 및 버전 관리 사용 설정
- 다음 명령어를 실행하여 버킷의 현재 버전 관리 상태를 확인합니다.
gsutil versioning get gs://$BUCKET_NAME_1
참고: 보류된 정책이란 사용 설정되어 있지 않은 정책이란 뜻입니다.
- 다음 명령어를 실행하여 버전 관리를 사용 설정합니다.
gsutil versioning set on gs://$BUCKET_NAME_1
- 다음 명령어를 실행하여 버전 관리가 사용 설정되었는지 확인합니다.
gsutil versioning get gs://$BUCKET_NAME_1
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
버전 관리 사용 설정
버킷에 샘플 파일의 여러 버전 만들기
- 샘플 파일의 크기를 확인합니다.
ls -al setup.html
- setup.html 파일을 엽니다.
nano setup.html
- setup.html에서 임의의 5줄을 삭제하여 파일 크기를 변경합니다.
-
Ctrl+O와 Enter 키를 눌러 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
- 버전 관리 옵션인 -v를 사용하여 파일을 버킷에 복사합니다.
gcloud storage cp -v setup.html gs://$BUCKET_NAME_1
- setup.html 파일을 엽니다.
nano setup.html
- setup.html에서 5줄을 더 삭제하여 파일 크기를 변경합니다.
-
Ctrl+O와 Enter 키를 눌러 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
- 버전 관리 옵션인 -v를 사용하여 파일을 버킷에 복사합니다.
gcloud storage cp -v setup.html gs://$BUCKET_NAME_1
파일의 모든 버전 나열
- 다음 명령어를 실행하여 파일의 모든 버전을 나열합니다.
gcloud storage ls -a gs://$BUCKET_NAME_1/setup.html
- 목록 맨 위에 있는 가장 오래된 파일 버전 이름을 강조표시하고 복사합니다. 이 이름은 다음 단계에서 [VERSION_NAME]에 사용됩니다.
참고: gs://로 시작하는 파일의 전체 경로를 복사해야 합니다.
- 환경 변수 [VERSION_NAME]에 버전 값을 저장합니다.
export VERSION_NAME=<여기에 버전 이름 입력>
- echo를 사용하여 값을 확인합니다.
echo $VERSION_NAME
결과(출력 예시입니다):
gs://BUCKET_NAME_1/setup.html#1584457872853517
파일의 가장 오래된 원본 버전 다운로드 및 복구 확인
- 파일의 원래 버전을 다운로드합니다.
gcloud storage cp $VERSION_NAME recovered.txt
- 다음 명령어를 실행하여 복구를 확인합니다.
ls -al setup.html
ls -al recovered.txt
참고: 백업 버전에서 원본 파일을 복구했습니다. 줄을 삭제했기 때문에 원래 버전이 현재 버전보다 더 큽니다.
작업 7. 디렉터리를 버킷에 동기화
이 작업에서는 gsutil rsync 명령어를 사용하여 로컬 디렉터리와 하위 디렉터리를 Cloud Storage 버킷과 동기화합니다.
중첩된 디렉터리를 만들고 버킷과 동기화
디렉터리가 버킷에 재귀적으로 복사되면 어떤 일이 일어나는지 살펴볼 수 있도록 중첩된 디렉터리 구조를 만듭니다.
- 다음 명령어를 실행합니다.
mkdir firstlevel
mkdir ./firstlevel/secondlevel
cp setup.html firstlevel
cp setup.html firstlevel/secondlevel
- 다음 명령어를 실행하여 VM의 첫 번째 수준 디렉터리를 버킷과 동기화합니다.
gsutil rsync -r ./firstlevel gs://$BUCKET_NAME_1/firstlevel
결과 검사
- Google Cloud 콘솔의 탐색 메뉴(
)에서 Cloud Storage > 버킷을 클릭합니다.
- [BUCKET_NAME_1]을 클릭합니다. 버킷 내의 하위 폴더를 확인하세요.
-
/firstlevel과 /secondlevel을 차례로 클릭합니다.
- Cloud 콘솔에 표시된 내용을 다음 명령어의 결과와 비교해 봅니다.
gcloud storage ls -r gs://$BUCKET_NAME_1/firstlevel
- Cloud Shell을 종료합니다.
exit
작업 8. 검토
이 실습에서는 버킷과 객체를 만들고 이를 사용하여 작업하는 방법과 Cloud Storage의 다음과 같은 기능에 관해 배웠습니다.
- CSEK: 고객 제공 암호화 키
- 자체 암호화 키 사용
- 키 순환
- ACL: 액세스 제어 목록
- ACL을 비공개로 설정한 후 공개로 수정
- 수명 주기 관리
- 31일이 지난 객체를 삭제하도록 정책 설정
- 버전 관리
- 버전 만들기 및 이전 버전 복원
- 디렉터리 동기화
- VM 디렉터리를 버킷과 재귀적으로 동기화
요약
S3와 Cloud Storage 모두 액세스 제어 관리, 암호화, 버전 관리, 수명 주기 관리 기능을 지원하는 객체 수준 스토리지를 제공합니다. 두 서비스 간의 유사점과 차이점을 몇 가지 알아보겠습니다.
유사점
- Cloud Storage와 S3 모두 세분화된 액세스 제어를 위한 액세스 제어 목록(ACL)을 제공합니다.
- 두 서비스 모두 데이터 액세스 빈도와 데이터 중복을 수정하여 비용 최적화를 달성하는 데 필요한 스토리지 클래스를 제공합니다.
- 두 서비스 모두 객체를 한 스토리지 클래스에서 다른 스토리지 클래스로 자동으로 옮기는 객체 수명 주기 관리를 제공합니다.
- 두 서비스 모두 파일을 실수로 삭제하거나 덮어쓰는 일을 방지하는 버전 관리를 제공합니다.
- 두 서비스 모두 객체를 업데이트된 상태로 유지하고 소스 위치와 대상 버킷 객체 간의 정렬을 보장해 주는 디렉터리 동기화를 제공합니다.
차이점
- Google Cloud에서는 고객 제공 암호화 키를 포함하도록 gsutil 구성 .boto 파일을 수정하여 버킷 암호화를 사용 설정합니다. AWS에서는 'put-bucket-encryption' 명령어를 사용하고 --server-side-encryption-configuration 파라미터에 키를 지정하여 AWS CLI를 통해 버킷 암호화를 사용 설정합니다.
- Google Cloud에서는 모든 스토리지 클래스를 단일 서비스로 관리합니다. 반면 AWS에서는 스토리지 클래스 보관처리를 S3 Glacier를 이용해 별도로 관리합니다. Standard 및 Infrequent Access 클래스는 S3로 관리합니다.
실습 종료하기
실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.
실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.
별점의 의미는 다음과 같습니다.
- 별표 1개 = 매우 불만족
- 별표 2개 = 불만족
- 별표 3개 = 중간
- 별표 4개 = 만족
- 별표 5개 = 매우 만족
의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.
의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.
Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.