EDU::GAMF::Felhőalapú-szolgáltatások::AWS

Innen: Farkas Attila Wiki
A lap korábbi változatát látod, amilyen ApelPro (vitalap | szerkesztései) 2022. október 13., 19:58-kor történt szerkesztése után volt. (→‎Hálózati és biztonsági beállítások)
Ugrás a navigációhoz Ugrás a kereséshez

Amazon Web Services regisztráció

Az AWS mindenki számára biztosít 1 év ingyenes próbaverziót. Ehhez regisztrálnunk kell a rendszerbe, amihez szükségünk lesz egy email címre, egy telefonszámra a megerősítéshez és egy netes vásárlásra alkalmas bankkártyára. A regisztráció során az AWS 1$-ral meg terheli a számlát, de később erre nem tart igény, így a tranzakció lejáratakor jóváíródik a számlán.

Ingyenes verzió korlátai

Az ingyenes verzióban nem minden érhető el és ami mégis, az sem korlátlan ideig (750 óra EC2 futási idő például), amit ha átlépünk, akkor fizetési kötelezettségünk jelentkezik a szolgáltató felé. Igyekezzünk mindent leállítani az órai munka illetve az otthoni gyakorlás után, hogy lehetőleg ne kerüljön pénzbe a féléves munkánk. A hallgatók által elszenvedett károkért sem az iskola sem Én nem tudunk felelősséget vállalni, de azt meg tudjuk ígérni, hogy fizetős szolgáltatást nem használunk és nem is kérünk számon.

Felhő alapok

Szolgáltatási szintek

A felhőszolgáltatások, így az AWS is, alapvetően 3 szolgáltatási szintet különböztetnek meg:

IaaS, azaz Infrastructure as a Service

Ez a legalacsonyabb szintű szolgáltatás. Ebben az esetben a szolgáltató infrastruktúráját vesszük igénybe: nem kell virtualizálással, szerverezéssel és L1-L2 szintű hálózati beállításokkal foglalkoznunk, ezt készen kapjuk. Efölött azonban mindenért mi, a vevő felelünk, tehát mi tartjuk karban az operációs rendszert, mi döntjük el, hogy milyen alkalmazásokat telepítünk rájuk és azok frissítését hogyan oldjuk meg; mi felelünk az alkalmazásunk működéséért.
Például: EC2

PaaS, azaz Platform as a Service

Egy szinttel az IaaS felett van: csupán az applikációért és az adatok helyességéért felelünk, minden alsóbb szintet a szolgáltató tart karban. Hozzáférést is csak az applikációhoz tartozó eszközök segítségével kapunk, az alsóbb szinteket nem érjük el (nem tudunk be SSH-zni a szerverre pl.).
Például: RDS

SaaS, azaz Service as a Service

Ez a legmagasabb szintű szolgáltatás. Ez esetben egy konkrét alkalmazást veszünk igénybe, tehát az alkalmazás és az annak működését biztosító adatok menedzselése is a szolgáltató hatáskörében marad. Tipikusan ilyen az email, a közösségi média, de ilyen lehet az Office 365 által kínált online tér is, ahol gyakorlatilag dokumentumot is tudunk szerkeszteni a gépre telepített alkalmazások nélkül is, online eszközökkel (bár ez nem AWS-en belüli példa, talán ezek a legismertebb szolgáltatások).

Felhők típusai

Privát felhő

Az adatok nincsenek megosztva harmadik féllel, a kontrollt teljes egészében a struktúrát kialakító rendszergazda kezében van. Természetesen nem korlátozódik a cég helyszínén üzemeltetett szerverekre a fogalom, szóba jöhetnek harmadik féltől bérelt VPS, VDS, de komplett bérelt szerverek is, de általában az eszközök VPN alagúton keresztül cserélnek információt, ezzel védve az adatokat.

Publikus felhő

Az adatokat egy harmadik fél által kialakított hálózaton keresztül használjuk, ami a csomagokat a publikus IP hálózaton keresztül továbbítják egymás között. Óriási előnye, hogy nincs üzemeltetési költsége a szolgáltatást igénybe vevőnek, általában a CPU idő után kell fizetni, tehát flexibilis költséget hoz magával.

Hibrid felhő

A publikus és a privát felhő kombinációja, így a kiemelt biztonságot igénylő adatok nem kerülnek ki az internetre, míg a kevésbé érzékeny adatok továbbíthatók a publikus felhő segítségével, ezzel kihasználva annak minden előnyét.

AWS alapok

Figyelem! Az iskolai hálózatból csak az eu-west-1 és az eu-central-1, azaz Írország és Frankfurt IP címei vannak engedélyezve, ezekre fogunk tudni SSH kapcsolaton keresztül csatlakozni.
Figyelem! Próbaidőszak alatt minden szolgáltatás mellett keressük a Free tier eligible megjegyzést, különben fizetési kötelezettségünk adódhat!

EC2 szolgáltatásai

Az EC2 gyakorlatilag egy VPS-nek feleltethető meg és nem is tévedünk vele hatalmasat. A neve az Elastic Cloud Compute szavak kezdőbetűiből kialakuló ECC-ből fakad, a 2-es a végén jelzi, hogy a C betűből kettő van.
A különbséget a VPS-hez az EC2 futási ideje okozza: bár nem feltétlen, de meg van a lehetősége, hogy egyik napról a másikra megszűnjön egy EC2 úgy, hogy az alkalmazásunk mégis működőképes marad. E tulajdonsága miatt kapta az Elastic nevet, amit körültekintően kell kezelni: semmilyen adatot nem tárolhatunk úgy egy alkalmazáson belül, mint egy VPS esetén: a dinamikus adatok (pl. PHP Session, feltöltött fájok) egy EC2 csere esetén elvesznek, így ezeket nem helyben fogjuk tárolni.

