Linux VM으로 파일 전송


Compute Engine VM 인스턴스에 파일을 전송할 때 워크스테이션 OS와 대상 인스턴스 OS에 따라 여러 가지 옵션을 사용할 수 있습니다.

워크스테이션 OS Linux VM으로 전송
Linux 또는 macOS
Windows

Cloud Storage를 통해 파일 전송

Cloud Storage 버킷은 사용자와 VM 간의 편리한 중간 전송 포인트가 될 수 있습니다.

이 파일 전송 방법은 VM이 서비스 계정 또는 사용자 인증 정보를 통해 Cloud Storage 버킷에 액세스할 수 있는 한 거의 모든 운영체제와 VM 유형에 사용할 수 있습니다.

워크스테이션의 파일을 Cloud Storage 버킷에 업로드합니다. 그런 다음 해당 파일을 버킷에서 인스턴스로 다운로드합니다.

  1. Cloud Storage 버킷을 생성하거나 파일을 전송하는 데 사용할 기존 버킷을 확인합니다.
  2. 워크스테이션에서 버킷으로 파일을 업로드합니다.
  3. SSH를 사용하여 VM에 연결합니다.
  4. VM에서 버킷을 통해 파일을 다운로드합니다.

다른 방향으로 파일을 전송하려면 이 프로세스를 반대로 진행합니다. 즉, VM에서 파일을 업로드한 후 해당 파일을 워크스테이션으로 다운로드합니다.

브라우저에서 SSH를 통해 파일 전송

브라우저에서 SSH를 통해 연결을 사용하여 VM으로 SSH 연결을 설정할 수 있다면, 이 연결을 사용하여 VM으로 파일을 전송할 수 있습니다.

  1. Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 가상 머신 인스턴스 목록에서 연결할 인스턴스 행의 SSH를 클릭합니다.

    인스턴스 이름 옆에 있는 SSH 버튼

  3. 연결을 설정한 후 브라우저에서 SSH를 통해 연결 창의 오른쪽 상단에서 톱니바퀴 아이콘을 클릭하고 파일 업로드를 선택합니다. 또는 파일 다운로드를 선택하여 VM에서 파일을 다운로드할 수도 있습니다.
    톱니바퀴 아이콘 메뉴.
  4. 전송 대화상자가 열립니다. 전송할 파일을 지정합니다.

파일을 업로드한 경우 파일은 사용자의 /home/$USER 디렉터리에 있습니다.

파일을 다운로드했다면 해당 파일은 로컬 워크스테이션의 기본 다운로드 폴더에 있습니다.

gcloud 명령줄 도구를 사용하여 파일 전송

gcloud 명령줄 도구는 사용자가 처음으로 연결할 때 SSH 키 쌍을 생성하는 SCP 파일 전송 유틸리티를 제공합니다. 비공개 키는 로컬 기기에 저장되고 해당 공개 키는 프로젝트 또는 VM 인스턴스 메타데이터에 복사됩니다.

SCP를 사용하여 파일을 전송하려면 VM에서 사용하는 네트워크에 포트 22의 SSH 연결을 허용하는 방화벽 규칙이 있어야 합니다. Google Cloud Console에서 tcp:22 연결을 허용하는 방화벽 규칙을 찾으면 이 방화벽 규칙이 존재하는지 확인할 수 있습니다.

방화벽 규칙으로 이동

22 포트에서 SSH 연결을 허용하는 방화벽 규칙이 없으면 방화벽 규칙을 만듭니다.

gcloud 도구를 설치하고 이 도구에서 scp 명령어를 사용하여 파일과 디렉터리를 VM에 복사할 수 있습니다.

다음은 파일을 워크스테이션에서 VM의 홈 디렉터리로 복사하는 예시입니다.

gcloud compute scp LOCAL_FILE_PATH VM_NAME:~

다음을 바꿉니다.

  • LOCAL_FILE_PATH: 워크스테이션에 있는 파일 경로입니다.
  • VM_NAME: VM의 이름입니다.

VM의 파일 및 디렉터리를 로컬 워크스테이션에 복사할 수도 있습니다. 다음은 VM(소스)의 디렉터리를 로컬 워크스테이션(대상)에 반복적으로 복사하는 예시입니다.

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_DIR

다음을 바꿉니다.

  • VM_NAME: VM의 이름입니다.
  • REMOTE_DIR: 인스턴스에 있는 디렉터리 경로입니다.
  • LOCAL_DIR: 워크스테이션에 디렉터리를 넣을 경로입니다.

자세한 내용은 gcloud compute scp 참조 문서를 확인하세요.

Linux 및 macOS 워크스테이션의 SCP를 사용하여 파일 전송

scp 명령줄 도구는 gcloud compute scp 명령어와 작동 방식이 유사하지만 수동으로 SSH 키를 관리해야 합니다.

SCP를 사용하여 파일을 전송하려면 VM에서 사용하는 네트워크에 포트 22의 SSH 연결을 허용하는 방화벽 규칙이 있어야 합니다. Google Cloud Console에서 tcp:22 연결을 허용하는 방화벽 규칙을 찾으면 이 방화벽 규칙이 존재하는지 확인할 수 있습니다.

