Vedremo come creare un server virtuale usando Google Cloud in modo del tutto gratuito. Il server ottenuto potrà ospitare servizi come File Server, Mail Server, Print Server, FTP Server, Database Server che potremo utilizzare da qualsiasi postazione collegata ad Internet visto che l’ip assegnato è pubblico e quindi visibile da tutta la rete internet. Di certo questo sarà utilissimo per i nostri futuri progetti da maker.
Registrarsi a Google Cloud
La prima cosa da fare è registrarsi a Google Cloud a questo indirizzo: https://cloud.google.com usando il vostro account google.

La registrazione è gratuita, i nuovi clienti ricevono 300$ di credito da spendere in 90 giorni sulla piattaforma.
A questo link https://cloud.google.com/free/docs/gcp-free-tier potete trovare tutte le informazioni del Google Cloud Free Program.
Il servizio essendo gratuito ha delle limitazioni, per superarle occorre passare all’abbonamento Premium che è a pagamento.
Durante la registrazione vi verrà chiesto di inserire un numero della carta di credito, sulla carta vi verranno prelevati pochi centesimi di euro
(nel mio caso 0,06€) questo per verificare la tua identità e per distinguere gli utenti reali dai robot.
Qui vi riporto quali sono le limitazioni per il Compute Engine alla stesura di questo articolo. (UPDATE 24/05/2022)

Una volta aperta la console cercate nel menù di sinistra Compute Engine-> Istanze VM e poi successivamente cliccate su “Crea”


Come configurare l’istanza VM
Dovrete inserire il Nome della VM, nel mio caso ho messo “lutritech-gw”
Una cosa importante nell’area geografica mettete una delle zone del piano gratuito
Oregon: us-west1
Iowa: us-central1
Carolina del Sud: us-east1
Nell’esempio ho selezionato us-central1 (lowa) e come zona us-central1-a

In “Configurazione macchina” selezionate come Serie N1 e come tipo di macchina f1-micro, questo per rientrare nel programma gratuito.Questo tipo di macchina possiede 1 virtual CPU e 614MB di memoria RAM.
AGGIORNAMENTO: dal 1 Agosto 2021
In “Configurazione macchina” selezionate come Serie E e come tipo di macchina e2-micro, questo per rientrare nel programma gratuito. Questo tipo di macchina possiede 2 virtual CPU e 1 GB di memoria RAM.
Passiamo al disco di avvio del nostro server, questo sarà il disco che conterrà il sistema operativo, di default la console vi propone Debian ma si possono scegliere altre distribuzioni Linux come Centos, Fedora, Suse; è disponibile anche Windows Server ma in quel caso vi servirà una licenza.

Ho deciso di cambiare il sistema operativo e di scegliere Ubuntu 20.04 LTS (oppure la 22.04) per i seguenti motivi:
lo conosco meglio, è gratis, è l’ultima versione rilasciata e ha il supporto a lungo termine (LTS) cioè 5 anni.
Nella sezione “Tipo di disco di avvio” ricordatevi di scegliere Disco permanente standard e impostare a 20 GB la sua dimensione,
in questo modo si rientra nel programma gratuito. Ricordatevi che il massimo gratuito era 30GB al mese.
In alternativa potete scegliere i dischi SSD che sicuramente saranno più performanti ma saranno a pagamento.

Proseguendo con la configurazione, vi consiglio di abilitare sia l’accesso completo a tutte le API di cloud che il traffico HTTP/S;
in questo modo verranno create in automatico le regole sul firewall. Sicuramente un web server non potrà mancare nei nostri progetti.

La configurazione dell’istanza VM è terminata, quindi non resta che cliccare sul pulsante “CREA”

Dopo qualche secondo la nostra istanza sarà pronta per essere utilizzata. Ma non abbiate fretta, ci sono ancora alcune configurazioni da ultimare, come configurare l’ip da dinamico a statico. Cercate il menù Rete VPC della console e andate in “Indirizzi IP esterni”.

Come vedete qui sotto è stato assegnato un ip esterno Temporaneo (cambia al riavvio della vm).

Cliccando su PRENOTA sulla destra avremo questa schermata da compilare:

Ora il nostro IP Esterno è diventato Statico, quindi al prossimo riavvio della VM il suo indirizzo non cambierà e basterà metterlo nei preferiti.

Tornando alla lista delle istanze per collegarci in ssh possiamo cliccare direttamente sul pulsante relativo sulla destra.


Si aprirà una nuova finestra nel browser che è un vero terminale SSH in cui potremo scrivere i comandi per interagire col sistema operativo.
Spesa sotto controllo
Per monitorare le eventuali spese per i servizi premium vi consiglio di abilitare il controllo del budget andando nel menù Fatturazione–> Budget e Avvisi

Create un nuovo Budget inserendo un nome, dopo inserite l’importo, io ho impostato 2 euro e come ambito ho scelto il mensile.

Mettiamo le soglie 25 50 75 100, in modo da avere soglie proporzionali.

Saremo avvisati via mail quando la spesa effettiva sostenuta durante il periodo di budget supera la percentuale dell’importo del budget durante il mese.
Questo ci consente di monitorare la spesa in modo pratico e veloce senza avere brutte sorprese alla fine del mese di fatturazione.
Primi comandi da terminale
Digitiamo:
free -m
Possiamo vedere alcune informazioni sulla memoria di sistema installata e utilizzata. Nelle nuove istanze e2-micro la memoria totale è di 1GB,
se lo ritenete opportuno potreste attivare lo swap con la procedura qui di seguito.
Con questo si crea un file chiamato “swap” nella root di 2GB.
sudo dd if=/dev/zero of=/swap count=2048 bs=1MiB
Cambiano i permessi al file suddetto:
sudo chmod 600 /swap
Formattiamo il file come file di swap:
sudo mkswap /swap
Attiviamo il file di swap:
sudo swapon /swap
Rilanciando il comando eseguito all’inizio:
free -m
Si vede che compare la memoria di Swap con i suoi 2 GB.

Vi consiglio di modificare il file /etc/fstab
per attivare in modo automatico lo swap al boot della vm, digitate:
sudo nano /etc/fstab
Aggiungete in fondo questa riga come mostrato in foto:
/swap none swap sw 0 0

Premete i tasti “CTRL” più “O” per salvare e “CTRL” più “X” per uscire. Riavviate pure la vm per poterla usare.
Concludendo, in questo articolo abbiamo visto come creare un server gratis utilizzando Google Cloud.
In questo articolo potete trovare come l’ho usato per ottenere un server privato di Blynk avendo così energia illimitata!