рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА Terraform Associate (004) рдкрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ - рдХрд╛рд╢ рдореИрдВ рдпреЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗ рдЬрд╛рдирддрд╛
рдЕрдЧрд▓реЗ рджрд┐рди рдХреЗ рдИрдорд╛рдирджрд╛рд░ рдиреЛрдЯреНрд╕: рдХреМрди рд╕реЗ рдкреНрд░рд╢реНрди рдЖрдП, рд╕рдордп рдХрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдХрд┐рди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХреА рдЬреЛ рдмрд╛рдж рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рдирд┐рдХрд▓реАрдВ, рдФрд░ рдореИрдВрдиреЗ рдХрд┐рди рдЪреАрдЬреЛрдВ рдХреЛ рдХрдо рдорд╣рддреНрд╡ рджрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдХрд▓ Terraform Associate 004 рдХреА рдкрд░реАрдХреНрд╖рд╛ рджреА рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рд╣реА рдкрд╛рд╕ рдХрд░ рд▓реАред рдпрд╣ "рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ" рд╡рд╛рд▓реА рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рд╣реИ - рдРрд╕реА рдмрд╣реБрдд рд╕рд╛рд░реА рдкреЛрд╕реНрдЯ рдореМрдЬреВрдж рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╣рдорд╛рд░реА рдЕрдкрдиреА рдПрдХ рдкреЛрд╕реНрдЯ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рд╡рд╣ рдкреЛрд╕реНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдкрд░реАрдХреНрд╖рд╛ рд╕реЗ рдПрдХ рд░рд╛рдд рдкрд╣рд▓реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬрдм рд╕рдм рдХреБрдЫ рдЕрднреА рднреА рддрд╛рдЬрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП: рдореИрдВ рд▓рдЧрднрдЧ рддреАрди рд╕рд╛рд▓ рд╕реЗ AWS рдкрд░ Terraform рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдБ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ - VPCs, ECS, RDS, ALBs, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ - рдХрднреА-рдХрднреА HCP Terraform рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдмрд╛рд░ S3 + DynamoDB рдХреЗ рд╕рд╛рдеред рдореИрдВрдиреЗ 003 рдХреА рдкрд░реАрдХреНрд╖рд╛ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЖрдзреЗ-рдЕрдзреВрд░реЗ рдзреНрдпрд╛рди рд╕реЗ рджреА рдереА рдФрд░ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ 004 рдПрдХ рддреНрд╡рд░рд┐рдд рд░реАрдлреНрд░реЗрд╢рд░ рд╣реЛрдЧрд╛ред рдпрд╣ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рд╡реИрд╕рд╛ рд╣реА рдерд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЦрд╛рд╕ рдмрд╛рддреЛрдВ рдХреЗ рд╕рд╛рдеред
рдореИрдВрдиреЗ рдЬрд┐рди рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд░рдЯреНрдЯрд╛ рдорд╛рд░рд╛, рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА
рдкрд░реАрдХреНрд╖рд╛ рд╕реЗ рджреЛ рджрд┐рди рдкрд╣рд▓реЗ рдореИрдВ рдХреБрдЫ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЧрдпрд╛ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд▓рдЧрднрдЧ рд╢реВрдиреНрдп рдирд┐рдХрд▓реЗ:
- Sentinel рдФрд░ OPA рд╕рд┐рдВрдЯреИрдХреНрд╕ред рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд╕рдордЭрд╛ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рджреЗрдЦрддреЗ рд╣реА Sentinel рдирд┐рдпрдо рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд░рд╢реНрди рдерд╛ рдЬреЛ рдкреЙрд▓рд┐рд╕реА-рдПрдЬрд╝-рдХреЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛, рдФрд░ рд╡рд╣ рд╡реИрдЪрд╛рд░рд┐рдХ рдерд╛ - "рдХреМрди рд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрдЧрдардирд╛рддреНрдордХ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ?" - рдЬрд┐рд╕рдХрд╛ рдЙрддреНрддрд░ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдиреЗ рд╕реЗ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ рдХрд┐ "Sentinel" рд╢рдмреНрдж рдореМрдЬреВрдж рд╣реИред
- рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдкреНрд▓рдЧрдЗрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдгред рд╢реВрдиреНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ред
- рд╣рд░
terraform stateрд╕рдмрдХрдорд╛рдВрдб рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ред рдкрд░реАрдХреНрд╖рд╛state list,state mv, рдФрд░state rmрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдкреВрдЫрддреА рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рд░ рдПрдХ рд╕рд╛рджреА рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдлрд╝реНрд▓реИрдЧреНрд╕ рдХреЛ рд░рдЯрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред - HCP Terraform рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рд╕реНрддрд░ред рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдирд╣реАрдВ рдерд╛ред рдкрд░реАрдХреНрд╖рд╛ HCP рдХреЛ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рдирддреА рд╣реИред
рдЕрдЧрд░ рдореБрдЭреЗ рддреИрдпрд╛рд░реА рдХрд╛ рд╕рдордп рд╡рд╛рдкрд╕ рдорд┐рд▓ рдЬрд╛рддрд╛, рддреЛ рдореИрдВ рдЗрд╕реЗ for_each рдмрдирд╛рдо count рдХреЗ рдЕрдзрд┐рдХ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рд▓рдЧрд╛рддрд╛ред
рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЪреМрдВрдХрд╛ рджрд┐рдпрд╛
рдХреБрдЫ рдмрд╛рддреЗрдВ рдЬрд┐рдирдХреА рдореИрдВрдиреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХреА рдереА:
рдирдП 004 рдХреЗ рдкреНрд░рд╢реНрди рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдкреВрдЫреЗ рдЧрдП рдереЗред рдореИрдВрдиреЗ рдЙрдореНрдореАрдж рдХреА рдереА рдХрд┐ "moved рдмреНрд▓реЙрдХ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?" рдЬреИрд╕реЗ рд╣рд▓реНрдХреЗ рд╕рд╡рд╛рд▓ рдЖрдПрдВрдЧреЗ; рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдорд┐рд▓реЗ рдЬреИрд╕реЗ "рдЖрдкрдиреЗ рдПрдХ рд░рд┐рд╕реЛрд░реНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрд╛рдзрд╛ рдХреЗ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдиреНрдпреВрдирддрдо рд╡реИрдз рдкрд░рд┐рд╡рд░реНрддрди рдХреМрди рд╕рд╛ рд╣реИ?" рдЬрд┐рд╕рдореЗрдВ рдЙрддреНрддрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ state mv рдЗрдирд╡реЛрдХреЗрд╢рди рдФрд░ рдПрдХ moved рдмреНрд▓реЙрдХ рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рдереЗред рдЖрдкрдХреЛ рдЙрд╕ рдореБрд╣рд╛рд╡рд░реЗ рдХреЛ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рдпрд╣ рдкрд╣рдЪрд╛рдирдирд╛ рдХрд┐ рджреЛрдиреЛрдВ рдореМрдЬреВрдж рд╣реИрдВред
import рдмреНрд▓реЙрдХреНрд╕ рдмрдирд╛рдо terraform import рдкрд░ рдХрдИ рдкреНрд░рд╢реНрдиред рдореИрдВрдиреЗ рдЖрд▓рд╕реНрдпрд╡рд╢ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ рд╡реЗ рд╕рдорд╛рди рдереЗред рдкрд░реАрдХреНрд╖рд╛ рдиреЗ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛ рдХрд┐ рд╡реЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ - рдмреНрд▓реЙрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реИ рдФрд░ plan рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ; CLI рдХрдорд╛рдВрдб рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ рдФрд░ рддреБрд░рдВрдд рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рджреЛ рдкреНрд░рд╢реНрдиреЛрдВ рдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдПрдХ рд╕рдореАрдХреНрд╖рдгреАрдп CI/CD рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред
HCL рдкреНрд░рд╢реНрди рдЕрднреНрдпрд╛рд╕ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдШрди рдереЗред рдХрдИ рдЕрднреНрдпрд╛рд╕ рдкрд░реАрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЖрдкрдХреЛ рдЪрд╛рд░-рдкрдВрдХреНрддрд┐ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реНрдирд┐рдкреЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рдПрдХ рдкрдВрджреНрд░рд╣-рдкрдВрдХреНрддрд┐ рдХрд╛ рдмреНрд▓реЙрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдХ dynamic рдПрдХ resource рдХреЗ рдЕрдВрджрд░ рдиреЗрд╕реНрдЯреЗрдб рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрдкрдирд╛ for_each рдмрд╛рд╣рд░реА рдЧрдгрдирд╛ рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдореБрдЭрд╕реЗ рдмрдирд╛рдП рдЧрдП рд░рд┐рд╕реЛрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдЗрд╕реЗ рджреЛ рдмрд╛рд░ рдкрдврд╝рдирд╛ рдкрдбрд╝рд╛ред 60-рд╕реЗрдХрдВрдб-рдкреНрд░рддрд┐-рдкреНрд░рд╢реНрди рдХреА рдШрдбрд╝реА рдХреЗ рддрд╣рдд HCL рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд╕рдВрдЬреНрдЮрд╛рдирд╛рддреНрдордХ рднрд╛рд░ рдХреЛ рдХрдо рдордд рдЖрдВрдХрд┐рдПред
terraform test рдкрд░ рджреЛ рдкреНрд░рд╢реНрдиред рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрднреНрдпрд╛рд╕ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рд╢реНрди рд╡реИрдЪрд╛рд░рд┐рдХ рдереЗ - рдХрд┐ .tftest.hcl рдореМрдЬреВрдж рд╣реИ, рдХрд┐ run рдмреНрд▓реЙрдХ рдореЗрдВ рдЕрднрд┐рдХрдерди рд╣реЛрддреЗ рд╣реИрдВ, рдХрд┐ рдЖрдк рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╡рд╛рдЗрдбрд░реЛрдВ рдХреЛ рдореЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЙрдХреНрд╕ рдкреГрд╖реНрда рдХреЛ рд╕рд░рд╕рд░реА рддреМрд░ рдкрд░ рдкрдврд╝реЗрдВ; рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рд╕рдордп рдкреНрд░рдмрдВрдзрди рдиреЗ рдореБрдЭреЗ рд▓рдЧрднрдЧ рднрд╛рд░реА рдкрдбрд╝ рдЧрдпрд╛ рдерд╛
60 рдорд┐рдирдЯ рдореЗрдВ 57 рдкреНрд░рд╢реНрди рдХрд╛ рдорддрд▓рдм рдкреНрд░рддрд┐ рдкреНрд░рд╢реНрди рдПрдХ рдорд┐рдирдЯ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИред рдореИрдВ рддрдХрдиреАрдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ рдПрдХ рдзреАрдорд╛ рдкрд░реАрдХреНрд╖рдг рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХреЛрдб рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝рддрд╛ рд╣реВрдБред рдореИрдВрдиреЗ 52рд╡реЗрдВ рдорд┐рдирдЯ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдкрд╛рд╕ рдкреВрд░рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдкрд╛рдВрдЪ рдкреНрд░рд╢реНрди рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рдереЗред рдЙрди рдЪрд┐рд╣реНрдирд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд╕реЗ рджреЛ рдкрд░ рдореИрдВ рд╢рдмреНрджреЛрдВ рдХреЛ рдЬрд╝реНрдпрд╛рджрд╛ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛; рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рддрд╛рдЬрд╝рд╛ рдкрдврд╝рдХрд░ рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдЙрддреНрддрд░ рдмрджрд▓ рджрд┐рдП - рдПрдХ рд╕рд╣реА рдирд┐рдХрд▓рд╛, рджреВрд╕рд░рд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЧрд▓рдд рдЙрддреНрддрд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ (рдШрдЯрдирд╛ рдХреЗ рдмрд╛рдж рдЬрд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ)ред
рдЬреЛ рдХрд╛рдо рдЖрдпрд╛: рдХреЛрдИ рднреА рдкреНрд░рд╢реНрди рдЬрд╣рд╛рдБ рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдкреНрд░рд╢реНрди рдХреЛ рджреЛ рдмрд╛рд░ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдкрдврд╝рддреЗ рд╣реБрдП рдкрд╛рдпрд╛, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛, рдЙрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ред рдПрдХ рд╣реА рдкреНрд░рд╢реНрди рдкрд░ рдЪрд╛рд░ рдорд┐рдирдЯ рддрдХ рди рд░реБрдХреЗрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рддреАрди рдФрд░ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рднреА рдЗрд╕реЗ рдирд╣реАрдВ рдЬрд╛рдиреЗрдВрдЧреЗред
рдзреАрдореЗ рдкреНрд░рд╢реНрди
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реНрд░реЗрдгреА рдЬрд┐рд╕рдиреЗ рд╕рдордп рдЦрд╛рдпрд╛: "рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдлрд╝рд╛рдЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, terraform plan рдХреНрдпрд╛ рджрд┐рдЦрд╛рдПрдЧрд╛?" рдпреЗ рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдорд╛рдирд╕рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕реНрдерд┐рддрд┐ рднрд┐рдиреНрдирддрд╛ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдЫреЛрдбрд╝ рджреА, рдЙрддреНрддрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рджреЗрдЦрд╛, рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЯреВрдЯреА рд╣реБрдИ рдЪреАрдЬрд╝ рдХреЛ рдЪреБрдирд╛ (рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд▓рд╛рдкрддрд╛ рдЯреИрдЧ, рджреВрд╕рд░реЗ рдореЗрдВ рдПрдХ рдмрджрд▓рд╛ рд╣реБрдЖ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ)ред рджреЛрдиреЛрдВ рд╕рд╣реА рдирд┐рдХрд▓реЗред рдЧрд╣рд░реА рд╕рд┐рдореБрд▓реЗрд╢рди рдкрд░ рдкреИрдЯрд░реНрди рдкрд╣рдЪрд╛рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ, рдЬрдм рд╕рдордп рдХрдо рд╣реЛред
рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреА рддреИрдпрд╛рд░реА рджреЛрдмрд╛рд░рд╛ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛
рдЬреЛ рдореИрдВ рдЕрдм рдЬрд╛рдирддрд╛ рд╣реВрдБ, рдЙрд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣рд╛рдБ рдкреБрдирд░реНрд╕рдВрддреБрд▓рд┐рдд рдмрдЬрдЯ рд╣реИ:
- 40% рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрдиред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдордп рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рд╣рд▓ рдХрд░реЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рдд рдЙрддреНрддрд░реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред
- 25% HCL рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдкрдврд╝рдирд╛ред рдХреБрдЫ рд▓рд┐рдЦреЗрдВ рднреА, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рджрд┐рди рдЖрдкрдХреЛ рдЬрд┐рд╕ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рд╡рд╣ рдкрдврд╝рдиреЗ рдХреА рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣рддрд╛ рд╣реИ, рд▓рд┐рдЦрдиреЗ рдХреА рдирд╣реАрдВред
- 15% рд╕реНрдерд┐рддрд┐ рд╕рд┐рдореЗрдВрдЯрд┐рдХреНрд╕ред рд╕реНрдерд┐рддрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рд▓реЙрдХрд┐рдВрдЧ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ,
moved/removed/importрдмреНрд▓реЙрдХ рдкреНрд░рддреНрдпреЗрдХ рдХреНрдпрд╛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред - 10% рдирдИ 004 рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдХреЗрд▓реЗ рдореЗрдВ - рд╡реЗрд░рд┐рдПрдмрд▓ рд╡реИрд▓рд┐рдбреЗрд╢рди, рдкреВрд░реНрд╡-рд╢рд░реНрддреЗрдВ, рдХреНрд╖рдгрднрдВрдЧреБрд░ рдорд╛рди, рдХреЗрд╡рд▓-рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рддрд░реНрдХ, HCP рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ,
terraform testред - 10% рдмрд╛рдХреА рд╕рдм рдХреБрдЫ - IaC рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ, Terraform рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп, HCP рдЕрд╡рд▓реЛрдХрдиред
рдЬрд╛рдирдмреВрдЭрдХрд░ рдПрдХ рдЕрд╕рдВрддреБрд▓рд┐рдд рдмрдЬрдЯред "рдмрд╛рдХреА рд╕рдм рдХреБрдЫ" рд╡рд╛рд▓реА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рдРрд╕реА рдЪреАрдЬрд╝реЗрдВ рд╣реИрдВ рдЬреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ Terraform рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред
рдЬрд┐рди рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреА рдореИрдВрдиреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХреА рдереА, рд▓реЗрдХрд┐рди рд╡реЗ рдереАрдВ
- рдпрд╣ рдЬрд╛рдирдирд╛ рдХрд┐
terraform fmtрдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рджреЛ рдмрд╛рд░ рдЖрдпрд╛ред рдПрдХ рдЧрд▓рдд рдЙрддреНрддрд░ рдпрд╣ рдерд╛ рдХрд┐fmtрд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред - рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд╕рдВрд╕реНрдХрд░рдг рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ред
~> 1.2рдФрд░~> 1.2.0рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ (рджреВрд╕рд░рд╛ рдкреИрдЪ рд╕реНрддрд░ рдкрд░ рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд╣реИ - рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ)ред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд╕рдордЭрд╛ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред terraform init -upgradeрдФрд░terraform init -reconfigureрдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭрд╕реЗ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдмреИрдХрдПрдВрдб рдмреНрд▓реЙрдХ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЙрддреНрддрд░-reconfigureрд╣реИред-jsonрдХреЗ рд╕рд╛рдеterraform outputред рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдХрдорд╛рдВрдб рдорд╢реАрди-рдкрдардиреАрдп рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рддреБрдЪреНрдЫ; рдпрджрд┐ рдЖрдкрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж
PSI рдЕрдВрдд рдореЗрдВ рдкрд╛рд╕/рдлреЗрд▓ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ (рдореБрдЭреЗ рд╣рд░рд╛ рдЪреЗрдХ рдорд╛рд░реНрдХ рдорд┐рд▓рд╛; рд░рд╛рд╣рдд)ред рдбреЛрдореЗрди рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрдг рд╕реНрдХреЛрд░ рдмреНрд░реЗрдХрдбрд╛рдЙрди рдХреБрдЫ рджрд┐рдиреЛрдВ рдмрд╛рдж рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдмреИрдЬ рдЖрдкрдХреЗ Credly рдЦрд╛рддреЗ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред HashiCorp рдкреНрд░рдорд╛рдгрдкрддреНрд░ рджреЛ рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╡реИрдз рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдХреИрд▓реЗрдВрдбрд░ рд░рд┐рдорд╛рдЗрдВрдбрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
рдПрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд┐рд╕ рдЪреАрдЬрд╝ рдХреЛ рдореИрдВрдиреЗ рдХрдо рдЖрдВрдХрд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ 60 рдорд┐рдирдЯ рдХрд╛ рдЧрд╣рди рдзреНрдпрд╛рди рдХрд┐рддрдирд╛ рдердХрд╛ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЛрдИ рдореАрдЯрд┐рдВрдЧ рд╢реЗрдбреНрдпреВрд▓ рди рдХрд░реЗрдВред рдореИрдВ рдШрд░ рдЖрдпрд╛ рдФрд░ рдПрдХ рдШрдВрдЯреЗ рддрдХ рджреАрд╡рд╛рд░ рдХреЛ рджреЗрдЦрддрд╛ рд░рд╣рд╛ред
рдпрджрд┐ рдЖрдкрдХреА рдкрд░реАрдХреНрд╖рд╛ рдХреА рддрд╛рд░реАрдЦ рдХрд░реАрдм рд╣реИ, рддреЛ CertLabPro 004 рдмреИрдВрдХ рд╕реЗ рдПрдХ рдХреЛрд▓реНрдб рдмреНрд▓реЙрдХ рдЪрд▓рд╛рдПрдВред рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рди рдХрд░реЗрдВ - рдЙрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ рдЬрд┐рди рдкрд░ рдЖрдк рдХрдордЬреЛрд░ рд╣реИрдВ рдЬрдмрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рд╕рдордп рд╣реИред