Compute Engine VM 인스턴스에 파일을 전송할 때 워크스테이션 OS와 대상 인스턴스 OS에 따라 여러 가지 옵션을 사용할 수 있습니다.
워크스테이션 OS | Linux VM으로 전송 |
---|---|
Linux 또는 macOS | |
Windows |
Cloud Storage를 통해 파일 전송
Cloud Storage 버킷은 사용자와 VM 간의 편리한 중간 전송 포인트가 될 수 있습니다.
이 파일 전송 방법은 VM이 서비스 계정 또는 사용자 인증 정보를 통해 Cloud Storage 버킷에 액세스할 수 있는 한 거의 모든 운영체제와 VM 유형에 사용할 수 있습니다.
워크스테이션의 파일을 Cloud Storage 버킷에 업로드합니다. 그런 다음 해당 파일을 버킷에서 인스턴스로 다운로드합니다.
- Cloud Storage 버킷을 생성하거나 파일을 전송하는 데 사용할 기존 버킷을 확인합니다.
- 워크스테이션에서 버킷으로 파일을 업로드합니다.
- SSH를 사용하여 VM에 연결합니다.
- VM에서 버킷을 통해 파일을 다운로드합니다.
다른 방향으로 파일을 전송하려면 이 프로세스를 반대로 진행합니다. 즉, VM에서 파일을 업로드한 후 해당 파일을 워크스테이션으로 다운로드합니다.
SSH-in-browser를 통해 파일 전송
SSH-in-browser를 사용하여 VM에 SSH 연결을 설정할 수 있으면 이 연결을 사용하여 VM과 파일을 주고받을 수 있습니다.
VM에 업로드
- Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
-
가상 머신 인스턴스 목록에서 연결할 인스턴스 행의 SSH를 클릭합니다.
연결이 설정되면 업로드 아이콘
을 클릭합니다.업로드 대화상자가 열립니다.
- 업로드할 파일을 선택합니다.
- 파일 업로드를 클릭하여 파일을 업로드합니다. 파일이
/home/USER
디렉터리에 업로드됩니다.
VM에서 다운로드
- Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
-
가상 머신 인스턴스 목록에서 연결할 인스턴스 행의 SSH를 클릭합니다.
연결이 설정되면 다운로드 아이콘
을 클릭합니다.다운로드 대화상자가 열립니다.
- 경로 텍스트 상자에 다운로드할 파일의 상대 파일 경로를 입력합니다.
- 다운로드를 클릭하여 파일을 다운로드합니다. 파일이 워크스테이션의 기본 다운로드 폴더로 다운로드됩니다.
Google Cloud CLI를 사용하여 파일 전송
Google Cloud CLI는 SCP 파일 전송 유틸리티를 제공하여 처음으로 연결할 때 자동으로 SSH 키 쌍을 만듭니다. 비공개 키는 로컬 기기에 저장되고 해당 공개 키는 프로젝트 또는 VM 인스턴스 메타데이터에 복사됩니다.
SCP를 사용하여 파일을 전송하려면 VM에서 사용하는 네트워크에 포트 22
의 SSH 연결을 허용하는 방화벽 규칙이 있어야 합니다. Google Cloud Console에서 tcp:22
연결을 허용하는 방화벽 규칙을 찾으면 이 방화벽 규칙이 존재하는지 확인할 수 있습니다.
22
포트에서 SSH 연결을 허용하는 방화벽 규칙이 없으면 방화벽 규칙을 만듭니다.
gcloud CLI를 설치하고 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를 사용하여 인스턴스에 연결하는 데 사용하는 것과 동일한 키 파일을 사용합니다.
Google Cloud Console 프로젝트 또는 VM 인스턴스에 공개 키를 아직 적용하지 않았다면 SSH 키 쌍을 생성하고 공개 키를 프로젝트 또는 인스턴스 메타데이터에 추가합니다
파일을 전송할 VM의 외부 IP를 찾습니다. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
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를 사용하여 인스턴스에 연결할 때 사용하는 것과 동일한 키 파일을 사용합니다.
인스턴스에 키 기반 SSH 인증을 구성하지 않은 경우에는 다음 단계를 따릅니다.
공개 SSH 키를 프로젝트의 메타데이터 또는 VM의 메타데이터에 추가합니다. 자세한 내용은 프로젝트 메타데이터에 SSH 키 추가 또는 인스턴스 메타데이터에 SSH 키 추가를 참조하세요.
파일을 전송할 VM의 외부 IP를 찾습니다.
- Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
- VM 목록에서 VM의 외부 IP 열에 있는 외부 IP 주소를 찾습니다.
WinSCP를 다운로드하고 설치합니다. 기본 설치 설정은 대부분의 사용자에게 적합합니다.
WinSCP 프로그램을 시작합니다. 연결 설정을 구성할 수 있는 로그인 창이 열립니다.
WinSCP에서 연결 설정을 구성합니다.
파일 프로토콜 필드에서 파일 전송 프로토콜로
SCP
를 선택합니다.호스트 이름 필드에서 연결하려는 VM의 외부 IP 주소를 지정합니다.
사용자 이름 필드에서 프로젝트에 액세스할 때 사용하는 Google 사용자 이름을 지정합니다. 이 예시에서 사용자는
example-user
입니다.
고급 드롭다운 목록을 클릭하여 고급 설정을 열고 SSH > 인증으로 이동합니다.
비공개 키 파일 상자에서 VM용으로 만든 SSH 키 쌍의 비공개 키 파일 경로를 지정합니다.
확인을 클릭하여 고급 설정을 저장합니다.
로그인을 클릭하여 VM에 연결합니다. 연결에 성공하면 창 왼쪽에 로컬 파일 시스템이 열리고, 오른쪽에 VM의 파일 시스템이 열립니다. 이 파일 시스템 내의 다른 디렉터리로 이동하여 파일을 드래그해서 VM으로 전송하거나 인스턴스에서 파일을 가져올 수 있습니다.
VM의 홈 디렉터리 외부에 있는 대부분의 파일에 대한 관리 권한이 없을 것입니다. VM의 홈 디렉터리로 이동합니다.
/home/USERNAME
WinSCP 인터페이스를 사용하여 워크스테이션과 VM 간에 파일을 이전합니다.
VM에 파일을 복사한 후 전체
sudo
권한으로 파일을 실행하거나 이전할 수 있도록 인스턴스에 연결합니다.
다음 단계
- 인스턴스에 연결하여 업로드한 파일 사용