Izingibe ze-Terraform

Izingibe ze-Terraform
Ake sigqamise izingibe ezimbalwa, okuhlanganisa nalezo ezihlobene namaluphu, uma izitatimende namasu okusebenzisa, kanye nezindaba ezivamile ezithinta i-Terraform ngokuvamile:

  • isibalo kanye nepharamitha_nganye inemikhawulo;
  • khawulela ukuthunyelwa kwesikhathi sokuphumula kwe-zero;
  • ngisho necebo elihle lingahluleka;
  • refactoring ingaba nezingibe zayo;
  • ukuhambisana okuhlehlisiwe kuyahambisana... nokuhlehliswa.

Ukubala kanye nepharamitha_ngayinye kunemikhawulo

Izibonelo ezikulesi sahluko zisebenzisa kakhulu ipharamitha yokubala kanye nenkulumo ethi for_inye kumaluphu kanye nengqondo enemibandela. Basebenza kahle, kepha banemikhawulo emibili ebalulekile okufanele uyiqaphele.

  • Ukubala nokusho_ ngakunye akukwazi ukubhekisela kunoma yikuphi okuguquguqukayo kokuphumayo kwensiza.
  • count futhi for_nganye ayikwazi ukusetshenziswa ekucushweni kwemojuli.

count futhi for_inye ayikwazi ukubhekisela kunoma yikuphi okuguquguqukayo kokuphumayo kwensiza

Cabanga ukuthi udinga ukusebenzisa amaseva ambalwa e-EC2 futhi ngesizathu esithile awufuni ukusebenzisa i-ASG. Ikhodi yakho ingaba kanje:

resource "aws_instance" "example_1" {
   count             = 3
   ami                = "ami-0c55b159cbfafe1f0"
   instance_type = "t2.micro"
}

Ake sibabheke ngamunye ngamunye.

Njengoba ipharamitha yokubala isethelwe kunani elimile, le khodi izosebenza ngaphandle kwezinkinga: uma usebenzisa umyalo wokusebenza, izodala amaseva amathathu e-EC2. Kodwa kuthiwani uma ubufuna ukusebenzisa iseva eyodwa endaweni ngayinye yokutholakala (AZ) ngaphakathi kwesifunda sakho samanje se-AWS? Ungakwazi ukuthi ikhodi yakho ilayishe uhlu lwamazoni kusukela kumthombo wedatha we-aws_availability_zones bese uzungeza ngayinye bese udala iseva ye-EC2 kuyo usebenzisa ipharamitha yokubala kanye nokufinyelela kwenkomba yamalungu afanayo:

resource "aws_instance" "example_2" {
   count                   = length(data.aws_availability_zones.all.names)
   availability_zone   = data.aws_availability_zones.all.names[count.index]
   ami                     = "ami-0c55b159cbfafe1f0"
   instance_type       = "t2.micro"
}

data "aws_availability_zones" "all" {}

Le khodi nayo izosebenza kahle, njengoba ipharamitha yokubala ingabhekisela emithonjeni yedatha ngaphandle kwezinkinga. Kodwa kwenzekani uma inani lamaseva okudingeka uwadale lincike ekuphumeni kwensiza ethile? Ukubonisa lokhu, indlela elula ukusebenzisa insiza engahleliwe_integer, okuthi, njengoba igama liphakamisa, ibuyisele inombolo engahleliwe:

resource "random_integer" "num_instances" {
  min = 1
  max = 3
}

Le khodi ikhiqiza inombolo engahleliwe phakathi kuka-1 no-3. Ake sibone ukuthi kwenzekani uma sizama ukusebenzisa okukhiphayo kwalesi sisetshenziswa kupharamitha yokubala yesisetshenziswa se-aws_instance:

resource "aws_instance" "example_3" {
   count             = random_integer.num_instances.result
   ami                = "ami-0c55b159cbfafe1f0"
   instance_type = "t2.micro"
}

Uma usebenzisa uhlelo lwe-terraform kule khodi, uzothola iphutha elilandelayo:

Error: Invalid count argument

   on main.tf line 30, in resource "aws_instance" "example_3":
   30: count = random_integer.num_instances.result

The "count" value depends on resource attributes that cannot be determined until apply, so Terraform cannot predict how many instances will be created. To work around this, use the -target argument to first apply only the resources that the count depends on.

