Kihagyás

Domainek kezelése

1. Mi az a domain név

Domain neveket azért használunk, hogy az emberek által is olvasható/megjegyezhető formában tudjuk meghivatkozni az interneten elérhető weboldalakat. A háttérben azonban a weboldalakhoz tartozó szerverek csak az IP címeket használva kommunikálnak egymással.

Ahhoz, hogy a domain neveket a böngészők képesek legyenek feloldani a megfelelő IP címekre, szükségünk van valamilyen DNS (Domain Name System) szolgáltatóra, ahol be tudjuk regisztrálni a domain nevekhez tartozó IP címeket.

Erre ad megoldást az AWS Route 53 DNS szolgáltatása is.

2. Céges domain név konvenciók

AWS környezetek létrehozásakor az alábbi domain név elnevezési konvenciót kell követni:

${alkalmazás}.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io

  • Az ${alkalmazás} placeholder helyére az alkalmazás azonosítóját kell behelyettesíteni (Pl.: client, admin, maildev).
  • A ${projekt} placeholder helyére a domain létrehozásakor megadott projekt azonosítót kell behelyettesíteni.
  • Az ${ügyfél} placeholder helyére az ügyfél nevét kell behelyettesíteni (Pl.: granit-bank, erste, vodafone).
  • A ${környezet} placeholder helyére a domain létrehozásakor megadott környezet azonosítót kell behelyettesíteni.

Környezet azonosító szükségessége

A fenti domain név konvenció azt is biztosítja, hogy az egyes környezeteket külön domainként tudjuk kezelni és ne egymás subdomainjeként. Nem javasoljuk, hogy az egyes környezetek egymás subdomanjei legyenek, ugyanis ez a cookie kezelésben problémákat okozhat.

Pl.: Ha a fenti konvenciótól eltérően a develop környezet domain neve semiproduct.dev.gbsolutions.io lenne, a uat környezet domain neve pedig uat.semiproduct.dev.gbsolutions.io, akkor a uat környezeten elérhetőek lennének a .semiproduct.dev.gbsolutions.io domainre kiállított cookiek. Ezáltal pedig a két környezetre kiállított azonos nevű cookiek felülírhatják egymást és elveszhet az egyik/másik környezeten aktív sessionünk, így a környezetek közötti váltás nehézkes lesz.

Dinamikusan létrejövő környezetek

Fontos, hogy a dinamikusan létrehozott tesztkörnyezetek fenntartása az összes fejlesztéshez elég költséges lehet, és automatizálása is időigényes. Mivel jelen projektjeinken nem is indokolt, ezért jelenleg ezt nem alkalmazzuk!

3. Létrehozandó domain-ek

A Semi Product-ból induló projektek esetében az alábbi domaineket kell létrehozni.

  • A ${projekt} placeholder helyére a domain létrehozásakor megadott projekt azonosítót kell behelyettesíteni.
  • Az ${ügyfél} placeholder helyére az ügyfél nevét kell behelyettesíteni (Pl.: granit-bank, erste, vodafone).
  • A ${környezet} placeholder helyére a domain létrehozásakor megadott környezet azonosítót kell behelyettesíteni.

3.1 Frontend alkalmazások domainjei

Az alábbi domaineken lesznek elérhetőek a frontend alkalmazások. Semi Producton alapértelmezetten az admin, client, partner alkalmazások léteznek.

  • admin.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io
  • client.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io
  • partner.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io

Projekt specifikus alkalmazások

Értelemszerűen a fenti domainek közül csak azokat kell létrehozni, amelyek relevánsak a projekten.

Pl.: Ha nincs partner és admin alkalmazás a projekten, akkor csak a client.semiproduct.intuitech.develop.dev.gbsolutions.io domaint kell létrehozni.

3.2 Maildev domainje

Ezen a domainen lesz elérhető a MailDev felülete, ahol az alkalmazásból küldött emaileket tudjuk megtekinteni.

  • maildev.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io

3.3 Wiki (dokumentáció) domainje

Ezen a domainen lesz elérhető a projekt dokumentációja.

  • wiki.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io

3.4 Teams Bot domainje

Ezen a domainen keresztül éri el a Microsoft Teams, a projekthez tartozó Teams Bot alkalmazást.

  • bot.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io

3.5 Keycloak domainje

Ezen a domainen lesz elérhető a Keycloak adminisztrációs felülete, valamint az alkalmazás számára is az authentikációs folyamat részeként.

  • keycloak.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io

4. Domain név regisztráció AWS Route 53 használatával

  1. Jelentkezzünk be az Amazonra.
  2. Az AWS services dobozban, a Networking & Content Delivery szekcióban válasszuk ki a Route 53-at.

    AWS_ServicesRoute53

  3. A megnyíló Route 53 Dashboard-on a DNS management szekcióban kattintsunk a Hosted zones linkre.

    HostedZones

  4. A Hosted zones képernyőn keressük ki és kattintsunk a dev.gbsolutions.io domain-re.

    GBSDomain

  5. A domainhez tartozó képernyőn keresssük meg a Records dobozt, és a jobb felső sarokban kattintsunk a Create record gombra.

  6. A megnyíló Quick create record dobozban töltsük ki az alábbi mezőket:

    1. A Record name mezőbe adjuk meg a domainünk nevét. Ügyeljünk a céges domain név elnevezési konvenciókra és arra, hogy dev.gbsolutions.io végződés már adott, azaz nem kell beírni.
    2. A Value mezőbe adjuk meg a domainhez tartozó IP címet.
  7. A többi mezőnél használhatóak az alapértelmezett értékek, de győződjünk meg róla, hogy az alábbiak szerint vannak kitöltve:

    1. Record type : A - Routes traffic to an IPv4 address and some AWS resources
    2. TTL (seconds) : 300
    3. Routing policy : Simple routing
  8. Szükség esetén az Add another record gombra kattintva több domain-t is regisztrálhatunk egyszerre.

  9. Végül kattintsunk a Create records gombra.

Példa

Amennyiben a domainünk neve: prod-domain.hu.develop.dev.gbsolutions.io, illetve az IP címe: 192.0.2.235 akkor az alábbi módon kell kitölteni a Quick create record dobozt:

CreateRecord