Lambda elérése saját domain név alól

#aws #lambda #serverless

Lambda elérése saját domain név alól

Meglepően gyakori, hogy a felhőben elkészített végpontjainkat nem a saját domain nevünk alól érjük el, hanem a build során generált hosszú AWS URL-en keresztül. Viszont nem is annyira bonyolult saját domain nevet rendelni a szolgáltatásunk alá.

Háttér

Az Amazon Web Services (AWS) szolgáltatásai minden webfejlesztő eszköztárának hasznos tagjai lehetnek, de gyakran a sok komplex szolgáltatás összezavarhatja a kollégákat. Ezért is futottam bele minap egy olyan serverless1 megoldásba, ami production állapotban is a generált AWS végpont elérési URL-eket használta.

Mondjuk az is igaz, hogy kicsit bonyolultabb a folyamat mint egy CNAME rekordot létrehozni, de nem sokkal.

Mit is kell tennünk a saját domain névért:

  • Tanúsítványt generálunk
  • Hozzáadjuk a saját domain nevünk
  • Majd beállítunk egy CNAME rekordot

Tanúsítvány generálás

Az AWS felületére bejelentkezve keressük meg a Certificate Manager szolgáltatást és a Request a certificate gombra kattintva kérjünk egy tanúsítványt a domain nevünknek. A domain név kitöltésénél használhatunk wildcardokat is. (pl: *.serpens.hu)

Certificate Manager

Ezek után két féle validáció közül válaszhatunk:

  • A DNS validáció során egy CNAME rekordot kell létrehoznunk.
  • Az email validáció során egy emailt kapunk és a benne lévő linket kell követnünk.

Ha sikeres a validációnk, akkor jöhet a következő lépés.

Saját domain név hozzáadása

Az AWS felületén navigáljunk az API Gateway menüpontra és azon belül a Custom Domain Names fülre. Itt adjuk hozzá a kíván domain nevet. Válasszuk ki a szolgáltatásunk régiójában lévő tanúsítványt a lenyíló listából és kattintsunk a Save gombra.

Ezután állítsuk be a Base Path Mappings rész alatt, hogy mire is mutasson a beállított domain nevünk.

CNAME beállítása

Már csak a DNS rekord beállítása maradt hátra, tehát navigáljunk a DNS kiszolgálónk felületére.

Adjunk hozzá egy CNAME rekordot ami a tetszőleges domain névről a Custom Domain Names oldalon olvasható Target Domain Name értékére mutat.

Majd teszteljük a beállított domain nevet az egyik végpontunkra mutatva. Ha mindent jól csináltunk, akkor már saját domain nevünk alól érhetjük el a szerver nélküli végpontjainkat.

Automatizált megoldások

Serverless Framework2 alatt például használhatjuk a serverless-domain-manager plugin-t, ami a rekordokat is létrehozza nekünk. De itt is magunknak kell a tanúsítványt beállítanunk a domain nevünkhöz az AWS felületén.


További tartalmak