Cloud/GCP

[GCP] STS(Storage Transfer Service) Agent 설치, 설정

달빛궁전- 2025. 3. 10. 18:31

 

목표 :
GCP의 Storage Transfer Service(이하 STS로 표기)는 아래 여러 상황에서 데이터를 전송할 수 있습니다. Amazon S3, Azure Blob Storage 또는 Cloud Storage에서 Cloud Storage로 전송 온프레미스 스토리지에서 Cloud Storage로 또는 Cloud Storage에서 온프레미스로 온프레미스 스토리지 시스템 간 공개적으로 액세스 가능한 URL에서 Cloud Storage로 HDFS에서 Cloud Storage로 대부분 Agent가 필요 없지만, 온프레미스 스토리지에서 Cloud Storage로 또는 Cloud Storage에서 온프레미스로 할때는 인터페이스 역활이 되는 STS Agent가 필요합니다. 본 문서는 STS Agent 설치와 이후 Service Key를 이용한 로그인까지 설명합니다.

 

앞서 PGA, PSC, On-premise 과 GCP를 VPN으로 연결하는 방안을 작성했습니다.
해당 기술이 필요한이유는 Cloud의 PaaS서비스를 public망이 아닌 Private망을 통해 사용하기 위해서입니다.
하여 이번에는 위의 선행 기술들을 적용한 후 On-Premise 에서 데이터를 GCP Storage로 복사해주는 GCP STS 사용방안에 대해 기술합니다. 

 

아래는 PGA, VPN, PSC 관련 포스팅입니다.

https://seonggi.kr/257
 

On-premise 환경에서 GCP의 Private Google Access(PGA) 사용하기 – DNS Forward 방안

목표 : PGA(Private Google Access)란 Google Cloud에서 Public 대역이 아닌 구글의 대역을 타고 통신을 할 수 있는 서비스입니다.이는 크게 GCP VPC 내 Subnet에서 동작하는 GCP PGA가 있고, On-pr

seonggi.kr

https://seonggi.kr/256

 

On-premise 환경에서 GCP의 Private Google Access(PGA) 사용하기 – DNS 설정 가이드

목표 : PGA란 Google Cloud에서 Public 대역이 아닌 구글의 대역을 타고 통신을 할 수 있는 서비스입니다. 이는 크게 GCP VPC 내 Subnet에서 동작하는 GCP PGA가 있고, On-premise → GCP 통신시 사용할 수 있는 On-p

seonggi.kr

https://seonggi.kr/255

 

[GCP] Cloud Site to Site VPN을 위한 strongswan(openvpn), Cloud VPN 설정방안

배경 :GCP와 On-Premise간 VPN통신을 구축해보기 위한 문서입니다.많은 On-Premise 사이트에서는 VPN기능이 포함된 UTM들을 사용하고 있습니다.UTM장비의 엔트리, 미들레인지급은 보통 네트워크 프로토콜

seonggi.kr

https://seonggi.kr/215

 

[GCP] On-Premise to GCP Serverless 서비스를 VPN(Private망)으로 연결하여 사용

배경 : On-Premise에서는 외부, 내부 경계가 명확합니다. Cloud는 VPC로 구획을 나누기는 하지만, iaas, PaaS, SaaS는 자체 제공하는 서비스이기 때문에, Public망으로 서비스를 제공받게 됩니다.물론 CSP에

seonggi.kr

 

