áĽá á°áá˝ á´áŤáááá á áááľ á°áááľ áĽáŤá¸á áŤááá áĽá áá áááᣠááá áá ááĽáą ááἠá°áááŽáá˝ áá á áá°áá áŠáᢠáĽáŤááłááą áĄáľá á¨áŤáąá áá´áá˝ áĽá áá´áá˝ ááá á á áá áľ.
á¨áĽááľá áá á¨á° áááľ á áĽááá áááľ á¨áááá¨á á ááá ááᥠáĽááľ ááĽáśá˝ + áĽááľ ááá˘áá˝á˘ á áá áá°áľ, á ááá á á áŁáŤáá˝ áŤáľáá. ááĽáśá˝á áá° á´áŤááá áááá˝ ááá§á°á ᣠáŽáľá áá° á áááá˝ ááá°áŤááľ áĽá áá áá ááłáłáľ áá˝áá? (áłáá á¨áá¨á¨áť áááľ)
ááá áŤááá áĽá á¨áĽááľá áá á¨á° áááľ á á˛áą á¨á¤áľ áĽááľáłá áĽáá°áá áá°áááłá ᣠáá ááá? á áá á¨á° áááľ ááľáĽ ááááš á¨ááá˝á áááŚá˝ áá¨ááá, áá á¨á° áááľá áĽá áŽáľá áááŤáľ áŤáľááŤááłá - á áá ááááŤáľ, á á˛áľ á°ááŁáŤáľá áŤáááŤá ááá áĽáŤáľá ááááłá ...
á¨áŚáľáľ áááłáľ á áá á¨á´áŤááá áá á á¨á°áĽ áááá˝ áľáĽáľáĽá á AWS á Github á ááľá°áłá°á áĽá ᨠTerraformá á áááľ ááľáĽ á¨á¨áĽá áá áĽáá ᣠá ááśá Babenko áááąá áááŤáá ááá áá-ááá°ááą áĽááłáá᳠ᨠTF áááá˝á áĽáá´áľ áĽáá°áááá˘
á áááአáá¨á¨áť á°áłáłááá˝ á á´áŤááá ááľáĽ á¨ááĽá áľ á áľá°áłá°á ááááá˝áᣠá á´áŤááá ááľáĽ áŤá áááá˝ áá á¨á°ááŤá ááἠáááśá˝ áĽá á ááłááľ á¨áá á¨á° áááľ á áľá°áłá°á áá á¨á°áŤáŤá á ááłááľ á°á¨áłáłá á¨áá á°áľ áááá˝á á áá áá áŤáááá˘
á¨áá á°áľ áá: áá áŞáááľ áĽ.á¤.á . á ááŹáá á 2018 á¨á°ááá áááá á áľá°ááŤáá - 2 áááłáľ á ááááᢠá áŞáááą ááľáĽ á¨á°ááŤá¨á á¨á´áŤááá 0.11 áľáŞáľ á¨á áá á áá á áá°áááᢠáŁáááľ 2 áááłáľ ááľáĽáŁ áĽá áá áŤáá˝áŁ ááťáťáŤáá˝ áĽá áááŚá˝ á¨áŤá 2 á á˛áľ á¨á°ááá áá¸áᢠáĽáŁááá ááá áľáŠá¨áľ ááľáĄ áĽá á°ááśášá áŤá¨áááĄá˘
ááŁááťáá˝
á´áŤááá-áá á á¨á°áĽ-áááá˝ +á´áŤááá-á ááľ-ááąáá˝ antonbabenko/á áľá-á áľááŁá-terraform - áŤáľ-á áá¸áľ áŽáľ áĽá á°ááśá˝á ááśááŁá¤áᎠ/ á´áŤáá - á¨á´áŤááá áááá˝ áááŹá°á (WIP)antonbabenko/modules.tf-lambda - á´áŤááá áŽáľ áááŹá°á á¨áĽááł áĽááá ááááŤáá˝ (WIP)- www.terraform-best-practices.com
ááŤá¨áá.com/@anton.babenko (á á˛áľ ááĽáá˝ á áá áľá ᨠáá˝ www.antonbabenko.com/ áá áááá)- @antonbabenko - áľáá°á áĽá á¨á°ááŤáŠ Slacks áľáĽáľáĽ
áľá á ááśá áŁá¤áᎠááᢠá ááłááśáťá˝á áĽá á¨áťááŠáľá áŽáľ á°á á áá˝á ááááᢠá áá áľááá ááłá á¨ááźáá áá á á áá á áá ááááľ áĽáááŤááᣠááááŤáąá áľáłá˛áľá˛ááľá ááááľ áľááá˝á ááá˘
á á´áŤááá áá áĽá°áŤáá áĽá ᨠ2015 ááᎠᨠTerraform áĽá Amazon áá á¨á°áŤáŤá á ááŤáł áááľ ááá ááŽáááśá˝ áá áá á°áłáłá áĽá á áľá°áá á á á áááťááá˘
á¨ááŤá áá ááᎠá ááŤáľá°áá áááł áááľááἠá á áŽáľ á˝ááŤááᢠáĽá áľááá ááłá á áá ááááá áĽáááŤáá.
á¨á´áŤááá áá áľáááĽáŤáľ ááľáĽáľáĽ áĽá áááá ááłáŽá˝ áĽáááŤáá. áá ፠á áĽáááą á¨HighLoad ááá° ááłá á áá°ááᢠáĽá á áá ááá áĽáá°áá áááŁááłá.
á¨áá á áá á´áŤááá áááá˝á ááťá ááááŠá˘ á°á áááá˝ áĽáŤááá˝á á˝ááá, áĽáá°áá áťááłá¸á. á¨ááŤá á á áľá-áŽááľ ááá á ááá° á áá áá áŽáąá ááá á¨á˝ á¨á°ááŤáŠ áááááŤáá˝á áťááŠáá˘
áĽá á áľá°áłá˝ ááŽáááśá˝ áá áŠ. á¨áŽáľ áááá¨áľá áĽááłáá ááááŤáąá áŽáááŠá°áŠ áá áĽá áááŽááŤá á ááŞá áĽá áľáŤáá˝á áĽáá˛á°áŤ áľáááá°á á á áá áá á´áŤááá áŽáľ áááŹá°á á¨áĽááł á˛áŤááŤá áĽá¨á°áŤá ááᢠááááŁáľ á ááłááśáťá˝á á áá°áá¸á ááááᢠáĽááá ááľáśá˝ áŤáá¸á ááá áłáĽáá˝ áá¸á. áĽá "áá° á᪠áá" á¨áááá ááá á á áŤá°á¨áá áĽá áááá áĽáá° áŽáľ áŤááá á áŁá áĽáŠ áá áĽáŹ á áľáŁáá.
áĽá á¨áŠááŹá ááᢠáááá ááľáĽ ááĽá áááłáľ ááŹá ááá˘
áĽáá˛áá á¨áá áŞáááľ áá¨á á¨á°á°á á°á á áľáá á¨ááŤáá áĽá á áá á áŤá á ááłá¨ áá¨áŚá˝ áá á¨ááŤááá á°áá˝ ááᢠáááá áááľ ááťáá á°ááłáłá á á˝á áľá á ááá˘
áĽáá°ááá˝áŠáľáŁ áĽá á¨á´áŤááá AWS áááá˝ áá á áŁá ááᣠá GitHub áá áŤááľ áľááá áá¨ááťáá˝ ááľáĽ á ááą á˛áá áááá˝á á áŁá á¨á°áááą á°ááŁáŤáľá á¨áááľá°áááľá áľáĄ VPCᣠAutoscalingᣠRDSá˘
áĽá á áá á¨á°ááľ ááá á áŁá áá á¨áłáá ááᢠá´áŤááá áá áĽáá°áá áĽáá°á°á¨áłá á¨á°á áŤá áá ááá á áá áŚáł áĽáłá á ááťááᢠáĽáá áĽá á´áááŤá áááľ áááŤá. áĽáá á¨áŞáááąá á°á¨á á¨áá°á áááá á¨áááá˝ áá°áá á áááŠáᢠáá áááľ áĽá ááĽáŤáŞáŤ áłááá áááá ááá á¨áá˝á áááľá á°á á á áááá áĽá˝ááá áááľ áá.
á´áŤááá áĽ.á¤.á . á 2014 áá°á¨á° áááľá áĽáá° áŽáľ áááá ᣠááááľ áĽá áááľá°áłá°á á¨ááŤáľá˝á áááá፠áá áłá¨á˘ áĽáá áŤáá ááá á˝áá°-ááłáĽ "áá á¨á° áááľ áĽáá° áŽáľ" áá.
ááá á°ááśá˝áŁ áĽááłááŠáľáŁ á¨á°áťááľ á ááľáĽ ááá˘
á ááłááľ á°ááááŽá˝á ááááŞáŤ á¨ááááá˝á áľ áá°á á á¨á´áŤááá áá á ááá áá á áááľááá˘
á áá á ááŁá "aws_region" áĽáá áĽááááááá˘
á¨ááŤá áá ááááľ ááĽáśá˝ ááá á áĽáá°ááááá áĽáááááá.
áĽááá˝á áĽá á á áŤá˘áá˝á áááŤá á ááłááľ áľáááá˝á á á°ááá "terraform init" áĽáá°áŤááá˘
áĽá á¨á°ááá¸á áá á áĽá á¨áá ááá¸á ááĽáśá˝ áá á¨ááááľ áááá ááá¨ááἠá¨"terraform apply" áľáááá áĽááľáŹáłááᢠá¨áá á ááľ ááá ááá áľáááá áá á´áŤááá áĽááá á ááĽáśá˝ áĽááľáááĽá ááááááá˘
áá áá áĽáá¨áááŁááᢠáľááá á¨áŁá á áĽáá á¨ááŁá áŁáᲠáĽáááĽáŤáá.
á ááŤáł á°ááłáłá áááááŤáá˝á á á. á ááá á¨ááľá áá áĽáááťá˝á AWS CloudFormation ááá Google Cloud Deployment Manager ááá Azure Resource Manager áłáááá˝áᢠá áĽáŤááłááłá¸á á áĽááá
á¨á
áἠá°áá á á
áŤá˘áá˝ ááľáĽ ááĽáśá˝á áááľá°áłá°á áĽáŤááłááłá¸á á¨áŤáłá¸á á¨áá áľáá ፠á áá¸áᢠá´áŤááá á á°áá á¨100 á áá á á
áŤá˘áá˝á áĽááľáłáľá°áłáľá áľáááŤáľá˝á á áá ááᢠ(á°á¨á᪠ááááŽá˝
á´áŤááá áá á¨á áአá¨á°á¨á°áá¸á ááŚá˝áĄ-
- á´áŤááá á¨ááĽáľ áá á áĽááłá áá°áŁáá˘
- áááá áááá ááľá¨áŽá˝á áĽááľáľá°áá ááá áľáááá˘
- áĽá á´áŤááá á¨ááááŞáŤá ááᎠáá á¨á° áááľá á á áľá°ááá áĽá á á°ááá° áááł ááááἠá¨ááŤáľá˝á áááá፠áá á°ááá áˇáá˘
áĽ.á¤.á . á 2014 "á¨áááá°á" á¨ááá áá á áá á ááľ ááľáĽ á áŁá áŤáá°ááá° áááľááá˘
á´áŤááá áááá°áá áááá፠ááᢠá¤áá á áŤáááľ áááá ááá áááŁá á áá˝áááĄ-
- á¨áááááľá áá áááľá°áłá°á á¨120 á áá á á áŤá˘áá˝á áá áá áá˝ááá˘
- áááłáᣠᨠGitHub áá¨ááťáá˝á ááłá¨áť ááááá Terraformá áá áá áľá˝ááá á˘
- á á፠ááľáĽ áľá á°áśá˝á ááá á áĽá ááááľ áá˝ááá˘
- á á˛áľ Relic áááŞáŤáá˝á ááľá°áłá°á áá˝ááá˘
- á áĽááἠá¨ááá á dropbox ááľáĽ áááá˝á ááá á áá˝áá.
áá áá á¨áááá á Go ááľáĽ áááá˝ á¨áá˝á áááľ á¤áá á áŤáá¸áá Terraform á á áŤá˘áá˝á á áá áá ááá˘
á´áŤáááá áá áá ááááᣠá ááš áá á ááłááľ á°ááśá˝á á ááĽá áᣠáŞá˛áŽ á°áááá°ááᣠáĽá á áá°ááľ áľáááśá˝ áá áĽááłáłá¨ááľ main.tf ááá ââáááá áĽáá áá˘
áĽá ááá ááá áĽáŠ áá, VPC á¨áááĽá ááá á áááľ.
VPC ááá á á¨áááᣠáĽááá á 12 ááľááŽá˝ á áááľ ááĽááąá˘ á¨áľááá ááá ááá á áĽáá°ááááᣠá¨áľááá á¨á áá á áľáŤáť cidr_block áĽáá°áá áá áŤáĽáŤáŠá˘ ááźá áá.
á á°ááĽáŽ, ááŽáááą ááľ á ááľ áŤáľáá.
áĽá áĽá፠áĽá á áłá˛áľ áááŽá˝á áá¨ááŤáᥠááĽááśá˝áŁ á¨ááἠáááŽá˝áŁ á¨á áłá˛áľ á á áŤá˘áá˝ áá ááááłáᣠá áľáááľ á GitHub áááŤá ááľáĽ á°á áááá˝á áááľá°áłá°á Terraformá áá áá ááááá áĽá ááá˝á áááá áá˝ááᢠá¨á˛ á¤á á¤áľ á á áŤá˘áá˝, áááá ááá ááťááŠ. á´áŤááá áá á ááá áŤá°ááááá˘
á¨áá¨á°ááá ááłá áĽáááá¨áľá˘
ááľ á ááľ á¨á˘áá°áááľ_ááľ ááá áŤááá ááááŤáąá á¨áŞáá˛á á¨á áááá¨áĽ ááłá¨áť áĽáá˛ááá ááĽáśá˝ áááááᢠáá áĽáŠ ááłáĽ ááá˘
áá¤áą áá main.tf áááĄ-
áá ᨠmain.tf á¨áááá ááá ááá˘
áá ᨠmain.tf á¨áłá˝áá ááá ááá˘
á¨á፠ááĄáľ áá¨áĽá áá¨ááŤá. ᨠNAT ááá˘áŤ ááááśá˝á ᣠááááśá˝á ᣠá¨áááŞáŤ á á¨á´ááá˝á áĽá ááá˝ áááľ áá¨áŚá˝á ááá¨áá á ááááá áľ áá 38 ááľáá á áááááľá ᣠáá á áááľ 200-300 ááľááŽá˝á˘
áŤá áááľ á¨áĽááľá main.tf ááá ááľ á ááľ áĽáŤá°á ááᢠáĽá áĽááá áá á°áá˝ áááá ááá á á ááľ ááá ááľáĽ áŤáľáááŁá. 10-20 áŞáŁ á main.tf ááľáĽ ááłáŤá. á¨10-20 áŞáŁ á¨á˝áá áááľ áĽáá°áá á áľáĽá˘ áĽá ááá ááá á¨ááá áá á¨á°ááá áá. áá ááľ á ááľ áááĽáŤáľ á áľá¸á᪠áĽá¨áá ááĽáˇá. 10-20 áŞáŁ áĽáŠ á¨á°á áá ááŤáŁ áá, á ááłááľ áá á°á¨ááŞ. áĽá á°áá˝ áááá áá ááĽá áá áĽáá á áŤáľáĄáá˘
áĽáá° áá°á á ááŽááŤáááᣠáááľá áĽáá° áŽáľ áá á¨á° áááľ áłáááᣠá¨á°ááŤáŠ áááá˝áᣠááŹáá˝áᣠáááá˝áᣠá¨áĄáľá áľáĽáľáŚá˝á ááá áá áĽáá ááááᢠá´áŤááá áĽá á°ááłáłá ááá áĽáá˛áŤá°áá ááá áľáááłá.
- áŽáą áĽáŤá°á ááá˘
- á ááĽáśá˝ ááŤá¨á áŤáá áĽááááľ áĽáŤá°á ááá˘
áĽá áľáá ááááľ á ááᢠá¨áá á áá áĽáá°áá ááá áĽáá°ááá˝á áĽáá¨áłááᢠá¨áĽá áŽáľ á áŁá áľáá áĽá¨áá ááĽáˇá. 10-20 áŞáŁ á áĽááἠá áŁá á°á á áá°áá, ááá áá áĽá¨á°ááááá áŤááá áľá á ááłá¨áá¨áĽ ááá áĽáť áá, áááľá áĽááľá á¨á ááłá¨ áá¨áĽ ááĽáśá˝á áĽáť á¨áá¨áá. áĽá¨á°ááááá áŤááá áľá á áááŹá˝á ááľ áŁáááľáŁ áľááá°ááŤáľ ES áááľá°áᣠáŠá áááľáľáŁ ááá° á áá°ááᣠ100 áŞáŁ á ááá áá¸áá á¨áá˝áᢠáá áá áá á¨áťááľáŁ á´áŤááá á¨á´áŤááá áááá˝á áĽáá°ááŤááἠá á áᥠáááŤá á˘
á´áŤááá áááá˝ á áĄáľá á¨áá°áłá°á áŤáąá á¨áťá á¨á´áŤááá áá á ááᢠáľá á´áŤááá áááá˝ ááá áŤááĽáᾠ፠áĽáť ááᢠáĽááą á ááá áĽáá á áá°áá, á á ááľ ááá áá á áááľá¨áľ ááá ááľáĽáľáĽ áááááśá˝á áĽáá˛ááĽáŠ á ááá áąá. áá áá á ááá˘áá˝ áľá¨áť áá áááľáá. áááľáᣠáá áĽááľá áá°á áĽáá á¨áťááľ á ááłááľ á¨á´áŤááá áá á ááᢠáĽá á ááá á áĄáľá áá áŠáľ áá˝áá.
áľááá á¨áĽáá 10-20-30 áŞáŁ áŽáľ áĽáá´áľ áĽáá°áááťá˝á ááá¨áłáľ áĽá¨áá¨áá ááᢠá ááłááľ áááá˝á áá áá áĽááłááĽá ááľ á ááľ áĽá¨á°ááááĽá ááá˘
á¨ááŤááĽáá á¨ááááŞáŤá ááááľ áááá˝ á¨ááĽá¨áľ áááá˝ áá¸áᢠá¨áĽááľá áá á¨á° áááľ áá áĽáá°ááᣠáááľá áľá áá áĽáá°ááᣠá¨áľ áĽá áááłáá˝ áá áĽáá°áá á áá¨áąáᢠáĽááá á áľááá áĽá á¨áááľ ááá áá á á¨á°áĽ áá á¨ááľá°áłáľáŤá¸á áĽá ááá°á¨á° áááľá áĽáá° ááááŞáŤááš á¨áááŁáł áĽááŽá˝ áŤáá¨áĽáá¸á áááá˝ áá¸áá˘
á¨ááá ááá ááłáá˘
á¨ááá áááá áľáá ፠á¨á¨áľáá ááááľ áááąá ááŤá áĽááłááĽá áĽááááááá˘
á¨áľááá áľáŞáľ ááá¨áľ áĽáá°ááááá áĽáá áááá.
áĽá፠áĽá ááááŽá˝á áĽááááá. ááźá áá. áá áá ááá áľáá áá ááá áŤááĽá ፠áĽáť ááá˘
áĽá á°áá˝ á¨á áἠáááá áľáŞáľ á¨á°á áá ááá ááá á¨á°á¨áá áááá áĽáá áŤáľáŁá. áá á áá°áá. áá á¨á° áááą ááá¨á á áá áľá¤ áá ááá ፠á áŤá á á¨áľáá áľáŞáľ áá áĽáá°áá á ááá ááááľ á ááĽáá˘
á áá ááá ááľáĽ áŤáá áŽáľ áĽáá á á. á¨á°á áááľ-áĄáľá ááá. áĽáá áĽá áá ââáá° 640 á ááľáá áááłá. á áĽáŤááłááą á á°áťá áá á¨áľ ááľáĽ á¨á°á áááľ-ááŽá áááá á á ááá ááá á á áŁá ááá áŤááá á°ááŁá ááᢠá¨á¸áĽáł áĄáľá ááá á áĽá áá á áááľ á áááľ áá°ááá áĽááłáá áľ áááá áĽáť á á á áá°ááᢠá áŁá ááá áááá. á á ááá ááľáĽ á ááľ áááŽá á¨á°ááŤáŠ áá°áŚá˝ á áᢠáááłá, á¨á°á áá á¨VPC á¨áá¨á¨áť ááĽáĽáŁ á áľá á áĽáŤ ááááᣠá¨á°ááŤáŠ á¤áá ááá˝ áĽá áá á áá á¨ááá˝ áááŽá˝ áá áááŁáá ááááŤá, á¨á፠Terraform áá á áĽáá˛áŤá°áá á ááá áľáááľá. áĽá á¨á ááá á¤áá á áá ááá á ááá áľáᢠáľááá , áĽááá á áá á áľá¨á á ááááŽáá˝ á ááá ááľáĽ áá°á á áĽá áá á á¨áááľááá á¨á°á áá áŽáľ ááľá áľ á ááĽá.
á°á ááá á ááľáĄ áĽáá´áľ áĽáá°áá°áŤ ááá á áŤáľááááá.
á¨ááá áááá˝á áŤááá ááá°áá ááááľ áááá˝ ááááľá á¨á áá á°áááááľ áŤáá¸áá á˝ááŽá˝ á áľááľáá áááłá ᢠáĽááá áá áá áŚáł áá´áŤááá ááŤáá፠áá áĽá ááááŤáὠᣠááŠáŁááŤá á°á¨ááá˝ á ááłááľ ááľá áĽá´áśá˝á áŤááááᢠá´áŤááá á á áá áá áĽááľáľá áá á¨áááá áľáá á á°ááŁá áĽá፠áá¨á áľá˝ááá ᢠáá á áá ááᢠá áá áľáŞáľ 0.11, áá á áŤáá ááá ááá áá. ááá áá á áááᣠá áľá ááŽá°á°áᣠjsonnetᣠcookiecutter áĽá ááá˝ áĽá áááŽá˝ ááá áľáŤ áľáŤ áá ááá áŤááŁá¸á á¨áłáľ áá´áá˝ áá¸áá˘
á ááá á á¨áá á á ááłááľ ááłááá˝á á áłááťáá.
á¨áá á¨á° áááľ ááá á áľááá á á°ááłáłá ááááľ áá áŤá.
áááąá á¨á¨áľ ááá¨áľ áĽááłáá áľ ááአá°á áááá˘
á áá ááá ááľáĽ áĽá á¨áĽá´áśá˝ áľáĽáľáĽ ááĽá°á á°áááááá˘
á ááá áᣠá áá ááá ááľáĽáŁ VPC ááá Application Load Balancer áááá áᣠááá á¨á´áŞáŠáŞá˛ áĄáľá áááá á ááá ááľááľá˛á áŽáá´ááá á áááááľ áááľá°á áááá á á¨ááá áááá˝ á°á áá°ááá˘
áááľ ááááľ áááá˝ á á. á áá ááᣠááľáĽ áŤá°áŁá°áĽáłá¸á á áĽááááš áá¨ááá˝ á á°ááą ááľáĽ áľááá°áťá áá áá ááá¨áłáľ á áľááá ááá˘
áĽá á áá á á´áŤááá ááľáĽ áŤáá á°ááľ á áŁá á˝áá áŤáá áľ áá ááááŤáąá áĽááá áŁá áŞáŤáľ áĽááłá áľááááá áĽááąá áá áá áá˝ááᢠáá áĽááá á áŁá áŞáŤáľ áĽáá´áľ áá áá áĽááłááŁáľ á áá°ááá¨á˝á, ááá áĽááąá áá áá á¨á°áťá áĽáá°áá. áľááá , á áŁá áĽá ááĽá áŤáá¸á á°áá˝ á áĽá¨á ááá á¨ááá˝ááľá ááá áá˝áá.
áĽááá á áááá˝ áĽáá´áľ áĽáá°áá˝á á áááĽáá áĽááᢠá¨á፠áĽáá´áľ áĽááąá ááĽáŤáľ áĽááłááĽá áĽá á¨áŽáą áá áĽáá´áľ áĽáá°áá°áŤ áĽáááá¨áłááá˘
á´áŤááá áááἠá¤áľ -
á áá ááá #0 á¨ááá áááá˝á á áááťá ááᢠá áĽááááš áĽááá áááá˝ ááľááá ááĽááľá á°á˝áááᢠáĽááłááŠáľáŁ áááľ ááá áá¸áᣠááá á áááľ á¨áááľá á áááᎠá¨áá¸ááᣠáá áá á áľáŤáťáá˝áŁ á¨ááá áááľáŁ ááá° áááľ áŽáľ á¨á°á°á¨ááŁá¸á áĽá´áśá˝ á¨áá¸ááᢠááá á áŁá á°áááá ááᢠáĽá ááááŁáľá á áľááľá á°á˝á ááá áá˝ááᢠá¨á ááá áĽá áááá˝ á áᢠáá° 650. áĽá á áĽááááš áĽáŠ áĽáŤáľ áŤáá¸á áá¸á.
á áá ááłáᣠá ááľ á°á áá° á áá° ááĽáśáŁ âáłáłá¤á ááľá°áłá°á ááťá áĽáááááᢠá¨ááἠááł ááá á áĽááľá˝á ááá áá áᢠá°ááŹá á¨á ááá ááá á¨á´áŤááá á á°ááŁá á ááááŽá˝á á áŤáá áᢠáĽáą á ááá âMSSQLá ááľá°áłá°á áĽáááááâ áááᢠáááľá áááá˝áá áá°áááᣠá¨áá°áá á áááľ áĽá፠áŤáłááá áĽá á¨á°ááľ ááá áá ááá áááłá˝á ááá˘
áĽáá á ááľ á°á á áá ááá ááľáĽ áááľ á¨á°ááŤáŠ ááĽáśá˝á áĽáá°ááááĽá ááá á¨áá áľá-á áá°áá á MSSQL ᣠááá°áá áááá ááá ᣠááááŤáąá á Terraform 0.11 ááľáĽ á¨á°ááľ á°á áááá˝á áĽáá° á ááŤá áááá˝ á áá˝ááá˘
áĽá á¨áá ááá á áááŁá áľ áá á ááľ á°á á ááá á áľáŤáť ááá á áá˝ááᢠá¨á¨áľáá á¨áá¨á áᾠᣠá¨á¨áľáá ááá áá áá áá á ááľáŁá˝á áĽáá°áá áá á áŤáá áᢠáá á áŁá á áľááá á¨áá°á á፠á áŤá áá. áĽá áá á áááľ ááá ááá á áááľ áááá˝ áá áĽáť áłááá á ááŽáááśá˝á áĽá á áĄáľáá˝á ááľáĽ ááá˝áá¸á áááá˝á áá áŤáá˘
áá ááá°áá áá¨áŤá¨áŞáŤ ááᣠáĽáąá á´áŤáááá ááĽááľ áá á¨á°á ááá á áŁá á áľááá ááᢠáááá á¨á´áŤááá áááá˝ ááľáá áľá á¨ááŤáľáááĄá áľ áá¨ááť á áááľá˘ áĽá áá ááŽáááľ á áá áá°áľ áá° á ááľ ááá áááľ áááŁááľ áá á áá°á á áŁá á¨á°ááá° áá. áá áĽáŠ ááá˘
á˝áአáá á´áŤááá áĽááá á áááá˝ áĽáá´áľ áĽáá°áá áŤá ááᢠáááłáᣠáĽáŤááłááąá á°á áá áááá á áááá á¨á áŤá ᣠá´áŤááá ááááŞáŤ áááá áá¨ááť áááá á¨ááŤá áአááá ááłáá áľ á áá áááłáᢠá áá ááááľ á áĽáŤááłááą áá á ááľ áááŁááľ áŤáááłá. 100 ááá 200 á°á áááá˝á á¨ááŤáľá°áłáľáŠ á¨áá 100 ááá 200 áááŁááľ áŤáááłá áĽá áá°á፠á áá áááąá˘ áľááá á á°ááĽáŽ "á´áŤááá á˘ááľ" á áᣠááĽá áĽá áááŽá˝á ááá¨áľ á áľááááá˘
ááá á˝áá áááľ áááľááá˝ á á. á¨ááááŞáŤá á ááťáŤá ááááśá˝á áá áá ááᢠá áá ááááľ á ááá á áŤáŁá˘áŤá (./) áááá á áŽáą ááľáĽ áá áááᢠáĽá áááááá ááá á¨ááľáááá á ááľáŁ á¨áá á áá¨ááť Git clone á á áá ááľáĽ áŤá°áááłáᢠá áá ááááľ á ááľ áá áŤá°áááłá.
áĽááἠáá, áĽá á ááłá ááá˝ á á. áááłáᣠáĽáŞáľá áá áá á áá˝ááᢠáĽá áá á ááłááľ áá á áĽáŽ áááá á áľá¸á᪠áá.
ááá°áá áááľá. áĽá áááľ áááá˝ áŤáááľ áĽá áá°á á˛á á¨á°áá°á ááááľ á¨á°ááá á¨á§á᧠ááľáá áŤáááľ á¨á፠ᨠMBT ááŽáááľ á á ᣠáá á á¨á ááľ áááŹáááśáŞ áĽá á¨á°ááŤáŠ ááŹáá˝á ááá°áĽá°áĽ áĽá áá° S3 áĽáá˛áá áŤáľá˝áááłáᢠáá á áŁá áĽáŠ ááááľ áá. áľááá , iam-user-1.0.0.zip ááá 1 Kb áĽáť ááááá, ááááŤáąá áá á ááĽáľ áááá á áŽáľ á áŁá áľáá˝ áá. áĽá á áŁá á ááĽááľ áá°áŤá.
á áááá˝ ááľáĽ áĽá á áá ááá á¨ááá˝ááľá áĽááááá.
ááááľá áá áá áááá˝ ááľáĽ áá á¨ááá? á áŁá ááĽáá ááá á°á ááá ááááľ ááᢠá°á áá á á°ááŤáŠ á°áá˝ áá ááá áľ á¨áá˝á á¨á á áŤá˘ áá¨áá፠á ááŤá áá áĽáá áŤáľáĄá˘ áááłáᣠááá˝áá áááá áĽááá áłááᢠáá áááľ á´áŤááá áá áá áá áááľáłá áááľ ááᢠáĽá á¨á፠á áá áá ááá˝ áľáááśá˝á ááá˝áá.
áĽá áááą á¨ááá áŤáľáŤ á á ááľ ááááľ á¨á ááá áá áááááľ á¨ááá áááłá ááŁáŞáá á¨á áŤáŁá˘ á°áááá á áá áá áĽá ááľáŤ á ááľáĽá áŚáł áŤááá á¨á፠áááá áá áá áááłáᢠá´áŤááá. áĽá áľáá áĽááłáŤááĽáá¸á, áá áá áĽááł á ááá ááľáĽ áááá¨áľ á áŤáľáááá. áá á á¨áá°á á°á¨á áá áá á áá áľ. áá¸áá á¨ááá áááᣠá¨áá á¨á° áááľ ááá áĽá á ááĽá á¨áá á áá:: áĽá áá á¨á áŤá áŚáł áá áá á áá áľ.
ááá°áá áááľ á°áŞ ááᢠáĽáá áááą ááá á áá°áá, ááááŤáąá áŽáľ á¨áťáá áĽá ááĽááľá á¨áá°áŤ á¨áá, á¨á፠á¨á°áŤ ááá áĽáá°áááá áŤáľáĄ áááá.
áááą áá á á áŤá˘ ááź áĽáá°áááá áááá áááŁá á á áááťáá˝á ááᣠá ááááŞáŤá˘ á ááá°á á°á¨á, aws ec2 áá áááľ áĽáá°áá á áááŁá áŠá, áááľá á áá áľá ááááľ ááá áááśááľ áĽá¨á°ááááá áá. áľááá á á°ááŤáŠ áŚááŹá˛áá á˛áľá°áá˝ áá ááá áá°ááŤáŠ á¨á°á áá ááłáŽá˝ á°ááłáłá á¨áá°áŤ ááá ááá á áá˝ááá˘
á áŁá á¨á°ááá°á ááłá áŁá áŚáá´ááá á°ááľ ááľáĽá á¨á°ááá¨á°á ᣠaws_intance á¨áá áĽá áĽá ááááŽá˝á á¨ááᚠᣠáĽá፠á á áŤá˘áá âá áŤáŁá˘-á¤áá´áâ á¨áááš áĽá áŤáá°á á á á áŤá¨ááá ááá á˝áá á¨ááá ᢠá¨á¨ááł áá˝áá .
á áĽáááą, á á, á áá ááľáĽ ááá áľá á°áľ á¨áá áľá. áá á áĽáŹá á á áᥠáá á áŤáŁá˘áŤá-exec ááá áĽáá°áá áááááŁá ᣠáááłá á launch_configuration ááľáĽá˘
áĽá launch_configuration á˛á áá áĽá á¨á ááľ ááłá á ááśáá˛á áĄáľá ááá á á˛ááá á launch_configuration ááľáĽ á¨"á á áŤá˘" á˝áá°-ááłáĽ á¨ááᢠ"á¨á°á áá áááĽ" á˝áá°-ááłáĽ á á.
áľááá , á¨á áá ááá á áá áááľá á¨á°á áá áááĽá áá áá áá. áĽá á áŤáą ááłáá ááᣠááłáá á˛á ፠ááá á á°ááłáłá á¨á°á áá ááἠááľáĽáŁ á ááśáá˛á áĄáľá áá á ááľáááŞáŤ_áá á á˛á áá ááááŤáá˘
á ááá á á áŤá˘áá ááľáŹáľ á¨ááá ᣠááááŤáąá áĽáą á¨ááŁá á á áŤá áá ᣠá ááľ ááá á˛áá á ᣠá ááŤá áá á á áŤá˘áá ᣠáľááááá áááľ áŤáľáááááłáᢠáĽá áĽáá°áá áŤá áááłáá˝ á á.
áĽá ááá á áŁá áľááááá ááá null_resource ááŁááᢠNull_resource ááźá á˘áá á áľááá áŤáá°áá ᨠáąá ááĽáľ ááᢠááá á áááŤáá ᣠááá á¤áá á á¨áá ᣠááá á ááśáá˛ááľ á¨ááᢠááá áá áľáááá ááź áĽáá°ááŤááą áĽáá˛ááŁá አáŤáľá˝áááłá. á áá ááłá áá áľááá á ááĽá¨áľ áá áá áŤá.
ááŤáŤáŁ
á ááŤáł ááááśá˝ á á. áá° ááá ááááśá˝ á áááá á áááľáᢠáľááá ááłá á ááľ á˝áá á á. ááá áá á¨á´áŤááá áá á¨á°áŠ ááá á¨ááá˝ á°áá˝á áááá˝ á¨á°á áá áĽá áááá˝ áá áĽáá° á áĽááááš á áááľ ááá ááľáĽ áŤá áĽá áááá˝ á á°áá˝ áááááłá¸á á¨á°áá áááá¸áá áĽá áá á áľá°ááááᢠá ááľ á°á á˝á á˝ááŠá ááłááľ. á GitHub ááľáĽ á áŁáĽááááᣠáááᢠáááŤá, ááá áá áĽá፠ááá á°ááśá˝ áĽá ááłááá˝ á¨áá ááá á áá ááá áľá. áĽá á¨á°áᨠáľáŤá á¨á áá áľáá˝ áĽáá˛ááą á¨ááŤáľá˝áá á°ááŁá á¨áá ááá á áá ááá áľáᢠá°á áááá˝á á¨ááŁáľ áĽá ááááśá˝ á áá˘
á°áá˝ áĽáá˛á ááá áľ á ááľ ááá ááťá á¨ááá áĽááá á ááááśá˝ áĽáá˛á¨á°á áĽáááŤáá.
áá :
- á°ááśá˝ áĽá ááłááá˝.
- áá á°ááŁá.
- ááááŤáłá ááŁáŞáá˝á˘
- áŽáľ á á˝áłá˘
- áá¨áŤáá˝á˘
áá°ááá˝ áááťá á áŁá á áľá¸á᪠áľááá á¨á°áᨠáááł áá¸á. á á°ááľ áĽá á ááłááá˝ á¨á áá á ááááá˘
áľááá , áááá˝á áĽáá´áľ áĽáá°áá˝á á°áááá°áá. áááľ ááááŽá˝ á á. á¨ááááŞáŤá ᣠá áŁá á áľáááá ᣠá¨áťáá ááá á áá°áá ᣠááááŤáąá áĽá á°áá˝ áĽááá á á°ááŁáŤáľ áŤáá° á ááľ áľáá°á¨á ááᢠáĽá ááá°á, á ááá á¨áá°á, á¨ááŤá á áááá˝ áĽá á á áŤá˘áá˝ ááľáĽ á á áŤá˘áá˝á áááá áá ááááŠ.
áá á¨á°ááą ááŤáŤ ááá ááᢠá áá áĽáŤá°áĄ áááááĄ- âá¨áá ááá ááá˝ á áá°ááᢠá ááááŠá." áá á¨áľáľáľáľ áá á áá áĽááŤááá˘
á áá áĽááá á áááá˝ áĽáá´áľ áĽáá°áá አáĽááááá.
á¨áĽá áŽáľ á áá áá°áľ áĽáá°ááŤáľá áĽáá¨áłááᢠá¨á áá á áá á ááľ ááá á¨áááᣠ20 áááá˝ á ááᢠááá á á ááľ á áá ááľáĽ áá¸á. ááá á á ááľáľ á áááá˝ ááľáĽ ááá áá˝áá. ááááŁáľ áĽá áĽáá°ááá á áááᣠá á ááłááľ á áŤááľ áá¨ááá áĽá¨áááá ááᢠá¨á፠á áá á ááłááľ á¨áááłá°á áĽá á¨áŚááŹáľáľáŤ á áá áśá˝ áĽááłáá áĽáá¨áłááᢠáááľá á¨ááľááá ááĽááśá˝á á¨áá¨áá áá ááľá¨á áĽááłááĽáᣠá á°áá¨á ááĽáłá˝á áá ááľá¨á áĽááłááĽáᣠáĽááá á áĽááááśá˝ áĽáá´áľ áĽáá°áááᣠááá° áá¨áłáľ á ááĽáá˘
áááľ á˝ááá˝ á áᢠá¨ááááŞáŤá á˝áá ááá á á ááľ ááᢠá ááľ áá ááá á ááᢠááááᣠáá á á´áŤááá áľá ᨠáá˝ áá áááá ááἠá á°áŤá áá áá˘
á áá áá á°áááś á°áááˇá á°áĽá á°á˝ááᢠá¨áá á áá á¨á´áŤááá áá á á¨á°áĽ áá á¨ááἠá á áŤá á áŁá á¨áŤá áááá á°á¨áľáˇá, ááááŤáąá á°áá˝ ááŽáááąá á á°ááŤá¨ ááááľ áá áá áááŠ. á˝ááŽá˝á á áᢠáááłáᣠáááá áĽááá˝ á á ááľ áŚáł áľááá¨ááᢠ"á¨á´áŤááá áĽá áľ" á á á áľáá°áá áĽá á´áŤááá á¨áááá ááĽáśá˝ áááł áĽáľáŞáŤáťá˝á áľá¨áľ áĽá áá ááŤáá áá˝ááá˘
áĽá áá áááłá 5 á°áá ááᢠáá ááłááśá˝ áá áĽá áá áá. 15 á°áá á¨áááŁá¸áá ááłáŽá˝ á ááťááᢠá¨AWS á¤áá á á áĽáŤááłááą ááĽá áľ áááł áá áĽá¨á°áá ᨠáĽááłá áááá 15 á°áááá˝á á áłáááᢠáá á áŁá á°á áŚáł áá.
áĽá ᣠá á°ááĽáŽ ᣠá ááľá ááá á á ááľ áŚáł ááááἠá˛ááá ᣠá¨á፠15 á°áááá˝á á˛á áĽá ᣠá°ááá á˝áá ááłáŤá ᣠáĽá á¨á ááłááľ áááŚá˝á á¸áŤ áá°áĽááłáᢠá°áá°ááᣠ"á á" áťááᣠáĽá á¨áá á˝áá á°ááĽáŻáᢠáá á áŁá áĽááá°á ááłá ááᢠá´áŤááá áĽááľáá á¨á˝ááŽá˝ ááá á á á áááááᢠáááľá á¨ááá¨áá áťáᢠá˝ááŽá˝ áááŤá - á˝ááŽá˝áᢠá´áŤááá 0.11 á ááá ááááľ áá¨áłá áŁáááááᢠá 0.12 ááľáĽ âVasyaᣠáá á á áĽáááľ áľááááá ᣠáá° á áĽááŽá áááŁáľ áľá˝ááá ?â áĽááľáľá á¨ááŤáľá˝áá á ááłááľ á áľá°áłá˝ áŚáłáá˝ á áá˘
ááá°áá ááááľ áá áá á áŤáŁá˘ ááááľ áá, áááľá á¨á ááľ áŚáł á¨áá°á¨á áĽáŞáá˝ á¨áá áŚáł áĽáá áááá áá˝áá.
áĽá¸áá á˝áá á°á¨á᪠áŽáľ ááťá áŤáľáááááłá, áááľá á°ááááŽá˝á á á ááŤáł áááá˝ ááľáĽ áááá áĽá áá áá áááá áŤáľáááááłá. á ááłááľ á°áá˝ á áááąáľá. áá ááĽá á¨á°ááá° ááᢠáĽá á ááłááľ á°áá˝ âáá á á á°ááŤáŠ áŚáłáá˝ ááá áťáአᣠáááá á ááľ áŚáł áá á á°ááááâ áĽáá áŤáľáŁáᢠáá ááťáá, áá áá ááá°áá á˝áá áá.
áá áá á á ááľ áŚáł á¨ááá¨á ááá? á ááľ, áááľ, áśáľáľ á°áá˝, áááľá á ááľ á°á áĽá¨á°á ááá áľ áá.
áĽá á ááľ á¨á°áá°á á áŤá ᣠá ááľ áĽáá ááá á ááľ á¨áá á¨á° áááľ ááá á¨áá áŤá ááá? á¨á ááľáľ áĽáľá¨ á°áŁáľ á°áá˝. áá á áŞá áá.
á áŁá á¨á°ááá°á áááľ ááá áá á¨áá áŚáł áá. ááŽáááą áľáá á¨áá, á¨ááŤá áĽááá áá ááá á áááľ áááľá á¨áááľááá áľ áĽá ááá ááá áĽá፠á¨ááá°áŤá áľ áááł áááááłá, áľááá áľáĽáá á áŤá áá. áááąá áĽá áá˝ áĽááłááľ áĽáľáŤáá áľá¨áľ á áá ááľáĽ ááá áľá á°áľ á¨áá áľá.
á VPC ááá ááľáĽ á¨áá ááá á¨á°áá¨á¨ áĽá áĽááá á áááŚá˝ á EC2 áá áá°áá á á¨ááááᣠáááľá á á˛áľ áłáĽááľ áľááá á¨á á ááśáá˛á áĄáľáá áááá áááá á¨ááᣠáá á á áááľ áĽááááľ áŚááŹáľáľáŤ áĽáŹ áĽá áŤááᢠá ááłááľ áááľááá˝ á á: áá áá áá ááá?
áá áááľááá˝ áĽááłá ááłáĽ ááľá áľ áĽá˝ááá. á áľááľ áááľá¨á á´áŤáááá áá áá áľá˝ááá ááá á´áŤáááá ááá áá ááŤáááá˝á áá áá áľá˝ááá ᢠáĽá á¨áá ááá áĽá፠áĽáá°á°ááá áááá¨áąáŁ áĽáá ááľááá áá˝ááá˘
áá á ááłá áĽáá´áľ áááłá? áá áĽáŠ áááľá áĽáá°áá á¨ááŤáá á á? ááááł á ááťááᣠáááľáá áĽááŁáŹáá˝ ááĽá°ááá˘
á áĽááἠáá áá á á¤áľ ááľáĽ á ááááŠ. á´áŤááá á¨á´áŤááá áĽáá˛ááľ á°á°áá á áá°á°áŤáá˘
á á ááľ ááᣠáá âá áᣠáá á áá°áŤáâ áĽááááᢠááĽáĄ ááľáŤáľ á¨áá áľáᢠááá áĽááłá Terraformá á¨á´áŤááá áĽá á¨ááŤá á´áŤáááá ááľááá á˛á˝á á áŁá á áľá°áá á˘ááľáá áŤáá ááľá¨á á¨ááĽááľáᢠá´áŤááá áá áá á áŁá á ááá áááá á áá áľá˘
á á ááľ áŚáł áá á¨áá ááá á˛áá¨á á¨áŚááŹáľáľáŤ áĽáŞ áŤáľáááááľ á´áŤááŤááľ á áá˘
Terragrunt áá° á¨áá á¨á° áááľ áááá˝ áĽáŞáá˝á áááľá°áŁá á áĽá ááá°áŤááľ á¨ááŤáľá˝á á¨á´áŤááá á°á¨á᪠áááá፠ááá˘
á¨á°ááá°á á¨á´áŤááá áá á ááá áá á áááľááá˘
á¨áľááá áአááá áá°áá áĽáá°áááá ááááťáá˘
ááá áá ááááľ áĽáááá˝ á ááľ?
áĽá áá ááá áá ááááľ ááááŽá˝á ááá áá. áľá á´áŤááŤááľ ááá áŤáá ፠áĽáť ááá˘
á°ááą áĽá፠á áᣠáĽá á GitHub áá 1 áŽá¨áŚá˝ á áᢠáá á á áĽááááš áááłáá˝ ááá áŤááĽááľ áá ááᢠáĽá áá ᨠTerraform áá áááľáŤáľ áá á ááአáŠáŁááŤáá˝ ááľáĽ ááá°áá á á áŁá ááá ááá˘
áľááá áŚááŹáľáľáŤ á´áŤááŤááľ ááᢠááá˝ á ááŤáŽá˝á á áá˘
á áá á¨áŽáą áá áĽáá´áľ áĽáá°áá°áŤ áĽááááá.
á á˛áľ áŁá áŞáŤáľá áá° áŽáľá áá¨á á¨ááá á á áĽááááš áááłáá˝ áá ááá ááᢠá á˛áľ ááá áĽá¨áťá áá, ááá ááá ááá áá.
á áľááľáá á¨áá áá¨á ááĽá áľ áŤáá áááłá á¨AWS á áŤáááľ á¨á¨ááľá á áá áľá á´áŤááá á°áá¨áá áĽá áŤáá á ááĽá áľ áá áá á¨ááá áááá á áá ááááľ ááŤááá á°áᢠááᢠáŤááľá ááĽáśá˝ áá ááá áá°ááá.
áĽá á¨ááá ááĽáąá á áá áá á áłá˛áľ ááĽáśá˝ ááá áá á°ááááá˘
á áá¤áą áá áá áá á¨áá¤áľ ááłáááŤáá á á°á áááá áľ áááł áĽááááłááá˘
á Terraform 0.11 ááľáĽ ááá°áá á áŁá á áľááá á˝áá á¨ááááŽá˝ áá á áĽáŽ á ááľáŤáľ áá áá.
á˝áአáĽáá°áá á áááľ á¨á°á áááá˝ áááá áŤáá ááá˘
áĽá áĽááá á á°á áááá˝ á¨áĽáá áŞáśááľá á áá áá áľáááĽá ááá ááá á°á á ááᢠááĽáŤááłááą ááá á ááá á áááá áááá ááľáĽ áĽááááá. áá ááá áĽáŠ áá. áĽá á¨á፠ᣠáááłá ᣠá ááá áá áŤáá á°á áá3 ᣠá¨áá ááááľ á áá ᾠᣠá¨á፠á áá á¨á°áá áŠáľ ááá ááĽáśá˝ áĽáá°áá ááá áŤá ááááŤáąá áá¨á á ááá ááááŁáá˘
á áááłá á áŤáŁá˘ á¨ááááŽá˝ áá ááľáŤáľá˘ áááłá á áŤáŁá˘ áááľá áá? áá ááĽáľ á˛áá á á á˛áľ áĽá´áľ á¨ááá áá áľ áááł áá ááᢠáááłáᣠAWS ááłá¨áť ááá ááá AWS ááľáĽáŤá áááᣠáááľá á°á áá áľáááĽáᣠá á˛áľ á¨ááłá¨áť ááá ááľáĽáŤá ááá áĽááá áááᢠáĽá á°á ááá áŁá áá ááĽá áá á°á áá á á˛áľ ááá ááá¨ááᢠáá áá feng shui á áá°áá ááááŤáąá á°á ááá á ááľ á°á á¨áĄáľá á áᣠááĽá á á˛áľ á°á áá á¨áá áá á¨áĽá áá áá°á ááá á áááááá˘
áá áá áááľááᢠáá á Jsonnet á¨á°áťá áŽáľ ááᢠJsonnet á¨Google á¨áᣠááá ááá˘
áá áľáĽáá áá áá á áĽááľ áĽáá˛áá á áŤáľá˝áááłá áĽá áĽáá° áá ááľ á áĽááľá á áĽááľ áá°á¨áľ á¨á°á°áŤáá ᨠjson ááá ááááłáá˘
á áĽááą áá á áááľááá˘
á´áŤááá á¨áááąá HCL áĽá Json áá á á°ááłáłá ááአáĽáá˛á°áŠ ááá áľáááłáᣠáľááá Jsoná á¨áááá¨áľ á˝ááł áŤááľáŁ áá° á´áŤááá ááŤáá¸áŤáľáąáľ áá˝ááᢠ.tf.json á áĽáŤ áŤáá ááá á á°áłáŤ áááł ááááłáá˘
áĽá á¨á፠áĽáá°á°ááá°á á¨áĽáą áá áĽáá°áŤáá-terraform init, terramorm áá°áá áŤá. áĽá áááľ á°á áááá˝á áĽáááĽáŤáá.
á áá á ááľ á°á áĄáľáá á˘áá á áááŤá. ᨠjson áááá áĽáť áĽááľá°áŤááááᢠVasya Pupkin ááŁ, ááľáŤ ááŤáśá˝áŞá áá¨. Petya Pyatochkin á á˛áľ ááá á ááá áá.
Terraformá á¨ááá˝ ááłáŞáŤáá˝ áá áááááľ á áĽáááą á¨á´áŤááá áľáŤ á áá°ááᢠá´áŤááá ááĽáśá˝á áááá á áĽáá° ááľá¨á á°áá ᨠáĽá ፠ááᢠáĽá á áá á¨áááŁá ááá ááá á¨á´áŤááá áľááľ á áá°áá. áĽá áĽá፠ááľáĽ á˝áá á áŤáľáááá. á¨ááŤáľáááááľá áá á¨ááŤá°áá, Ansible á á.
ááá áá á´áŤáááá ááŤáá áľáááá áĽá á¨áá ááá áŤáá á áá á ááłááľ áľáááá˝á áľáá ፠áááłáá˝ áá¨á°áłáá˘
á¨ááááŞáŤá ááááľ. áá áá áľááá á¨ááá˝áá áľ áá ááľ áĽáááĽáŤáá.
áĽá á¨á፠áá á áľááá á¨áźá á´áŤááá áá ááľ áĽáá áŤááá áĽá á¨ááááááá áá áĽáááááá. áľááá , áľááá á ááá á¨á°á°áŠ áĽá´áśá˝ áá¨áááá. á áŁá ááš áá.
ááá°á ááááľ. á áá á¨á° áááłá˝á áá á áá°á¨á áááŚá˝ áá á áááľá¨áľ áá á¨áá_áŞáśááľ á á ááá ááᢠá¨á ááłááľ ááĽáśá˝ ááłáá፠áĽáá°á°ááá áŤá local-exe áá°áá áĽáá˝áááá˘
á á°ááĽáŽ ᣠáá áá á áá¨ááľ áá ááľááł áá ᣠááááŤáąá á ááá ᣠáá áĽáá°ááá˝ á¨á áἠá á áŤá˘áὠᣠá¨áŤáą á¨áá á áá á ááá˘
á áŁá á¨á°ááá°á á¨á áá ááłá ᨠAWS áá፠á˛á¨ááą á¨áľáášá áááá˝ áĽáá°áá áá á áľááá áá; áá áŁá ᪠áĽá፠áá áˇá; ááááŁáľ á¨á˛á´áá á 2013 á áá á¨áá°ááłá; ááááŁáľ ááŁáŞáá á VPC ááá° áĽá¨á°á áá ááá áá˝ááᢠáĽá áá°áŚá˝ á áᢠáĽá á ááá á á°ááśáš ááľáĽ á áľáá¸ááá˘
áááľáááľ á¨áááá¨á áĽááľ áááŽá˝ á áá˘
áááááᣠá Terraform plan ááá Terraform CLI ááľáĽ áŤá áááá ááľáĽáŤá áŤááá ááááŽá˝á áŤáľáááąá˘ áá áá áá° tfvars ááá ááá á á áŤáŁá˘ á°áááá ááľáĽ áááἠáá˝ááá˘
áá áá á áá á¨á áľááľ áľááá ááľáłááľ á áŤáľáááááľá. á¨á´áŤááá áĽá áľ - var áĽá á ááˇá áĽáááłáá. á¨ááááŞáŤá á°áááá var áá, ááá°áá á°áááá var áá, áŚáľá°áá, á áŤá°áá. áĽá áĽá áá á¨áá ááá áĽáá° áŽáľ á áŁá á áľáááá á¨áá á¨á° áááľ ááá áŽáľá á áááá¨áľ áĽáť áĽá፠áá áĽáá°ááá¨áᣠá áá áááł áĽá á áá á áááľ áĽá´áśá˝ áá ááá˝ áááᤠááá¨á áááŁáᢠáĽá áľááá á°ááśášá ááá ἠááá áŤáľáŤá áááľá°á áááá á áá á áááľ áááŞáŤáá˝á áĽáá°á°á áá áá á¨á á¨ááĽáá. áĽá áá á¨á áŤáŁá˘á áá á¨áááᾠᨠtfvars á áĽáŤ áŤáá ááá ááááľ áĽá áĽá፠áŤááá áááá ááá áá¨áľ á ááĽáá˘
áĽáá˛áá áá°áá áááááľ á¨áłáá ááááŽá˝á á áá ááᢠááá á á ááľá°á á¨áá á¨á° áááľ áááá˝á áá áá á áŁá ááá áá.
áĽáá˛áá, áľááŠááľá ááá°áĽ áĽá áá¨áá á áŤáľáááá. 150 ááĽáśá˝ áŤáá áĽá á¨á áááá áľáአá¨ááŁáŞá 10 áá° 100 ááłá°á á¨áááአááááŁáľ á¨áá á˝áá ááá á áá˝ááᢠááá á áá áĽáŠ ááá áá˝ááᣠááá áá Amazon áĽá áĽáŞáá˝á áĽáŤá°á¨áá áĽáá°áá á˛ááá á˝áá ááľáĽ áľááŁáá á˘
á´áŤááá á áĽáááášá áĽááá á á˝ááŽá˝ áłáá áááľááá ááááŤáᣠááá áá ááá ááá á áłáááᢠáľááŠ=1 á AWS API ááľáĽ ááá á á´áŤááá á á áŤá˘á ááľáĽ á áá áľá á°áľ áá á¨á°á°áá¨á ááá áá á áá ááá ááᢠáĽá á¨á፠ááĽááľ áŤáľáááááłá: parallelism=1 áĽá Terraform á ááľ áĽáŞ, á¨ááŤá ááá°áá, á¨ááŤá áśáľá°áá áĽáľáŞá¨ááľ áľá¨áľ áá áĽá. á ááľ á á ááľ áŤáľááłá¸ááá˘
á°áá˝ áĽá áá áá ááááᣠâááá áááľááá á´áŤááá á¨áľáŤ áŚáłáá˝ áá áá¸á?â áĽáá° áĽá áĽáááľ á¨áá á¨á° áááľ áááá áá ááááľ áá á¨á° áááľ áĽáá°á°áá á¨á á áá ááááľ áĽá´áľ áá¨áľ ááá˘
á¨áľáŤ áŚáłáá˝ á á°á áááá˝ á áá°áá áŠáᢠáá áááľ á°á áááá˝ á GitHub ááłáŽá˝ áá á¨á´áŤááá á¨áľáŤ áŚáłáá˝ ááá á áá˝áá áĽáá á˝ááá áááľ á áá°ááᢠá á áĽáá°áá á áá°áá. á´áŤááá á˘áá°áááŤáá á¨áááľ áááľá ááᢠá´áŤááá ᨠHashiCorp á¨áľáŤ áŚáłáá˝ áĽáá°ááŤáľáááá áá°áᣠáľááá á áľááŁááᢠá á°áᨠá áá ááľáĽ ááľááἠá áŁá ááá áá á áááźááá. á¨á፠áľáá˝ á°á¨á᪠áááá˝ áááŤá, áá á¨á áá ááá˝ áááá.
á¨áŽáą áá áĽáá´áľ áĽáá°áá°áŤ? áĽáá° áĽáááą á¨áá, á¨ááááŽá˝ áá ááľáŤáľ áĽá¸áá á áá áá. áĽá Terraformá ááá ááá°áąá˘ áááá ááá ááĽááľá áłáá á¨ááŤá°áá ááá áá á áá°ááᢠáĽá፠á á°ááą ááľáĽ á¨á°áťááá áá ááŁá¨á á áŤáľáááá.
á¨áŞáááą áááľ "ááá°ááą" á°á˝áá. áľááá ááłá á á áአáĽáááŤáá. ááá°ááą áá áááľ 0.12 á á áᥠááááá áááľ áá.
0.12 áĽá á áłá˛áľ áááŽá˝ ááᢠá¨áá°á á ááŽááŤááá á¨áᥠá¨áá á¨á፠áĽá á¨áá áááš á á ááľ áá á¨ááá°áá ᾠᣠáá áĽáá° áááłá ââââá¨á°ááŤáŠ á°áááá áĽááŽá˝ ᣠloops ᣠáľáááá áĽá áááłá á¨áá á á áľáŤáá˝ áááááᢠá áŁá ááááááłáᣠáľááá 0.12 áááłááłáá˘
áá! ááá á¨áá áááá˝á áĽá á¨áśáľá°á ááá áááľááá˝á á áá áá áľáá˝ áĽá á¨á áá á ááá á¨áá ᣠá¨á፠áá á á á ááááĽááľá áĽá 0.12 ááĽáś áááá ááá áĽáá°ááŤáľá°áŤááááľ á°áľá áŤáľááá˘
ááŞáááą áĽááá°áááá! áľá áá á¨á° áááľ áĽáá° áŽáľ á°ááá¨áá áĽá áľá áá°ááá˝ á ááľ áá á áá á°ááá¨ááᢠá áááá˝ ááľáĽ áá°ááá˝ áŤáľáááá? áá áááááľ á¨áá áá? áĽá áŤá´ ááťá á ááĽá ááááľ á¨áááá˝ áááááľ áá?
á¨áááĽáá áááľ áááá ááá áááá¨á áĽáá°áá°áá á ááááš áŞáááśá˝ áááá. áá ááá°á˝ áľáá áĽáŤá ááᢠá¨á°ááŤáŠ á á áŤá˘áá˝ áĽá áĽááá˝áŁ áĽá áĽááłáá˝ á áᢠáĽá áĽá á áá° áľááááá áĽá âáá°ááá˝ áŤáľáááááâ áľáľáᣠâáá áľáááŤáá ?â áĽáŹ áĽá ááááᢠá áááá˝á áĽáá°ááá áľááá˝áᢠá¨ááŤá á áĽá ááá áá á áá°áŤá áĽáááᢠáááľáᣠá áá áá áĽááłá ááľáááľ á áá˝ááᢠáĽá á´áááŤá á˝ááŽá˝ áĽááłá áłáá á áľá˘ áááľá, á á áĽáá˛áá áĽááá á áá°ááá˝ áĽáá´áľ áĽáá°áá˝á.
áĽá á áá áááľ áá á áááľ áĽá¨á°áá¨ááአááᣠáááľá áĽááľá á áťááľ áá á¨á° áááľ áá á°ááľáá°á áĽáá´áľ á áŤáľ á°á áá¨áŤáá˝á ááá á áĽáá°áá˝áᢠáááľáᣠáá á áŽáľ á¨ááᣠáĽáąá ááľáŹáľ á ááĽáᣠá áá áá°á¨áľ áá¨áŤáá˝á ááá á áĽá˝áááá˘
á ááśáᣠááŞáááą á áá°áááá! áľá áŤá᪠áĽáŁáááᢠáľáá˝ áááľááá áĽáŤá áá áá ᢠá áááłá áááł á á ááŚáľáŁ áá°ááŤáľ á áᢠá á ááŚáľ á¨áĽáá áá á¨á° áááľ áááĽáŤáᣠá áá°ááŤáľ áá á áá ááá áĽááááááᣠáááłá á°áá¨áŽá˝áŁ á áááŹá˝áá˝áŁ ááá°. áĽá á´áŤááá á¨á áá áááá áľ áá á¨ááá ááá áá´ ááľáĽ ááᣠáĽá 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