Import af eksisterende ressourcer
Lær at importere eksisterende cloud-infrastruktur til din Terraform-tilstand, så allerede oprettede ressourcer bliver administreret som IaC.
Import af eksisterende ressourcer er en gratis Terraform som infrastruktur som kode-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Terraform som infrastruktur som kode, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Terraform som infrastruktur som kode-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-123Kontrollé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_bucketHurtigt 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 planfor at udligne eventuelle forskelle.
Denne effektive kommando hjælper med at bygge bro mellem manuelt administreret infrastruktur og et fuldt IaC-drevet miljø.
Lær Terraform som infrastruktur som kode 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
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Import af eksisterende ressourcer” gratis?
Ja — hele teksten til “Import af eksisterende ressourcer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Terraform som infrastruktur som kode-kurset, skal du opgradere til CoddyKit PRO. Terraform som infrastruktur som kode-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 Terraform som infrastruktur som kode 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å Terraform som infrastruktur som kode?
Der kræves ingen tidligere erfaring. Terraform som infrastruktur som kode 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 Terraform som infrastruktur som kode-lektion?
Ja. Alle Terraform som infrastruktur som kode-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
- Fjernbaserede state-backends
- Låsning af tilstand og konsistens
- Import af eksisterende ressourcer
- Refaktorering af state med moved og removed