ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ብዙ ሰዎች ቴራፎርምን በዕለት ተዕለት ሥራቸው ያውቃሉ እና ይጠቀማሉ፣ ነገር ግን ለእሱ ምርጥ ተሞክሮዎች ገና አልተፈጠሩም። እያንዳንዱ ቡድን የራሱን ዘዴዎች እና ዘዴዎች መፍጠር አለበት.

የእርስዎ መሠረተ ልማት በእርግጠኝነት የሚጀምረው በቀላል ነው፡ ጥቂት ሀብቶች + ጥቂት ገንቢዎች። በጊዜ ሂደት, በሁሉም አቅጣጫዎች ያድጋል. ሀብቶችን ወደ ቴራፎርም ሞጁሎች ለመቧደን ፣ ኮድን ወደ አቃፊዎች ለማደራጀት እና ሌላ ምን ሊሳሳት ይችላል? (ታዋቂ የመጨረሻ ቃላት)

ጊዜው ያልፋል እና የእርስዎ መሠረተ ልማት አዲሱ የቤት እንስሳዎ እንደሆነ ይሰማዎታል ፣ ግን ለምን? በመሠረተ ልማት ውስጥ ሊገለጹ የማይችሉ ለውጦች ይጨነቃሉ, መሠረተ ልማትን እና ኮድን መንካት ያስፈራዎታል - በዚህ ምክንያት, አዲስ ተግባራትን ያዘገያሉ ወይም ጥራትን ይቀንሳሉ ...

ከሦስት ዓመታት በኋላ የቴራፎርም ማህበረሰብ ሞጁሎች ስብስብን ለ AWS በ Github በማስተዳደር እና የ Terraformን በምርት ውስጥ የረዥም ጊዜ ጥገና ፣ አንቶን Babenko ልምዱን ለማካፈል ዝግጁ ነው-ለወደፊቱ እንዳይጎዳ የ TF ሞጁሎችን እንዴት እንደሚፃፍ።

በንግግሩ መጨረሻ ተሳታፊዎች በቴራፎርም ውስጥ የግብአት አስተዳደር መርሆዎችን፣ በቴራፎርም ውስጥ ካሉ ሞጁሎች ጋር የተቆራኙ ምርጥ ልምዶች እና አንዳንድ ከመሠረተ ልማት አስተዳደር ጋር የተያያዙ አንዳንድ ተከታታይ የውህደት መርሆችን ጠንቅቀው ያውቃሉ።

የክህደት ቃል: ይህ ሪፖርት እ.ኤ.አ. በኖቬምበር 2018 የተዘጋጀ መሆኑን አስተውያለሁ - 2 ዓመታት አልፈዋል። በሪፖርቱ ውስጥ የተወያየው የቴራፎርም 0.11 ስሪት ከአሁን በኋላ አይደገፍም። ባለፉት 2 ዓመታት ውስጥ፣ ብዙ ፈጠራዎች፣ ማሻሻያዎች እና ለውጦች የያዙ 2 አዲስ የተለቀቁ ናቸው። እባክዎን ለዚህ ትኩረት ይስጡ እና ሰነዶቹን ያረጋግጡ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ማጣቀሻዎች

ስሜ አንቶን ባቤንኮ ነው። አንዳንዶቻችሁ እኔ የጻፍኩትን ኮድ ተጠቅማችሁ ይሆናል። አሁን ስለዚህ ጉዳይ ከመቼውም ጊዜ በበለጠ በልበ ሙሉነት እናገራለሁ፣ ምክንያቱም ስታቲስቲክስን ማግኘት ስለምችል ነው።

በቴራፎርም ላይ እሰራለሁ እና ከ 2015 ጀምሮ ከ Terraform እና Amazon ጋር የተያያዙ በርካታ ክፍት ምንጭ ፕሮጀክቶች ላይ ንቁ ተሳታፊ እና አስተዋፅዖ አበርክቻለሁ።

ከዚያን ጊዜ ጀምሮ በሚያስደንቅ ሁኔታ ለማስቀመጥ በቂ ኮድ ጽፌያለሁ። እና ስለዚህ ጉዳይ አሁን ልነግርዎ እሞክራለሁ.

ከቴራፎርም ጋር ስለመሥራት ውስብስብ እና ዝርዝር ጉዳዮች እናገራለሁ. ግን ያ በእውነቱ የHighLoad ርዕሰ ጉዳይ አይደለም። እና አሁን ለምን እንደሆነ ይገባዎታል.

ከጊዜ በኋላ ቴራፎርም ሞጁሎችን መጻፍ ጀመርኩ። ተጠቃሚዎች ጥያቄዎችን ጽፈዋል, እንደገና ጻፍኳቸው. ከዚያም በቅድመ-ኮሚት መንጠቆ ወዘተ በመጠቀም ኮዱን ለመቅረጽ የተለያዩ መገልገያዎችን ጻፍኩኝ።

ብዙ አስደሳች ፕሮጀክቶች ነበሩ. የኮድ ማመንጨትን እወዳለሁ ምክንያቱም ኮምፒዩተሩ ለኔ እና ለፕሮግራም አውጪው ብዙ ስራዎችን እንዲሰራ ስለምወደው በአሁኑ ጊዜ ቴራፎርም ኮድ ጄኔሬተር ከእይታ ዲያግራም እየሰራሁ ነው። ምናልባት አንዳንዶቻችሁ አይተዋቸው ይሆናል። እነዚህ ቀስቶች ያሏቸው ቆንጆ ሳጥኖች ናቸው. እና "ወደ ውጪ ላክ" የሚለውን ቁልፍ ጠቅ ካደረግክ እና ሁሉንም እንደ ኮድ ካገኘህ በጣም ጥሩ ነው ብዬ አስባለሁ.

እኔ ከዩክሬን ነኝ። ኖርዌይ ውስጥ ለብዙ ዓመታት ኖሬአለሁ።

እንዲሁም የዚህ ሪፖርት መረጃ የተሰበሰበው ስሜን ከሚያውቁ እና በማህበራዊ አውታረ መረቦች ላይ ከሚያገኙኝ ሰዎች ነው። ሁልጊዜ ማለት ይቻላል ተመሳሳይ ቅጽል ስም አለኝ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

https://github.com/terraform-aws-modules
https://registry.terraform.io/namespaces/terraform-aws-modules

እንደገለጽኩት፣ እኔ የቴራፎርም AWS ሞጁሎች ዋና ጠባቂ ነኝ፣ በ GitHub ላይ ካሉት ትላልቅ ማከማቻዎች ውስጥ አንዱ ሲሆን ሞጁሎችን በጣም የተለመዱ ተግባራትን የምናስተናግድበት፡ VPC፣ Autoscaling፣ RDS።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና አሁን የሰሙት ነገር በጣም መሠረታዊው ነው። ቴራፎርም ምን እንደሆነ እንደተረዳህ ከተጠራጠርክ ጊዜህን ሌላ ቦታ ብታጠፋ ይሻላል። እዚህ ብዙ ቴክኒካዊ ቃላት ይኖራሉ. እናም የሪፖርቱን ደረጃ ከፍተኛ መሆኑን ከመግለጽ ወደኋላ አላልኩም። ይህ ማለት ብዙ ማብራሪያ ሳይኖር ሁሉንም ሊሆኑ የሚችሉ ቃላትን ተጠቅሜ መናገር እችላለሁ ማለት ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቴራፎርም እ.ኤ.አ. በ 2014 መሰረተ ልማትን እንደ ኮድ ለመፃፍ ፣ ለማቀድ እና ለማስተዳደር የሚያስችል መገልገያ ሆኖ ታየ። እዚህ ያለው ቁልፍ ጽንሰ-ሐሳብ "መሠረተ ልማት እንደ ኮድ" ነው.

ሁሉም ሰነዶች፣ እንዳልኩት፣ የተጻፉት በ ውስጥ ነው። terraform.io. ብዙ ሰዎች ስለዚህ ጣቢያ እንደሚያውቁ እና ሰነዶቹን እንዳነበቡ ተስፋ አደርጋለሁ። ከሆነ, በትክክለኛው ቦታ ላይ ነዎት.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

አንዳንድ ተለዋዋጮችን መጀመሪያ የምንገልጽበት መደበኛ የቴራፎርም ውቅር ፋይል ይህን ይመስላል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በዚህ አጋጣሚ "aws_region" ብለን እንገልፃለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ከዚያም ምን ዓይነት ሀብቶች መፍጠር እንደምንፈልግ እንገልፃለን.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ጥገኞችን እና አቅራቢዎችን ለመጫን አንዳንድ ትዕዛዞችን በተለይም "terraform init" እንሰራለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና የተገለጸው ውቅር እኛ ከፈጠርናቸው ሀብቶች ጋር የሚዛመድ መሆኑን ለማረጋገጥ የ"terraform apply" ትዕዛዙን እናስኬዳለን። ከዚህ በፊት ምንም ነገር ስላልፈጠርን ቴራፎርም እነዚህን ሀብቶች እንድንፈጥር ይገፋፋናል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህንን እናረጋግጣለን። ስለዚህ የባህር ጥፍር የሚባል ባልዲ እንፈጥራለን.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በርካታ ተመሳሳይ መገልገያዎችም አሉ. አማዞን የምትጠቀሙ ብዙዎቻችሁ AWS CloudFormation ወይም Google Cloud Deployment Manager ወይም Azure Resource Manager ታውቃላችሁ። በእያንዳንዳቸው በእነዚህ የህዝብ ደመና አቅራቢዎች ውስጥ ሀብቶችን ለማስተዳደር እያንዳንዳቸው የራሳቸው የሆነ ትግበራ አላቸው። ቴራፎርም በተለይ ከ100 በላይ አቅራቢዎችን እንድታስተዳድር ስለሚያስችል ጠቃሚ ነው። (ተጨማሪ ዝርዝሮች እዚህ)

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቴራፎርም ገና ከጅምሩ የተከተላቸው ግቦች፡-

  • ቴራፎርም የሀብት ነጠላ እይታን ይሰጣል።
  • ሁሉንም ዘመናዊ መድረኮችን እንድትደግፉ ይፈቅድልሃል።
  • እና ቴራፎርም ከመጀመሪያው ጀምሮ መሠረተ ልማትን በአስተማማኝ እና በተገመተ ሁኔታ ለመለወጥ የሚያስችል መገልገያ ሆኖ ተዘጋጅቷል።

እ.ኤ.አ. በ 2014 "የሚገመተው" የሚለው ቃል በዚህ አውድ ውስጥ በጣም ያልተለመደ ይመስላል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቴራፎርም ሁለንተናዊ መገልገያ ነው። ኤፒአይ ካለዎት ሁሉንም ነገር መቆጣጠር ይችላሉ፡-

  • የሚፈልጉትን ሁሉ ለማስተዳደር ከ120 በላይ አቅራቢዎችን መጠቀም ይችላሉ።
  • ለምሳሌ፣ የ GitHub ማከማቻዎችን መዳረሻ ለመግለፅ Terraformን መጠቀም ትችላለህ።
  • በጂራ ውስጥ ስህተቶችን መፍጠር እና መዝጋት ይችላሉ።
  • አዲስ Relic መለኪያዎችን ማስተዳደር ይችላሉ።
  • በእርግጥ ከፈለጉ በ dropbox ውስጥ ፋይሎችን መፍጠር ይችላሉ.

ይህ ሁሉ የሚገኘው በGo ውስጥ ሊገለጽ የሚችል ክፍት ኤፒአይ ያላቸውን Terraform አቅራቢዎችን በመጠቀም ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቴራፎርምን መጠቀም ጀመርን፣ በገጹ ላይ አንዳንድ ሰነዶችን አንብበን፣ ቪዲዮ ተመልክተናል፣ እና በቀደሙት ስላይዶች ላይ እንዳሳየሁት main.tf መፃፍ ​​ጀመርን እንበል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ሁሉም ነገር ጥሩ ነው, VPC የሚፈጥር ፋይል አለዎት.

VPC መፍጠር ከፈለጉ፣ እነዚህን 12 መስመሮች በግምት ይጥቀሱ። የትኛውን ክልል መፍጠር እንደሚፈልጉ፣ የትኛውን የአይፒ አድራሻ cidr_block እንደሚጠቀሙ ያብራሩ። ይኼው ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በተፈጥሮ, ፕሮጀክቱ ቀስ በቀስ ያድጋል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና እዚያ ብዙ አዳዲስ ነገሮችን ይጨምራሉ፡ ግብዓቶች፣ የውሂብ ምንጮች፣ ከአዳዲስ አቅራቢዎች ጋር ይዋሃዳሉ፣ በድንገት በ GitHub መለያዎ ውስጥ ተጠቃሚዎችን ለማስተዳደር Terraformን መጠቀም ይፈልጋሉ እና ሌሎችም ሊፈልጉ ይችላሉ። የዲ ኤን ኤስ አቅራቢዎች, ሁሉንም ነገር ይሻገሩ. ቴራፎርም ይህን ቀላል ያደርገዋል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የሚከተለውን ምሳሌ እንመልከት።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቀስ በቀስ የኢንተርኔት_ጌት ዌይን ያክላሉ ምክንያቱም ከቪፒሲዎ የበይነመረብ መዳረሻ እንዲኖርዎ ሀብቶች ይፈልጋሉ። ይህ ጥሩ ሀሳብ ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ውጤቱ ይህ main.tf ነው፡-

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህ የ main.tf የላይኛው ክፍል ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህ የ main.tf የታችኛው ክፍል ነው።

ከዚያ ንኡስ መረብን ይጨምራሉ. የ NAT መግቢያ መንገዶችን ፣ መንገዶችን ፣ የማዞሪያ ጠረጴዛዎችን እና ሌሎች ንዑስ መረቦችን ለመጨመር በሚፈልጉበት ጊዜ 38 መስመር አይኖርዎትም ፣ ግን በግምት 200-300 መስመሮች።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ያም ማለት የእርስዎ main.tf ፋይል ቀስ በቀስ እያደገ ነው። እና ብዙውን ጊዜ ሰዎች ሁሉንም ነገር በአንድ ፋይል ውስጥ ያስቀምጣሉ. 10-20 ኪባ በ main.tf ውስጥ ይታያል. ከ10-20 ኪባ የጽሑፍ ይዘት እንደሆነ አስብ። እና ሁሉም ነገር ከሁሉም ጋር የተገናኘ ነው. ይህ ቀስ በቀስ ለመሥራት አስቸጋሪ እየሆነ መጥቷል. 10-20 ኪባ ጥሩ የተጠቃሚ መያዣ ነው, አንዳንድ ጊዜ ተጨማሪ. እና ሰዎች ሁልጊዜ ይህ መጥፎ ነው ብለው አያስቡም።

እንደ መደበኛ ፕሮግራሚንግ፣ ማለትም እንደ ኮድ መሠረተ ልማት ሳይሆን፣ የተለያዩ ክፍሎችን፣ ፓኬጆችን፣ ሞጁሎችን፣ የቡድን ስብስቦችን ለመጠቀም እንጠቀማለን። ቴራፎርም ብዙ ተመሳሳይ ነገር እንዲያደርጉ ይፈቅድልዎታል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

  • ኮዱ እያደገ ነው።
  • በሀብቶች መካከል ያለው ጥገኝነት እያደገ ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ትልቅ ፍላጎት አለን። ከዚህ በኋላ እንደዚህ መኖር እንደማንችል እንረዳለን። የእኛ ኮድ በጣም ትልቅ እየሆነ መጥቷል. 10-20 ኪባ በእርግጥ በጣም ሰፊ አይደለም, ነገር ግን እየተነጋገርን ያለነው ስለ አውታረመረብ ቁልል ብቻ ነው, ማለትም እርስዎ የአውታረ መረብ ሀብቶችን ብቻ ጨምረዋል. እየተነጋገርን ያለነው ስለ አፕሊኬሽን ሎድ ባላንስ፣ ስለማሰማራት ES ክላስተር፣ ኩበርኔትስ፣ ወዘተ አይደለም፣ 100 ኪባ በቀላሉ ሊሸመን የሚችል። ይህንን ሁሉ ከጻፉት፣ ቴራፎርም የቴራፎርም ሞጁሎችን እንደሚያቀርብ በቅርቡ ይማራሉ ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቴራፎርም ሞጁሎች በቡድን የሚተዳደር ራሱን የቻለ የቴራፎርም ውቅር ነው። ስለ ቴራፎርም ሞጁሎች ማወቅ ያለብዎት ያ ብቻ ነው። እነሱ በፍፁም ብልህ አይደሉም, በአንድ ነገር ላይ በመመስረት ምንም ውስብስብ ግንኙነቶችን እንዲፈጥሩ አይፈቅዱም. ይህ ሁሉ በገንቢዎች ትከሻ ላይ ይወድቃል. ማለትም፣ ይህ እርስዎ ቀደም ብለው የጻፉት አንዳንድ የቴራፎርም ውቅር ነው። እና በቀላሉ በቡድን ሊጠሩት ይችላሉ.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ስለዚህ የእኛን 10-20-30 ኪባ ኮድ እንዴት እንደምናሻሽል ለመረዳት እየሞከርን ነው። አንዳንድ ሞጁሎችን መጠቀም እንዳለብን ቀስ በቀስ እየተገነዘብን ነው።

የሚያጋጥሙህ የመጀመሪያው ዓይነት ሞጁሎች የንብረት ሞጁሎች ናቸው። የእርስዎ መሠረተ ልማት ምን እንደሆነ፣ ንግድዎ ስለ ምን እንደሆነ፣ የት እና ሁኔታዎች ምን እንደሆኑ አይረዱም። እነዚህ በትክክል እኔ ከክፍት ምንጭ ማህበረሰብ ጋር የማስተዳድራቸው እና ለመሰረተ ልማትህ እንደ መጀመሪያዎቹ የግንባታ ብሎኮች ያቀረብናቸው ሞጁሎች ናቸው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የመርጃ ሞጁል ምሳሌ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የመርጃ ሞጁሉን ስንጠራ ከየትኛው መንገድ ይዘቱን መጫን እንዳለብን እንገልፃለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የትኛውን ስሪት ማውረድ እንደምንፈልግ እንጠቁማለን.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እዚያ ብዙ ክርክሮችን እናልፋለን. ይኼው ነው. ይህንን ሞጁል ስንጠቀም ማወቅ ያለብን ያ ብቻ ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ብዙ ሰዎች የቅርብ ጊዜውን ስሪት ከተጠቀሙ ሁሉም ነገር የተረጋጋ ይሆናል ብለው ያስባሉ. ግን አይደለም. መሠረተ ልማቱ መቀረፅ አለበት፤ ይህ ወይም ያ አካል በየትኛው ስሪት ላይ እንደዋለ በግልፅ መመለስ አለብን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በዚህ ሞጁል ውስጥ ያለው ኮድ እዚህ አለ. የደህንነት-ቡድን ሞጁል. እዚህ ጥቅልል ​​ወደ 640 ኛ መስመር ይሄዳል. በእያንዳንዱ በተቻለ ውቅረት ውስጥ የደህንነት-ክሮፕ ምንጭን በአማዞን መፍጠር በጣም ቀላል ያልሆነ ተግባር ነው። የጸጥታ ቡድን መፍጠር እና ምን አይነት ህግጋት መተላለፍ እንዳለበት መንገር ብቻ በቂ አይደለም። በጣም ቀላል ይሆናል. በአማዞን ውስጥ አንድ ሚሊዮን የተለያዩ ገደቦች አሉ። ለምሳሌ, ከተጠቀሙ የVPC የመጨረሻ ነጥብ፣ ቅድመ ቅጥያ ዝርዝር፣ የተለያዩ ኤፒአይዎች እና ይህን ሁሉ ከሌሎች ነገሮች ጋር ለማጣመር ይሞክራል, ከዚያ Terraform ይህን እንዲያደርጉ አይፈቅድልዎትም. እና የአማዞን ኤፒአይ ይህንንም አይፈቅድም። ስለዚህ, እነዚህን ሁሉ አስከፊ አመክንዮዎች በሞጁል ውስጥ መደበቅ እና ይህን የሚመስለውን የተጠቃሚ ኮድ መስጠት አለብን.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ተጠቃሚው በውስጡ እንዴት እንደሚሰራ ማወቅ አያስፈልገውም.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የመርጃ ሞጁሎችን ያቀፈው ሁለተኛው ዓይነት ሞጁሎች ለንግድዎ የበለጠ ተፈፃሚነት ያላቸውን ችግሮች አስቀድመው ይፈታሉ ። ብዙውን ጊዜ ይህ ቦታ ለቴራፎርም ማራዘሚያ ነው እና ለመለያዎች ፣ ለኩባንያው ደረጃዎች አንዳንድ ግትር እሴቶችን ያዘጋጃል። ቴራፎርም በአሁኑ ጊዜ እንድትጠቀም የማይፈቅድልህን ተግባር እዚያ ማከል ትችላለህ። ይህ አሁን ነው። አሁን ስሪት 0.11, ይህም ያለፈ ነገር ሊሆን ነው. ነገር ግን አሁንም፣ ቅድመ ፕሮሰሰር፣ jsonnet፣ cookiecutter እና ሌሎች ብዙ ነገሮች ለሙሉ ስራ ስራ ላይ መዋል ያለባቸው ረዳት ዘዴዎች ናቸው።

በመቀጠል የዚህን አንዳንድ ምሳሌዎችን አሳይሻለሁ.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የመሠረተ ልማት ሞጁል በትክክል በተመሳሳይ መንገድ ይጠራል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይዘቱን ከየት ማውረድ እንዳለበት ምንጩ ተጠቁሟል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በዚህ ሞጁል ውስጥ ብዙ የእሴቶች ስብስብ ገብተው ተላልፈዋል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በመቀጠል፣ በዚህ ሞጁል ውስጥ፣ VPC ወይም Application Load Balancer ለመፍጠር፣ ወይም የሴኪዩሪቲ ቡድን ለመፍጠር ወይም ለስላስቲክ ኮንቴይነር አገልግሎት ክላስተር ለመፍጠር የመርጃ ሞጁሎች ተጠርተዋል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ሁለት ዓይነት ሞጁሎች አሉ. በዚህ ዘገባ ውስጥ ያሰባሰብኳቸው አብዛኛዎቹ መረጃዎች በሰነዱ ውስጥ ስላልተጻፉ ይህንን ለመረዳት አስፈላጊ ነው።

እና አሁን በቴራፎርም ውስጥ ያለው ሰነድ በጣም ችግር ያለበት ነው ምክንያቱም እነዚህ ባህሪያት እንዳሉ ስለሚናገር እነሱን መጠቀም ይችላሉ። ግን እነዚህን ባህሪያት እንዴት መጠቀም እንዳለባት አልተናገረችም, ለምን እነሱን መጠቀም የተሻለ እንደሆነ. ስለዚህ, በጣም ብዙ ቁጥር ያላቸው ሰዎች አብረው መኖር የማይችሉትን ነገር ይጽፋሉ.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እነዚህን ሞጁሎች እንዴት እንደሚጽፉ በሚቀጥለው እንይ። ከዚያ እንዴት እነሱን መጥራት እንዳለብን እና ከኮዱ ጋር እንዴት እንደሚሰራ እንመለከታለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ቴራፎርም መዝገብ ቤት - https://registry.terraform.io/

ጠቃሚ ምክር #0 የመርጃ ሞጁሎችን አለመጻፍ ነው። አብዛኛዎቹ እነዚህ ሞጁሎች ቀድሞውኑ ለእርስዎ ተጽፈዋል። እንዳልኩት፣ ክፍት ምንጭ ናቸው፣ ምንም አይነት የንግድዎ አመክንዮ የላቸውም፣ ለአይፒ አድራሻዎች፣ የይለፍ ቃላት፣ ወዘተ ሃርድ ኮድ የተደረገባቸው እሴቶች የላቸውም። ሞጁሉ በጣም ተለዋዋጭ ነው። እና ምናልባትም አስቀድሞ ተጽፎ ሊሆን ይችላል። ከአማዞን ብዙ ሞጁሎች አሉ። ወደ 650. እና አብዛኛዎቹ ጥሩ ጥራት ያላቸው ናቸው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በዚህ ምሳሌ፣ አንድ ሰው ወደ አንተ መጥቶ፣ “ዳታቤዝ ማስተዳደር መቻል እፈልጋለሁ። የውሂብ ጎታ መፍጠር እንድችል ሞጁል ፍጠር። ሰውዬው የአማዞን ወይም የቴራፎርም አተገባበር ዝርዝሮችን አያውቅም። እሱ በቀላሉ “MSSQLን ማስተዳደር እፈልጋለሁ” ይላል። ማለትም ሞጁላችንን ይደውላል፣ የሞተርን አይነት እዚያ ያሳልፋል እና የሰዓት ዞኑን ይጠቁማል ማለታችን ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እናም አንድ ሰው በዚህ ሞጁል ውስጥ ሁለት የተለያዩ ሀብቶችን እንደምንፈጥር ማወቅ የለበትም-አንደኛው ለ MSSQL ፣ ሁለተኛው ለሁሉም ነገር ፣ ምክንያቱም በ Terraform 0.11 ውስጥ የሰዓት ሰቅ ዋጋዎችን እንደ አማራጭ መግለጽ አይችሉም።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ከዚህ ሞጁል በሚወጣበት ጊዜ አንድ ሰው በቀላሉ አድራሻ መቀበል ይችላል። ከየትኛው የመረጃ ቋት ፣ ከየትኛው ምንጭ ይህንን ሁሉ በውስጣችን እንደፈጠርን አያውቅም። ይህ በጣም አስፈላጊ የመደበቂያ አካል ነው. እና ይሄ በክፍት ምንጭ ይፋዊ በሆኑት ሞጁሎች ላይ ብቻ ሳይሆን በፕሮጀክቶችዎ እና በቡድኖችዎ ውስጥ ለሚጽፏቸው ሞጁሎችም ይሠራል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህ ሁለተኛው መከራከሪያ ነው፣ እሱም ቴራፎርምን ለጥቂት ጊዜ ከተጠቀምክ በጣም አስፈላጊ ነው። ሁሉንም የቴራፎርም ሞጁሎች ለድርጅትዎ የሚያስቀምጡበት ማከማቻ አለዎት። እና ይህ ፕሮጀክት በጊዜ ሂደት ወደ አንድ ወይም ሁለት ሜጋባይት መጠን ማደጉ በጣም የተለመደ ነው. ይህ ጥሩ ነው።

ችግሩ ግን ቴራፎርም እነዚህን ሞጁሎች እንዴት እንደሚጠራው ነው። ለምሳሌ፣ እያንዳንዱን ተጠቃሚ ለመፍጠር ሞጁሉን ከጠራህ፣ ቴራፎርም መጀመሪያ ሙሉውን ማከማቻ ይጭናል ከዚያም ልዩ ሞጁል ወዳለበት አቃፊ ይሄዳል። በዚህ መንገድ በእያንዳንዱ ጊዜ አንድ ሜጋባይት ያወርዳሉ. 100 ወይም 200 ተጠቃሚዎችን የሚያስተዳድሩ ከሆነ 100 ወይም 200 ሜጋባይት ያወርዳሉ እና ወደዚያ አቃፊ ይሂዱ። ስለዚህ በተፈጥሮ "ቴራፎርም ኢንት" በገባ ቁጥር ብዙ ነገሮችን ማውረድ አትፈልግም።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

https://github.com/mbtproject/mbt

ለዚህ ችግር ሁለት መፍትሄዎች አሉ. የመጀመሪያው አንጻራዊ መንገዶችን መጠቀም ነው። በዚህ መንገድ አቃፊው አካባቢያዊ (./) መሆኑን በኮዱ ውስጥ ይጠቁማሉ። እና ማንኛውንም ነገር ከማስጀመርዎ በፊት፣ የዚህን ማከማቻ Git clone በአገር ውስጥ ያደርጉታል። በዚህ መንገድ አንድ ጊዜ ያደርጉታል.

እርግጥ ነው, ብዙ አሉታዊ ጎኖች አሉ. ለምሳሌ፣ ሥሪትን መጠቀም አይችሉም። እና ይሄ አንዳንድ ጊዜ አብሮ ለመኖር አስቸጋሪ ነው.

ሁለተኛው መፍትሄ. ብዙ ንዑስ ሞጁሎች ካሉዎት እና ቀደም ሲል የተወሰነ ዓይነት የተቋቋመ የቧንቧ መስመር ካለዎት ከዚያ የ MBT ፕሮጀክት አለ ፣ ይህም ከአንድ ሞኖሬፖዚቶሪ ብዙ የተለያዩ ፓኬጆችን ለመሰብሰብ እና ወደ S3 እንዲጭኑ ያስችልዎታል። ይህ በጣም ጥሩ መንገድ ነው. ስለዚህ, iam-user-1.0.0.zip ፋይል 1 Kb ብቻ ይመዝናል, ምክንያቱም ይህን ሃብት ለመፍጠር ኮድ በጣም ትንሽ ነው. እና በጣም በፍጥነት ይሰራል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በሞጁሎች ውስጥ ጥቅም ላይ ሊውሉ የማይችሉትን እንነጋገር.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ለምንድን ነው ይህ ሞጁሎች ውስጥ ክፉ የሆነው? በጣም መጥፎው ነገር ተጠቃሚን መገመት ነው። ተጠቃሚ በተለያዩ ሰዎች ሊጠቀሙበት የሚችል የአቅራቢ ማረጋገጫ አማራጭ ነው ብለው ያስቡ። ለምሳሌ፣ ሁላችንም ሚናውን እናዋህዳለን። ይህ ማለት ቴራፎርም ይህንን ሚና ይወስዳል ማለት ነው። እና ከዚያ በዚህ ሚና ሌሎች ድርጊቶችን ይፈጽማል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ክፋቱ የሆነው ቫስያ በአንድ መንገድ ከአማዞን ጋር መገናኘት ከፈለገ ለምሳሌ ነባሪውን የአካባቢ ተለዋዋጭ በመጠቀም እና ፔትያ በሚስጥር ቦታ ያለውን የጋራ ቁልፉን መጠቀም ይወዳል። ቴራፎርም. እና ስቃይ እንዳያጋጥማቸው, ይህንን እገዳ በሞጁሉ ውስጥ ማመልከት አያስፈልግም. ይህ በከፍተኛ ደረጃ መጠቆም አለበት. ይኸውም የመርጃ ሞጁል፣ የመሠረተ ልማት ሞጁል እና ቅንብር ከላይ አለን:: እና ይህ ከፍ ያለ ቦታ መጠቆም አለበት.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ሁለተኛው ክፋት ሰጪ ነው። እዚህ ክፋቱ ቀላል አይደለም, ምክንያቱም ኮድ ከጻፍክ እና ለእርስዎ የሚሰራ ከሆነ, ከዚያ ከሰራ ለምን እንደሚቀይር ያስቡ ይሆናል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ክፋቱ ይህ አቅራቢ መቼ እንደሚጀመር ሁልጊዜ መቆጣጠር አለመቻላችሁ ነው፣ በመጀመሪያ። በሁለተኛ ደረጃ, aws ec2 ምን ማለት እንደሆነ አይቆጣጠሩም, ማለትም አሁን ስለ ሊኑክስ ወይም ዊንዶውስ እየተነጋገርን ነው. ስለዚህ በተለያዩ ኦፕሬቲንግ ሲስተሞች ላይ ወይም ለተለያዩ የተጠቃሚ ጉዳዮች ተመሳሳይ የሚሰራ ነገር መፃፍ አይችሉም።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በጣም የተለመደው ምሳሌ ፣በኦፊሴላዊው ሰነድ ውስጥም የተመለከተው ፣ aws_intance ከፃፉ እና ብዙ ክርክሮችን ከገለጹ ፣ እዚያ አቅራቢውን “አካባቢ-ኤክሴክ” ከገለጹ እና ያንተን አቅም ካከናወኑ ምንም ችግር የለውም ። የጨዋታ መጽሐፍ .

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በእውነቱ, አዎ, በዚህ ውስጥ ምንም ስህተት የለበትም. ግን በጥሬው በቅርቡ ይህ አካባቢያዊ-exec ነገር እንደሌለ ይገነዘባሉ ፣ ለምሳሌ በ launch_configuration ውስጥ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና launch_configuration ሲጠቀሙ እና ከአንድ ምሳሌ አውቶማቲክ ቡድን መፍጠር ሲፈልጉ በ launch_configuration ውስጥ የ"አቅራቢ" ጽንሰ-ሀሳብ የለም። "የተጠቃሚ ውሂብ" ጽንሰ-ሐሳብ አለ.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ስለዚህ, የበለጠ ዓለም አቀፍ መፍትሔ የተጠቃሚ ውሂብን መጠቀም ነው. እና በራሱ ምሳሌው ላይ፣ ምሳሌው ሲበራ ወይም በተመሳሳይ የተጠቃሚ ውሂብ ውስጥ፣ አውቶማቲክ ቡድኑ ይህን ማስጀመሪያ_ውቅር ሲጠቀም ይጀምራል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

አሁንም አቅራቢውን ማስኬድ ከፈለጉ ፣ ምክንያቱም እሱ የማጣበቅ አካል ነው ፣ አንድ ምንጭ ሲፈጠር ፣ በዚያን ጊዜ አቅራቢውን ፣ ትዕዛዝዎን ማሄድ ያስፈልግዎታል። ብዙ እንደዚህ ያሉ ሁኔታዎች አሉ.

እና ለዚህ በጣም ትክክለኛው ምንጭ null_resource ይባላል። Null_resource መቼም ቢሆን በትክክል ያልተፈጠረ ዱሚ ሃብት ነው። ምንም አይነካውም ፣ ምንም ኤፒአይ የለም ፣ ምንም አውቶማቲክስ የለም። ነገር ግን ትዕዛዙን መቼ እንደሚያሄዱ እንዲቆጣጠሩ ያስችልዎታል. በዚህ ጉዳይ ላይ ትዕዛዙ በፍጥረት ጊዜ ይሠራል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ማያያዣ http://bit.ly/common-traits-in-terraform-modules

በርካታ ምልክቶች አሉ. ወደ ሁሉም ምልክቶች በዝርዝር አልሄድም። ስለዚህ ጉዳይ አንድ ጽሑፍ አለ. ነገር ግን ከቴራፎርም ጋር ከሰሩ ወይም የሌሎች ሰዎችን ሞጁሎች ከተጠቀሙ ብዙ ሞጁሎች ልክ እንደ አብዛኛዎቹ በክፍት ምንጭ ውስጥ ያሉ ብዙ ሞጁሎች በሰዎች ለፍላጎታቸው የተፃፉ መሆናቸውን ብዙ ጊዜ አስተውለዋል። አንድ ሰው ጽፎ ችግሩን ፈታለት. በ GitHub ውስጥ አጣብቄዋለሁ፣ ይኑር። ይኖራል, ነገር ግን እዚያ ምንም ሰነዶች እና ምሳሌዎች ከሌሉ ማንም አይጠቀምበትም. እና ከተለየ ስራው የበለጠ ትንሽ እንዲፈቱ የሚያስችልዎ ተግባር ከሌለ ማንም አይጠቀምበትም። ተጠቃሚዎችን የማጣት ብዙ መንገዶች አሉ።

ሰዎች እንዲጠቀሙበት አንድ ነገር መጻፍ ከፈለጉ እነዚህን ምልክቶች እንዲከተሉ እመክራለሁ.

ይህ:

  • ሰነዶች እና ምሳሌዎች.
  • ሙሉ ተግባር.
  • ምክንያታዊ ነባሪዎች።
  • ኮድ አጽዳ።
  • ሙከራዎች።

ፈተናዎች ለመጻፍ በጣም አስቸጋሪ ስለሆኑ የተለየ ሁኔታ ናቸው. በሰነድ እና በምሳሌዎች የበለጠ አምናለሁ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ስለዚህ, ሞጁሎችን እንዴት እንደሚጽፉ ተመልክተናል. ሁለት ክርክሮች አሉ. የመጀመሪያው ፣ በጣም አስፈላጊው ፣ ከቻልክ መፃፍ አይደለም ፣ ምክንያቱም ብዙ ሰዎች እነዚህን ተግባራት ካንተ በፊት ስላደረጉ ነው። እና ሁለተኛ, አሁንም ከወሰኑ, ከዚያም በሞጁሎች እና አቅራቢዎች ውስጥ አቅራቢዎችን ላለመጠቀም ይሞክሩ.

ይህ የሰነዱ ግራጫ ክፍል ነው። አሁን እያሰቡ ይሆናል፡- “የሆነ ነገር ግልጽ አይደለም። አላመንኩም." ግን ከስድስት ወር በኋላ እናያለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

አሁን እነዚህን ሞጁሎች እንዴት እንደሚጠሩ እንነጋገር.

የእኛ ኮድ በጊዜ ሂደት እንደሚያድግ እንረዳለን። ከአሁን በኋላ አንድ ፋይል የለንም፣ 20 ፋይሎች አሉን። ሁሉም በአንድ አቃፊ ውስጥ ናቸው. ወይም በአምስት አቃፊዎች ውስጥ ሊሆን ይችላል. ምናልባት እኛ እንደምንም በክልል፣ በአንዳንድ አካላት መከፋፈል እየጀመርን ነው። ከዚያ አሁን አንዳንድ የማመሳሰል እና የኦርኬስትራ ቅንጅቶች እንዳሉን እንረዳለን። ማለትም የኔትወርክ ግብዓቶችን ከቀየርን ምን ማድረግ እንዳለብን፣ በተቀረው ሀብታችን ምን ማድረግ እንዳለብን፣ እነዚህን ጥገኝነቶች እንዴት እንደምናመጣ ወዘተ መረዳት አለብን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ሁለት ጽንፎች አሉ። የመጀመሪያው ጽንፍ ሁሉም በአንድ ነው። አንድ ዋና ፋይል አለን። ለጊዜው፣ ይህ በቴራፎርም ድህረ ገጽ ላይ ይፋዊው ምርጥ አሰራር ነበር።

አሁን ግን ተወግዶ ተወግዷል ተብሎ ተጽፏል። ከጊዜ በኋላ የቴራፎርም ማህበረሰብ ይህ ከምርጥ አሠራር በጣም የራቀ መሆኑን ተረድቷል, ምክንያቱም ሰዎች ፕሮጀክቱን በተለያየ መንገድ መጠቀም ጀመሩ. ችግሮችም አሉ። ለምሳሌ፣ ሁሉንም ጥገኞች በአንድ ቦታ ስንዘረዝር። "የቴራፎርም እቅድ" ን ጠቅ ስናደርግ እና ቴራፎርም የሁሉንም ሀብቶች ሁኔታ እስኪያሻሽል ድረስ ብዙ ጊዜ ሊያልፍ ይችላል።

ብዙ ጊዜ ለምሳሌ 5 ደቂቃ ነው። ለአንዳንዶች ይህ ብዙ ጊዜ ነው. 15 ደቂቃ የፈጀባቸውን ጉዳዮች አይቻለሁ። የAWS ኤፒአይ በእያንዳንዱ ግብአት ሁኔታ ምን እየተፈጠረ እንዳለ ለማወቅ 15 ደቂቃዎችን አሳልፏል። ይህ በጣም ሰፊ ቦታ ነው.

እና ፣ በተፈጥሮ ፣ አንድን ነገር በአንድ ቦታ ለመለወጥ ሲፈልጉ ፣ ከዚያ 15 ደቂቃዎችን ሲጠብቁ ፣ ተዛማጅ ችግር ይታያል ፣ እና የአንዳንድ ለውጦችን ሸራ ይሰጥዎታል። ተፍተሃል፣ "አዎ" ጻፍክ፣ እና የሆነ ችግር ተፈጥሯል። ይህ በጣም እውነተኛ ምሳሌ ነው። ቴራፎርም እርስዎን ከችግሮች ለመጠበቅ አይሞክርም። ማለትም የፈለከውን ጻፍ። ችግሮች ይኖራሉ - ችግሮችዎ። ቴራፎርም 0.11 በምንም መንገድ ሊረዳዎ ባይሞክርም። በ0.12 ውስጥ “Vasya፣ ይህን በእውነት ትፈልጋለህ፣ ወደ አእምሮህ መምጣት ትችላለህ?” እንድትል የሚያስችሉህ አንዳንድ አስደሳች ቦታዎች አሉ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ሁለተኛው መንገድ ይህንን አካባቢ መቀነስ ነው, ማለትም ከአንድ ቦታ የሚደረጉ ጥሪዎች ከሌላ ቦታ ብዙም ሊገናኙ ይችላሉ.

ብቸኛው ችግር ተጨማሪ ኮድ መጻፍ ያስፈልግዎታል, ማለትም ተለዋዋጮችን በበርካታ ፋይሎች ውስጥ መግለፅ እና ይህንን ማዘመን ያስፈልግዎታል. አንዳንድ ሰዎች አይወዱትም. ይህ ለእኔ የተለመደ ነው። እና አንዳንድ ሰዎች “ይህን በተለያዩ ቦታዎች ለምን ጻፍኩ ፣ ሁሉንም አንድ ቦታ ላይ አደርጋለሁ” ብለው ያስባሉ። ይህ ይቻላል, ግን ይህ ሁለተኛው ጽንፍ ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህ ሁሉ በአንድ ቦታ የሚኖረው ማነው? አንድ, ሁለት, ሶስት ሰዎች, ማለትም አንድ ሰው እየተጠቀመበት ነው.

እና አንድ የተወሰነ አካል ፣ አንድ ብሎክ ወይም አንድ የመሠረተ ልማት ሞጁል የሚጠራው ማነው? ከአምስት እስከ ሰባት ሰዎች. ይህ አሪፍ ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በጣም የተለመደው መልስ መሃል ላይ የሆነ ቦታ ነው. ፕሮጀክቱ ትልቅ ከሆነ, ከዚያም ብዙውን ጊዜ ምንም አይነት መፍትሄ የማይስማማበት እና ሁሉም ነገር እዚያ የማይሰራበት ሁኔታ ይኖርዎታል, ስለዚህ ድብልቅን ያበቃል. ሁለቱም ጥቅሞች እንዳሉት እስካወቁ ድረስ በዚህ ውስጥ ምንም ስህተት የለበትም.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በ VPC ቁልል ውስጥ የሆነ ነገር ከተቀየረ እና እነዚህን ለውጦች በ EC2 ላይ መተግበር ከፈለግክ፣ ማለትም አዲስ ሳብኔት ስለነበረህ አውቶማቲክ ቡድኑን ማዘመን ፈልገህ ከሆነ፣ ይህን አይነት ጥገኝነት ኦርኬስትራ ብዬ እጠራለሁ። አንዳንድ መፍትሄዎች አሉ: ማን ምን ይጠቀማል?

ምን መፍትሄዎች እንዳሉ ሀሳብ መስጠት እችላለሁ. አስማት ለማድረግ ቴራፎርምን መጠቀም ትችላለህ ወይም ቴራፎርምን ለመጠቀም ሜካፋይሎችን መጠቀም ትችላለህ። እና የሆነ ነገር እዚያ እንደተለወጠ ይመልከቱ፣ እዚህ ማስጀመር ይችላሉ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህን ውሳኔ እንዴት ይወዳሉ? ይህ ጥሩ መፍትሄ እንደሆነ የሚያምን አለ? ፈገግታ አይቻለሁ፣ ይመስላል ጥርጣሬዎች ገብተዋል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በእርግጥ ይህንን በቤት ውስጥ አይሞክሩ. ቴራፎርም ከቴራፎርም እንዲሄድ ተደርጎ አልተሰራም።

በአንድ ዘገባ ላይ “አይ፣ ይህ አይሰራም” ብለውኛል። ነጥቡ መስራት የለበትም። ምንም እንኳን Terraformን ከቴራፎርም እና ከዚያም ቴራፎርምን ማስጀመር ሲችሉ በጣም አስደናቂ ቢመስልም ያንን ማድረግ የለብዎትም። ቴራፎርም ሁል ጊዜ በጣም በቀላሉ መጀመር አለበት።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

https://github.com/gruntwork-io/terragrunt/

በአንድ ቦታ ላይ የሆነ ነገር ሲቀየር የኦርኬስትራ ጥሪ ካስፈለገዎት ቴራግራንት አለ።

Terragrunt ወደ የመሠረተ ልማት ሞጁሎች ጥሪዎችን ለማስተባበር እና ለማደራጀት የሚያስችል የቴራፎርም ተጨማሪ መገልገያ ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የተለመደው የቴራፎርም ውቅር ፋይል ይህን ይመስላል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የትኛውን ልዩ ሞጁል መደወል እንደሚፈልጉ ይገልጻሉ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ሞጁሉ ምን ዓይነት ጥገኛዎች አሉት?

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ይህ ሞጁል ምን ዓይነት ክርክሮችን ይቀበላል. ስለ ቴራግራንት ማወቅ ያለው ያ ብቻ ነው።

ሰነዱ እዚያ አለ፣ እና በ GitHub ላይ 1 ኮከቦች አሉ። ግን በአብዛኛዎቹ ሁኔታዎች ማወቅ ያለብዎት ይህ ነው። እና ይህ ከ Terraform ጋር ለመስራት ገና በጀመሩ ኩባንያዎች ውስጥ ለመተግበር በጣም ቀላል ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ስለዚህ ኦርኬስትራ ቴራግራንት ነው። ሌሎች አማራጮችም አሉ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

አሁን ከኮዱ ጋር እንዴት እንደሚሰራ እንነጋገር.

አዲስ ባህሪያትን ወደ ኮድዎ ማከል ከፈለጉ በአብዛኛዎቹ ሁኔታዎች ይህ ቀላል ነው። አዲስ ምንጭ እየጻፉ ነው, ሁሉም ነገር ቀላል ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

አስቀድመህ የፈጠርከው ግብአት ካለህ ለምሳሌ የAWS አካውንት ከከፈትክ በኋላ ስለ ቴራፎርም ተምረሃል እና ያለህን ግብአት መጠቀም ከፈለክ ሞጁሉን በዚህ መንገድ ማራዘምህ ተገቢ ነው። ያሉትን ሀብቶች መጠቀምን ይደግፋል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና የማገጃ ሃብቱን በመጠቀም አዳዲስ ሀብቶች መፈጠርን ደግፈዋል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በውጤቱ ላይ ሁል ጊዜ የውጤት መታወቂያውን በተጠቀምንበት ሁኔታ እንመለሳለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በ Terraform 0.11 ውስጥ ሁለተኛው በጣም አስፈላጊ ችግር ከዝርዝሮች ጋር አብሮ በመስራት ላይ ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ችግሩ እንደዚህ አይነት የተጠቃሚዎች ዝርዝር ካለን ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና እነዚህን ተጠቃሚዎች የብሎክ ሪሶርስን በመጠቀም ስንፈጥር ሁሉም ነገር ደህና ነው። ለእያንዳንዱ ፋይል በመፍጠር ሙሉውን ዝርዝር ውስጥ እናልፋለን. ሁሉ ነገር ጥሩ ነው. እና ከዚያ ፣ ለምሳሌ ፣ በመሃል ላይ ያለው ተጠቃሚ3 ፣ ከዚህ መወገድ አለበት ፣ ከዚያ በኋላ የተፈጠሩት ሁሉም ሀብቶች እንደገና ይፈጠራሉ ምክንያቱም መረጃ ጠቋሚው ይለወጣል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በግዛታዊ አካባቢ ከዝርዝሮች ጋር መስራት። ሁኔታዊ አካባቢ ምንድን ነው? ይህ ሃብት ሲፈጠር አዲስ እሴት የሚፈጠርበት ሁኔታ ይህ ነው። ለምሳሌ፣ AWS መዳረሻ ቁልፍ ወይም AWS ሚስጥራዊ ቁልፍ፣ ማለትም ተጠቃሚ ስንፈጥር፣ አዲስ የመዳረሻ ወይም ሚስጥራዊ ቁልፍ እንቀበላለን። እና ተጠቃሚን ባጠፋን ቁጥር ይህ ተጠቃሚ አዲስ ቁልፍ ይኖረዋል። ግን ይህ feng shui አይደለም ምክንያቱም ተጠቃሚው አንድ ሰው ከቡድኑ በወጣ ቁጥር አዲስ ተጠቃሚ ከፈጠርን ከእኛ ጋር ጓደኛ መሆን አይፈልግም።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህ ነው መፍትሄው። ይህ በJsonnet የተጻፈ ኮድ ነው። Jsonnet ከGoogle የመጣ ቋንቋ ነው።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ይህ ትእዛዝ ይህንን አብነት እንዲቀበሉ ያስችልዎታል እና እንደ ውፅዓት በእርስዎ አብነት መሰረት የተሰራውን የ json ፋይል ይመልሳል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

አብነቱ ይህን ይመስላል።

ቴራፎርም ከሁለቱም HCL እና Json ጋር በተመሳሳይ መልኩ እንዲሰሩ ይፈቅድልዎታል፣ ስለዚህ Jsonን የማመንጨት ችሎታ ካሎት፣ ወደ ቴራፎርም ሊያንሸራትቱት ይችላሉ። .tf.json ቅጥያ ያለው ፋይል በተሳካ ሁኔታ ይወርዳል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ከዚያ እንደተለመደው ከእሱ ጋር እንሰራለን-terraform init, terramorm ይተገበራል. እና ሁለት ተጠቃሚዎችን እንፈጥራለን.

አሁን አንድ ሰው ቡድኑን ቢለቅ አንፈራም. የ json ፋይልን ብቻ እናስተካክላለን። Vasya Pupkin ወጣ, ፔትያ ፒያቶችኪን ቀረ. Petya Pyatochkin አዲስ ቁልፍ አይቀበልም.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

Terraformን ከሌሎች መሳሪያዎች ጋር ማቀናጀት በእውነቱ የቴራፎርም ስራ አይደለም። ቴራፎርም ሃብቶችን ለመፍጠር እንደ መድረክ ተፈጠረ እና ያ ነው። እና በኋላ የሚመጣው ሁሉም ነገር የቴራፎርም ስጋት አይደለም. እና እዚያ ውስጥ ሽመና አያስፈልግም. የሚያስፈልገዎትን ሁሉ የሚያደርግ, Ansible አለ.

ነገር ግን ቴራፎርምን ማራዘም ስንፈልግ እና የሆነ ነገር ካለቀ በኋላ አንዳንድ ትዕዛዞችን ስንጠራ ሁኔታዎች ይከሰታሉ።

የመጀመሪያው መንገድ. ይህንን ትዕዛዝ የምንጽፍበት ውፅዓት እንፈጥራለን.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

እና ከዚያ ይህን ትዕዛዝ ከሼል ቴራፎርም ውፅዓት እንጠራዋለን እና የምንፈልገውን ዋጋ እንገልፃለን. ስለዚህ, ትዕዛዙ በሁሉም የተተኩ እሴቶች ይከናወናል. በጣም ምቹ ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ሁለተኛ መንገድ. በመሠረተ ልማታችን ላይ በሚደረጉ ለውጦች ላይ በመመስረት ይህ የኑል_ሪሶርስ አጠቃቀም ነው። የአንዳንድ ሀብቶች መታወቂያ እንደተለወጠ ያው local-exe መደወል እንችላለን።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

በተፈጥሮ ፣ ይህ ሁሉ በወረቀት ላይ ለስላሳ ነው ፣ ምክንያቱም አማዞን ፣ ልክ እንደሌሎች የህዝብ አቅራቢዎች ፣ የራሱ የሆነ ጠርዝ አለው።

በጣም የተለመደው የጠርዝ ጉዳይ የ AWS መለያ ሲከፍቱ የትኞቹን ክልሎች እንደሚጠቀሙ አስፈላጊ ነው; ይህ ባህሪ እዚያ ነቅቷል; ምናልባት ከዲሴምበር 2013 በኋላ ከፍተውታል; ምናልባት ነባሪውን በ VPC ወዘተ እየተጠቀሙ ሊሆን ይችላል። ብዙ ገደቦች አሉ። እና አማዞን በሰነዶቹ ውስጥ በትኗቸዋል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ለማስወገድ የምመክረው ጥቂት ነገሮች አሉ።

ለመጀመር፣ በ Terraform plan ወይም Terraform CLI ውስጥ ያሉ ሁሉንም ሚስጥራዊ ያልሆኑ ክርክሮችን ያስወግዱ። ይህ ሁሉ ወደ tfvars ፋይል ወይም በአካባቢ ተለዋዋጭ ውስጥ ሊቀመጥ ይችላል።

ግን ይህን ሙሉ የአስማት ትዕዛዝ ማስታወስ አያስፈልግዎትም. የቴራፎርም እቅድ - var እና ጠፍቷል እንሄዳለን. የመጀመሪያው ተለዋዋጭ var ነው, ሁለተኛው ተለዋዋጭ var ነው, ሦስተኛው, አራተኛው. እኔ ብዙ ጊዜ የምጠቀመው እንደ ኮድ በጣም አስፈላጊው የመሠረተ ልማት መርሆ ኮድን በመመልከት ብቻ እዚያ ምን እንደሚዘረጋ፣ በምን ሁኔታ እና በምን አይነት እሴቶች ላይ ግልጽ ግንዛቤ ሊኖረኝ ይገባል። እና ስለዚህ ሰነዶቹን ማንበብ ወይም ቫስያን ክላስተር ለመፍጠር ምን አይነት መለኪያዎችን እንደተጠቀመ መጠየቅ የለብኝም. ብዙ ጊዜ ከአካባቢው ጋር የሚዛመድ የ tfvars ቅጥያ ያለው ፋይል መክፈት እና እዚያ ያለውን ሁሉንም ነገር ማየት አለብኝ።

እንዲሁም ወሰንን ለመቀነስ የታለመ ክርክሮችን አይጠቀሙ። ለዚህም አነስተኛ የመሠረተ ልማት ሞጁሎችን መጠቀም በጣም ቀላል ነው.

እንዲሁም, ትይዩነትን መገደብ እና መጨመር አያስፈልግም. 150 ሃብቶች ካሉኝ እና የአማዞንን ትይዩ ከነባሪው 10 ወደ 100 ማሳደግ ከፈለግኩ ምናልባት የሆነ ችግር ሊፈጠር ይችላል። ወይም አሁን ጥሩ ሊሆን ይችላል፣ ነገር ግን Amazon ብዙ ጥሪዎችን እያደረግክ እንደሆነ ሲናገር ችግር ውስጥ ትገባለህ።

ቴራፎርም አብዛኛዎቹን እነዚህን ችግሮች ዳግም ለማስጀመር ይሞክራል፣ ነገር ግን ምንም ነገር አታገኙም። ትይዩ=1 በAWS API ውስጥ ወይም በቴራፎርም አቅራቢው ውስጥ በሆነ ስህተት ላይ ከተሰናከሉ ለመጠቀም ጠቃሚ ነገር ነው። እና ከዚያ መጥቀስ ያስፈልግዎታል: parallelism=1 እና Terraform አንድ ጥሪ, ከዚያም ሁለተኛው, ከዚያም ሶስተኛው እስኪጨርስ ድረስ ይጠብቁ. አንድ በአንድ ያስነሳቸዋል።

ሰዎች ብዙ ጊዜ ይጠይቁኛል፣ “ለምን ይመስለኛል ቴራፎርም የስራ ቦታዎች ክፉ ናቸው?” እንደ እኔ እምነት የመሠረተ ልማት መርሆው ምን ዓይነት መሠረተ ልማት እንደተፈጠረና በምን ዓይነት እሴት ማየት ነው።

የስራ ቦታዎች በተጠቃሚዎች አልተፈጠሩም። ይህ ማለት ተጠቃሚዎች በ GitHub ጉዳዮች ላይ ከቴራፎርም የስራ ቦታዎች መኖር አንችልም ብለው ጽፈዋል ማለት አይደለም። አይ እንደዚህ አይደለም. ቴራፎርም ኢንተርፕራይዝ የንግድ መፍትሄ ነው። ቴራፎርም ከ HashiCorp የስራ ቦታዎች እንደሚያስፈልገን ወሰነ፣ ስለዚህ አስገባነው። በተለየ አቃፊ ውስጥ ማስቀመጥ በጣም ቀላል ሆኖ አግኝቼዋለሁ. ከዚያ ትንሽ ተጨማሪ ፋይሎች ይኖራሉ, ግን የበለጠ ግልጽ ይሆናል.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ከኮዱ ጋር እንዴት እንደሚሰራ? እንደ እውነቱ ከሆነ, ከዝርዝሮች ጋር መስራት ብቸኛው ህመም ነው. እና Terraformን ቀላል ይውሰዱ። ሁሉንም ነገር ለእርስዎ ታላቅ የሚያደርግ ነገር ይህ አይደለም። እዚያ በሰነዱ ውስጥ የተጻፈውን ሁሉ ማባረር አያስፈልግም.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

የሪፖርቱ ርዕስ "ለወደፊቱ" ተጽፏል. ስለዚህ ጉዳይ በአጭሩ እናገራለሁ. ለወደፊቱ ይህ ማለት 0.12 በቅርቡ ይለቀቃል ማለት ነው.

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

0.12 ብዙ አዳዲስ ነገሮች ነው። ከመደበኛ ፕሮግራሚንግ የመጡ ከሆኑ የግራ እና የቀኝ ጎኖቹ በአንድ ጊዜ የማይሰሉበት ፣ ግን እንደ ሁኔታው ​​​​የተለያዩ ተለዋዋጭ ብሎኮች ፣ loops ፣ ትክክለኛ እና ሁኔታዊ የንፅፅር ስራዎች ይናፍቃሉ። በጣም ይናፍቀዎታል፣ ስለዚህ 0.12 ይፈታዎታል።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ግን! ዝግጁ የሆኑ ሞጁሎችን እና የሶስተኛ ወገን መፍትሄዎችን በመጠቀም ትንሽ እና የበለጠ በቀላሉ ከፃፉ ፣ ከዚያ መጠበቅ አይኖርብዎትም እና 0.12 መጥቶ ሁሉንም ነገር እንደሚያስተካክልዎት ተስፋ ያድርጉ።

