All pages
Powered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛

Source: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/small-terraform

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдХреЛрдИ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдФрд░ рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЬрд╛рддреЗ рд╣реИрдВ рд░рд┐рдлреИрдХреНрдЯрд░ рдХрд░реЗрдВ

  • рдЫреЛрдЯреЗ рд╕рдВрд╕рд╛рдзрди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА

  • рдЫреЛрдЯреЗ рдФрд░ рд░реИрдЦрд┐рдХ рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд░рдЪрдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ (eg, )

  • рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ (20-30 рд╕реЗ рдХрдо)

рдпрджрд┐ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ рддреЛ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓ рд╕реНрдЯреЗрдЯ рдлрд╛рдЗрд▓ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддреА рд╣реИ (рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ argument -target рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ)

terraform-aws-atlantis

рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛

Source: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/large-terraform

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрдб рдХреЛ рдПрдХ рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

  • 2 AWS рдЦрд╛рддреЗ

  • 2 рдХреНрд╖реЗрддреНрд░

  • 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг (рдареЗрд╕ рдФрд░ рдордВрдЪ рдЬреЛ рдХреБрдЫ рднреА рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ рдЕрд▓рдЧ AWS рдЦрд╛рддреЗ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдФрд░ 2 рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрд╕рд╛рдзрди рдлреИрд▓рд╛рддрд╛ рд╣реИ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдСрдл-рдж-рд╢реЗрд▓реНрдл рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЙрдбреНрдпреВрд▓ (рдПрд▓рдмреА) рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ рдЖрдВрддрд░рд┐рдХ рдореЙрдбреНрдпреВрд▓ рдореЙрдбреНрдпреВрд▓/рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЯреЗрд░рд╛рдЧреНрд░рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ. рджреЗрдЦреЗрдВ .

  • рджреЗрдЦреЗрдВрдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЬрд╣рд╛рдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ (рдЕрд▓рдЧ AWSрдЦрд╛рддреЗ)

  • рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм AWS рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг = рдПрдХ AWS рдЦрд╛рддрд╛ = рдПрдХ рд░рд╛рдЬреНрдп рдлрд╝рд╛рдЗрд▓)

рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдврд╝рддреА рд╣реИ, рдЗрди рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрдк-рдЯреВ-рдбреЗрдЯ рд░рдЦрдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ред рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЙрдбреНрдпреВрд▓ (рдСрдл-рдж-рд╢реЗрд▓реНрдл рдпрд╛ рдЖрдВрддрд░рд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмреАрдЪ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрдпреЛрдЬрди рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
  • рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рддрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдпрд╛ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ)

  • Code Structures examples with Terragrunt

    рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛

    Source: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/medium-terraform

    рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрд░рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

    • 2 AWS рдЦрд╛рддреЗ

    • 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг (рдареЗрд╕ рдФрд░ рдордВрдЪ рдЬреЛ рдХреБрдЫ рднреА рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡реЗрд╢ рдПрдХ рдЕрд▓рдЧ AWS рдЦрд╛рддреЗ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ

    • рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡реЗрд╢ рдСрдлрд╝-рдж-рд╢реЗрд▓реНрдл рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдореЙрдбреНрдпреВрд▓ (alb) рдХреЗ рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ

    • рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ рдЖрдВрддрд░рд┐рдХ рдореЙрдбреНрдпреВрд▓ рдореЙрдбреНрдпреВрд▓/рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

    • рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЬрд╣рд╛рдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ (рдЕрд▓рдЧ AWS рдЦрд╛рддреЗ)

    • рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм AWS рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг = рдПрдХ AWS рдЦрд╛рддрд╛ = рдПрдХ рд░рд╛рдЬреНрдп рдлрд╝рд╛рдЗрд▓)

    рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдврд╝рддреА рд╣реИ, рдЗрди рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрдк-рдЯреВ-рдбреЗрдЯ рд░рдЦрдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ред рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЙрдбреНрдпреВрд▓ (рдСрдл-рдж-рд╢реЗрд▓реНрдл рдпрд╛ рдЖрдВрддрд░рд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

    рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмреАрдЪ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрдпреЛрдЬрди рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
  • рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рддрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдпрд╛ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ)

  • Terraform Registry