Cloud Storage FUSE를 사용한 Cloud Storage 버킷 마운트

표준 파일 시스템 시맨틱스를 사용하여 객체와 상호작용할 수 있도록 Cloud Storage FUSE를 사용하여 Cloud Storage 버킷을 로컬 파일 시스템으로 마운트하는 방법을 알아봅니다.

이 빠른 시작에서는 다음 태스크를 완료합니다.

  • Debian 또는 Ubuntu에 Cloud Storage FUSE 설치

  • 버킷을 머신에 폴더로 마운트

  • 버킷에 객체 업로드

Google Cloud CLI를 사용하여 스토리지 버킷에서 객체를 만들고 관리하며, gcsfuse CLI를 사용하여 머신에 버킷을 마운트합니다.

시작하기 전에

프로젝트를 설정하려면 다음 단계를 완료하세요.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 프로젝트 만들기를 클릭하여 새 Google Cloud 프로젝트 만들기를 시작합니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud CLI를 설치합니다.
  5. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  6. Google Cloud Console의 프로젝트 선택기 페이지에서 프로젝트 만들기를 클릭하여 새 Google Cloud 프로젝트 만들기를 시작합니다.

    프로젝트 선택기로 이동

  7. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  8. Google Cloud CLI를 설치합니다.
  9. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  10. 마운트하려는 Cloud Storage 버킷을 준비합니다. 아직 버킷이 없으면 새 버킷을 만듭니다.

Cloud Storage FUSE 설치

Cloud Storage FUSE를 설치하려면 Debian 또는 Ubuntu에서 로컬 셸을 사용하여 다음 안내를 완료합니다.

  1. 패키지 소스로 Cloud Storage FUSE 배포 URL을 추가합니다.

    export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s`
    echo "deb https://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
  2. Google Cloud APT 저장소 공개 키를 가져옵니다.

    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  3. 사용 가능한 패키지 목록을 업데이트합니다.

    sudo apt-get update
  4. Cloud Storage FUSE와 종속 항목 FUSE를 설치합니다.

    sudo apt-get install fuse gcsfuse
  5. 메시지가 표시되면 Enter를 눌러 확인합니다.

  6. Cloud Storage FUSE가 설치되었는지 확인합니다.

    gcsfuse -v

    성공하면 명령어가 다음과 유사한 출력을 반환합니다.

    gcsfuse version 0.41.12 (Go version go1.18.4)

버킷 마운트

버킷을 로컬 파일 시스템에 마운트하려면 다음 단계를 수행합니다.

  1. gcloud auth application-default login 명령어를 사용하여 애플리케이션 기본 사용자 인증 정보를 생성합니다.

    gcloud auth application-default login

    Cloud Storage FUSE가 사용자 인증 정보를 자동으로 로드합니다.

  2. 스토리지 버킷을 마운트할 디렉터리를 만듭니다.

    mkdir "$HOME/mount-folder"
  3. gcsfuse 명령어를 사용하여 스토리지 버킷을 마운트합니다.

    gcsfuse BUCKET_NAME "$HOME/mount-folder"

    BUCKET_NAME을 마운트하려는 버킷 이름으로 바꿉니다.

    성공하면 명령어가 다음과 유사한 텍스트가 포함된 출력을 반환합니다.

    File system has been successfully mounted.

버킷에 객체 업로드

예시 객체를 다운로드하고 마운트된 버킷에 업로드하려면 다음 단계를 완료하세요.

버킷에 업로드할 새끼 고양이의 이미지입니다.

  1. 위의 이미지를 마우스 오른쪽 버튼으로 클릭하고 바탕화면과 같은 컴퓨터의 특정 위치에 저장합니다.

    cURL 명령어 curl -O https://cloud.google.com/storage/images/kitten.png를 사용하여 이미지를 다운로드할 수도 있습니다.

  2. cp 명령어를 사용하여 저장된 위치에서 버킷이 마운트된 폴더로 이미지를 복사합니다.

    cp kitten.png "$HOME/mount-folder/kitten.png"
  3. 아래 단계에 따라 이미지가 로컬 파일 시스템에 복사되었고 버킷에 업로드되었는지 확인합니다.

    1. kitten.png가 로컬 파일 시스템에 복사되었는지 확인하려면 버킷이 마운트된 폴더에서 ls를 실행합니다.

      ls "$HOME/mount-folder"

      복사 작업이 성공하면 출력에 kitten.png가 반환됩니다.

    2. 버킷의 콘텐츠를 나열하려면 gcloud storage ls 명령어를 사용합니다.

      gcloud storage ls gs://BUCKET_NAME

      BUCKET_NAME을 버킷 이름으로 바꿉니다.

      이미지가 버킷에 성공적으로 업로드되면 출력에 kitten.png가 반환됩니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 완료하여 리소스를 삭제합니다.

  1. fusermount 도구를 사용하여 Linux 머신에서 스토리지 버킷을 마운트 해제합니다.

    fusermount -u "$HOME/mount-folder"
  2. 버킷과 해당 콘텐츠를 모두 삭제하려면 --recursive 플래그와 함께 gcloud storage rm 명령어를 사용합니다.

    gcloud storage rm gs://BUCKET_NAME --recursive

    BUCKET_NAME을 버킷 이름으로 바꿉니다.

    성공하면 명령어가 다음과 유사한 출력을 반환합니다.

    Removing gs://my-bucket/kitten.png#1676488739323620...
     Removing gs://my-bucket/...

다음 단계