Introduktion till AWS CloudFormation Mallar

AWS CloudFormation är en tjänst som hanterar och sätter samman olika AWS-resurser så att det tar tid att utföra dessa kan minskas och tidsfokusering på olika applikationer i Amazon Web Services kan ökas. För att uppnå detta används en mall som innehåller alla resurser som användaren behöver. Dessa mallar kallas CloudFormation-mallar. Med hjälp av dessa mallar tar AWS CloudFormation hand om att konfigurera och tillhandahålla dessa resurser för användaren. Strukturen och arbetet för mallen beskrivs i nästa avsnitt.

CloudFormation-mallar

Amazon CloudFormation-mall är en formaterad textfil på YAML- eller JSON-språk. Dessa mallar kan antingen skapas med hjälp av en konsol eller genom att skriva ett skript manuellt. I konsolen dras och släpps resurserna av användaren. När det är klart genereras ett JSON- eller YAML-skript automatiskt och användaren kan redigera det om de vill. För att ändra eller redigera mallen kan användaren använda valfritt textredigeringsverktyg eller AWS CloudFormation-designer. För att skriva måste ett visst format följas med följande objekt. Huvudobjekten i CloudFormation-mallen beskrivs nedan.

1. Format: Version av AWS CloudFormation-mall definieras här.

Exempel:

(
"AWSTemplateFormatVersion": "2019-09-09"
)

2. Beskrivning: Eventuella kommentarer eller beskrivningar om mallen kan noteras i detta objekt.

Exempel:

(
"Description": "An Amazon Redshift cluster is created within a Virtual Private Cloud”
)

3. Metadata: Ytterligare information om mallen definieras i JSON eller YAML Language.

Exempel:

(
"Metadata":
(
"AWS::CloudFormation::Interface": ()
)

4. Parametrar: Anpassning av mallar kan göras med hjälp av parametrarna. Det är genom att ge anpassade värden till mallen när stacken skapas eller uppdateras.

Exempel:

"Parameters" :
(
"KeyName": ()
"InstanceType" : ()
"DBName" : ()
"DBUser" : ()
"DBPassword" : ()
)

5. Kartläggningar: Baserat på ett värde i den villkorade parametern kommer användaren att tillåta kartlägga nyckeln till den. Dessutom kan användare från en karta hämta värden med hjälp av en egenfunktion "Fn :: FindInMap".

Exempel:

(
"AWSInstanceType2Arch" :
(
"t1.micro" : ( "Arch" : "HVM64" ),
.
.
"t2.large" : ( "Arch" : "HVM64" ),
"m1.small" : ( "Arch" : "HVM64" ),
.
"m1.large" : ( "Arch" : "HVM64" )
)

6. Resurser: I resursavsnittet i AWS CloudFormation-mallen är det möjligt att deklarera resurser som AWS Simple Storage Services-hink (S3), AWS Lambda. Dessa resurser kan också skapas och specificeras i stacken.

Exempel:

"Resources" :
(
"WebServerSecurityGroup" :
(
"Type" : " ",
"Properties" :
(
"GroupDescription" : "",
"SecurityGroupIngress" :() )
)
)

7. Output: Outputavsnittet innehåller värden som måste importeras till andra staplar eller de som returneras medan du visar dina egna stackegenskaper.

Exempel:

"Outputs" :
(
"Description" : "”
“Value”: “”
)
)

Låt oss nu kombinera alla dessa avsnitt och se hur en mall ser ut.

Exempelmall

(
"AWSTemplateFormatVersion": "2019-09-09"
"Description": "An Amazon Redshift cluster is created within a Virtual Private Cloud”
"Metadata": (
"AWS::CloudFormation::Interface": ()
)
"Parameters" : (
"KeyName": ()
"InstanceType" : ()
"DBName" : ()
"DBUser" : ()
"DBPassword" : ()
)
"Mappings" :
(
"AWSInstanceType2Arch" :
(
"t1.micro" : ( "Arch" : "HVM64" ),
.
.
"t2.large" : ( "Arch" : "HVM64" ),
"m1.small" : ( "Arch" : "HVM64" ),
.
"m1.large" : ( "Arch" : "HVM64" )
)
"Resources" :
(
"WebServerSecurityGroup" :
(
"Type" : " ",
"Properties" :
(
"GroupDescription" : "",
"SecurityGroupIngress" :() )
)
)
"Outputs" :
(
"Description" : "”
“Value”: “”
)
)

När mallen har skapats kan användaren ladda upp mallen till stacken.

Konfigurera CloudFormation Stack

En stack i AWS är en samling resurser som kan hanteras av en enda enhet. Resurserna kan skapas, raderas och uppdateras genom att skapa, radera och uppdatera staplar. Låt oss nu se hur vi lanserar denna stack och använder CloudFormation-mallen inuti den.

1. Registrera AWS-kontot om du inte har ett. Om redan finns, logga in med referenser.

2. Öppna konsolen för AWS CloudFormation med webbadressen https://console.aws.amazon.com/cloudformation.

3. Om du har ett nytt CloudFormation-konto klickar du på Skapa ny stack. Annars, skapa stack.

4. Välj Ladda upp en mall till Amazon S3 från Välj en mall. Ladda upp din mall genom att välja Välj fil eller ange en URL.

5. Observera att om CloudFormation-mallen är lagrad i S3-hinken, måste användaren ha åtkomst till den och regionerna i S3 Bucket och Stack bör vara desamma.

6. Ge ett lämpligt stapelnamn i avsnittet Specificera information till din CloudFormation Stack.

7. Ange namnet på EC2 Keypair i KeyName

8. Se till att EC2 Keypair och Stack är i samma region.

9. Klicka på Nästa.

10. En sida visas med några valfria inmatningsfält som tagg. Taggar hjälper till att identifiera staplarna eftersom de innehåller par med nyckelvärden. Men nu skapar vi inga taggar.

11. Granska detaljerna och välj Skapa.

12. Framstegen med att skapa stack kan ses nu på fliken Händelser. Om skapandet av stack pågår kommer CREATE_IN_PROGRESS status att visas och om skapelsen är klar kommer CREATE_COMPLETED status att visas.

13. När stacken skapats kan användaren börja använda resurserna. För att undvika ytterligare avgifter för oönskade tjänster rekommenderas det att ta bort staplarna och dess resurser.

För att radera stacken kan följande steg användas.

  • Gå till CloudFormation-konsolen och välj den stack du har skapat.
  • Klicka på Radera stack.
  • Klicka på Ja, Ta bort när bekräftelsemeddelandet visas.

Slutsats

CloudFormation Mallar hjälper till att tillhandahålla och konfigurera resurserna för användaren så att tiden som krävs för att utföra operationer på flera resurser kan minskas och fokusering på olika applikationer som finns i Amazon Web Services kan ökas. Skapa och använda dessa mallar diskuteras i avsnittet ovan.

Rekommenderad artikel

Detta är en guide till AWS CloudFormation Mallar. Här diskuterar vi introduktionen och olika CloudFormation-mallar tillsammans med exempel. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. AWS Arkitektur
  2. AWS-tjänster
  3. Vad är AWS CloudFront
  4. AWS intervjufrågor
  5. AWS Storage Services
  6. AWS-konkurrenter | Topp 7 konkurrenter av AWS med funktioner
  7. Private Cloud vs Public Cloud
  8. Vad är privat moln?

Kategori: