Intensiv DevOps-uddannelse · Lektion

Import af eksisterende ressourcer

Lær at importere eksisterende cloud-infrastruktur til din Terraform-tilstand, så allerede oprettede ressourcer bliver administreret som IaC.

Lektion 3 af 411 trin

Import af eksisterende ressourcer er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Få eksisterende infrastruktur ind i IaC

Nogle gange har du cloud-ressourcer, der er oprettet manuelt eller af andre værktøjer. Terraform import giver dig mulighed for at lade Terraform administrere disse eksisterende ressourcer.

Det betyder, at Terraform derefter kan holde styr på deres state, og at fremtidige ændringer kan anvendes via dine konfigurationsfiler. Det er et vigtigt trin, når du tager Infrastructure as Code (IaC) i brug i et "brownfield"-miljø.

Hvornår skal du importere

Import er nyttig i flere situationer:

  • Flytning af eksisterende infrastruktur: Ressourcer, der er oprettet uden for Terraform, føres ind i din IaC-arbejdsgang.
  • Trinvis indførelse af Terraform: Du begynder med eksisterende ressourcer i stedet for at oprette alting igen.
  • Gendannelse efter tab af state: Terraform knyttes til ressourcer igen, hvis din state-fil går tabt (selvom det er sjældent ved remote state).

Bliv fortrolig med import-kommandoen

Den grundlæggende struktur for kommandoen terraform import er enkel. Den beder Terraform om at finde en eksisterende ressource hos din cloududbyder og føje den til din state-fil, så den knyttes til en ressourceblok i din konfiguration.

Den kræver to vigtige oplysninger: Terraform-ressourcens adresse og cloududbyderens ID for ressourcen.

Hvad er en ressourceadresse

Ressourceadressen er den måde, Terraform identificerer en bestemt ressource i din konfiguration på. Den følger mønsteret resource_type.resource_name.

  • resource_type: Ressourcetypen (f.eks. aws_s3_bucket, azurerm_resource_group).
  • resource_name: Det lokale navn, du giver ressourcen i din Terraform-konfiguration (f.eks. my_bucket, web_app).

Denne adresse skal allerede findes i dine .tf-filer.

Find cloud-ID'et

Alle ressourcer hos en cloududbyder (f.eks. AWS, Azure eller GCP) har en unik identifikator, der ofte kaldes et ID. Du skal bruge dette ID til at fortælle Terraform, *hvilken* eksisterende ressource der skal importeres.

Du kan finde dette ID i cloududbyderens konsol, via deres CLI eller gennem deres API. ID'et for en AWS S3-bucket er for eksempel dens navn, mens en EC2-instans har et instans-ID som i-0abcdef1234567890.

Definer HCL før import

Afgørende trin: Før du kører terraform import, skal du have defineret en tilsvarende ressourceblok i dine Terraform-konfigurationsfiler (.tf-filer).

Denne blok fortæller Terraform, hvilken type ressource der kan forventes, og hvilke attributter den skal have. Terraform bruger denne definition til at forstå ressourcens skema under importen.

HCL til en S3-bucket

Lad os sige, at du har en eksisterende AWS S3-bucket med navnet my-existing-coddykit-bucket-123. Definer først en ressourceblok for den i din main.tf:

resource "aws_s3_bucket" "my_imported_bucket" {
  bucket = "my-existing-coddykit-bucket-123"
  # Add other expected attributes if known
  # e.g., acl = "private"
}

Importér S3-bucketen

Nu hvor du har HCL-definitionen, kan du køre kommandoen terraform import. Erstat my-existing-coddykit-bucket-123 med det faktiske navn eller ID på din eksisterende bucket.

Sørg for, at du allerede har kørt terraform init i din mappe!

terraform import aws_s3_bucket.my_imported_bucket my-existing-coddykit-bucket-123

Kontrollér Terraform-state

Efter en vellykket import har Terraform føjet ressourcen til din state-fil. Du kan kontrollere dette med terraform state show, som viser attributterne for den importerede ressource, sådan som Terraform ser dem.

Det er vigtigt derefter at køre terraform plan for at sikre, at der ikke er uventede forskelle mellem din HCL og den importerede ressources faktiske state.

terraform state show aws_s3_bucket.my_imported_bucket

Hurtigt tjek: import-rækkefølge

Du vil importere en eksisterende AWS EC2-instans i Terraform. Hvilket af følgende trin SKAL være gennemført *før* kommandoen terraform import køres?

Opsummering: Få infrastrukturen hjem

Du har lært, hvordan du lader Terraform administrere eksisterende cloud-ressourcer ved hjælp af terraform import.

  • Først definerer du ressourceblokken i din HCL.
  • Derefter finder du cloududbyderens ressource-ID.
  • Til sidst kører du terraform import ADDRESS ID.
  • Følg altid op med terraform plan for at udligne eventuelle forskelle.

Denne effektive kommando hjælper med at bygge bro mellem manuelt administreret infrastruktur og et fuldt IaC-drevet miljø.

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Import af eksisterende ressourcer” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Import af eksisterende ressourcer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Import af eksisterende ressourcer”?

Lær at importere eksisterende cloud-infrastruktur til din Terraform-tilstand, så allerede oprettede ressourcer bliver administreret som IaC. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Import af eksisterende ressourcer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Fjernbaserede state-backends
  2. Låsning af tilstand og konsistens
  3. Import af eksisterende ressourcer
  4. Refaktorering af state med moved og removed
← Tilbage til Intensiv DevOps-uddannelse