(Italiano) EC2: un potente pc a noleggio

Un potente pc a noleggio, ecco quale potrebbe essere l’uso di un server virtuale.
Utilizzarlo per un picco di lavoro, durante il quale una elaborazione di machine learning vi richiede, per celerità di esecuzione, magari 32 GB di RAM, è una buona opzione in termini di costi/benefici.

Quindi, fra le varie possibilità di PVS (private virtual server) vediamo la proposta di Amazon. Al fine di familiarizzare con i prodotto, immaginiamo l’attivazione di una macchina gratuita (dalle prestazioni ben modeste), solo per prova.
Altre soluzioni posso essere fornite da Aruba (con prova gratis per 60 giorni) o il famosissimo digital ocean (solamente per fare chiarezza, per chi venisse da digital ocenan: una droplet di digital ocean corrisponde ad una istance di EC2, cioè un server virtuale in linguaggio comune).

I passi base per la creazione

Dopo la registrazione in Amazon, si passa all’attivazione.

08 services

Fra i circa 60 servizi offerti in Amazon Web Services, scegliamo il primo: EC2.

Nella pagina di EC2, clicchiamo su launch.

10 launch

 

Fra le “Free tier eligible” possiamo scegliere Ubuntu Server 14.04 LTS (HVM), SSD Volume Type – ami-9abea4fb

20 ubuntu

Il passo 2 è obbligato: solo una configurazione è possibile gratuitamente, con 1 GB di RAM.

Al passo 3 permette di lanciare più serve al medesimo tempo (Number of instances), define Spot instances, cioè la possibilità di avere una macchina in funzione, in base al prezzo che si è disposti a pagare (solitamente molto inferiore al fisso).

Al passo 4 si inserisce l’HD (gratuito fino a 30 GB).

“Step 5: Tag Instance” al passo 5 la possibilità di caratterizzare l’instanza con delle etichette. Ad esempio si può definire il sistema di indirizzamento (se apache o nginx) oppure l’autore o il manutentore dell pvs, se site in un equipe.

 

Step 6: Configure Security Group

dove sistebiliscono i limiti di accesso al server, per tipologia di accesso (SSH, HTTPS
TCP
443
0.0.0.0/0

 

Si rivedono i parametri e la scheramta

 

Launch Status
Your instances are now launching
conclude il processo.
90 launching
A questo punto, consigliamo di collegare l’istanza ad un indirizzo IP fisso, il così detto Elastic IP (elastico, nel senso che lo metti, lo stiracchi, dove ti serve):
alla pagina
https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#Addresses:sort=publicIp
Si può gestire, alla pagina
https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#Instances:sort=instanceId
dove sono elencate tutte le macchine (= istanze) attive e non.
Passo finale, il collegamento tramite SSH, facilitato dai parametri già indicati (basta cliccare con il tasto destro sopra l’istanza )
SSH_connect
Una volta avuto l’accesso, tramite una shell da cui comandare il server, potete fare quello che volete.
Consigliamo:
  • di creare un nuovo utente
    • sudo useradd -m -s /bin/bash nome_utente
    • e di attribuirgli una password
      • sudo passwd nome_utente
        • password_utente
  • di inserirlo nel gruppo dei sudo
  • di accedere come questo utente
    •  …
  • e se serve di uscire
    • nome_utente@ip-172-31-30-44:~$ exit
      logout

 

Un esempio d’uso

Dapprima, se vogliamo usare un nome “normale”, intendiamo non usare l’indirizzo IP, ma registrare presso un DNS un dominio e poi farlo puntare al nostro server, dovremo, dalla pagina del registrar (cioè di chi ci ha venduto il noleggio del nome) indicare che il “nostro_dominio.it” deve puntare (campo A) all’IP elastic di Amazon.

Installo nginx

…/etc$ sudo apt-get install nginx

controllo se installato

…/etc$ dpkg -l nginx

La configurazione di nginx si trova nella cartellina /etc/nginx/, all’interno della quale troverete due altre cartelline:
rispettivamente /sites-available/ e /sites-enabled/

Nella prima, solitamente, si mettono i file di configurazione di tutti i siti o servizi che ci interessano, mentre nella seconda si attivano solo quelli che vogliamo effettivamente on line.

Quindi, spostandoci, per comodità nella cartellina /sites-available/ con

$ cd /etc/nginx/sites-available/

possiamo creare il nostro file di configurazione che chiameremo o

/etc/nginx/sites-available$ sudo nano

o completandolo (per ora) con la configurazione di default

server {
listen 80;
server_name superlists-staging.ottg.eu;

location / {
proxy_pass http://localhost:8000;
}
}

e fare una copia di sicurezza datata

…/etc/nginx/sites-available$ file_copy=nostro_dominio.it
…/etc/nginx/sites-available$ sudo cp $file_copy $file_copy.$(date “+%Y_%m_%d_%H.%M.%S”)

come vedete tutti comandi dati con il sudo, perché siamo fuori dalla cartellina del nome_utente

a questo punto abilitiamo

…/etc/nginx/sites-available$ SITENAME=nostro_dominio.it
…/etc/nginx/sites-available$ sudo ln -s ../sites-available/$SITENAME \

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *