시작하기 전에

Transfer Service for On Premises Data 작업을 처음 만들 때는 필수 API를 사용 설정하고 올바른 권한이 부여되었는지 확인해야 합니다.

최초 설정을 수행하는 동안 오류가 발생하면 로그인한 사용자에게 설정 단계를 수행하는 데 필요한 권한이 있는지 확인합니다. 대부분의 경우 이러한 권한을 모든 사용자가 사용할 수 있는 것은 아니며, 프로젝트 관리자에게 문의하여 지원을 받아야 할 수 있습니다.

최초 설정하려면 다음 단계를 따르세요.

  1. Google Storage Transfer API를 사용 설정합니다.

    API 사용 설정

    1. API를 사용 설정할 프로젝트를 확인한 후 다음을 클릭합니다.

    2. 사용 설정을 클릭합니다.

  2. Pub/Sub API를 사용 설정합니다.

    API 사용 설정

    1. API를 사용 설정할 프로젝트를 확인한 후 다음을 클릭합니다.

    2. 사용 설정을 클릭합니다.

  3. resourcemanager.projects.setIamPolicy 권한이 있는 사용자인 Google Cloud 프로젝트 관리자를 사용하여 ID 및 액세스 관리(IAM 권한 또는 역할)를 부여합니다.
    • 온프레미스용 전송 관리자 계정 - 전송을 수행하는 동료를 지원하는 수퍼유저 계정. 관리자는 온프레미스용 전송 에이전트를 관리하고 대역폭 사용량 한도를 설정합니다.
    • 온프레미스용 전송 사용자 계정 — 전송을 만들고 실행하는 데 사용되는 계정. 이러한 계정에는 일반적으로 전송 작업을 삭제할 수 있는 권한이 없습니다.
    • 온프레미스용 전송 서비스 계정 — 전송을 수행하기 위해 온프레미스용 전송에서 사용하는 Google 관리형 서비스 계정
    • 온프레미스용 전송 에이전트 ID - 온프레미스용 전송 에이전트를 실행하는 데 사용되는 ID입니다. 서비스 계정 또는 온프레미스 에이전트를 설정하는 사용자 계정일 수 있습니다.

    Google Cloud 프로젝트 관리자 계정은 전송 사용자를 설정하고 온프레미스용 전송 서비스 계정에 필수 권한을 부여할 때만 필요합니다. 전송 작업을 시작하지 않아도 됩니다.

    IAM 역할 부여에 대한 자세한 내용은 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.

    온프레미스용 전송에 대한 커스텀 역할을 만들려면 온프레미스용 전송에 대한 IAM 권한IAM 커스텀 역할 이해를 참조하세요.

    1. 온프레미스용 전송 관리자 계정을 설정하려면 계정에 다음의 IAM 권한 및 역할을 할당합니다.
      역할/권한 기능 참고
      resourcemanager.projects.getIamPolicy 이 권한은 온프레미스용 전송 서비스 계정에 전송에 필요한 권한이 있는지 확인하는 데 사용됩니다.
      스토리지 전송 관리자 (roles/storagetransfer.admin) 프로젝트 설정 및 에이전트 모니터링과 같은 전송 프로젝트의 관리 작업을 사용 설정합니다. 부여되는 권한의 자세한 목록은 사전 정의된 Storage Transfer Service 역할을 참조하세요.
    2. 온프레미스용 전송 사용자 계정을 설정하려면 계정에 다음 권한과 역할을 할당합니다.
      역할/권한 기능 참고
      resourcemanager.projects.getIamPolicy 온프레미스용 전송 서비스 계정에 전송하는 데 필요한 Pub/Sub 권한이 있는지 확인하는 데 사용됩니다.
      스토리지 전송 사용자 (roles/storagetransfer.user) 사용자가 전송을 생성, 가져오기, 업데이트, 나열할 수 있습니다. 부여되는 권한의 자세한 목록은 사전 정의된 Storage Transfer Service 역할을 참조하세요.
      스토리지 객체 관리자 (roles/storage.objectAdmin) 전송 중에 Cloud Storage 객체를 생성, 업데이트, 삭제할 수 있습니다. 이 계정이 전송에 사용하는 모든 Cloud Storage 버킷에 대해 권한이 부여되어야 합니다.

      부여되는 권한의 자세한 목록은 사전 정의된 Cloud Storage 역할을 참조하세요.
    3. 온프레미스용 전송은 Google 관리형 서비스 계정을 사용하여 데이터를 이동합니다. 서비스 계정의 형식은 일반적으로 project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com입니다. 특정 PROJECT_NUMBER를 확인하려면 googleServiceAccounts.get API 호출을 사용합니다.

      온프레미스용 전송 서비스 계정에 전송을 완료하는 데 필요한 리소스에 액세스하도록 허용하려면 온프레미스용 전송 서비스 계정에 다음 역할 또는 이에 상응하는 권한을 할당합니다.

      역할/권한 기능 참고
      스토리지 객체 생성자 (roles/storage.objectCreator) 온프레미스용 전송을 사용 설정하면 이 전송에 연결된 Cloud Storage 버킷에 전송 로그를 만들 수 있습니다. 전송에 사용되는 모든 Cloud Storage 버킷에 부여합니다. 상황에 따라 온프레미스용 전송을 실행 중인 프로젝트에 프로젝트 수준의 역할을 부여할 수 있습니다.

      이러한 역할이 부여하는 권한의 자세한 목록은 사전 정의된 Cloud Storage 역할을 참조하세요.
      스토리지 객체 뷰어 (roles/storage.objectViewer) 온프레미스용 전송을 사용 설정하여 파일이 이미 Cloud Storage 간에 전송되었는지 확인할 수 있습니다.
      Pub/Sub 편집자 (roles/pubsub.editor) 온프레미스용 전송을 사용 설정하여 Google Cloud에서 온프레미스 에이전트로 통신할 수 있도록 Pub/Sub 주제를 자동으로 만들고 수정합니다. 온프레미스용 전송에서 실행 중인 프로젝트에 프로젝트 수준의 역할을 적용합니다.

      이 역할이 부여하는 권한의 자세한 목록은 Pub/Sub 역할을 참조하세요.
      스토리지 기존 버킷 리더 (roles/storage.legacyBucketReader) 온프레미스용 전송을 사용 설정하여 Cloud Storage 버킷 메타데이터를 읽습니다. 전송에 사용되는 각 Cloud Storage 버킷에 부여합니다.
    4. 온프레미스용 전송 에이전트를 실행하는 온프레미스용 전송 에이전트 서비스 계정 또는 사용자 계정을 설정하려면 다음 권한과 역할을 할당합니다.
      역할/권한 기능 참고
      스토리지 객체 관리자 (roles/storage.objectAdmin) 온프레미스용 전송을 사용 설정하여 전송 중에 Cloud Storage 객체를 생성, 업데이트, 삭제할 수 있습니다. 전송에 사용되는 모든 Cloud Storage 버킷에 부여합니다. 상황에 따라 온프레미스용 전송을 실행 중인 프로젝트에 프로젝트 수준의 역할을 부여할 수 있습니다.

      이 역할이 부여하는 권한의 자세한 목록은 사전 정의된 Cloud Storage 역할을 참조하세요.
      Pub/Sub 게시자 (roles/pubsub.publisher) 온프레미스용 전송 에이전트를 사용 설정하여 Pub/Sub 주제를 통해 Google Cloud와 정보를 공유할 수 있습니다. 이 역할이 부여하는 권한의 자세한 목록은 Pub/Sub 역할을 참조하세요.
      Pub/Sub 구독자 (roles/pubsub.subscriber) Google Cloud를 사용 설정하여 Pub/Sub 주제를 통해 온프레미스용 전송 에이전트와 정보를 공유할 수 있습니다. 이 역할이 부여하는 권한의 자세한 목록은 Pub/Sub 역할을 참조하세요.
      Pub/Sub 편집자 (roles/pubsub.editor) 온프레미스용 전송 에이전트가 Pub/Sub 구독을 만들고 가져오고 삭제할 수 있도록 사용 설정합니다. 에이전트는 Google Cloud와 온프레미스용 전송 에이전트 간 통신에 사용되는 Pub/Sub 주제를 가져올 수 있습니다. 이 역할이 부여하는 권한의 자세한 목록은 Pub/Sub 역할을 참조하세요.
  4. 물리적 또는 가상 Linux 머신에 Docker Community Edition을 설치하려면 다음을 수행합니다.

    1. Docker Community Edition을 설치하려면 다음 명령어를 실행합니다.

       curl -fsSL https://get.docker.com -o get-docker.sh
      
       sudo sh get-docker.sh
      
       sudo systemctl enable docker
      

      설치 오류가 발생하면 문제 해결을 참조하세요.

    2. 이 머신의 에이전트가 Google Cloud에서 인증하도록 사용 설정합니다.

      인증을 사용 설정하려면 다음 명령어를 실행하여 머신의 기본 gcloud 사용자 인증 정보를 Docker 볼륨에 저장합니다.

      sudo docker run -ti --name gcloud-config \
          gcr.io/google.com/cloudsdktool/cloud-sdk \
          gcloud auth application-default login
      
  5. 다음 명령어를 실행하여 에이전트를 시작합니다.

    sudo docker run -d --ulimit memlock=64000000 --rm \
    --volumes-from gcloud-config \
    -v /:/transfer_root \
    gcr.io/cloud-ingest/tsop-agent:latest \
    --enable-mount-directory \
    --project-id=PROJECT_ID \
    --hostname=$(hostname)
    

    PROJECT_ID를 프로젝트의 ID로 바꿉니다.

다음 단계