Az EC2 szolgáltatásait a keresőmezőbe írt „EC2” kulcsszóval és az eredményekben megjelenő EC2-re való kattintással érhetjük el.

GAMFAWS search EC2.png.png

Az alapértelmezetten megjelenő menüpont a Dashboard, ahol információkat találhatunk az EC2 köré felhúzható szolgáltatásokról, melyeknek egy részét a továbbiakban tárgyalni is fogunk. Az összefoglaló táblázat az alább látható módon jelenik meg. Figyelem, a táblázat csak az adott régióban elindított/elérhető szolgáltatásokat mutatja, régió váltása előtt érdemes az esetlegesen létrehozott, régió függő elemeket leállítani, hogy később ne jelenjen meg fizetési kötelezettség.

GAMFAWS ec2 dashboard.png

EC2 telepítése és beállítása

EC2 létrehozásához meg kell nyomnunk a Launch instance gombot, melyet több helyen is elérhetünk:

  • A Dashboardon
  • A bal oldali menüben található Intances menüpont megnyitása után jobb felül

A gomb minden esetben a következőképp néz ki: GAMFAWS ec2 launch instance button.png

A gombra kattintva egy űrlap jelenik meg, amely segítségével elvégezhetjük a szükséges beállításokat:

Név és tag beállítok
Megadása nem kötelező, de több szerver futtatása esetén könnyebben azonosíthatjuk be őket ezek segítségével
GAMFAWS ec2 setup name and tags.png
Az Add additional tags gombra kattintva további kulcs=érték párokat adhatunk hozzá, amivel dinamikusan csatolhatjuk össze egyéb szolgáltatásokkal, amelyek egy-egy kulcsot keresve döntik el, hogy melyik szolgáltatásokkal kell együttműködniük (például monitorozás bekapcsolása 'monitoring=true' kulcs=érték pár alapján.
Kezdeti képfájl kiválasztása
 Az Amazon többféle indítóképpel is rendelkezik, így nagy valószínűséggel meg fogjuk találni a hozzánk közelálló operációs rendszert. Új hozzáadására nincs lehetőségünk, de készíthetünk az alapképfájlokból olyan verziót, ami már  tartalmazza a saját konfigurációnkat (lásd itt).
GAMFAWS ec2 setup AMI choose2.png
Az órákon az Ubuntu legújabb verzióját használjuk, mivel ennek a Desktop változata az egyik legelterjedtebb a Linux felhasználók körében, így nem kell más környezetet megszoknia egy átlag hallgatónak. Érdemes lehet azonban egyéb disztribúciók kipróbálása is, különösen a Debian-t, Suse-t/OpenSuse-t, ReadHat-et és annak ingyenes változatait (AlmaLinux, RockyLinuxtm, amelyek az egykori CentOS-t hivatottak váltani), mivel céges környezetben ezek sűrűbben előfordulnak: némelyik a kisebb erőforrásigénye, míg másik az Enterprise szolgáltatásai miatt.
Szerver típusának meghatározása
Különböző erősségű szerverkonfigurációk közül választhatunk, de természetesen nem mindegyik érhető el az ingyenes verzióban. A számítógépek ára a konfiguráció függvényében változik, de csak azért az időért kell fizetni, amíg a szerver Running állapotban volt. Az órán az alapértelmezett t2.micro-t használjuk.
GAMFAWS ec2 setup instance type.png
Kulcspár hozzárendelése
Az Amazonon belüli szolgáltatásokat felhasználónév/jelszó páros helyett SSH kulcspárok segítségével érjük el. Minden felhasználó számára készíthetünk egyet és jogosultságok segítségével korlátozhatjuk, hogy mihez férhet hozzá (IAM).
Ebben a szekcióban ki kell választanunk, hogy a telepíteni kívánt EC2-höz milyen kulcspárral lehet majd hozzáférni. Amennyiben nem rendelkezünk még kulcspárral, úgy van lehetőségünk helyben elkészíteni a Create new keypair gomb segítségével, amelynek lépési megegyeznek az itt leírtakkal.
GAMFAWS ec2 setup keypair.png
Hálózati és biztonsági beállítások
Az EC2-k közötti kommunikációs csatornák kialakításához definiálnunk kell, hogy melyik virtuális hálózatba akarjuk elhelyezni és milyen alkalmazásokat szeretnénk elérhetővé tenni. Ezt a VPC és a Security Group beállításával tehetjük meg. Előbbi a virtuális hálózatnak felel meg, míg utóbbi hasonlóan egy tűzfalhoz, meghatározza, hogy a szerveren milyen portokat érhetünk el. Érdemes az SSH-t engedélyezni és ha webes alkalmazást szeretnénk rajta futtatni a későbbiekben, akkor a HTTP és/vagy HTTPS szolgáltatást/szolgáltatásokat is, így később nem kell szerkeszteni ezeket a beállításokat.
GAMFAWS ec2 setup networking.png

Kulcspár létrehozása

Security Group

AMI létrehozása

Lunch configuration létrehozása

Lunch template létrehozása

Auto Scaling Group létrehozása terheléselosztással

Target Group

Load Balancer

RDS szolgáltatások

MySQL adatbázis telepítése

Csatlakozás MySQL adatbázishoz CLI-ből

VPC beállításai

VPC létrehozása

Subnetek létrehozása

Alkalmazás létrehozása AWS-ben

VPC létrehozása

MySQL létrehozása

API létrehozása

Szerver konfigurálása

ASG létrehozása terheléselosztással

UI létrehozása

Szerver konfigurálása

ASG létrehozása terheléselosztással

Alkalmazás tesztelése

Hasznos linkek

SaaS vs PaaS vs IaaS