사전환경 : GCP STS Agent를 설치하기 위해서는 사전에 glcoud와 docker 설치가 필요합니다.
 
  • gcloud 설치
    https://cloud.google.com/sdk/docs/install?hl=ko#installation_instructions

  • docker 설치
    https://cloud.google.com/storage-transfer/docs/on-prem-set-up#install_docker

  • IAM 설정
    SA로 STS사용시 적합한 권한이 있어야 합니다.
    Console → IAM 에서 SA를 선택하고 아래와 같이 줍니다.

    STS Agent를 통해 파일을 보내기 위해 “저장소 전송 관리자"역활이
    GCP Storage Bucket의 리스트 확인, 저장, 수정을 하기 위해 “저장소 관리자" 역활이 필요합니다.

    glcoud 설치 후 Service key로 인증 (이하 SA로 표기)
    gcloud auth activate-service-account --key-file=[KEY_FILE_PATH]
     
    이 후 사용하고자 하는 project를 선택합니다.

  • 기본설치
    Console → Storage Transfer → 에이전트 풀 이동합니다.
    사용하고자 하는 에이전트 풀로 이동하거나 신규로 생성합니다.
    해당되는 에이전트 폴에 들어오면, “INSTALL AGENT”가 있습니다.



    Agent 설치 옵션을 넣을 수 있는 창이 생성됩니다.
    이때 조건들을 작성하면 자동으로 설치 명령어가 작성되며 이것을 바탕으로 서버에서 실행하면 됩니다.



    각 설명은 다음과 같습니다.
    설치할 에이전트 수 : 에이전트(도커)의 수량입니다.
    속도 및 중복성을 위해 3개 이상이 권장됩니다. 시스템 요구사항은 에이전트당 메모리 8GB 및 CPU 4개입니다.|
    파일의 전송이란 특성상 I/O와 Memory를 많이 사용합니다. 중요시스템이라면 사전에 리소스 여유를 꼭 체크하여야 합니다.

    에이전트 ID 프리픽스 : 에이전트를 식별할 수 있는 ID입니다. 구성원들이 알아볼 수 있도록 적절히 설정합니다.

    스토리지 시스템 유형 : Server의 파일 시스템이므로, POSIX 파일 시스템로 선택합니다.

    파일 시스템 매개변수 : STS를 사용해 전송할 디렉토리를 선택합니다. 전체 디렉토리도 선택이 가능하지만 보안상 권고하지 않습니다.

    이렇게 설정이 완료된 명령어를 실행하면 됩니다.
    각 명령어 옵션은 다음과 같습니다. 
    실제 수행시에는 괄호()를 제거합니다.
    gcloud transfer agents install (설치 명령어) --pool=seonggi-test-agent (에이전트 폴) --id-prefix=test (에이전트 ID) --creds-file=/sts/sa.json (SA키 위치)
     
  • 전송작업
    Console → Storage Transfer → 전송작업
    “전송 작업 만들기"를 선택합니다.


    소스를 POSIX파일시스템, 대상을 Google Cloud storage로 선택합니다.
    반대로 Google Cloud storage 에서 POSIX로 전송도 가능합니다.



    위에 만들어두었던 에이전트 폴을 선택합니다.
    그리고 STS로 전송할 디렉토리도 설정합니다.
    루트(/)로도 가능하지만, 파일 전송을 할 디렉토리를 별도로 지정하는 것을 권고합니다.


    Cloud Storage에 어디에 저장할지를 선택합니다.

    STS Agent를 통해 얼마나 파일을 이동할지를 선택합니다.
    최소 1시간단위로 설정이 가능합니다.




    그외 각종 설정부분입니다.
    작업 식별은 나중에 로그를 확인하기 위함으로 식별 가능한 부분으로 작성합니다.
    그외 파일의 메타데이터 옵션
    덮어쓰기와 전송 이후의 삭제 방안을 설정해둡니다.


    작업이 생성되고 난 뒤 설정된 시간으로 동작되지만
    작업 내부에서 “START A RUN”을 통해 수동으로도 가능합니다.


    각 작업을 선택하면 “전송 데이터", “중복 건으로 제외된 파일", “속도"등의 정보를 확인할 수 있습니다.

     
  • STS를 VPN을 통해 전송여부 확인하기
    앞서 “On-premise to PGA 사용을 위한 DNS 설정”, “GCP Cloud Site to Site VPN구성을 위한 strongswan(openvpn), Cloud VPN 설정방안”까지 완료하면
    VPN을 통해 On-premise 과 GCP간 STS를 통해 파일전송이 가능해집니다.

    확인을 위해서 IAM → 감사로그 → “Google Cloud Storage”, “Storage Transfer Service API”의 감사로그를 사용하도록 설정합니다.



    이후 STS를 통해 파일 전송을 하고 Cloud Logging으로 이동하여 Storage관련 로그를 확인합니다.
    아래를 보면 On-premise IP인 “192.168.1.80”이 *disk.img파일을 업로드한 것을 알 수 있습니다.

 

파일 시스템 전송 요구사항  |  Cloud Storage Transfer Service Documentation  |  Google Cloud

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 파일 시스템 전송 요구사항 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 파일 시스템

cloud.google.com

 

 

gcloud CLI 설치  |  Google Cloud CLI Documentation

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 gcloud CLI 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 페이지에는 Google Cloud CLI

cloud.google.com