Vă puteți afla ID-ul accesând linkul “https://rl.vladn.st/get/<email>“
Servicii de cloud existente:
Vom discuta mai departe despre Google Cloud Platform (GCP). Serviciile pe care le vom folosi în cadrul laboratorului:
Alte servicii în cloud-ul GCP:
O listă completă a tuturor serviciilor oferite de Google poate fi consultată aici : GCP Services
(Google) Compute Engine oferă capacitate dinamică computațională în cloud. De asemenea, pentru a dezvolta și lansa aplicații nu mai ai nevoie să îți achiziționezi hardware-ul, acest serviciu punându-ți la dispoziție: servere virtuale, configurarea securității și networking, ajustarea spațiului de stocare.
Virtual Private Cloud (VPC) Network te ajută să pornești resursele GCP într-o rețea virtuală definită de tine. Această rețea seamănă cu o rețea tradițională unde poți configura spații de adrese, tabele de rutare, gateways și setări de securitate, dar are în plus beneficiile utilizării unui infrastructuri scalabile. Fiecare VPC creat este izolat logic de oricare alt VPC din cloud.
Două sau mai multe VPC-uri pot comunica folosind VPC Network Peering. Rețelele VPC conectate folosind VPC Network Peering pot fi în același proiect sau proiecte diferite.
Pot fi create două tipuri de rețele tip VPC:
Având în vedere considerentele de mai sus, nu se pot conecta două rețele VPC create în auto-mode, dar se pot conecta două rețele, una creată auto-mode, cealaltă custom-mode cât timp nu folosesc adrese IP din aceeași clasă.
3 tipuri de adrese IP:
Subnet - interval de adrese IP într-un VPC. Poți să lansezi resursele GCP într-un subnet fie ales automat (auto-mode) fie creat la alegere (custom-mode).
În GCP avem două tipuri de IP-uri:
În fiecare subnet, există 4 IP-uri rezervate în intervalul primar :
Cloud NAT. Cloud NAT este o componentă a GCP care permite comunicarea între instanțele din VPC care nu folosesc adrese IP publice și Internet.
Cloud NAT oferă conectivitate în Internet pentru următoarele tipuri de resurse:
Tabela de rutare. Fiecare subnet dintr-un VPC trebuie să aibă asociată o tabelă de rutare, definită în cadrul VPC network. Google Cloud folosește mai multe tipuri de rute:
Un VPC firewall acționează ca un firewall virtual care controlează traficul pentru una sau mai multe instanțe. Putem adăuga reguli pentru fiecare firewall care să permită traficul către/de la instanțele asociate.
Prestabilit, fiecare firewall permite tot traficul de ieșire și blochează traficul de intrare. Acțiunile pentru o regulă din firewall pot fi ori “allow” ori “deny”, nu ambele.
Documentație GCP:
Acest laborator își propune configurarea unei rețele asemănătoare topoligiei de mai sus. Vom avea nevoie de crearea unui VPC cu 4 subnets, unul în care va fi creată stația Host, iar apoi câte un subnet separat pentru Red, Green și Blue.
Stația Host va fi folosită drept Bastion, o mașină virtuală folosită doar pentru a ne conecta prin Internet la celelalte mașini, Red, Green și Blue.
Această va avea configurată o adresa IP publică, celelalte vor avea configurate doar adresa IP private, comunicând pe Internet cu ajutorul serviciului de Cloud NAT.
Următoarele exerciții constituie pașii de parcurgere pentru ca la final să putem folosi rețeaua.
Vă invităm să evaluați activitatea echipei de RL și să precizați punctele tari și punctele slabe și sugestiile voastre de îmbunătățire a materiei. Feedback-ul vostru este foarte important pentru noi să creștem calitatea materiei în anii următori și să îmbunătățim materiile pe care le veți face în continuare.
Găsiți formularul de feedback în partea dreaptă a paginii principale de RL de pe curs.pub.ro într-un frame numit FEEDBACK.
Vă mulțumim!
Din stanga sus, de lângă logo-ul Google Cloud se poate fie selecta proiectul de lucru, fie crea un nou proiect.
Dacă cream un nou proiect (apăsăm pe butonul aferent), pagina pentru proiect nou va fi deschisă pe ecran de unde putem seta numele proiectului și organizația la care este asociat.
Pentru acest laborator, ne vom folosi de proiectul upb-retele-locale-2024 prin contul oferit de catre asistent.
upb-retele-locale-2024
).
După accesarea proiectului, proiectul va avea atașat un VPC network numit default, care are alocat subnet-urile implicite pentru fiecare regiune.
Avem nevoie de un VPC custom pe care îl putem crea apăsând pe butonul CREATE VPC NETWORK aflat sub câmpul de căutare. În pagina de creare a unui nou VPC trebuie să completăm următoarele detalii:
Pentru a lansa instanțe într-un VPC trebuie să avem cel puțin un subnet. Vom avea nevoie de alte 3 subnets diferite create, similar cu cea de la pasul anterior, fiecare subnet având definită o subrețea diferită.
În laboratorul de astăzi toate subrețelele vor fi definite în aceeași regiune (aceeași cu a VPC Network-ului creat la punctul anterior).
Mai departe, vom crea 3 subnetări in VPC creat la pasul anterior(pentru instanțele Red, Green, Blue).
Masca de rețea corespunzătoare (/24 pentru subnet-urile private):
Recomandăm ca numele pentu subnet-uri să fie sugestive. Pentru exercițiul nostru:
Din secțiunea VPC Networks, dacă mergem pe Subnets in current project și selectăm doar VPC-network-ul creat de noi anterior (excludem default), ar trebui să avem următoarea listă:
Dorim să ne rezervăm propria adresă IP publică statică pentru a o asocia mai târziu unei instanțe din topologia noastră. În VPC Network, alegem secțiunea IP addresses și opțiunea Reserve External Static IP Address (păstrăm setările default), setăm Name cu valoarea student$X$-public, Network Service Tier bifăm Standard, selectăm tipul Regional și aceeași regiune definită pe VPC-ul creat mai devreme (preferabil europe-west1) și apăsăm Reserve.
Este un cost pentru fiecare adresă IP publică statică care nu este alocată unei instanțe (“totul în viață se plătește”).
Acum avem în lista de adrese IP publice statice din contul nostru, adresa IP alocată mai devreme.
Căutăm în câmpul din centru Cloud Router din secțiunea Hybrid Connectivity și selectăm Create Router.
Numele pe care îl alocăm Routerului nou creat este student$X$-router. (e.g. student1-router) Trebuie să îl alocăm VPC-ului creat la exercițiul anterior.
Regiunea selectată va fi aceeași ca la subpunctele anterioare (preferabil europe-west1).
Căutăm Cloud NAT din secțiunea Network Services și selectăm Get Started pentru a configura un Cloud NAT gateway.
Întâi trebuie ales un nume pentru noul gateway și putem utiliza student$X$-gw. (student1-gw)
În secțiunea dedicată selecției Cloud Router-ului trebuie mai întâi să selectăm VPC-ul definit mai devreme, apoi regiunea (aceeași ca la pașii anteriori). Ultimul pas este selectarea instanței de Cloud Router definită la pasul precedent. Tot la acest pas se poate selecta care dintre subrețelele definite sunt mapate către Cloud NAT Gateway. Avem opțiunea fie de a include toate subrețelele, fie de a selecta individual fiecare rețea în parte.
De asemenea, avem fie opțiunea de a selecta o adresă IP publică rezervată sau de a utiliza o adresă în mod automat.
În pagina de start a Google Cloud avem un buton Create a VM.
Prima data creăm instanța Host.
Vom selecta următoarele configurații:
În secțiunea Machine configuration: e2-small.
În secțiunea Boot Disk alegeți imaginea sistemului de operare: Ubuntu 22.04 x86_64.
Expandând secțiunea Advanced options putem accesa secțiunea Networking.
În această secțiune setăm tipul de interfață de rețea ( gVNIC sau VirtIO ).
Alegem VPC-ul corespunzător creat anterior.
În meniul de selecție pentru adresa IP internă ( Primary internal IPv4 address ) putem selecta ca adresă IP fie o adresă de tip efemer, fie una custom. Adresele IP de tip efemer nu se vor schimba dacă instanța va fi oprită sau repornită, se schimbă doar în cazul în care instanța va fi ștearsă.
În meniul de selecție pentru adresa IP externă ( External IPv4 address ) vom folosi adresa IP creată la exercițiul anterior doar pentru interfața către internet, pentru celelalte interfețe nu vom adaugă nicio adresa publică. În cazul în care această nu apare, vom crea altă adresa IP publică.
Pentru a ne putea conecta pe instanțele create prin SSH avem două modalități.
Prima modalitate este să folosim conectarea din browser, GCP va genera automat chei de ssh pentru terminalul din browser, iar numele de utilizator creat implicit pe instanță este numele de utilizator aferent Google (Ex. popescuion@gmail.com va avea utilizatorul implicit popescuion).
A doua modalitate este utilizarea de chei proprii de SSH, le puteți salva în secțiunea Security → Manage Access → Add Item fie în momentul în care creați mașina virtuală, fie editând detaliile ulterior. Nu adăugați chei de ssh pentru utilizatorul implicit folosind terminalul pentru că vor fi șterse. Această metodă necesită creare unor chei de SSH în prealabil.
Continuăm cu celelalte instanțe Blue, Red și Green.
În secțiunea Machine configuration: e2-small.
În secțiunea Boot Disk alegeți imaginea sistemului de operare: Ubuntu 22.04 x86_64.
Expandând secțiunea Advanced options putem accesa secțiunea Networking.
În meniul de selecție pentru adresa IP internă ( Primary internal IPv4 address ) vom selecta adresa de tip efemer.
În meniul de selecție pentru adresa IP externă ( External IPv4 address ) nu vom selecta nicio adresă, folosind None.
În cazul în care ați adăugat cheia de SSH publică pe toate cele 4 instanțe, vă puteți loga pe instanța Host folosind adresa IP publică a acesteia. În cazul în care folosiți (recomandat) și un agent ssh, puteți adăuga la comanda ssh și opțiunea -A, iar ulterior vă puteți loga de pe instanța Host pe celelalte 3.
ssh -i [private_key] <google-username>@[ip_public] -A
Pentru a ne putea conecta prin ssh de pe Host și la celelalte instanțe fără a utiliza ssh-agent, va trebui să copiem cheia privată de pe stația locală pe Host:
# pe Linux: scp -i [private_key] [private_key] <google-username>@[ip_public]:~
(pe Windows, puteți folosi WinSCP)
Verificați conectivitatea la Internet pe cele 4 instanțe (Host, Red, Green, Blue).
În cazul în care atunci când ați creat VPC-ul nu ați bifat și regula de permitere ICMP veți observa că nu putem să dăm ping de pe oricare stație către oricare stație.
Pentru a permite traficul de ICMP, adăugăm câte o nouă regulă în fiecare VPC în acest scop.
Verificați conectivitatea între Red, Green și Blue.