Hvordan aktivere versjonering på S3 -bøtta ved hjelp av Terraform

Hvordan aktivere versjonering på S3 -bøtta ved hjelp av Terraform
Infrastruktur som kode eller IAC er en ny tilnærming der koding brukes til å sette opp en infrastruktur. Dette betyr i stedet for manuelt å sette opp VM -er, nettverk og andre komponenter i et nettverk, vi skriver kode som beskriver infrastrukturen og bare kjører den koden for å få ønsket tilstand. Terraform har dukket opp som et enestående verktøy som bruker IAC -tilnærmingen.

Som mange andre oppgaver kan terraform brukes til å lage og administrere en AWS S3 -bøtte. Versjonering betyr å holde flere versjoner, eller du kan ganske enkelt kalle dem varianter av en fil. Versjonering i AWS S3 kan brukes til å vedlikeholde og gjenopprette forskjellige varianter av objektet som er lagret inne i det. Dette har mange fordeler. For eksempel kan vi gjenopprette slettede elementer ved et uhell.

Hva vil vi dekke?

I denne guiden vil vi se hvordan du aktiverer versjonering på en S3 -bøtte ved hjelp av Terraform. Vi jobber med Ubuntu 20.04 System for denne opplæringen. La oss komme i gang nå.

Hva trenger du?

  1. Grunnleggende om Terraform
  2. Tilgang til Internett
  3. Terraform installert på systemet ditt. Sjekk ved å kjøre Terrafors -Verion.

Opprette AWS S3 -bøtte ved hjelp av Terraform

Nå som vi har sett litt om Terraform og forhåpentligvis, ville du ha installert den på vår lokale maskin, kan vi fortsette oppgaven med å jobbe med S3. Som nevnt tidligere, bruker Terraform flere konfigurasjonsfiler for levering av ressurser, og hver av disse filene må ligge i sin respektive arbeidsmappe/katalog. La oss lage en katalog for dette formålet.

Trinn 1. Begynn med å opprette en mappe som inneholder alle konfigurasjonsfilene, og endrer deretter terminalkatalogen til følgende:

$ mkdir linuxhint-terraForm && cd linuxhint-terraformform

Steg 2. La oss opprette vår første konfigurasjonsfil, “Variabler.TF ”, Det vil inneholde informasjonen om AWS -regionen vår og typen forekomst vi ønsker å bruke:

$ nano -variabler.tf

Legg nå følgende tekst inni den og lagre filen:

variabel "aws_region"
Beskrivelse = "AWS -regionen for å lage S3 -bøtta i.""
Standard = "US-East-1"

variabel “Bucket_name”
Beskrivelse = “Et unikt navn for bøtta”
Standard = “Tecofers-4”

“Tecofers-4” er navnet på vår bøtte, og du kan bruke ditt eget navn her.

Trinn 3. Lage en "hoved.TF ” fil som vil inneholde definisjonen for infrastrukturen vår.

$ nano main.tf

Legg nå følgende konfigurasjon inni den:

terraform
krevde_providers
aws =
Source = "Hashicorp/AWS"
versjon = "~> 3.27 "


krevde_versjon = "> = 0.14.9 "

leverandør "aws"
Region = var.aws_region
shared_credentials_file = "/home/your_user_name/.AWS/legitimasjon "
profil = "Profil1"

ressurs "AWS_S3_Bucket" "Bucket1"
bøtte = var.Bucket_name
tags =
Name = "Eksempler3bucket"


ressurs "aws_s3_bucket_acl" "bøtte1"
bøtte = var.Bucket_name
ACL = "Privat"

Ressurs "aws_s3_bucket_versioning" "Bucket_Versioning"
bøtte = var.Bucket_name
versjoning_configuration
status = "Aktivert"

Endre "Ditt brukernavn" til brukernavnet på systemet ditt. La oss se parametrene som ble brukt i de forrige filene:

bøtte: Det er en valgfri parameter når den er spesifisert oppretter en ny bøtte. Hvis dette argumentet ikke er til stede, vil terraformen gi bøtta et tilfeldig og unikt navn. Bøttens navn må være i små bokstaver, med lengden ikke over 63 tegn.

Shared_credentials_file: Det er banen til filen som inneholder legitimasjonene til AWS -brukerne.

Profil: Den spesifiserer brukerens profil for å lage S3 -bøtta.

Ressursen “AWS_S3_Bucket” og “AWS_S3_BUCKET_ACL” Gir en bøtte og en ACL -ressurs (ACL -konfigurasjon) for bøtta. De “ACL” Argument er valgfritt og gir et Amazon-designet sett med forhåndsdefinerte tilskudd.

Tilsvarende ressursen “AWS_S3_BUCKET_VERSIONING” Gir en ressurs for versjonskontroll på en S3 -bøtte. Versioning_configuration -blokken definert i denne blokken inneholder den nødvendige konfigurasjonen for dette formålet. Statusargumentet er obligatorisk og kan inneholde en enkelt verdi blant: aktivert, deaktivert og suspendert.

Initialisere terraformkatalogen

For å laste ned og installere leverandøren, definert i konfigurasjonen og andre filer. Vi må initialisere katalogen som inneholder denne filen:

$ terraform init

Bygge infrastrukturen

Nå som vi har utarbeidet konfigurasjonsfilene våre, kan vi bruke endringene ved å bruke følgende kommando:

$ Terraform Søk

Tast inn "ja" på terminalen når det blir bedt om det. Når terraformen er ferdig med arbeidet, vises følgende melding:

Verifisere prosedyren

La oss nå sjekke om ønsket S3 -bøtte er opprettet. Gå til S3 -konsollen og sjekk for tilgjengelige bøtter:

Siden bøtta vår ble opprettet, kan vi nå laste opp filer til den og lage nye mapper her.

Slett ressursene du opprettet når du ikke trenger dem. Dette vil spare deg fra uønskede kostnader på AWS:

$ terraform ødelegger

Konklusjon

I denne guiden har vi lært om å aktivere versjonering på en S3 -bøtte ved hjelp av Terraform. Vi opprettet en bøtte og anvendt versjon av den. Det er så mange ting vi kan gjøre ved å bruke Terraform for å forenkle vår infrastrukturutplassering.