ለወደፊቱ በ Terraform ውስጥ የመሠረተ ልማት መግለጫ. አንቶን ባቤንኮ (2018)

ለሪፖርቱ እናመሰግናለን! ስለ መሠረተ ልማት እንደ ኮድ ተናግረሃል እና ስለ ፈተናዎች አንድ ቃል በቃል ተናግረሃል። በሞጁሎች ውስጥ ፈተናዎች ያስፈልጋሉ? ይህ ኃላፊነት የማን ነው? እኔ ራሴ መጻፍ አለብኝ ወይንስ የሞጁሎች ኃላፊነት ነው?

የሚቀጥለው ዓመት ሁሉንም ነገር ለመሞከር እንደወሰንን በሚገልጹ ሪፖርቶች ይሞላል. ምን መፈተሽ ትልቁ ጥያቄ ነው። ከተለያዩ አቅራቢዎች ብዙ ጥገኞች፣ ብዙ እገዳዎች አሉ። እኔ እና አንተ ስንነጋገር እና “ፈተናዎች ያስፈልጉኛል” ስትል፣ “ምን ትሞክራለህ?” ብዬ እጠይቃለሁ። በክልላችሁ እፈተናለሁ ትላላችሁ። ከዚያም በእኔ ክልል ይህ አይሰራም እላለሁ። ማለትም፣ በዚህ ላይ እንኳን መስማማት አንችልም። ብዙ ቴክኒካል ችግሮች እንዳሉ ሳንጠቅስ። ማለትም, በቂ እንዲሆኑ እነዚህን ፈተናዎች እንዴት እንደሚጽፉ.

እኔ በዚህ ርዕስ ላይ በንቃት እየተመረመርኩ ነው፣ ማለትም እርስዎ በጻፉት መሠረተ ልማት ላይ ተመስርተው እንዴት በራስ ሰር ሙከራዎችን መፍጠር እንደሚችሉ። ማለትም፣ ይህን ኮድ ከፃፉ፣ እሱን ማስኬድ አለብኝ፣ በዚህ መሰረት ሙከራዎችን መፍጠር እችላለሁ።

ቴራቴስት ለቴራፎርም የውህደት ፈተናዎችን ለመፃፍ የሚያስችልዎ በጣም በተደጋጋሚ ከተጠቀሱት ቤተ-መጻሕፍት አንዱ ነው። ይህ ከመገልገያዎች ውስጥ አንዱ ነው. የ DSL አይነትን እመርጣለሁ, ለምሳሌ, rspec.

አንቶን፣ ለሪፖርቱ አመሰግናለሁ! ስሜ ቫለሪ እባላለሁ። ትንሽ ፍልስፍናዊ ጥያቄ ልጠይቅ። በሁኔታዊ ሁኔታ አቅርቦት፣ ማሰማራት አለ። አቅርቦት የእኔን መሠረተ ልማት ይፈጥራል፣ በማሰማራት ላይ ጠቃሚ ነገር እንሞላዋለን፣ ለምሳሌ ሰርቨሮች፣ አፕሊኬሽኖች፣ ወዘተ. እና ቴራፎርም የበለጠ ለዝግጅት ነው የሚለው ጭንቅላቴ ውስጥ ነው፣ እና Ansible ደግሞ ለማሰማራት የበለጠ ነው፣ ምክንያቱም Ansible ደግሞ ለሥጋዊ ነው nginx, Postgres ን እንዲጭኑ ይፈቅድልዎታል. ግን በተመሳሳይ ጊዜ ፣ ​​Ansible ለምሳሌ የአማዞን ወይም የጉግል ሀብቶች አቅርቦትን የሚፈቅድ ይመስላል። ነገር ግን ቴራፎርም ሞጁሎቹን በመጠቀም አንዳንድ ሶፍትዌሮችን እንድታሰማራ ይፈቅድልሃል። ከእርስዎ እይታ አንጻር በ Terraform እና Ansible መካከል የሚሄድ ድንበር አለ ፣ የት እና ምን መጠቀም የተሻለ ነው? ወይም ለምሳሌ, Ansible ቀድሞውኑ ቆሻሻ ነው ብለው ያስባሉ, ለሁሉም ነገር ቴራፎርምን ለመጠቀም መሞከር አለብዎት?

ጥሩ ጥያቄ, ቫለሪ. ቴራፎርም ከ2014 ጀምሮ በዓላማው ላይ ለውጥ አላመጣም ብዬ አምናለሁ። ለመሠረተ ልማት የተፈጠረ እና ለመሠረተ ልማት ሞቷል. አሁንም ቢሆን የውቅረት አስተዳደር ፍላጎት ነበረን እና ይኖረናል። ተግዳሮቱ በ launch_configuration ውስጥ የተጠቃሚ ውሂብ መኖሩ ነው። እና እዚያ አንተ Ansible, ወዘተ ይጎትቱታል ይህ በጣም የምወደው መደበኛ ልዩነት ነው.

ስለ ውብ መሠረተ ልማት እየተነጋገርን ከሆነ, ይህን ምስል የሚሰበስቡ እንደ ፓከር ያሉ መገልገያዎች አሉ. እና በመቀጠል ቴራፎርም ይህንን ምስል ለማግኘት እና የማስጀመሪያ_ውቅሩን ለማዘመን የመረጃ ምንጩን ይጠቀማል። ያም ማለት በዚህ መንገድ የቧንቧ መስመር መጀመሪያ Tracker እንጎትታለን, ከዚያም Terraformን እንጎትታለን. እና ግንባታ ከተፈጠረ, ከዚያም አዲስ ለውጥ ይከሰታል.

ሀሎ! ለሪፖርቱ እናመሰግናለን! ስሜ ሚሻ ነው, RBS ኩባንያ. ሀብትን ሲፈጥሩ በአቅራቢው በኩል ሊደውሉለት ይችላሉ። Ansible በተጨማሪም ተለዋዋጭ ኢንቬንቶሪ የሚባል ርዕስ አለው። እና መጀመሪያ ወደ ቴራፎርም መደወል እና ከዚያም ወደ Ansible መደወል ይችላሉ, ይህም ከመንግስት ሀብቶችን ወስዶ ያስፈጽማል. ምን ይሻላል?

ሰዎች ሁለቱንም በእኩል ስኬት ይጠቀማሉ። ስለ አውቶማቲክ ቡድን ካልተነጋገርን በአንሲብል ውስጥ ተለዋዋጭ ኢንቬንቶሪ ምቹ ነገር ይመስለኛል። ምክንያቱም በአውቶማቲክ ቡድን ውስጥ የራሳችን የመሳሪያ ስብስብ አለን ፣ እሱም launch_configuration ይባላል። በ launch_configuration ውስጥ አዲስ መርጃ ስንፈጥር መጀመር ያለበትን ሁሉ እንቀዳለን። ስለዚህ፣ ከአማዞን ጋር፣ ተለዋዋጭ ኢንቬንቶሪን በመጠቀም እና የ Terraform ts ፋይልን ማንበብ፣ በእኔ አስተያየት፣ ከመጠን ያለፈ ነው። እና ሌሎች መሳሪያዎችን ከተጠቀሙ የ "አውቶማቲክ ቡድን" ጽንሰ-ሐሳብ በሌለበት, ለምሳሌ, DigitalOcean ወይም ሌላ አውቶማቲክ ቡድን በሌለበት ሌላ አቅራቢን ይጠቀማሉ, ከዚያ እዚያ ኤፒአይ እራስዎ መጎተት, የአይፒ አድራሻዎችን ማግኘት, መፍጠር አለብዎት. ተለዋዋጭ ኢንቬንቶሪ ፋይል , እና Ansible ቀድሞውኑ በእሱ ውስጥ ይቅበዘበዛል. ማለትም ለአማዞን የማስጀመሪያ_ውቅር አለ፣ እና ለሌላው ነገር ሁሉ ተለዋዋጭ ኢንቬንቶሪ አለ።

ምንጭ: hab.com

አስተያየት ያክሉ