This shows you the differences between two versions of the page.
rl:labs:11:contents:07 [2019/12/08 11:50] cosmin.prunaru [07. [TODOp] TODO] |
rl:labs:11:contents:07 [2024/01/08 03:27] (current) viorel.mocanu [07. [30p] Instanțe Compute Engine] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 07. [TODO p] TODO ==== | + | ==== 07. [30p] Instanțe Compute Engine ==== |
+ | |||
+ | Î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**. | ||
+ | |||
+ | |||
+ | {{ :rl:labs:12:contents:boot-disk.png?600 }} | ||
+ | |||
+ | 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 ). | ||
+ | |||
+ | <note tip>**gVNIC** - Google Virtual NIC este un tip de interfață virtuală de rețea creat pentru Compute Engine ca alternativă la virtIO, oferind performanțe mai bune și o mai bună consistență.</note> | ||
+ | |||
+ | 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ă. | ||
+ | |||
+ | {{ :rl:labs:12:contents:host-vpcs.png?600 }} | ||
+ | |||
+ | |||
+ | 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. | ||
+ | |||
+ | <note warning> | ||
+ | Odată adăugată cheia, GCP va crea și un utilizator nou, la fel că cel menționat în cheie. De exemplu, dacă cheia are formatul **<CHEIE_PUBLICA> andrei@hostname-andrei**, atunci GCP va crea un nou utilizator andrei pe care îl puteți folosi să va conectați prin SSH. | ||
+ | </note> | ||
+ | |||
+ | {{ :rl:labs:12:contents:ssh-keys.png?600 }} | ||
+ | |||
+ | |||
+ | |||
+ | 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. | ||
+ | <code bash> | ||
+ | ssh -i [private_key] <google-username>@[ip_public] -A | ||
+ | </code> | ||
+ | |||
+ | 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**: | ||
+ | |||
+ | <code bash> | ||
+ | # pe Linux: | ||
+ | scp -i [private_key] [private_key] <google-username>@[ip_public]:~ | ||
+ | </code> | ||
+ | (pe Windows, puteți folosi WinSCP) | ||
+ | |||
+ | Verificați conectivitatea la Internet pe cele 4 instanțe (**Host**, **Red**, **Green**, **Blue**). |