Zephyrnet-logo

Generer tilpassede, kompatible applikasjons-IAC-skript for AWS Landing Zone ved å bruke Amazon Bedrock | Amazon Web Services

Dato:

Migrering til skyen er et viktig skritt for moderne organisasjoner som tar sikte på å utnytte fleksibiliteten og omfanget av skyressurser. Verktøy som Terraform og AWS skyformasjon er sentrale for slike overganger, og tilbyr infrastruktur som kode (IaC)-funksjoner som definerer og administrerer komplekse skymiljøer med presisjon. Til tross for fordelene kan imidlertid IaCs læringskurve og kompleksiteten ved å følge organisasjonens og bransjespesifikke samsvars- og sikkerhetsstandarder forsinke din skyadopsjonsreise. Organisasjoner motvirker vanligvis disse hindringene ved å investere i omfattende opplæringsprogrammer eller ansette spesialisert personell, noe som ofte fører til økte kostnader og forsinket migreringstid.

Generativ kunstig intelligens (AI) med Amazonas grunnfjell adresserer disse utfordringene direkte. Amazon Bedrock er en fullt administrert tjeneste som tilbyr et utvalg av høyytende fundamentmodeller (FM-er) fra ledende AI-selskaper som AI21 Labs, Anthropic, Cohere, Meta, Stability AI og Amazon med ett enkelt API, sammen med et bredt sett av evner til å bygge generative AI-applikasjoner med sikkerhet, personvern og ansvarlig AI. Amazon Bedrock gir teamene mulighet til å generere Terraform- og CloudFormation-skript som er skreddersydd til organisasjonens behov, samtidig som de sømløst integrerer samsvar og beste praksis for sikkerhet. Tradisjonelt vil skyingeniører som lærer IaC manuelt sile gjennom dokumentasjon og beste praksis for å skrive kompatible IaC-skript. Med Amazon Bedrock kan team legge inn arkitektoniske beskrivelser på høyt nivå og bruke generativ AI for å generere en grunnlinjekonfigurasjon av Terraform-skript. Disse genererte skriptene er skreddersydd for å møte organisasjonens unike krav samtidig som de samsvarer med industristandarder for sikkerhet og samsvar. Disse skriptene fungerer som et grunnleggende utgangspunkt, og krever ytterligere foredling og validering for å sikre at de oppfyller standarder på produksjonsnivå.

Denne løsningen akselererer ikke bare migreringsprosessen, men gir også en standardisert og sikker skyinfrastruktur. I tillegg tilbyr den nybegynnere skyingeniører innledende skriptutkast som standardmaler å bygge videre på, noe som letter deres IaC-læringsreise.

Når du navigerer i kompleksiteten til skymigrering, er behovet for et strukturert, sikkert og kompatibelt miljø avgjørende. AWS landingssone dekker dette behovet ved å tilby en standardisert tilnærming til distribusjon av AWS-ressurser. Dette sikrer at skyfundamentet ditt er bygget i henhold til AWS beste praksis fra starten av. Med AWS Landing Zone eliminerer du gjetting i sikkerhetskonfigurasjoner, ressursforsyning og kontoadministrasjon. Det er spesielt gunstig for organisasjoner som ønsker å skalere uten å gå på akkord med styring eller kontroll, og gir en klar vei til et robust og effektivt skyoppsett.

I dette innlegget viser vi deg hvordan du genererer tilpassede, kompatible IaC-skript for AWS Landing Zone ved å bruke Amazon Bedrock.

AWS Landing Zone-arkitektur i sammenheng med skymigrering

AWS Landing Zone kan hjelpe deg med å sette opp et sikkert AWS-miljø med flere kontoer basert på AWS beste praksis. Det gir et grunnleggende miljø for å komme i gang med en flerkontoarkitektur, automatisere oppsett av nye kontoer og sentralisere overholdelse, sikkerhet og identitetsadministrasjon. Følgende er et eksempel på en tilpasset Terraform-basert AWS Landing Zone-løsning, der hver applikasjon ligger i sin egen AWS-konto.

