Per trasferire i file nelle istanze VM di Compute Engine, sono disponibili opzioni diverse a seconda del sistema operativo della workstation e del sistema operativo dell'istanza VM di destinazione.
Trasferimento da | Alle VM Linux |
---|---|
Linux o macOS | |
Windows |
Trasferire file tramite Cloud Storage
I bucket Cloud Storage possono essere utilizzati come punto di trasferimento tra te e le tue VM. Puoi utilizzare un browser web, Google Cloud CLI o un linguaggio di programmazione per trasferire file tra Cloud Storage e le VM Compute Engine.
Per il passaggio di caricamento e download è possibile utilizzare diversi tipi di credenziali in base alle tue esigenze:
- L'accesso ai dati per conto di un utente è ideale per operazioni di singolo utilizzo o per le risorse di cui sei principalmente responsabile.
- Valuta la possibilità di utilizzare le credenziali del service account per i deployment scalabili e gli scenari di risorse condivise.
Per utilizzare Cloud Storage per trasferire file tra un computer e una VM, svolgi i seguenti passaggi:
- Crea un bucket Cloud Storage se non ne hai già uno da utilizzare per i trasferimenti di file.
-
Utilizza le autorizzazioni IAM per modificare
l'accesso al bucket:
- Gli account che caricano file nel bucket devono disporre del ruolo Storage Object Admin.
- Gli account che scaricano i file devono disporre del ruolo Storage Object Viewer.
- Accedi al dispositivo di origine e carica i file nel bucket.
- Accedi al dispositivo di destinazione e scarica i file dal bucket completando il trasferimento.
- (Facoltativo) Elimina i file che non ti servono più per evitare costi di archiviazione indesiderati.
Se devi trasferire i file nell'altra direzione, puoi invertire la procedura. Assicurati che l'account che carica il file abbia accesso in scrittura al bucket.
Trasferisci file utilizzando SSH nel browser
Se riesci a stabilire una connessione SSH a una VM utilizzando SSH nel browser, puoi utilizzare questa connessione per trasferire file da e verso la VM.
Carica nella VM
- Nella console Google Cloud , vai alla pagina Istanze VM.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Una volta stabilita la connessione, fai clic sull'icona di caricamento
.Viene visualizzata la finestra di dialogo per il caricamento.
- Scegli i file da caricare.
- Carica i file facendo clic su Carica file. Il file viene caricato nella directory
/home/USER
.
Scaricare dalla VM
- Nella console Google Cloud , vai alla pagina Istanze VM.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Una volta stabilita la connessione, fai clic sull'icona di download
.Viene visualizzata la finestra di dialogo per il download.
- Nel campo Percorso, inserisci il percorso relativo del file da scaricare.
- Scarica il file facendo clic su Scarica. Il file viene scaricato nella cartella di download predefinita della workstation.
Trasferisci file utilizzando Google Cloud CLI
Google Cloud CLI fornisce un'utilità di trasferimento file Secure Copy Protocol (SCP) tramite una connessione SSH stabilita.
Per trasferire file utilizzando SCP:
-
Esamina le regole firewall
e verifica che le connessioni SSH in entrata sulla porta
22
siano consentite. In caso contrario, crea una regola firewall SSH. - Assicurati che gcloud CLI sia installata sul dispositivo di origine contenente i file da trasferire.
-
Utilizza il comando
gcloud compute scp
per trasferire i file alla macchina di destinazione.
Il seguente esempio copia un file dalla workstation alla home directory della VM:
gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR
Sostituisci quanto segue:
LOCAL_FILE_PATH
: il percorso del file sul computerVM_NAME
: il nome della VMREMOTE_DIR
: una directory sulla macchina remota
Puoi anche copiare file e directory in modo inverso dalla macchina remota. L'esempio seguente copia in modo ricorsivo una directory dall'origine alla destinazione:
gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH
Per saperne di più, consulta la
documentazione di riferimento di gcloud compute scp
.
Trasferire file utilizzando SCP sulle workstation Linux e macOS
Lo strumento a riga di comando scp
funziona in modo simile al comando
gcloud compute scp
, ma richiede di
gestire manualmente le chiavi SSH.
Per trasferire file utilizzando SCP, devi disporre di una regola firewall sulla rete
utilizzata dalla tua VM che consenta le connessioni SSH sulla porta 22
. Puoi verificare
che questa regola firewall esista cercando una regola firewall che consenta
le connessioni tcp:22
nella console Google Cloud .
Se non hai una regola firewall che consenta le connessioni SSH sulla porta 22
,
crea la regola firewall.
Lo strumento scp
utilizza gli stessi file di chiavi che utilizzi per
connetterti alle istanze tramite SSH standard.
Se non hai ancora applicato una chiave pubblica al progetto o all'istanza VM della console Google Cloud , crea una coppia di chiavi SSH e aggiungi la chiave pubblica ai metadati del progetto o dell'istanza.
Trova l'IP esterno della VM a cui vuoi inviare i file.
Nella console Google Cloud , vai alla pagina Istanze VM.
Nell'elenco delle VM, trova l'indirizzo IP esterno nella colonna IP esterno della VM di destinazione.
Utilizza lo strumento
scp
per copiare un file dalla workstation alla home directory della VM di destinazione. Per questo esempio, la chiave privata si trova in~/.ssh/my-ssh-key
.scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IPv4_ADDRESS:~
Per un indirizzo IPv6 esterno, utilizza la seguente sintassi:
scp -6 -i ~/.ssh/IDENTITY_FILE LOCAL_FILE_PATH USERNAME@[IPv6_ADDRESS]:~/
Sostituisci quanto segue:
IDENTITY_FILE
: il file contenente l'identità (chiave privata) per l'autenticazione con chiave pubblicaLOCAL_FILE_PATH
: il nome del file locale che vuoi caricareUSERNAME
: il tuo nome utenteIPv4_ADDRESS
oIPv6_ADDRESS
: l'indirizzo IP esterno della tua VM
Puoi anche copiare i file da una VM alla tua workstation locale invertendo le variabili di origine e destinazione. Per questo esempio, copia un file dalla VM a un percorso sulla workstation.
scp -i ~/.sshIDENTITY_FILE USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH
Sostituisci quanto segue:
IDENTITY_FILE
: il file contenente l'identità (chiave privata) per l'autenticazione con chiave pubblicaUSERNAME
: il tuo nome utenteIP_ADDRESS
: l'indirizzo IP esterno della VMREMOTE_FILE_PATH
: il nome del file remoto che vuoi scaricareLOCAL_FILE_PATH
: la posizione sulla workstation in cui vuoi scaricare il file
Trasferisci i file utilizzando WinSCP sulle workstation Windows
Sulle workstation Windows, il client WinSCP ti consente di gestire i file sulle tue istanze tramite un'interfaccia grafica di esplorazione dei file.
WinSCP utilizza gli stessi file di chiavi che utilizzi per connetterti alle VM utilizzando PuTTY.
Se non hai configurato l'autenticazione SSH basata su chiavi per la tua istanza, procedi nel seguente modo:
Crea una coppia di chiavi SSH utilizzando PuTTYgen. La chiave SSH privata deve utilizzare il formato
.ppk
, che è il formato predefinito per le chiavi create da PuTTYgen.Aggiungi la chiave SSH pubblica ai metadati del progetto o della VM. Per saperne di più, consulta Aggiungi le chiavi SSH ai metadati del progetto o Aggiungi le chiavi SSH ai metadati dell'istanza.
Trova l'IP esterno della VM a cui vuoi inviare i file.
- Nella console Google Cloud , vai alla pagina Istanze VM.
- Nell'elenco delle VM, trova l'indirizzo IP esterno nella colonna IP esterno della tua VM.
Scarica e installa WinSCP. Le impostazioni di installazione predefinite sono adatte alla maggior parte degli utenti.
Avvia il programma WinSCP. Si apre una finestra di accesso in cui puoi configurare le impostazioni di connessione.
In WinSCP, configura le impostazioni di connessione.
Seleziona
SCP
come protocollo di trasferimento dei file nel campo Protocollo file.Nel campo Nome host, specifica l'indirizzo IP esterno della VM a cui vuoi connetterti.
Nel campo Nome utente, specifica il nome utente Google che utilizzi per accedere al tuo progetto. Per questo esempio, l'utente è
example-user
.
Fai clic sul menu a discesa Avanzate per aprire le impostazioni avanzate e vai a SSH > Autenticazione.
Nella casella File della chiave privata, specifica il percorso del file della chiave privata della coppia di chiavi SSH che hai creato per la VM.
Fai clic su Ok per salvare le impostazioni avanzate.
Fai clic su Login (Accedi) per connetterti alla VM. Se la connessione va a buon fine, la finestra apre il file system locale a sinistra e il file system della VM a destra. Puoi spostarti in directory diverse in questi file system e trascinare i file per trasferirli da e verso la tua VM.
Probabilmente non disponi dell'autorizzazione per gestire la maggior parte dei file al di fuori della directory home della VM. Vai alla home directory della VM:
/home/USERNAME
Utilizza l'interfaccia di WinSCP per spostare i file tra la workstation e la VM.
Dopo aver copiato i file nella VM, connettiti all'istanza per poter eseguire o spostare i file con le autorizzazioni
sudo
complete.
Passaggi successivi
- Connettiti alle tue istanze per utilizzare i file che hai caricato.