파일 시스템 전송 요구사항

파일 시스템 전송 작업을 만들기 전에 필요한 API를 사용 설정하고 Docker를 설치해야 합니다.

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

시스템 요구사항

파일 시스템 전송에 Storage Transfer Service를 사용하려면 다음 항목이 필요합니다.

전송 에이전트 머신 요구사항은 다음과 같습니다.

  • 전송하려는 데이터에 액세스할 수 있는 Docker 지원 64비트 Linux 서버 또는 가상 머신 CentOS, Debian, Fedora, Ubuntu 운영체제를 지원하는 Docker Community Edition

    다른 Linux 운영체제를 사용하려면 Docker Enterprise를 참조하세요.

  • 가장 효과적이려면 컨테이너당 최소 8GB 메모리와 최소 4개 CPU가 필요합니다.

  • 허용되는 프로세스 ID 수에 대한 시스템 수준 또는 사용자 수준의 제약 조건(예: ulimit -u로 구성됨)은 실행하려는 에이전트 수를 고려해야 합니다. 각 에이전트 프로세스는 최대 수백 개의 스레드를 만들 수 있습니다. 전송 에이전트를 실행할 때 프로세스 ID 한도를 삭제하는 것이 좋습니다.

    Podman을 사용하여 에이전트 컨테이너를 만드는 고객은 Storage Transfer Service 에이전트 스레드를 수용할 만큼 충분히 큰 --pids-limit 값을 지정해야 합니다. --pids-limit의 기본값은 2,048이므로 에이전트를 두 개 이상 실행할 때 문제가 발생할 수 있습니다. 컨테이너당 무제한 프로세스 ID를 허용하도록 --pids-limit=-1을 설정하는 것이 좋습니다.

필수 엔드포인트

전송 에이전트가 다음 DNS 엔드포인트에 액세스할 수 있어야 합니다. 에이전트는 구성에 따라 이러한 엔드포인트의 하위 집합만 사용할 수 있지만 모든 엔드포인트가 전체 기능을 보장하도록 허용되어야 합니다.

Google 엔드포인트

필수 엔드포인트 목록은 변경될 수 있습니다. 전송 중단을 방지하려면 조직의 보안 정책에서 허용하는 경우 기본 googleapis.com 도메인과 gcr.io를 허용하는 것이 좋습니다.

엔드포인트 서비스 목적
storagetransfer.googleapis.com Storage Transfer Service 에이전트에서 Storage Transfer Service에 연결하고, 전송 작업을 수신하고, 상태를 보고하는 데 사용합니다.
storage.googleapis.com Cloud Storage Cloud Storage 버킷에 객체 나열, 읽기, 쓰기를 비롯한 핵심 데이터 전송 작업을 수행하는 데 사용합니다.
www.googleapis.com Google API 전송 에이전트의 버전 업데이트를 다운로드하는 데 사용합니다.
monitoring.googleapis.com Cloud Monitoring 전송 성능 및 에이전트 상태 측정항목을 내보내는 데 사용합니다.
logging.googleapis.com Cloud Logging 에이전트 시스템 및 활동 로그를 게시하는 데 사용합니다.
oauth2.googleapis.com Google OAuth 2.0 사용자 인증 정보를 안전하게 교환하고 API 승인을 위한 수명이 짧은 액세스 토큰을 검색하는 데 사용합니다.
iamcredentials.googleapis.com IAM 서비스 계정 사용자 인증 정보 에이전트가 특정 서비스 계정을 가장하도록 구성된 경우 임시 사용자 인증 정보를 생성하는 데 사용합니다.
cloudresourcemanager.googleapis.com Resource Manager 에이전트 설치 및 설정 중에 프로젝트 구성 및 권한을 확인하는 데 사용합니다.
gcr.io Container Registry 설치 중에 Storage Transfer Service 에이전트 컨테이너 이미지를 다운로드하는 데 사용합니다.

전송 성능을 최적화하기 위해 에이전트는 다양한 엔드포인트와 통신할 때 최소한 HTTP/1.1 및 HTTP/2를 비롯한 다양한 HTTP 프로토콜을 사용할 수 있습니다. 구성된 프록시 또는 방화벽이 이러한 모든 프로토콜 유형을 제대로 지원하고 성능이 우수한지 확인합니다.

지역 엔드포인트

지역 엔드포인트(예: storage.REGION.rep.googleapis.com)를 사용하도록 에이전트를 구성한 경우 표준 storage.googleapis.com 엔드포인트 대신 프록시 또는 방화벽 규칙에서 이러한 특정 도메인 이름을 허용해야 합니다.

소스 및 대상 스토리지 엔드포인트

또한 에이전트는 S3 호환 API, HDFS 클러스터 또는 POSIX용 NFS와 같은 특정 소스 및 대상 스토리지 시스템에 대한 네트워크 액세스 권한이 필요합니다.

작업 및 에이전트의 확장 제한사항

Storage Transfer Service는 전송 작업과 에이전트에 다음과 같은 확장 제한사항이 적용됩니다.

  • 작업당 10억 개 미만의 파일
  • 대역폭 한도는 1MBps를 초과해야 합니다.
  • 에이전트 풀당 최대 100개의 에이전트
  • 프로젝트당 최대 800개의 에이전트 풀

API 사용 설정

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

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기

    API 사용 설정하기

Docker 설치

Google Cloud CLI 또는 Docker를 사용하여 전송 에이전트를 설치하고 실행하는 경우, 실제 또는 가상 Linux 머신에 Docker Engine을 설치합니다.

Podman을 사용하여 전송 에이전트를 설치하고 실행하는 경우 Podman 관련 설치 안내 로 바로 건너뜁니다.

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

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

Docker 인증 허용

Docker 컨테이너에서 gcloud 기본 사용자 인증 정보로 인증하도록 하려면 다음 명령어를 실행해 애플리케이션 기본 사용자 인증 정보가 있는 파일을 포함한 Docker 볼륨을 만드세요.

sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login

다음 단계