Arbeidsflyten på høyt nivå inkluderer følgende komponenter:

  • Modulklargjøring – Ulike plattformteam på tvers av ulike domener, for eksempel databaser, containere, dataadministrasjon, nettverk og sikkerhet, utvikler og publiserer sertifiserte eller tilpassede moduler. Disse leveres gjennom rørledninger til et Terraform privat modulregister, som vedlikeholdes av organisasjonen for konsistens og standardisering.
  • Konto salgsautomat lag – Kontoautomaten (AVM) laget bruker enten AWS kontrolltårn, AWS Account Factory for Terraform (AFT), eller en tilpasset landingssoneløsning for å selge kontoer. I dette innlegget refererer vi til disse løsningene samlet som AVM-laget. Når applikasjonseiere sender inn en forespørsel til AVM-laget, behandler det inndataparametrene fra forespørselen for å klargjøre en mål-AWS-konto. Denne kontoen leveres deretter med skreddersydde infrastrukturkomponenter gjennom AVM-tilpasninger, som inkluderer AWS Control Tower-tilpasninger or AFT-tilpasninger.
  • Applikasjonsinfrastrukturlag – I dette laget distribuerer applikasjonsteam infrastrukturkomponentene sine i de klargjorte AWS-kontoene. Dette oppnås ved å skrive Terraform-kode i et applikasjonsspesifikt depot. Terraform-koden bruker modulene som tidligere er publisert til Terraforms private register av plattformteamene.

Overvinne lokale IaC-migreringsutfordringer med generativ AI

Team som vedlikeholder lokale applikasjoner møter ofte en læringskurve med Terraform, et nøkkelverktøy for IaC i AWS-miljøer. Dette kompetansegapet kan være et betydelig hinder i skymigrasjonsarbeid. Amazon Bedrock, med sine generative AI-evner, spiller en viktig rolle i å dempe denne utfordringen. Det letter automatiseringen av Terraform-kodeoppretting for applikasjonsinfrastrukturlaget, og gir team med begrenset Terraform-erfaring mulighet til å gjøre en effektiv overgang til AWS.

Amazon Bedrock genererer Terraform-kode fra arkitektoniske beskrivelser. Den genererte koden er tilpasset og standardisert basert på organisasjonens beste praksis, sikkerhet og regulatoriske retningslinjer. Denne standardiseringen er muliggjort ved å bruke avanserte ledetekster i forbindelse med Kunnskapsbaser for Amazon Bedrock, som lagrer informasjon om organisasjonsspesifikke Terraform-moduler. Denne løsningen bruker Retrieval Augmented Generation (RAG) for å berike inndatameldingen til Amazon Bedrock med detaljer fra kunnskapsbasen, og sørge for at Terraform-konfigurasjonen og README-innholdet er i samsvar med organisasjonens beste praksis og retningslinjer for Terraform.

Følgende diagram illustrerer denne arkitekturen.

Arbeidsflyten består av følgende trinn:

  1. Prosessen begynner med kontosalg, hvor applikasjonseiere sender inn en forespørsel om en ny AWS-konto. Dette påkaller AVM, som behandler forespørselsparametrene for å klargjøre mål-AWS-kontoen.
  2. En arkitekturbeskrivelse for en applikasjon beregnet for migrering sendes som en av inngangene til AVM-laget.
  3. Etter at kontoen er klargjort, brukes AVM-tilpasninger. Dette kan inkludere AWS Control Tower-tilpasninger or AFT-tilpasninger som setter opp kontoen med nødvendige infrastrukturkomponenter og konfigurasjoner i tråd med organisasjonens retningslinjer.
  4. Parallelt påkaller AVM-laget en Lambda-funksjon for å generere Terraform-kode. Denne funksjonen beriker arkitekturbeskrivelsen med en tilpasset ledetekst, og bruker RAG for å forbedre ledeteksten ytterligere med organisasjonsspesifikke retningslinjer for koding fra Kunnskapsbasen for Berggrunn. Denne kunnskapsbasen inkluderer skreddersydde beste praksis, sikkerhetsrekkverk og retningslinjer som er spesifikke for organisasjonen. Se en illustrativ eksempel av organisasjonsspesifikke Terraform-modulspesifikasjoner og retningslinjer lastet opp til Knowledge Base.
  5. Før distribusjon blir det første utkastet til Terraform-koden grundig gjennomgått av skyingeniører eller et automatisert kodegjennomgangssystem for å bekrefte at det oppfyller alle tekniske standarder og samsvarsstandarder.
  6. De gjennomgåtte og oppdaterte Terraform-skriptene brukes deretter til å distribuere infrastrukturkomponenter i den nylig klargjorte AWS-kontoen, og sette opp databehandlings-, lagrings- og nettverksressurser som kreves for applikasjonen.

Løsningsoversikt

AWS Landing Zone-distribusjon bruker en Lambda-funksjon for å generere Terraform-skript fra arkitektoniske innganger. Denne funksjonen, som er sentral i operasjonen, oversetter disse inngangene til kompatibel kode, ved å bruke Amazon Bedrock og Knowledge Bases for Amazon Bedrock. Utdataene lagres deretter i et GitHub-depot, tilsvarende den spesifikke applikasjonen i migrering. De følgende delene beskriver forutsetningene og de spesifikke trinnene som trengs for å implementere denne løsningen.

Forutsetninger

Du bør ha følgende:

Konfigurer Lambda-funksjonen for å generere tilpasset kode

Denne Lambda-funksjonen er en nøkkelkomponent i å automatisere opprettelsen av tilpassede, kompatible Terraform-konfigurasjoner for AWS-tjenester. Den forplikter de genererte konfigurasjonene direkte til et utpekt GitHub-depot, i samsvar med organisasjonens beste praksis. For funksjonskoden, se følgende GitHub repo. For å lage lambda-funksjon, vennligst følg instruksjoner.

Følgende diagram illustrerer arbeidsflyten til funksjonen.

Arbeidsflyten inkluderer følgende trinn:

  1. Funksjonen påkalles av en hendelse fra AVM-laget, som inneholder arkitekturbeskrivelsen.
  2. Funksjonen henter og bruker Terraform-moduldefinisjoner fra kunnskapsbasen.
  3. Funksjonen påkaller Amazon Bedrock-modellen to ganger, følgende anbefalt umiddelbare tekniske retningslinjer. Funksjonen bruker RAG for å berike inndatameldingen med Terraform-modulinformasjonen, og sørge for at utdatakoden oppfyller organisasjonens beste praksis.
    • Generer først Terraform-konfigurasjoner etter retningslinjer for organisasjonskoding og inkluderer Terraform-moduldetaljer fra kunnskapsbasen. For eksempel kan ledeteksten være: "Generer Terraform-konfigurasjoner for AWS-tjenester. Følg beste fremgangsmåter for sikkerhet ved å bruke IAM-roller og tillatelser med minste privilegier. Inkluder alle nødvendige parametere, med standardverdier. Legg til kommentarer som forklarer den overordnede arkitekturen og formålet med hver ressurs."
    • For det andre, lag en detaljert README-fil. For eksempel: "Generer en detaljert README for Terraform-konfigurasjonen basert på AWS-tjenester. Inkluder seksjoner om sikkerhetsforbedringer, kostnadsoptimaliseringstips etter AWS Well-Architected Framework. Inkluder også detaljert kostnadsoversikt for hver AWS-tjeneste som brukes med timepriser og totale daglige og månedlige kostnader."
  4. Den forplikter den genererte Terraform-konfigurasjonen og README til GitHub-depotet, og gir sporbarhet og åpenhet.
  5. Til slutt svarer den med suksess, inkludert URL-er til de forpliktede GitHub-filene, eller returnerer detaljert feilinformasjon for feilsøking.

Konfigurer kunnskapsbaser for Amazon Bedrock