I-Terraform idinga ukuthi ukubala kanye ne_ngakunye kubalwe phakathi nesigaba sokuhlela, ngaphambi kokuthi kudalwe noma yiziphi izinsiza. Lokhu kusho ukuthi ukubala nokuthi_kokunye kungabhekisela kumagama angokoqobo, okuguquguqukayo, imithombo yedatha, ngisho nezinhlu zezinsiza (inqobo nje uma ubude bazo bunganqunywa ngesikhathi sokuhlela), kodwa hhayi ekubalweni kokuhluka kokuphumayo kwensiza.

count futhi for_nganye ayikwazi ukusetshenziswa ekucushweni kwemojuli

Ngelinye ilanga ungase ulingeke ukuthi wengeze ipharamitha yokubala ekucushweni kwemojula yakho:

module "count_example" {
     source = "../../../../modules/services/webserver-cluster"

     count = 3

     cluster_name = "terraform-up-and-running-example"
     server_port = 8080
     instance_type = "t2.micro"
}

Le khodi izama ukusebenzisa ukubala ngaphakathi kwemojuli ukuze idale amakhophi amathathu esisetshenziswa se-webserver-cluster. Noma ungase ufune ukwenza ukuxhuma imojuli kube ozikhethele yona ngokusekelwe esimweni esithile se-Boolean ngokusetha ipharamitha yayo yokubala ibe ngu-0. Lokhu kungase kubukeke njengekhodi enengqondo, kodwa uzothola leli phutha uma usebenzisa uhlelo lwe-terraform:

Error: Reserved argument name in module block

   on main.tf line 13, in module "count_example":
   13: count = 3

The name "count" is reserved for use in a future version of Terraform.

