Puncte:0

Cum să adăugați un nume de domeniu la un container ECS (Serviciul ECS) fără un echilibrator de încărcare?

drapel ss

Caut o modalitate de a adăuga un nume de domeniu la un serviciu ECS (containere) fără un echilibrator de încărcare.

Tipul special de serviciu pentru care vreau să fac acest lucru este în sine un echilibrator de încărcare cu capabilități în afara ofertei AWS. Avem nevoie ca acest lucru să fie redundant în zonele de disponibilitate cu setări similare în mai multe VPC-uri izolate. Îmi detestă cu adevărat să cheltuiesc 2.000 USD pe an pentru a pune suficiente balansoare de încărcare pentru a îndeplini această cerință simplă.

Pentru a fi clar, caut o soluție care rezolvă un FQDN la o adresă IP externă atașată containerului, deci un nume A sau AAAA (eventual CNAME dacă este ponderat și indică un A sau AAAA). Nu contează pentru ce mod de rețea funcționează. Recipientul poate fi plasat în oricare dintre gazdă, pod, awsvpc dacă soluția funcționează!

Până acum am găsit acest lucru frustrant de limitat:

  • Service Discovery va adăuga numai înregistrări SRV pentru gazdă și pod tip containere de retea
  • Service Discovery va crea înregistrări A și AAAA pentru awsvpc containere de tip rețea, dar awsvpc sarcinile nu pot fi plasate pe instanțe ECS EC2 și au în continuare o adresă IP publică.
  • Rularea acelorași sarcini în fargate ar costa la fel de mult sau mai mult decât balansoarele de încărcare.
  • Route53 nu are un mecanism bun pentru adăugarea înregistrărilor de nume A și AAAA la instanțe EC2 într-un grup de autoscaling, așa că, chiar dacă pun o instanță a acestei sarcini pe fiecare nod, tot nu o voi putea face referință după numele de domeniu.

Cum să adăugați un nume de domeniu la un container ECS fără un echilibrator de încărcare?

Puncte:0
drapel nl

Nu sunt clar cu privire la întrebare. Service Discovery acceptă un nume de domeniu (spațiu de nume). De fapt, este obligatoriu din câte îmi dau seama. Cu alte cuvinte, dacă doriți să utilizați SD pentru un serviciu ECS numit serviciul meu trebuie să te referi la el ca serviciul meu.<domeniu> Unde <domain> este un spațiu de nume arbitrar pe care trebuie să-l definiți (cum ar fi .local sau .my.domain). Iată un exemplu a unei stive care utilizează SD.

Rețineți că toate acestea sunt intern către cluster și cum funcționează descoperirea serviciului intern (de exemplu, cum un serviciu ECS descoperă un alt serviciu ECS).

[Editați] DACĂ doriți să vă expuneți serviciile ECS, dar NU doriți să utilizați un echilibrator de încărcare, o altă opțiune ar fi să utilizați API GW ca descrise în această postare pe blog. În general, nu doriți să înregistrați adrese IP publice aleatorii ale sarcinilor Fargate în R53, deoarece acestea sunt efemere și ar trebui să construiți un mecanism complex pentru a le menține aliniate atunci când sarcinile Fargate vin și pleacă. Te-ai gândit și tu App Runner?

drapel ss
Acest lucru creează doar înregistrări DNS SRV din câte știu eu. Browserele Wen și mulți alți clienți nu caută înregistrări SRV și nu știu cum să le folosească. ...Dacă nu alergi pe fargate.
mreferre avatar
drapel nl
Da. Asta am vrut să spun prin „intern în cluster”. Mi-am actualizat răspunsul.
drapel ss
„*pentru că sunt efemere și ar trebui să construiți un mecanism complex pentru a le menține aliniate atunci când fac sarcini Fargate*”, același lucru este valabil și pentru adresa IP internă pe un cluster ECS EC2. Containerele pot fi dărâmate și plasate pe o nouă gazdă. Cu un grup de autoscaling, gazdele înseși sunt dărâmate și aduse înapoi. De aceea, „Service Discovery” există AFAIK. A avea o soluție care urmărește schimbarea IP-ului serviciului este oarecum ideea întrebării.
drapel ss
Am presupus că afirmarea „nume de domeniu” deduce ceva extern; dar ai dreptate, există și nume de domenii interne. Am editat întrebarea pentru a o face explicită.
mreferre avatar
drapel nl
„A avea o soluție care urmărește schimbarea IP-ului serviciului este oarecum ideea întrebării”
drapel ss
*„Am auzit că îți plac dispozitivele de echilibrare a încărcăturii, așa că te-am forțat să pui un echilibrator de încărcare pe acesta, astfel încât să poți...”* /sigh. Mulțumesc pentru gândurile tale. E bine de știut că nu scap ceva evident.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.