Cloud Storage 버킷 연결

이 페이지에서는 머신러닝 데이터와 학습 출력을 저장하는 옵션으로 Cloud Storage를 소개하고, Cloud TPU에 Cloud Storage의 데이터 객체에 액세스할 수 있는 권한을 부여하는 방법을 설명합니다.

시작하기 전에

Cloud Storage 버킷에 액세스하려면 Cloud TPU 서비스 계정이 필요합니다.

  1. 프로젝트의 Cloud TPU 서비스 계정을 만듭니다.

    gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID

    이 명령어는 다음 형식의 Cloud TPU 서비스 계정을 반환합니다.

    service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
    
  2. Cloud TPU 빠른 시작 가이드 또는 TPU 문서 만들기 및 삭제에 있는 안내에 따라 Google Cloud 프로젝트를 구성하고, Cloud TPU VM과 TPU 리소스를 만듭니다.

Cloud Storage에 데이터 쓰기

콘솔

  1. Google Cloud 콘솔에서 Cloud Storage 페이지로 이동합니다.

    Cloud Storage 페이지로 이동

  2. 다음 옵션을 지정하여 새 버킷을 만듭니다.

    • 원하는 고유한 이름
    • 기본 스토리지 클래스: Standard
    • 위치: us-central1

CLI

  1. Cloud Storage 버킷을 만들려면 gcloud storage buckets create 명령어를 사용합니다.

    gcloud storage buckets create gs://bucket-name --location region

    각 항목의 의미는 다음과 같습니다.

    • region은 Cloud TPU를 만든 리전입니다. 리전 및 TPU 가용성에 관한 자세한 내용은 TPU 리전 및 영역을 참고하세요.

    • bucket-name은 만들려는 버킷의 이름입니다.

  2. Cloud Storage 버킷에 파일을 작성하려면 gcloud storage cp 명령어를 사용합니다.

    gcloud storage cp -r local-data-dir gs://bucket-name

    여기서 local-data-dir은 데이터의 로컬 경로입니다. 예를 들면 다음과 같습니다.$HOME/your-data

Cloud TPU에 Cloud Storage 액세스 권한 부여

Cloud TPU에 Cloud Storage 객체에 대한 읽기 및 쓰기 액세스 권한을 부여해야 합니다. 이렇게 하려면 Cloud TPU에서 사용하는 Cloud TPU 서비스 계정에 필요한 액세스 권한을 부여해야 합니다. 다음 단계에 따라 Cloud TPU 서비스 계정을 찾고 필요한 액세스 권한을 부여합니다.

Cloud TPU 서비스 계정 승인

Cloud TPU용으로 세밀하게 조정된 ACL 사용(권장)

Cloud Storage에 학습 데이터를 저장하는 경우 Cloud TPU 서비스 계정에 버킷에 대한 읽기/쓰기 권한이 있어야 합니다.

콘솔

  1. 소유한 버킷을 보려면 Cloud Storage 브라우저 페이지로 이동합니다.

    Cloud Storage 브라우저로 이동

  2. ACL을 수정할 버킷을 선택합니다.

  3. Permissions 탭을 선택합니다.

  4. Add를 선택하여 새 권한을 추가하고 New Principals 편집 상자에 전체 서비스 계정 이름을 입력합니다.

  5. 이 버킷에서 읽기를 수행하려면 리소스에서 읽을 TPU 서비스 계정을 승인해야 합니다. 서비스 계정에 Storage Legacy > Storage Legacy Bucket Reader 역할을 부여하여 이를 수행합니다.

  6. 이 버킷에 쓰기를 수행하려면 리소스에 쓸 TPU 서비스 계정을 승인해야 합니다. 서비스 계정에 Storage Legacy > Storage Legacy Bucket Writer 역할을 부여하여 이를 수행합니다.

CLI

  1. 이 버킷에서 읽기를 수행하려면 Cloud TPU 서비스 계정에 대한 읽기 권한을 부여합니다.

     gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectViewer
     

  2. 이 버킷에 쓰기를 수행하려면 Cloud TPU 서비스 계정에 대한 쓰기 권한을 부여합니다.

     gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectCreator

Cloud TPU의 IAM 권한 사용(대체 방법)

버킷별 액세스 권한을 명시적으로 부여하는 대신 광범위한 권한을 부여하려면 Cloud TPU 서비스 계정에 IAM(Identity Access Management) 스토리지 관리자 역할을 부여하면 됩니다.

  1. IAM으로 이동

  2. +추가 버튼을 클릭하여 프로젝트에 주 구성원을 추가합니다.

  3. 주 구성원 텍스트 상자에 Cloud TPU 서비스 계정 이름을 입력합니다.

  4. 역할 드롭다운 목록을 클릭합니다.

  5. 다음 역할을 사용 설정합니다.

    • 프로젝트 > 뷰어

    • 스토리지 > 스토리지 관리자

Cloud Storage FUSE

Cloud Storage FUSE를 사용하면 Cloud Storage 버킷을 로컬 파일 시스템으로 마운트하고 액세스할 수 있습니다. 이렇게 하면 애플리케이션이 표준 파일 시스템 시맨틱스를 사용하여 버킷의 객체를 읽고 쓸 수 있습니다.

Cloud Storage FUSE 작동 방식에 대한 자세한 내용과 Cloud Storage FUSE 작업이 Cloud Storage 작업에 매핑되는 방식에 대한 설명은 Cloud Storage FUSE 문서를 참조하세요. GitHub에서 gcsfuse CLI를 설치하고 버킷을 마운트하는 방법 등 Cloud Storage FUSE 사용 방법에 대한 추가 정보를 확인할 수 있습니다.

다음 단계