방화벽 규칙으로 이동

22 포트에서 SSH 연결을 허용하는 방화벽 규칙이 없으면 방화벽 규칙을 만듭니다.

scp 도구는 표준 SSH를 사용하여 인스턴스에 연결하는 데 사용하는 것과 동일한 키 파일을 사용합니다.

  1. Google Cloud Console 프로젝트 또는 VM 인스턴스에 공개 키를 아직 적용하지 않았다면 SSH 키 쌍을 생성하고 공개 키를 프로젝트 또는 인스턴스 메타데이터에 추가합니다

  2. 파일을 전송할 VM의 외부 IP를 찾습니다. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  3. scp 도구를 사용하여 파일을 워크스테이션에서 대상 VM의 홈 디렉터리로 복사합니다. 이 예시에서 비공개 키는 ~/.ssh/my-ssh-key입니다.

    scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IP_ADDRESS:~
    

    다음을 바꿉니다.

    • LOCAL_FILE_PATH: 업로드할 로컬 파일의 이름입니다.
    • USERNAME: 사용자 이름입니다.
    • IP-ADDRESS: VM의 외부 IP 주소입니다.

소스 변수와 대상 변수를 반대로 바꿔 파일을 VM에서 로컬 워크스테이션으로 복사할 수도 있습니다. 이 예시에서는 파일을 VM에서 워크스테이션의 특정 경로로 복사합니다.

scp -i ~/.ssh/my-ssh-key USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH

다음을 바꿉니다.

  • USERNAME: 사용자 이름입니다.
  • IP_ADDRESS: VM의 외부 IP 주소입니다.
  • REMOTE_FILE_PATH: 다운로드할 원격 파일의 이름입니다.
  • LOCAL_FILE_PATH: 워크스테이션에서 파일을 다운로드할 위치입니다.

Windows 워크스테이션의 WinSCP를 사용하여 파일 전송

Windows 워크스테이션에서 WinSCP 클라이언트를 사용하면 그래픽 파일 브라우저 인터페이스를 통해 인스턴스의 파일을 관리할 수 있습니다.

WinSCP는 PuTTY를 사용하여 인스턴스에 연결할 때 사용하는 것과 동일한 키 파일을 사용합니다.

  1. 인스턴스에 키 기반 SSH 인증을 구성하지 않은 경우에는 다음 단계를 따릅니다.

    1. SSH 키 쌍 만들기

    2. 공개 SSH 키를 프로젝트의 메타데이터 또는 VM의 메타데이터에 추가합니다. 자세한 내용은 프로젝트 메타데이터에 SSH 키 추가 또는 인스턴스 메타데이터에 SSH 키 추가를 참조하세요.

  2. 파일을 전송할 VM의 외부 IP를 찾습니다.

    1. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

      VM 인스턴스로 이동

    2. VM 목록에서 VM의 외부 IP 열에 있는 외부 IP 주소를 찾습니다.
  3. WinSCP를 다운로드하고 설치합니다. 기본 설치 설정은 대부분의 사용자에게 적합합니다.

  4. WinSCP 프로그램을 시작합니다. 연결 설정을 구성할 수 있는 로그인 창이 열립니다.

  5. WinSCP에서 연결 설정을 구성합니다.

    1. 파일 프로토콜 필드에서 파일 전송 프로토콜로 SCP를 선택합니다.

    2. 호스트 이름 필드에서 연결하려는 VM의 외부 IP 주소를 지정합니다.

    3. 사용자 이름 필드에서 프로젝트에 액세스할 때 사용하는 Google 사용자 이름을 지정합니다. 이 예시에서 사용자는 example-user입니다.

      파일 프로토콜을 SCP로, 호스트 이름을 104.196.31.103으로, 사용자 이름을 example-user로 설정

  6. 고급 드롭다운 목록을 클릭하여 고급 설정을 열고 SSH > 인증으로 이동합니다.

  7. 비공개 키 파일 상자에서 VM용으로 만든 SSH 키 쌍의 비공개 키 파일 경로를 지정합니다.

    고급 사이트 설정 대화상자에서 비공개 키 파일을 my-ssh-key.ppk로 설정

  8. 확인을 클릭하여 고급 설정을 저장합니다.

  9. 로그인을 클릭하여 VM에 연결합니다. 연결에 성공하면 창 왼쪽에 로컬 파일 시스템이 열리고, 오른쪽에 VM의 파일 시스템이 열립니다. 이 파일 시스템 내의 다른 디렉터리로 이동하여 파일을 드래그해서 VM으로 전송하거나 인스턴스에서 파일을 가져올 수 있습니다.

  10. VM의 홈 디렉터리 외부에 있는 대부분의 파일에 대한 관리 권한이 없을 것입니다. VM의 홈 디렉터리로 이동합니다.

    /home/USERNAME
    
  11. WinSCP 인터페이스를 사용하여 워크스테이션과 VM 간에 파일을 이전합니다.

  12. VM에 파일을 복사한 후 전체 sudo 권한으로 파일을 실행하거나 이전할 수 있도록 인스턴스에 연결합니다.

다음 단계