Questa guida passo-passo vi spiegherà come creare un’istanza public cloud di OVH con FreeBSD e perché conviene.
1 Introduzione
OVH è ormai hosting provider storico, famoso da decenni in europa. Dopo lo scoppio dei Cloud Computing specialmente in USA, con AWS (Amazon) come leader del settore, tanti provider hanno deciso di aggiornarsi costantemente per far fronte alle richieste e possibili richieste del mercato.
OVH non è da meno e anche se probabilmente è in netto ritardo rispetto ai competitor USA e Cinesi sta facendo grandi sforzi per allinearsi.
Recentemente OVH ha eseguito un rebranding per enfatizzare il loro impegno nel diventare un buon cloud provider e dispone di numerosi servizi cloud in continua evoluzione.
Tra questi troviamo il Public Cloud e le Compute Instance che potrebbero fare al caso nostro.
Si tratta di macchine virtuali, da non confondere con la gamma più classica di VPS, che vengono create on demand in pochi istanti attraverso il loro spazio cliente web-based oppure tramite le API Openstack che permettono di avere uno standard e di interagire con il cloud tramite applicazioni esterne o client differenti, così da automatizzare la creazione, distruzione e modifica dell’infrastruttura.
Una delle particolarità che balzano all’occhio è la possibilità di fatturazione oraria, oltre che alla classica mensile.
Significa che potrai pagare le risorse che effettivamente usi con una “bolletta” a inizio del mese successivo dove andrai a pagare il totale utilizzato nell’ultimo mese.
Sostanzialmente è possibile creare una VM, utilizzarla per qualche ora o addirittura pochi minuti e successivamente distruggerla o solo spegnerla, senza dover pagare l'intero mese.
Potremmo utilizzare questa soluzione sia per i test, spegnendo/distruggendo le istanze quando non le usiamo, sia per la produzione, avendo un buon sistema adatto allo scopo e generabile o ridimensionabile facilmente, con una buona quantità di servizi a corredo, come quello del database mysql gestito.
Per maggiori informazioni:
https://en.wikipedia.org/wiki/Cloud_computing
https://www.ovhcloud.com/it/public-cloud/
https://www.ovhcloud.com/it/public-cloud/prices/
2 Creazione account OVH
Come step 0 ovviamente dovremo creare un account OVH, se non l’abbiamo già.
Esistono guide ufficiali anche per questo: https://docs.ovh.com/it/customer/creare-account-ovhcloud/
Successivamente dovremo creare un progetto “Public cloud”: https://docs.ovh.com/it/public-cloud/crea_il_primo_progetto_public_cloud/
Quando vi verrà chiesto, potrete inserire un voucher offerto da OVH per provare il loro servizio Cloud:
ID:
CLOUD-IT
Per maggiori informazioni: https://www.ovhcloud.com/it/public-cloud/
3 Creazione utente Openstack
Tramite il vostro account OVH è possibile creare uno o più account Openstack con diversi privilegi, che potreste assegnare ai vostri collaboratori.
Potete quindi utilizzare la guida ufficiale di OVH che vi spiega passo a passo cosa fare per creare l’utente che vi consentirà di gestire le vostre istanze dalle API Openstack:
https://docs.ovh.com/it/public-cloud/crea_un_utente_per_accedere_a_horizon/#crea-un-utente-openstack
4 Download immagine FreeBSD
Per prima cosa dobbiamo scaricare l’immagine FreeBSD desiderata. Per farlo basta navigare nella pagina ufficiale di FreeBSD: https://www.freebsd.org/where/
Cercate la versione di FreeBSD che vi serve. Dovrebbe essere l’ultima di produzione. Al momento della stesura della presente guida, l’ultima versione di produzione è 13.0:
Nella stessa pagina troverete i vari link ai download. Nel mio caso ho una tabella dedicata alla versione 13.0. Dovremo quindi selezionare una “Virtual machine images” con architettura amd64:
Quindi si aprirà un’ulteriore pagina con i download diretti delle immagini e noi dovremo selezionare l’immagine in formato “qcow2”:
Finito il download procediamo con la decompressione, utilizzando il programma di estrazione che avete sul vostro PC (ex. WinZip, WinRAR, 7-Zip).
N.B. Il file estratto potrebbe essere piuttosto grosso, quindi assicuratevi di avere abbastanza spazio nella cartella in cui lo andrete ad estrarre.
5 Upload immagine FreeBSD
Ora loggatevi nella dashboard
Horizon
dal vostro pannello OVH con l’utente e password creati precedentemente: https://horizon.cloud.ovh.net/project/Nel caso in cui vi siete dimenticati le credenziali potrete reperirle dal vostro pannello OVH sotto
Project Management
-> Users & Roles
del menù di sinistra.Una volta in Horizon andate dal menù laterale alla voce
Compute
-> Images
:Come vedrete, molto probabilmente non avrete a disposizione un’immagine FreeBSD nel catalogo di default di OVH, quindi andiamo a crearne una custom selezionando il bottone
+ Create Image
a destra:Si aprirà quindi una form che andremo a compilare con i dati che ci servono e a selezionare l’immagine di freebsd scaricata prima. In particolare assicuratevi di compilare i campi obbligatori:
- Image Name: Un nome sensato per la vostra immagine. Il nome del OS e versione mi sembrano un buon nome
- File: Selezionate il file in formato .qcow2 che avete estratto precedentemente
- Format: lo stesso formato del file selezionato. Quindi QCOW2
Quindi confermate cliccando sul bottone blu
Create Image
in basso a destra.Dategli il tempo necessario per eseguire l’upload. Dato che saranno alcuni GB di file, consiglio di far eseguire la procedura ad un amico con una buona connessione in upload.
Finito il caricamento troverete l’immagine disponibile nella lista. utilizzate la barra di ricerca per filtrare:
Guida ufficiale: https://support.us.ovhcloud.com/hc/...load-a-Custom-Image-for-Public-Cloud-Services
6 Creazione istanza FreeBSD
Ora che abbiamo a disposizione l’immagine FreeBSD nel catalogo, possiamo finalmente creare la VM che vogliamo con questo sistema operativo, utilizzando il metodo che più vi aggrada.
Per cambiare possiamo utilizzare il wizard di base di OVH per creazione di istanze, disponibile presso il vostro spazio cliente.
Quindi andate al vostro spazio cliente e selezionate il vostro progetto public cloud.
Sulla sinistra troverete il menù. All’inizio dovrete trovare la voce
Compute
-> Instances
:Clicca su
Crea un’istanza
e incomincerà il wizard che ti guiderà nella creazione della VM di base.Per prima cosa scegliamo la tipologia/grandezza dell’istanza. Il catalogo potrebbe cambiare nel tempo.
Troverete maggiori informazioni sulle tipologie di istanze qua: https://www.ovhcloud.com/it/public-cloud/prices/#compute
Nel mio caso scelgo l’istanza più economica disponibile, che attualmente è la
S1-2
Il prossimo passaggio è la localizzazione dell’istanza. E’ un passaggio importante specialmente per la scelta dell’istanza di produzione. E’ buona norma utilizzare qualcosa vicino alla vostra utenza, così da ridurre la latenza (ping) dei vostri giocatori. Inoltre se avete più istanze, cercate di metterle in datacenter differenti, specialmente se state configurando un cluster. per maggiori informazioni: https://www.inforge.net/forum/threads/sicurezza-cosa-significa-e-come-garantirla.467444/ https://www.inforge.net/forum/threads/metin2-ha-cluster.467704/
Dovrete inoltre selezionare lo stesso datacenter dove avete caricato precedentemente la vostra immagine. Nulla vi vieta di ricaricare l’immagine in più datacenter, semplicemente ri-eseguendo gli step
Upload immagine FreeBSD
.Per maggiori informazioni: https://www.ovh.com/world//us/about-us/network.xml
Ora possiamo finalmente selezionare la nostra nuova immagine FreeBSD. Essendo custom la troveremo sotto il tab
Backup
. Inoltre ci verrà chiesto di inserire una chiave SSH pubblica, che verrà utilizzata da noi per collegarci al nuovo server.Se non trovate l’immagine, probabilmente non è disponibile per il datacenter scelto, quindi assicurati di selezionare il datacenter in cui avete caricato la vostra immagine nei punti precedenti oppure ricaricatela anche per il datacenter scelto:
Proseguendo potrete selezionare alcune opzioni facoltative e impostare un nome alla vostra nuova istanza.
Il successivo e ultimo step è quello legato alla fatturazione. Qui bisogna stare attenti per evitare di dover pagare più del necessario.
Vi permetterà di scegliere se pagare l’intero mese, indipendentemente dal reale utilizzo del server (acceso o spento), godendo un uno sconto, oppure pagare per ogni ora di utilizzo effettivo.
N.B. Se scegliete la fatturazione oraria potrete in seguito passare a quella mensile, ma non viceversa.
Quando siete pronti potrete confermare e procedere con la creazione dell’istanza, che richiederà pochi secondi.
La troverete nella dashboard del vostro spazio clienti, con le relative informazioni, status e azioni:
7 Setup manuali OS
Non è ancora finita. Ora dobbiamo abilitare l’accesso ssh e rete manualmente. Per farlo bisogna collegarsi in console remota. Per farlo collegatevi ad
Horizon
come prima e navigate in Compute
-> Instances
e troverete la vostra istanza:Se non trovate l’istanza, assicuratevi di selezionare il datacenter corretto in alto a sinistra:
Aprite il menu a tendina sotto
Actions
e selezionate la voce Console
:Vi comparirà la classica grafica del terminare con sfondo nero e scritte bianche dove vi chiede di loggarvi. Scrivete quindi
root
come utente e premete invio. Dovrebbe entrare senza password. Nel caso in cui richieda la password inserite nuovamente root
:Ora la parte un po’ più difficile. Dato che l’immagine che abbiamo installato era custom, dobbiamo impostare manualmente la rete. Al momento della creazione dell’istanza vi verrà assegnato un ip pubblico, come di consueto per OVH. L’ip lo troverete nelle viste precedenti:
In base a questo IP dovrete cercare la rete corrispondente per quell’IP, navigando un una nuova scheda sotto “Network” -> “Networks”.
Troverete la lista di subnet disponibili e dovrete cercare quella del vostro IP:
Nel mio caso l’ip era
141.94.165.179
e la subnet compatibile era 141.94.164.0/22
con gateway 141.94.164.1
Salvatevi quindi questi dati e tornate alla console.
Modificate il file /etc/rc.conf con il vostro editor preferito:
N.B. In console non si può fare copia e incolla e la tastiera sarà probabilmente settata come US, quindi potreste avere difficoltà ad inserire i caratteri speciali con una tastiera italiana. Potete orientarvi con un’immagine di tastiera US, premendo i tasti della vostra tastiera fisica che corrispondono ai caratteri di quella US:
Modificate l’interfaccia da DHCP a IP statico inserendo l’IP e la netmask come nell’esempio.
Per calcolare la netmask potete usare alcuni tool online, ad esempio: http://jodies.de/ipcalc
Nel mio caso era:
Codice:
inet 141.94.165.179 netmask 255.255.252.0
Aggiungete anche l’abilitazione del servizio sshd come nell’esempio:
Salvate e chiudete il file.
Ora bisogna impostare una password di root, anche temporanea. Sconsiglio di utilizzare i caratteri speciali per ora, viste le difficoltà con la tastiera US.
Digitate il comando:
Bash:
passwd
Dobbiamo modificare la configurazione del servizio sshd, in quanto di default il file di configurazione del sshd per freebsd ha l’accesso root disabilitato. Noi lo dobbiamo anche solo momentaneamente abilitarlo con accesso tramite chiave.
Quindi aggiungiamo al file /etc/ssh/sshd_config un’opzione eseguendo questo comando:
Bash:
echo ‘PermitRootLogin yes’ >> /etc/ssh/sshd_config
Riavviamo il sistema:
Bash:
reboot
Aspettiamo che il reboot finisca e successivamente proviamo una login via ssh all’ip dell’istanza con utente root e la password che avete impostato poco fa.
8 Sospensione/distruzione istanza
Ora che la nostra VM è pronta, vi spiego brevemente come spegnere l’istanza per sospendere la fatturazione oraria.
Tornate al pannello OVH dove c’è la lista delle vostre istanze:
Nel menù a tendina della vostra istanza selezionate la voce “Sospesa”:
Seguite le indicazioni ed attendete. L’istanza diventerà “Sospesa” e pagherete solo lo spazio disco riservato, mantenendo quindi i dati della VM e l’IP.
Per riattivarla seguite il processo inverso, cioè selezionando la voce “Riattiva” ed attendete.
Ora potrete ricollegarvi e riprendere il vostro lavoro.
Ora vediamo come fare per distruggere completamente l’istanza, rilasciando lo spazio disco e l’IP, così da ricreare l’istanza da 0 in un secondo momento, se necessario.
Sempre dal menù a tendina selezioniamo la voce “elimina”:
Segui le istruzioni a video e attendi pochi secondi. L’istanza sparirà dalla dashboard.
Se volete tener sotto controllo la spesa, potrete visualizzare i report nel vostro spazio cliente, sotto la voce “Project Management” -> “Billing Control”:
9 Bonus: Utilizzo CLI Openstack
Il cloud OVH utilizza una piattaforma cloud standard, non di sua creazione, basata su Openstack, pertanto è possibile utilizzare i client ufficiali Openstack per poter gestire le istanze del public cloud.
Ad esempio possiamo installare una CLI che ci permetterà di connetterci ed operare sulle API Openstack di OVH tramite Command Line Interface (CLI), quindi eseguendo comandi da CMD, ad esempio, se utilizziamo Windows.
10 Bonus: Installazione cli openstack
Per l’installazione potrete seguire la guida passo passo in italiano fornita da OVH. Questa CLI è disponibile per diversi sistemi operativi e la guida ufficiale espone i passaggi per i sistemi più comuni, tra cui Windows.
https://docs.ovh.com/it/public-clou...te_di_sviluppo_per_utilizzare_lapi_openstack/
Essendo Openstack un software non specifico per OVH, è possibile trovare numerose guide nel web.
Nello specifico la guida vi farà vedere:
- Come si installa python, che potreste già avere installato
- Come si installa la cli di Openstack, tramite pip
Qualche consiglio in caso di errori durante l’installazione.
Assicuratevi di avere ed utilizzare una versione compatibile di Python. Eseguite il seguente comando per capire che versione di python state utilizzando:
Bash:
python -V
Qui trovate il download delle versioni disponibili di Python:
https://www.python.org/downloads/
Se al momento di installare openstack tramite pip vi da qualche errore, assicuratevi di avere l’ultima versione di “pip” installata.
Dovrebbe già dirvelo lui con un messaggio del tipo:
You are using pip version 8.1.2, however version 21.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Quindi in questo caso potete eseguire il comando consigliato:
Bash:
python -m pip install --upgrade pip
Potreste anche aver bisogno di installare i build tools di C++. In tal caso troverete il download per windows qua: https://visualstudio.microsoft.com/it/visual-cpp-build-tools/
N.B. ricordatevi che stiamo parlando di Windows, quindi potrebbe essere necessario un riavvio dopo le varie installazioni
11 Bonus: Setup ambiente Openstack su Windows
Ora possiamo configurare il nostro client Openstack su windows seguendo la guida https://docs.ovh.com/it/public-cloud/impostare-le-variabili-dambiente-openstack/
Consiglio di configurare le variabili d’ambiente tramite il secondo metodo proposto, essendo permanente, così da non dover ri-eseguire lo script ad ogni sessione.
La password non sarà nel file generato per questioni di sicurezza. E’ quella che vi è stata generata in fase di creazione dell’utente Openstack. Se avete perso la password la potete resettare facilmente dallo spazio clienti, sotto “Project Management” -> “User & Roles”: