Hvordan lage en ECS -klynge på AWS

Hvordan lage en ECS -klynge på AWS
ECS (Elastic Container Service) er en administrert, svært tilgjengelig og skalerbar containertjeneste for å kjøre containerte applikasjoner på AWS. I ECS er det skrevet en oppgavedefinisjon for å definere containerne og brukes til å kjøre en eller flere prosesser i tjeneste. En tjeneste i ECS er en konfigurasjon som kan brukes til å kjøre og administrere flere oppgaver i en ECS -klynge samtidig.

Amazon ECS gir enkle API -er for å samhandle med den containeriserte applikasjonen som kjører på ECS. Ved hjelp av disse APIene kan du starte, kjøre, starte og stoppe container -applikasjonen. Du kan også planlegge plassering av containerne som kjører applikasjonen på ønsket node, avhengig av ressursene som kreves av applikasjonen.

Følgende er noen terminologier som brukes mens du jobber med ECS -klyngen.

  • Beholder og bilder
  • Oppgavedefinisjoner
  • Oppgave og planlegging
  • Klynger
  • Containeragent

Denne artikkelen vil lære hvordan en ECS -klynge kan opprettes på AWS ved hjelp av AWS Management Console.

Opprette ECS -klynge

Først må du logge på styringskonsollen og gå til ECS tjenester.

Fra venstre sidepanel på konsollen, klikk på Klynger knapp.

Klikk nå på Lag klynge å begynne å lage klyngen.

Nå først vil den be om ECS Cluster -malen. Det er tre maler tilgjengelig for ECS -klyngen.

  • Bare nettverk
  • EC2 Linux + Networking
  • EC2 Windows + Networking

De Bare nettverk Mal lager klynger ved hjelp av AWS Fargate. AWS Fargate er den nyeste teknologien levert av AWS for å distribuere ECS -klynger. AWS Fargate er en serverløs tjeneste for å distribuere ECS -klynger, og du trenger ikke å administrere nodene inne i klyngen. Noder administreres av AWS, og du gir bare oppgavedefinisjoner for tjenesten. For denne malen oppretter du bare ECS -klyngen, og VPC og undernett er valgfritt for dette.

De EC2 Linux + Networking Mal oppretter ECS -klyngen, inkludert nodene som kjører Linux Ami. For å kjøre en ECS -klynge ved hjelp av EC2 Linux + Networking Mal, må du opprette klyngen, VPC, undernettene og Auto Scaling Group med Linux Amis. Auto-skaleringsgruppen brukes til å administrere nodene i klyngen.

De EC2 Windows + Networking Mal oppretter ECS -klyngen med Windows Amis. Du oppretter klyngen, undernettene, VPC og auto-skaleringsgruppen med Windows Amis. Windows-forekomstene administreres og skaleres av auto-skaleringsgruppen.

AWS anbefaler å bruke AWS Fargate til å kjøre ECS -klyngen, og det er den nyeste teknologien blant disse. Så for denne demoen vil vi bruke AWS Fargate for å lage ECS -klyngen.

Etter å ha valgt alternativet, klikker du nå på Neste steg Knapp nederst til høyre på siden.

Det vil be om de forskjellige konfigurasjonene for ECS -klyngen. Navnet er den unike identifikatoren for ECS -klyngen, og samme navn kan ikke brukes til en annen ECS -klynge i samme region.

For Cluster Networking kan du opprette klyngen inne i VPC for å isolere ECS -klyngen. For denne demoen vil vi ikke kjøre ECS -klyngen inne i VPC.

CloudWatch Container Insights brukes til å overvåke og feilsøke containeriserte applikasjoner. Den samler de forskjellige containermålingene som CPU, minne, rom og andre hendelser som omstart, stopp og begynner å gi et dypt innblikk i beholderen. For denne demoen vil vi ikke bruke CloudWatch Container Insights.

Etter å ha gitt alle ovennevnte detaljer, klikker du på NESTE knapp for å opprette ECS -klyngen.

Når du klikker på Skape Knapp for å opprette ECS-klyngen, vil den først opprette en IAM-tjenestekoblet rolle for ECS og deretter opprette klyngen.

Opprett ECS -oppgavedefinisjon

Etter å ha opprettet ECS -klyngen, oppretter du nå en ECS -oppgavedefinisjon for å distribuere en prøvebeholder på ECS -klyngen.

Fra venstre sidepanel på ECS -konsollen, klikk på Oppgavedefinisjoner knapp.

Klikk på Lag ny oppgavedefinisjon knapp for å opprette en ny oppgavedefinisjon.

For det første vil den be om kompatibilitet for lanseringstype for oppgavedefinisjonen. Det er tre kompatibiliteter av lanseringstype for oppgavedefinisjonene.

  • Fargate
  • EC2
  • Utvendig

De Fargate Lanseringstypekompatibilitet brukes til AWS-styrt infrastruktur, og det er ikke nødvendig å distribuere noen EC2-forekomst. Denne kompatibiliteten av lanseringstypen brukes til ECS-klynger ved bruk av AWS Fargate. Kostnaden er basert på beholderstørrelsen.

De EC2 Lanseringstypekompatibilitet brukes til den selvstyrte infrastrukturen på AWS, som EC2-forekomster som har både Windows og Linux Amis. Denne kompatibiliteten av lanseringstypen brukes til begge EC2 Linux + Networking og EC2 Windows + Networking ECS -maler. Kostnaden er basert på EC2 -forekomster.

De Utvendig Lanseringstypekompatibilitet brukes til ECS-klyngen, inkludert selvstyrte forekomster på stedet. Prisen er basert på forekomst og tilleggskostnader for andre tjenester.

For denne demoen vil vi bruke Fargate lanseringstypekompatibilitet når vi bruker Bare nettverk Mal for ECS -klyngen.

Etter å ha valgt kompatibiliteten i lanseringstypen, klikker du nå på Neste steg Knapp nederst til høyre på siden. Det vil åpne en ny side som ber om oppgave og containerkonfigurasjon.

Skriv inn et unikt navn for oppgavedefinisjonen som skal opprettes. Oppgavrollen brukes til å ringe API -samtaler til AWS -tjenestene. For denne demoen, la oppgavens rolle til ingen. Operativsystemfamilien er operativsystemet som oppgavedefinisjonen vil bruke. For denne demoen, velg Linux som operativsystemfamilien.

Nå bla ned til Oppgaveutførelse iam rolle. Oppgaveutførelsen IAM -rolle må inneholde tillatelser for å trekke containerbildet og publisere containerlogger til Amazon CloudWatch. Hvis rollen ikke eksisterer, vil den opprettes automatisk av ECS.

Oppgavestørrelsen er minnet og antall VCPUer som vil bli tildelt beholderen for utførelse. For denne demoen, tildel 0.5 GB RAM og 0.25 VCPU.

Etter tildeling av RAM og VCPUer, klikker du nå på Legg til beholder knapp for å legge til en beholder. Skriv inn navnet på beholderen og bildet som skal brukes av beholderen.

Du kan også spesifisere de harde og myke grensene for ressursene som er tildelt beholderen. Hvis en hard grense er spesifisert, blir beholderen drept hvis den overstiger den grensen. Hvis en myk grense er spesifisert, vil beholderen reservere den mengden minne.

Portkartlegging brukes til å få tilgang til containerporter på vertsmaskinen. For denne demoen, sett porten 80.

Hopp over alle de gjenværende alternativene og klikk på skape knapp på slutten av siden for å opprette oppgaven.

Etter å ha opprettet oppgavedefinisjonen, gå nå til Oppgavedefinisjoner Fra venstre sidepanel av ECS -konsollen. Velg den nyopprettede oppgavedefinisjonen og kjør den ved hjelp av Kjør oppgave Alternativ fra Handlinger liste.

Det vil be om de forskjellige alternativene for beholderen før du kjører. Gi Fargate like lanseringstype som vi vil bruke fargat som kompatibilitet av lanseringstypen.

Plukke ut Linux som operativsystemet til beholderen og gi de andre detaljene, som vist i følgende bilde.

Velg VPC-, undernett- og sikkerhetsgrupper du vil tilordne til oppgavedefinisjonen.

Etter å ha gitt all denne detaljene, klikker du nå på løpe knapp for å kjøre oppgavedefinisjonen. Etter å ha kjørt oppgavedefinisjonen, kan du nå sjekke statusen til oppgavedefinisjonen fra konsollen.

Konklusjon

Amazon ECS er en svært tilgjengelig og skalerbar tjeneste levert av AWS for å kjøre containeriserte applikasjoner. AWS gir forskjellige kompatibiliteter i lanseringstypen for å kjøre containeriserte applikasjoner på AWS uten å administrere containeriseringsverktøyet. Etter å ha opprettet ECS -klyngen, må du opprette oppgavedefinisjonen for å kjøre en beholder. Denne artikkelen beskriver hvordan vi kan lage og kjøre containeriserte applikasjoner på AWS ECS ved hjelp av AWS Management Console.