Følg disse trinnene for å sette opp kunnskapsbasen din i Amazon Bedrock:

  1. På Amazon Bedrock-konsollen velger du Kunnskapsbase i navigasjonsruten.
  2. Velg Lag kunnskapsbase.
  3. Skriv inn et klart og beskrivende navn som gjenspeiler formålet med kunnskapsbasen din, for eksempel AWS Account Setup Knowledge Base For Amazon Bedrock.
  4. Tilordne en forhåndskonfigurert IAM-rolle med nødvendige tillatelser. Det er vanligvis best å la Amazon Bedrock lage denne rollen for deg for å sikre at den har de riktige tillatelsene.
  5. Last opp en JSON-fil til en S3-bøtte med kryptering aktivert for sikkerhet. Denne filen skal inneholde en strukturert liste over AWS-tjenester og Terraform-moduler. For JSON-strukturen, bruk følgende eksempel fra GitHub-depotet.
  6. Velg standard innbyggingsmodell.
  7. Tillat Amazon Bedrock å opprette og administrere vektorbutikken for deg i Amazon OpenSearch-tjeneste.
  8. Se gjennom informasjonen for nøyaktighet. Vær spesielt oppmerksom på S3-bøtte-URI- og IAM-rolledetaljer.
  9. Lag din kunnskapsbase.

Når du har distribuert og konfigurert disse komponentene, når AWS Landing Zone-løsningen aktiverer Lambda-funksjonen, genereres følgende filer:

  • En Terraform-konfigurasjonsfil – Denne filen spesifiserer infrastrukturoppsettet.
  • En omfattende README-fil – Denne filen dokumenterer sikkerhetsstandardene som er innebygd i koden, og bekrefter at de stemmer overens med sikkerhetspraksisen som er skissert i de innledende delene. I tillegg inkluderer denne README et arkitektonisk sammendrag, tips om kostnadsoptimalisering og en detaljert kostnadsoversikt for ressursene beskrevet i Terraform-konfigurasjonen.

Følgende skjermbilde viser et eksempel på Terraform-konfigurasjonsfilen.

Følgende skjermbilde viser et eksempel på README-filen.

Rydd opp

Fullfør følgende trinn for å rydde opp i ressursene dine:

  1. Slett Lambda-funksjonen hvis den ikke lenger er nødvendig.
  2. Tøm og slett S3-bøtten som brukes til Terraform-oppbevaring.
  3. Fjern de genererte Terraform-skriptene og README-filen fra GitHub-repoen.
  4. Slett kunnskapsbasen hvis det ikke lenger er nødvendig.

konklusjonen

De generative AI-egenskapene til Amazon Bedrock effektiviserer ikke bare opprettelsen av kompatible Terraform-skript for AWS-implementeringer, men fungerer også som et sentralt læringshjelpemiddel for nybegynnere skyingeniører som overfører lokale applikasjoner til AWS. Denne tilnærmingen akselererer skymigrasjonsprosessen og hjelper deg med å følge beste praksis. Du kan også bruke løsningen til å gi verdi etter migreringen, og forbedre den daglige driften som pågående infrastruktur og kostnadsoptimalisering. Selv om vi først og fremst fokuserte på Terraform i dette innlegget, kan disse prinsippene også forbedre AWS CloudFormation-distribusjonene dine, og gi en allsidig løsning for dine infrastrukturbehov.

Klar til å forenkle skymigrasjonsprosessen med generativ AI i Amazon Bedrock? Begynn med å utforske Amazon Bedrock brukerveiledning for å forstå hvordan det kan strømlinjeforme organisasjonens skyreise. For ytterligere hjelp og ekspertise, vurder å bruke AWS profesjonelle tjenester for å hjelpe deg strømlinjeforme din skymigrasjonsreise og maksimere fordelene med Amazon Bedrock.

Lås opp potensialet for rask, sikker og effektiv skyadopsjon med Amazon Bedrock. Ta det første skrittet i dag og oppdag hvordan det kan forbedre organisasjonens streber etter nettskytransformasjon.


om forfatteren

Ebbey Thomas spesialiserer seg på strategisering og utvikling av tilpassede AWS Landing Zone-ressurser med fokus på bruk av generativ AI for å forbedre automatisering av skyinfrastruktur. I sin rolle i AWS Professional Services er Ebbeys ekspertise sentral for å bygge løsninger som strømlinjeformer skyadopsjon, og gir et sikkert og effektivt driftsrammeverk for AWS-brukere. Han er kjent for sin innovative tilnærming til skyutfordringer og sitt engasjement for å drive frem mulighetene til skytjenester.

spot_img

Siste etterretning

spot_img