Ngeshwa, kusukela ku-Terraform 0.12.6, ukusebenzisa i-count noma_ngayinye kusisetshenziswa semojuli akusekelwa. Ngokwamanothi okukhululwa e-Terraform 0.12 (http://bit.ly/3257bv4), i-HashiCorp ihlela ukungeza leli khono esikhathini esizayo, ngakho kuye ngokuthi uyifunda nini le ncwadi, ingase isivele iyatholakala. Ukuze uthole isiqiniseko, funda i-Terraform changelog lapha.

Imikhawulo Yokuphakelwa Kwesikhathi Esingasebenzi

Ukusebenzisa i-create_before_destroy block kuhlanganiswe ne-ASG kuyisixazululo esihle sokudala ukuthunyelwa kwe-zero-downtime, ngaphandle kwe-caveat eyodwa: imithetho ye-autoscaling ayisekelwe. Noma ukuze ucacise kabanzi, lokhu kusetha kabusha usayizi we-ASG ubuyele ku-min_size kukho konke ukusetshenziswa, okungaba inkinga uma ubusebenzisa imithetho ye-autoscaling ukuze ukhuphule inani lamaseva asebenzayo.

Isibonelo, imojuli ye-webserver-cluster iqukethe ipheya yezinsiza ze-aws_autoscaling_schedule, okuthi ngo-9 am inyuse inani lamaseva kuqoqo ukusuka kokubili ukuya kweyishumi. Uma uphakela ngo-11 a.m., i-ASG entsha izoqala ngamaseva amabili nje kuneshumi futhi ihlale injalo kuze kube u-9 ekuseni ngosuku olulandelayo.

Lo mkhawulo ungagwenywa ngezindlela eziningi.

  • Shintsha ipharamitha yokuphinda ku-aws_autoscaling_schedule isuke kokuthi 0 9 * * * (“gijima ngo-9 am”) iye kokuthile okufana no-0-59 9-17 * * * (“gijima yonke iminithi kusukela ngo-9 ekuseni ukuya ku-5 pm”). Uma i-ASG isivele inamaseva ayishumi, ukusebenzisa lo mthetho we-autoscaling futhi ngeke kushintshe lutho, okuyilokho esikufunayo. Kodwa uma i-ASG isanda kuthunyelwa, lo mthetho uzoqinisekisa ukuthi esikhathini esiphezulu somzuzu inani lamaseva ayo lizofinyelela eshumini. Lena akuyona indlela enhle ngokuphelele, futhi ukweqa okukhulu kusuka kumaseva ayishumi kuye kwamabili nokubuyela emuva nakho kungabangela izinkinga kubasebenzisi.
  • Dala umbhalo wangokwezifiso osebenzisa i-AWS API ukuze unqume inani lamaseva asebenzayo ku-ASG, uyibize usebenzisa umthombo wedatha wangaphandle (bona "Umthombo Wedatha Yangaphandle" ekhasini 249), bese usetha ipharamitha ye-ASG's desired_capacity kunani elibuyiswe umbhalo. Ngale ndlela, isenzakalo ngasinye se-ASG esisha sizohlala sisebenza ngenani elifanayo nekhodi ekhona ye-Terraform futhi senza kube nzima kakhulu ukuyinakekela.

Vele, i-Terraform ingahle ibe nokusekelwa okwakhelwe ngaphakathi kokuthunyelwa kwe-zero-downtime, kodwa kusukela ngoMeyi 2019, ithimba le-HashiCorp lalingenazo izinhlelo zokwengeza lokhu kusebenza (imininingwane - lapha).

Uhlelo olulungile lungase lwenziwe ngokuphumelelayo

Kwesinye isikhathi umyalo wepulani ukhiqiza uhlelo lokuthunyelwa olulungile ngokuphelele, kepha umyalo wokusebenza ubuyisela iphutha. Zama, isibonelo, ukungeza i-aws_iam_user insiza enegama elifanayo olisebenzisele umsebenzisi we-IAM omdalile ekuqaleni kweSahluko 2:

resource "aws_iam_user" "existing_user" {
   # Подставьте сюда имя уже существующего пользователя IAM,
   # чтобы попрактиковаться в использовании команды terraform import
   name = "yevgeniy.brikman"
}

Manje, uma usebenzisa umyalo wohlelo, iTerraform izokhipha uhlelo lokuthunyelwa olubonakala lunengqondo:

Terraform will perform the following actions:

   # aws_iam_user.existing_user will be created
   + resource "aws_iam_user" "existing_user" {
         + arn                  = (known after apply)
         + force_destroy   = false
         + id                    = (known after apply)
         + name               = "yevgeniy.brikman"
         + path                 = "/"
         + unique_id         = (known after apply)
      }

Plan: 1 to add, 0 to change, 0 to destroy.

Uma usebenzisa i-apply command uzothola iphutha elilandelayo:

Error: Error creating IAM User yevgeniy.brikman: EntityAlreadyExists:
User with name yevgeniy.brikman already exists.

   on main.tf line 10, in resource "aws_iam_user" "existing_user":
   10: resource "aws_iam_user" "existing_user" {

Inkinga, kunjalo, ukuthi umsebenzisi we-IAM onalelo gama usevele ekhona. Futhi lokhu kungenzeka hhayi kuphela kubasebenzisi be-IAM, kodwa cishe kunoma iyiphi insiza. Kungenzeka ukuthi othile udale lesi sisetshenziswa mathupha noma esebenzisa umugqa womyalo, kodwa noma iyiphi indlela, ukufanisa ama-ID kuholela ekungqubuzaneni. Kunezinhlobonhlobo eziningi zaleli phutha ezivame ukubamba abasanda kungena eTerraform ngokuzuma.

Iphuzu elibalulekile ukuthi umyalo wohlelo lwe-terraform ucabangela kuphela lezo zinsiza ezishiwo kufayela lesimo se-Terraform. Uma izinsiza zidalwe ngenye indlela (isibonelo, ngokwenza ngokuchofoza ikhonsoli ye-AWS), ngeke zigcine zisefayilini lesifundazwe ngakho-ke i-Terraform ngeke izicabangele lapho yenza umyalo wohlelo. Ngenxa yalokho, uhlelo olubonakala lulungile ekuqaleni luzobonakala lungaphumeleli.

Kunezifundo ezimbili okufanele zifundwe kulokhu.

  • Uma usuqalile ukusebenza ngeTerraform, ungasebenzisi noma yini enye. Uma ingxenye yengqalasizinda yakho iphethwe kusetshenziswa i-Terraform, ngeke usakwazi ukuyishintsha mathupha. Uma kungenjalo, awugcini nje ngokubeka engcupheni amaphutha e-Terraform angajwayelekile, kodwa futhi uyena izinzuzo eziningi ze-IaC njengoba ikhodi ngeke isaba ukumela okunembile kwengqalasizinda yakho.
  • Uma usunayo ingqalasizinda ethile, sebenzisa umyalo wokungenisa. Uma uqala ukusebenzisa i-Terraform nengqalasizinda ekhona, ungayengeza kufayela lesifunda usebenzisa umyalo wokungenisa i-terraform. Ngale ndlela iTerraform izokwazi ukuthi iyiphi ingqalasizinda edinga ukuphathwa. Umyalo wokungenisa uthatha izimpikiswano ezimbili. Elokuqala ikheli lensiza kumafayela akho okumisa. I-syntax lapha iyafana neyezixhumanisi zezinsiza: _. (njenge-aws_iam_user.exist_user). I-agumenti yesibili i-ID yesisetshenziswa okumele singeniswe. Masithi i-ID yesisetshenziswa ethi aws_iam_user igama lomsebenzisi (ngokwesibonelo, yevgeniy.brikman), futhi i-ID yesisetshenziswa ethi aws_instance yi-ID yeseva ye-EC2 (njenge-i-190e22e5). Indlela yokungenisa insiza ngokuvamile iboniswa kumadokhumenti phansi kwekhasi layo.

    Ngezansi kunomyalo wokungenisa ovumelanisa i-aws_iam_insiza yomsebenzisi oyengeze ekucushweni kwakho kwe-Terraform kanye nomsebenzisi we-IAM eSahlukweni 2 (ufaka igama lakho esikhundleni se-yevgeniy.brikman, kunjalo):

    $ terraform import aws_iam_user.existing_user yevgeniy.brikman

    I-Terraform izoshayela i-AWS API ukuze ithole umsebenzisi wakho we-IAM futhi idale ukuhlotshaniswa kwefayela lesimo phakathi kwayo nesisetshenziswa somsebenzisi esithi aws_iam_user.existing_user ekucushweni kwakho kwe-Terraform. Kusukela manje kuqhubeke, lapho uqhuba umyalo wohlelo, iTerraform izokwazi ukuthi umsebenzisi we-IAM usevele ekhona futhi ngeke azame ukuyidala futhi.

    Kuhle ukuqaphela ukuthi uma usuvele unezinsiza eziningi ofuna ukuzingenisa ku-Terraform, ukubhala ikhodi mathupha futhi ungenise ngayinye ngesikhathi kungaba inkinga. Ngakho-ke kufanelekile ukubheka ithuluzi elifana ne-Terraforming (http://terraforming.dtan4.net/), elingangenisa ngokuzenzakalelayo ikhodi futhi lisho lisuka ku-akhawunti yakho ye-AWS.

    Ukulungisa kabusha kungaba nezingibe zakho

    Ukwenza kabusha kuwumkhuba ojwayelekile ohlelweni lapho ushintsha isakhiwo sangaphakathi sekhodi ngenkathi ushiya ukuziphatha kwangaphandle kungashintshile. Lokhu kwenzelwa ukwenza ikhodi icace, ihlanzeke, futhi kube lula ukuyigcina. I-refactoring iyindlela ebaluleke kakhulu okufanele isetshenziswe njalo. Kodwa uma kuziwa ku-Terraform nanoma yiliphi elinye ithuluzi le-IaC, kufanele uqaphele kakhulu ukuthi usho ukuthini “ngokuziphatha kwangaphandle” kocezu lwekhodi, kungenjalo kuzovela izinkinga ezingalindelekile.

    Isibonelo, uhlobo olujwayelekile lokuphinda lufake amagama lufaka esikhundleni samagama okuguquguqukayo noma imisebenzi eqondakala kakhudlwana. Ama-IDE amaningi anosekelo olwakhelwe ngaphakathi lokwenza kabusha futhi angaqamba kabusha ngokuzenzakalelayo okuguquguqukayo nemisebenzi kuyo yonke iphrojekthi. Ngezilimi zokuhlela ezisetshenziselwa inhloso ejwayelekile, lena inqubo encane ongase ungacabangi ngayo, kodwa ku-Terraform kufanele ukuqaphele kakhulu lokhu, ngaphandle kwalokho ungase uhlangabezane nokuphazamiseka.

    Isibonelo, imojula ye-webserver-cluster ine-variable variable cluster_name:

    variable "cluster_name" {
       description = "The name to use for all the cluster resources"
       type          = string
    }

    Cabanga ukuthi uqale ukusebenzisa le mojula ukuze usebenzise isevisi encane ebizwa ngokuthi i-foo. Kamuva, ufuna ukuqamba kabusha isevisi yakho kubha. Lolu shintsho lungase lubonakale luncane, kodwa empeleni lungabangela ukuphazamiseka kwesevisi.

    Iqiniso liwukuthi imojula ye-webserver-cluster isebenzisa okuguquguqukayo kwe-cluster_name kwinani lezinsiza, okuhlanganisa ipharamitha yegama lamaqembu amabili okuvikela kanye ne-ALB:

    resource "aws_lb" "example" {
       name                    = var.cluster_name
       load_balancer_type = "application"
       subnets = data.aws_subnet_ids.default.ids
       security_groups      = [aws_security_group.alb.id]
    }

    Uma ushintsha ipharamitha yegama kusisetshenziswa, i-Terraform izosusa inguqulo endala yaleyo nsiza futhi idale entsha endaweni yayo. Kodwa uma leyo nsiza kuyi-ALB, phakathi kokuyisusa nokulanda inguqulo entsha, ngeke ube nendlela yokuqondisa kabusha ithrafikhi kuseva yakho yewebhu. Ngokufanayo, uma iqembu lokuvikela lisuswa, amaseva akho azoqala ukwenqaba noma iyiphi ithrafikhi yenethiwekhi kuze kube yilapho kwakhiwa iqembu elisha.

    Olunye uhlobo lokwenza kabusha ongase ube nentshisekelo kulo ukushintsha i-ID ye-Terraform. Ake sithathe insiza ye-aws_security_group kumojuli yeqoqo lewebhu njengesibonelo:

    resource "aws_security_group" "instance" {
      # (...)
    }

    Inkomba yalesi sisetshenziswa ibizwa ngesibonelo. Cabanga ukuthi ngesikhathi sokwenza kabusha uthathe isinqumo sokuyishintshela egameni eliqondakalayo (ngokubona kwakho) elithi cluster_instance:

    resource "aws_security_group" "cluster_instance" {
       # (...)
    }

    Kuzokwenzekani ekugcineni? Kulungile: ukuphazamiseka.

    I-Terraform ihlobanisa i-ID yesisetshenziswa ngasinye ne-ID yomhlinzeki wamafu. Isibonelo, i-iam_user ihlotshaniswa ne-ID yomsebenzisi ye-AWS IAM, futhi i-aws_instance ihlotshaniswa ne-ID yeseva ye-AWS EC2. Uma ushintsha i-ID yesisetshenziswa (isho ukusuka kusibonelo uye ku-cluster_instance, njengoba kwenzeka nge-aws_security_group), iye ku-Terraform kuzobonakala sengathi ususa insiza endala futhi wengeza entsha. Uma usebenzisa lezi zinguquko, i-Terraform izosusa iqembu elidala lezokuphepha bese idala elisha, kuyilapho amaseva akho eqala ukwenqaba noma iyiphi ithrafikhi yenethiwekhi.

    Nazi izifundo ezine ezibalulekile okufanele uzithathe kule ngxoxo.

    • Sebenzisa njalo umyalo wohlelo. Ingadalula zonke lezi zinkinga. Buyekeza okukhiphayo ngokucophelela futhi unake izimo lapho i-Terraform ihlela ukususa izinsiza okungenzeka ukuthi akufanele zisuswe.
    • Dala ngaphambi kokuthi ususe. Uma ufuna ukumiselela insiza, cabangisisa ngokuthi uyadinga yini ukudala enye indawo ngaphambi kokususa eyangempela. Uma impendulo inguyebo, create_before_destroy kungasiza. Umphumela ofanayo ungafinyelelwa mathupha ngokwenza izinyathelo ezimbili: qala ungeze insiza entsha ekucushweni bese usebenzisa umyalo wokusebenza, bese ususa insiza endala ekucushweni bese usebenzisa umyalo wokusebenza futhi.
    • Ukushintsha izihlonzi kudinga ukushintsha isimo. Uma ufuna ukushintsha i-ID ehlotshaniswa nensiza (isibonelo, qamba kabusha i-aws_security_group kusukela kusibonelo kuya ku-cluster_instance) ngaphandle kokususa insiza nokudala inguqulo yayo entsha, kufanele ubuyekeze ifayela lesimo se-Terraform ngokufanele. Ungalokothi wenze lokhu ngokwenza - sebenzisa umyalo wesifunda se-terraform. Lapho uqamba kabusha izihlonzi, kufanele usebenzise umyalo we-terraform state mv, onala mazwi alandelayo:
      terraform state mv <ORIGINAL_REFERENCE> <NEW_REFERENCE>

      ORIGINAL_REFERENCE isisho esisho insiza ngendlela ekuyo yamanje, futhi NEW_REFERENCE yilapho ofuna ukuyihambisa khona. Isibonelo, lapho uqamba kabusha iqembu elithi aws_security_group lisuka kusibonelo liye ku-cluster_instance, udinga ukusebenzisa umyalo olandelayo:

      $ terraform state mv 
         aws_security_group.instance 
         aws_security_group.cluster_instance

      Lokhu kutshela i-Terraform ukuthi isimo esasihlotshaniswa ne-aws_security_group.instance manje kufanele sihlotshaniswe ne-aws_security_group.cluster_instance. Uma ngemuva kokuqamba kabusha nokusebenzisa lolu hlelo lwe-terraform lomyalo lungabonisi izinguquko, wenze konke ngendlela efanele.

    • Ezinye izilungiselelo azikwazi ukushintshwa. Amapharamitha wezinsiza eziningi awaguquleki. Uma uzama ukuzishintsha, i-Terraform izosusa insiza endala bese idala entsha endaweni yayo. Ikhasi ngalinye lensiza ngokuvamile lizobonisa ukuthi kwenzekani lapho ushintsha isilungiselelo esithile, ngakho qiniseka ukuthi uhlola amadokhumenti. Ngaso sonke isikhathi sebenzisa umyalo wohlelo futhi ucabange ukusebenzisa isu elithi create_before_destroy.

    Ukuvumelana okuhlehlisiwe kuyahambisana... nokuhlehliswa

    Amanye ama-API wabahlinzeki bamafu, njenge-AWS, awavumelanisi futhi alibazisekile ukungaguquguquki. I-Asynchrony isho ukuthi isixhumi esibonakalayo singabuyisela impendulo ngokushesha ngaphandle kokulinda ukuthi isenzo esiceliwe siqedwe. Ukungaguquguquki okubambezelekile kusho ukuthi izinguquko zingase zithathe isikhathi ukusabalala kulo lonke uhlelo; ngenkathi lokhu kwenzeka, izimpendulo zakho zingase zingahambisani futhi zincike ekutheni iyiphi i-replica yomthombo wedatha ephendula amakholi akho e-API.

    Cabanga, isibonelo, ukuthi wenza ikholi ye-API eya ku-AWS uyicela ukuthi idale iseva ye-EC2. I-API izobuyisela impendulo "eyimpumelelo" (Idalwe ngo-201) cishe ngokushesha, ngaphandle kokulinda iseva ngokwayo ukuthi idalwe. Uma uzama ukuxhuma kuyo ngaso leso sikhathi, cishe izohluleka nakanjani ngoba ngaleso sikhathi i-AWS isaqalisa izinsiza noma, ngokunye, iseva ayikaqalisi. Ngaphezu kwalokho, uma wenza olunye ucingo ukuze uthole ulwazi mayelana nale seva, ungathola iphutha (404 Not Found). Into ewukuthi ulwazi olumayelana nale seva ye-EC2 lungase lusakazwe kuyo yonke i-AWS ngaphambi kokuthi lutholakale yonke indawo, kuzodingeka ulinde imizuzwana embalwa.

    Noma kunini lapho usebenzisa i-API engavumelanisi enokungaguquguquki okuvilaphayo, kufanele uphinde uzame isicelo sakho ngezikhathi ezithile kuze kube yilapho isenzo siqeda futhi sisabalalisa ngohlelo. Ngeshwa, i-AWS SDK ayinikezi nganoma imaphi amathuluzi amahle alokhu, futhi iphrojekthi ye-Terraform ejwayele ukuhlushwa iziphazamisi eziningi ezifana ne-6813 (https://github.com/hashicorp/terraform/issues/6813):

    $ terraform apply
    aws_subnet.private-persistence.2: InvalidSubnetID.NotFound:
    The subnet ID 'subnet-xxxxxxx' does not exist

    Ngamanye amazwi, udala insiza (njenge-subnet) bese uzama ukuthola ulwazi mayelana nayo (njenge-ID ye-subnet esanda kwakhiwa), futhi i-Terraform ayikwazi ukuyithola. Iningi lalezi zimbungulu (kuhlanganise ne-6813) zilungisiwe, kodwa zisakhula ngezikhathi ezithile, ikakhulukazi uma i-Terraform yengeza ukusekela kohlobo olusha lwensiza. Kuyacasula lokhu, kodwa ezimweni eziningi akubangeli monakalo. Uma usebenzisa i-terraform sebenzisa futhi, yonke into kufanele isebenze, ngoba ngalesi sikhathi ulwazi luzobe selusabalele ohlelweni lonke.

    Lesi siqephu sivela encwadini ka-Evgeniy Brikman "I-Terraform: ingqalasizinda ezingeni lekhodi".

Source: www.habr.com

Engeza amazwana