рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рднреА рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ VMware рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдореЗрдВ - рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреАрди рд╡реАрдПрдо рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ: рдкреНрд░реЙрдХреНрд╕реА, рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╕реАрдПрдордПрд╕ред

рд╣рд░ рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдФрд░ рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ:

1. рдЯреЗрд░рд╛рдлреЙрд░реНрдо - рд╡рд┐рд╡рд░рдг, рдлрд╛рдпрджреЗ рдФрд░ рдШрдЯрдХ

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ IaC (рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░-рдП-рдХреЛрдб) рдЯреВрд▓ рд╣реИред

рд╣рдордиреЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдлрд╛рдпрджреЗ рдиреЛрдЯ рдХрд┐рдП:

  • рдирдпреЗ рдХрд┐рд░рд╛рдпреЗрджрд╛рд░реЛрдВ рдХреА рддреИрдирд╛рддреА рдХреА рдЧрддрд┐ (рдХрд╕реНрдЯрдо рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг)ред рдЖрдорддреМрд░ рдкрд░, рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдирдП рдЧреНрд░рд╛рд╣рдХ рд╣реЛрдВрдЧреЗ, рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдирдП рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддрдиреЗ рд╣реА рдЕрдзрд┐рдХ "рдХреНрд▓рд┐рдХ" рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдпрд╛ рдорд╢реАрди рдХреЛ рдмрдВрдж рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдУрдПрд╕ рдмрдВрдж рдХрд░рдирд╛ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди рдмрдврд╝рд╛рдирд╛)ред

  • рд╕рдХреНрд░рд┐рдпрдг рдпреЛрдЬрдирд╛ рдХрд╛ рддреНрд╡рд░рд┐рдд рд╕рддреНрдпрд╛рдкрди рдирдпрд╛ рдЯреЗрдиреЗрдВрдЯ. рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛрдб рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рддреБрд░рдВрдд рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ, рд╕рд╛рде рд╣реА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдпрд╣ рдпрд╛ рд╡рд╣ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд┐рд╕ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛ред

  • рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЖрдк рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдореЗрдЬрд╝реЕрди рдФрд░ Google рдХреНрд▓рд╛рдЙрдб рд╕реЗ рд▓реЗрдХрд░ VMware vCloud рдирд┐рджреЗрд╢рдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд┐рдЬреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рддрдХ, IaaS, SaaS рдФрд░ PaaS рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рднреАрддрд░ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

  • рдПрдХрд╛рдзрд┐рдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рдирд┐рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмреАрдЪ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВред

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

"рдЯреЗрд░рд╛рд░рд┐рдпрдо" рдЯреЗрд░рд╛рдлреЙрд░реНрдо

рд╣рдордиреЗ рдЯреВрд▓ рдХреЗ рдлрд╛рдпрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрд╛рдд рдХреА, рдЕрдм рдЗрд╕реЗ рдЗрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рдкреНрд░рджрд╛рддрд╛ред 

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

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрд╕рд╛рдзрди (рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг)ред

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

рдЖрдк рд╕реНрд╡рдпрдВ VMware vCloud рдирд┐рджреЗрд╢рдХ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ vCloud рдирд┐рджреЗрд╢рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдкреНрд░рд╛рд╡рдзрд╛рдирдХрд░реНрддрд╛ред

рдпрд╣ рдШрдЯрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕рдВрд╕рд╛рдзрди рдмрдирд╛ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╡рд┐рдЬрдирд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 

рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдЪрд░.

рдЗрдирдкреБрдЯ рдЪрд░ - рдХрд┐рд╕реА рднреА рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдЪрд░ред 

рдЖрдЙрдЯрдкреБрдЯ рдЪрд░ рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЗрдирдкреБрдЯ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╡рд┐рдЬрдирд░реНрд╕ рдмреНрд▓реЙрдХ рдореЗрдВред

рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛.

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

рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд░рд╛рдЬреНрдп рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдиреАрдп terraform.tfstate рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЯреАрдо рд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдЖрдк рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рднреА рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдП рдЧрдП рдереЗред  

2. рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рдШрдЯрдХреЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ рддреАрди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдкрд╣рд▓рд╛ nginx рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде, рджреВрд╕рд░рд╛ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдФрд░ рддреАрд╕рд░рд╛ CMS рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рдеред

рд╣рдо рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рд▓рд┐рдЦреЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗ VMware vCloud рдирд┐рджреЗрд╢рдХ рдкрд░ рдмрд╛рджрд▓. рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрдЧрдарди рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп VMware рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╕рдорд╛рди рдЕрдзрд┐рдХрд╛рд░реЛрдВ рд╡рд╛рд▓реЗ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдХреЛрдб рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рдирд╛!

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЕрдкрдиреЗ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд░рдЦреА рдЬрд╛рдПрдВрдЧреАред

mkdir project01

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

рд╣рдорд╛рд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдИрдВ:

рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА.

main.tf - рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг - рдЖрднрд╛рд╕реА рдорд╢реАрдиреЗрдВ, рдЖрднрд╛рд╕реА рдХрдВрдЯреЗрдирд░;

рдиреЗрдЯрд╡рд░реНрдХ.рдЯреАрдПрдл - рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдПрдирдПрдЯреА рдФрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг;

рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕.tf - рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреА рд╕реВрдЪреА рдЬрд┐рдирдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ;

vcd.tfvars - VMware vCloud рдирд┐рджреЗрд╢рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд░ рдорд╛рдиред

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

рдмреНрд▓реЙрдХ рд╕рдВрд░рдЪрдирд╛.

<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {

# Block body

<IDENTIFIER> = <EXPRESSION> # Argument

}

рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреА рдЕрдкрдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ HCL (HashiCorp рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЖрдк рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрдврд╝реЗрдВ.

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╡рд┐рдиреНрдпрд╛рд╕, рд╡реЗрд░рд┐рдПрдмрд▓.tf рдФрд░ vcd.tfvars

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдВ рдЬреЛ VMware vCloud рдирд┐рджреЗрд╢рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рднреА рдЪрд░ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕.tf рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВред

рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕.tf рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реАред

variable "vcd_org_user" {

  description = "vCD Tenant User"

}

variable "vcd_org_password" {

  description = "vCD Tenant Password"

}

variable "vcd_org" {

  description = "vCD Tenant Org"

}

variable "vcd_org_vdc" {

  description = "vCD Tenant VDC"

}

variable "vcd_org_url" {

  description = "vCD Tenant URL"

}

variable "vcd_org_max_retry_timeout" {

  default = "60"

}

variable "vcd_org_allow_unverified_ssl" {

  default = "true"

}

variable "vcd_org_edge_name" {

  description = "vCD edge name"

}

variable "vcd_org_catalog" {

  description = "vCD public catalog"

}

variable "vcd_template_os_centos7" {

  description = "OS CentOS 7"

  default = "CentOS7"

}

variable "vcd_org_ssd_sp" {

  description = "Storage Policies"

  default = "Gold Storage Policy"

}

variable "vcd_org_hdd_sp" {

  description = "Storage Policies"

  default = "Bronze Storage Policy"

}

variable "vcd_edge_local_subnet" {

  description = "Organization Network Subnet"

}

variable "vcd_edge_external_ip" {

  description = "External public IP"

}

variable "vcd_edge_local_ip_nginx" {}

variable "vcd_edge_local_ip_bitrix" {}

variable "vcd_edge_local_ip_nextcloud" {}

variable "vcd_edge_external_network" {}

рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдорд╛рди рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред

  • vcd_org_user - рд╕рдВрдЧрдарди рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо,

  • vcd_org_password тАФ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб,

  • vcd_org - рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо,

  • vcd_org_vdc - рд╡рд░реНрдЪреБрдЕрд▓ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдХрд╛ рдирд╛рдо,

  • vcd_org_url - рдПрдкреАрдЖрдИ рдпреВрдЖрд░рдПрд▓,

  • vcd_org_edge_name тАФ рд╡рд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рдХрд╛ рдирд╛рдо,

  • vcd_org_catalog - рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо,

  • vcd_edge_external_ip - рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрддрд╛,

  • vcd_edge_external_network тАФ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдирд╛рдо,

  • vcd_org_hdd_sp - HDD рд╕рдВрдЧреНрд░рд╣рдг рдиреАрддрд┐ рдХрд╛ рдирд╛рдо,

  • vcd_org_ssd_sp - SSD рднрдВрдбрд╛рд░рдг рдиреАрддрд┐ рдХрд╛ рдирд╛рдоред

рдФрд░ рд╣рдорд╛рд░реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рджрд░реНрдЬ рдХрд░реЗрдВ:

  • vcd_edge_local_ip_nginx - NGINX рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдЖрдИрдкреА рдкрддрд╛,

  • vcd_edge_local_ip_bitrix - 1C рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ IP рдкрддрд╛: Bitrix,

  • vcd_edge_local_ip_nextcloud - рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ред

рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╣рдо vcd.tfvars рдлрд╝рд╛рдЗрд▓ рдореЗрдВ VMware vCloud рдирд┐рджреЗрд╢рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡реЗрд░рд┐рдПрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд╕реНрд╡рдпрдВ рдХрд╛ рдХреНрд▓рд╛рдЙрдб mClouds, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рд╕рд╛рде рдореВрд▓реНрдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред 

vcd.tfvars рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реАред

vcd_org_url = "https://vcloud.mclouds.ru/api"

vcd_org_user = "orgadmin"

vcd_org_password = "*"

vcd = "org"

vcd_org_vdc = "orgvdc"

vcd_org_maxretry_timeout = 60

vcd_org_allow_unverified_ssl = true

vcd_org_catalog = "Templates"

vcd_templateos_centos7 = "CentOS7"

vcd_org_ssd_sp = "Gold Storage Policy"

vcd_org_hdd_sp = "Bronze Storage Policy"

vcd_org_edge_name = "MCLOUDS-EDGE"

vcd_edge_external_ip = "185.17.66.1"

vcd_edge_local_subnet = "192.168.110.0/24"

vcd_edge_local_ip_nginx = "192.168.110.1"

vcd_edge_local_ip_bitrix = "192.168.110.10"

vcd_edge_local_ip_nextcloud = "192.168.110.11"

vcd_edge_external_network = "NET-185-17-66-0"

рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдиреЗрдЯрд╡рд░реНрдХ.tf.

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рд╣реЛ рдЧрдП рд╣реИрдВ, рдЕрдм рд╣рдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрдиреЗрдХреНрд╢рди рдпреЛрдЬрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ - рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА рдЖрдИрдкреА рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреЛрд░реНрдЯ рдХреЛ "рдлреЙрд░рд╡рд░реНрдб" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди NAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рдмрдВрдзрди рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗред

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВрдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реЗрдЦ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рд╣рдо Net_lan01 рдирд╛рдо, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреЗрдЯрд╡реЗ: 192.168.110.254, рдФрд░ рдкрддрд╛ рд╕реНрдерд╛рди: 192.168.110.0/24 рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рдВрдЧрдардирд╛рддреНрдордХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рддреЗ рд╣реИрдВред

рд╣рдо рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред

resource "vcd_network_routed" "net" {

  name = "net_lan01"

  edge_gateway = var.vcd_org_edge_name

  gateway = "192.168.110.254"

  dns1 = "1.1.1.1"

  dns2 = "8.8.8.8"

 static_ip_pool {

start_address = "192.168.110.1"

end_address = "192.168.110.253"

  }

}

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

рд╣рдо рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рд╡реАрдПрдо рдкрд╣реБрдВрдЪ рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред

resource "vcd_nsxv_firewall_rule" "fw_internet_access" {

  edge_gateway   = var.vcdorgedgename

  name = "Internet Access"

  source {

gateway_interfaces = ["internal"]

  }

  destination {

gateway_interfaces = ["external"]

  }

  service {

protocol = "any"

  }

  depends_on = [vcdnetworkrouted.net]

}

рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ vcdnetworkrouted.net рдмреНрд▓реЙрдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо vcdnsxvfirewallrule рдмреНрд▓реЙрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, ╤Б ╨╛╨╝╨╛╤Й╤М╤О рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдиреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдРрд╕реЗ рдирд┐рдпрдо рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд░реНрдЯ 80 рдФрд░ 443 рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ 90.1.15.1 рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рдПрд╕рдПрд╕рдПрдЪ рдкреЛрд░реНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред

рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред

resource "vcd_nsxv_firewall_rule" "fwnatports" {

  edge_gateway   = var.vcd_org_edge_name

  name = "HTTPs Access"

  source {

gateway_interfaces = ["external"]

  }

  destination {

  gateway_interfaces = ["internal"]

  }

  service {

protocol = "tcp"

port = "80"

  }

  service {

protocol = "tcp"

port = "443"

  }

  depends_on = [vcd_network_routed.net]

}

resource "vcd_nsxv_firewall_rule" "fw_nat_admin_ports" {

  edge_gateway   = var.vcd_org_edge_name

  name = "Admin Access"

  source {

  ip_addresses = [ "90.1.15.1" ]

  }

  destination {

  gateway_interfaces = ["internal"]

  }

  service {

protocol = "tcp"

port = "58301"

  }

  service {

protocol = "tcp"

port = "58302"

  }

  service {

protocol = "tcp"

port = "58303"

  }

  depends_on = [vcd_network_routed.net]

}

рд╣рдо рдХреНрд▓рд╛рдЙрдб рд▓реЛрдХрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ NAT рдирд┐рдпрдо рдмрдирд╛рддреЗ рд╣реИрдВ:

рд╣рдо рд╕реНрд░реЛрдд NAT рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред

resource "vcd_nsxv_snat" "snat_local" {

edge_gateway = var.vcd_org_edge_name

  network_type = "ext"

  network_name = var.vcdedgeexternalnetwork

  original_address   = var.vcd_edge_local_subnet

translated_address = var.vcd_edge_external_ip

  depends_on = [vcd_network_routed.net]

}

рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдмреНрд▓реЙрдХ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдВрддрд╡реНрдп NAT рдирд┐рдпрдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

рдЧрдВрддрд╡реНрдп NAT рдирд┐рдпрдо рдЬреЛрдбрд╝рдирд╛ред

resource "vcd_nsxv_dnat" "dnat_tcp_nginx_https" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"

  description = "NGINX HTTPs"

original_address = var.vcd_edge_external_ip
original_port = 443

translated_address = var.vcd_edge_local_ip_nginx
translated_port = 443
protocol = "tcp"

depends_on = [vcd_network_routed.net]
}
resource "vcd_nsxv_dnat" "dnat_tcp_nginx_http" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"

description = "NGINX HTTP"

original_address = var.vcd_edge_external_ip
original_port = 80

translated_address = var.vcd_edge_local_ip_nginx
translated_port = 80
protocol = "tcp"

depends_on = [vcd_network_routed.net]

}

Nginx рдХреЗ рдЕрдВрддрд░реНрдЧрдд SSH рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд░реНрдЯ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП NAT рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВред

resource "vcd_nsxv_dnat" "dnat_tcp-nginx_ssh" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"

description = "SSH NGINX"

original_address = var.vcd_edge_external_ip
original_port = 58301

translated_address = var.vcd_edge_local_ip_nginx
translated_port = 22
protocol = "tcp"

depends_on = [vcd_network_routed.net]

}

1C-Bitrix рдХреЗ рд╕рд╛рде SSH рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд░реНрдЯ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП NAT рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВред

resource "vcd_nsxv_dnat" "dnat_tcp_bitrix_ssh" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"

description = "SSH Bitrix"

original_address = var.vcd_edge_external_ip
original_port = 58302

translated_address = var.vcd_edge_local_ip_bitrix
translated_port = 22
protocol = "tcp"

depends_on = [vcd_network_routed.net]

}

рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдХреЗ рд╕рд╛рде SSH рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд░реНрдЯ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП NAT рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВред

resource "vcd_nsxv_dnat" "dnat_tcp_nextcloud_ssh" {
edge_gateway = var.vcd_org_edge_name
network_name = var.vcd_edge_external_network
network_type = "ext"

description = "SSH Nextcloud"

original_address = var.vcd_edge_external_ip
original_port = 58303 translated_address = var.vcd_edge_local_ip_nextcloud
translated_port = 22
protocol = "tcp"

depends_on = [vcd_network_routed.net]

}

Main.tf рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдереА, рд╣рдо рддреАрди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ рдмрдирд╛рдПрдВрдЧреЗред рдЗрдиреНрд╣реЗрдВ "рдЕрддрд┐рдерд┐ рдЕрдиреБрдХреВрд▓рди" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдЗрдП рдЙрд╕ vApp рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреА рдФрд░ рдЙрдирдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛрдЧрд╛ред

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВрд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

рдЖрдЗрдП рдПрдХ vApp рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВред рддрд╛рдХрд┐ рд╣рдо рддреБрд░рдВрдд vApp рдФрд░ VM рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВ, рд╣рдо depend_on рдкреИрд░рд╛рдореАрдЯрд░ рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВ

resource "vcd_vapp" "vapp" {
name = "web"
power_on = "true" depends_on = [vcd_network_routed.net]

}

рдЖрдЗрдП рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдПрдВ

resource "vcd_vapp_vm" "nginx" {

vapp_name = vcd_vapp.vapp.name

name = "nginx"

catalog_name = var.vcd_org_catalog

template_name = var.vcd_template_os_centos7

storage_profile = var.vcd_org_ssd_sp

memory = 8192

cpus = 1

cpu_cores = 1

network {

type = "org"

name = vcd_network_routed.net.name

is_primary = true

adapter_type = "VMXNET3"

ip_allocation_mode = "MANUAL"

ip = var.vcd_edge_local_ip_nginx

}

override_template_disk {

bus_type = "paravirtual"

size_in_mb = "32768"

bus_number = 0

unit_number = 0

storage_profile = var.vcd_org_ssd_sp

}

}

VM рд╡рд┐рд╡рд░рдг рдореЗрдВ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░:

  • рдирд╛рдо - рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдирд╛рдо,

  • vappname - vApp рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рдирдпрд╛ VM рдЬреЛрдбрд╝рдирд╛ рд╣реИ,

  • рдХреИрдЯрд▓реЙрдЧрдирд╛рдо / рдЯреЗрдореНрдкрд▓реЗрдЯрдирд╛рдо - рдХреИрдЯрд▓реЙрдЧ рдирд╛рдо рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд╛рдо,

  • рд╕реНрдЯреЛрд░реЗрдЬрдкреНрд░реЛрдлрд╛рдЗрд▓ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрдВрдбрд╛рд░рдг рдиреАрддрд┐ред

рдиреЗрдЯрд╡рд░реНрдХ рдмреНрд▓реЙрдХ рдкреИрд░рд╛рдореАрдЯрд░:

  • рдкреНрд░рдХрд╛рд░ - рдХрдиреЗрдХреНрдЯреЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░,

  • рдирд╛рдо - рд╡реАрдПрдо рдХреЛ рдХрд┐рд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИ,

  • рдкреНрд░рд╛рдердорд┐рдХ - рдкреНрд░рд╛рдердорд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбрд╛рдкреНрдЯрд░,

  • ipallocation_mode - рдореИрдиреБрдЕрд▓/рдбреАрдПрдЪрд╕реАрдкреА/рдкреВрд▓ рдкрддрд╛ рдЖрд╡рдВрдЯрди рдореЛрдб,

  • рдЖрдИрдкреА тАЛтАЛ- рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдкрддрд╛, рд╣рдо рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗред

рдУрд╡рд░рд░рд╛рдЗрдб_рдЯреЗрдореНрдкрд▓реЗрдЯ_рдбрд┐рд╕реНрдХ рдмреНрд▓реЙрдХ:

  • sizeinmb - рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдмреВрдЯ рдбрд┐рд╕реНрдХ рдЖрдХрд╛рд░

  • рд╕реНрдЯреЛрд░реЗрдЬ_рдкреНрд░реЛрдлрд╛рдЗрд▓ - рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░рдг рдиреАрддрд┐

рдЖрдЗрдП рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдлрд╝рд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рджреВрд╕рд░рд╛ рд╡реАрдПрдо рдмрдирд╛рдПрдВ

resource "vcd_vapp_vm" "nextcloud" {

vapp_name = vcd_vapp.vapp.name

name = "nextcloud"

catalog_name = var.vcd_org_catalog

template_name = var.vcd_template_os_centos7

storage_profile = var.vcd_org_ssd_sp

memory = 8192

cpus = 1

cpu_cores = 1

network {

type = "org"

name = vcd_network_routed.net.name

is_primary = true

adapter_type = "VMXNET3"

ip_allocation_mode = "MANUAL"

ip = var.vcd_edge_local_ip_nextcloud

}

override_template_disk {

bus_type = "paravirtual"

size_in_mb = "32768"

bus_number = 0

unit_number = 0

storage_profile = var.vcd_org_ssd_sp

}

}

resource "vcd_vm_internal_disk" "disk1" {

vapp_name = vcd_vapp.vapp.name

vm_name = "nextcloud"

bus_type = "paravirtual"

size_in_mb = "102400"

bus_number = 0

unit_number = 1

storage_profile = var.vcd_org_hdd_sp

allow_vm_reboot = true

depends_on = [ vcd_vapp_vm.nextcloud ]

}

Vcdvmininternal_disk рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╣рдо рдПрдХ рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╕реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реЗ рдЬреБрдбрд╝реА рд╣реИред

vcdvmininternaldisk рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:

  • рдмрд╕рдЯрд╛рдЗрдк - рдбрд┐рд╕реНрдХ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдХрд╛рд░

  • sizeinmb - рдбрд┐рд╕реНрдХ рдХрд╛ рдЖрдХрд╛рд░

  • рдмрд╕рдирдВрдмрд░ / рдпреВрдирд┐рдЯрдирдВрдмрд░ - рдПрдбреЙрдкреНрдЯрд░ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рди

  • рд╕реНрдЯреЛрд░реЗрдЬ_рдкреНрд░реЛрдлрд╛рдЗрд▓ - рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░рдг рдиреАрддрд┐

рдЖрдЗрдП Bitrix рдкрд░ рдирд╡реАрдирддрдо VM рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

resource "vcd_vapp_vm" "bitrix" {

vapp_name = vcd_vapp.vapp.name

name = "bitrix"

catalog_name = var.vcd_org_catalog

template_name = var.vcd_template_os_centos7

storage_profile = var.vcd_org_ssd_sp

memory = 8192

cpus = 1

cpu_cores = 1

network {

type = "org"

name = vcd_network_routed.net.name

is_primary = true

adapter_type = "VMXNET3"

ip_allocation_mode = "MANUAL"

ip = var.vcd_edge_local_ip_bitrix

}

override_template_disk {

bus_type = "paravirtual"

size_in_mb = "81920"

bus_number = 0

unit_number = 0

storage_profile = var.vcd_org_ssd_sp

}

}

рдУрдПрд╕ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

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

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдУрдПрд╕ рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдкреНрд░реЛрд╡рд┐рдЬрдирд░ рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдПрдордПрд╕ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП CentOS рдЕрджреНрдпрддрди рдкреИрдХреЗрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

resource "null_resource" "nginx_update_install" {

provisioner "remote-exec" {

connection {

type = "ssh"

user = "root"

password = vcd_vapp_vm.nginx.customization[0].admin_password

host = var.vcd_edge_external_ip

port = "58301"

timeout = "30s"

}

inline = [

"yum -y update && yum -y upgrade",

"yum -y install wget nano epel-release net-tools unzip zip" ]

}

}

}

рдШрдЯрдХреЛрдВ рдХрд╛ рдкрджрдирд╛рдо:

  • рдкреНрд░реЛрд╡рд┐рдЬрдирд░ "рд░рд┐рдореЛрдЯ-рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд┐рд╡" - рд░рд┐рдореЛрдЯ рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдмреНрд▓реЙрдХ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

  • рдХрдиреЗрдХреНрд╢рди рдмреНрд▓реЙрдХ рдореЗрдВ рд╣рдо рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:

  • рдкреНрд░рдХрд╛рд░ - рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрд╕рдПрд╕рдПрдЪ;

  • рдЙрдкрдпреЛрдХреНрддрд╛ - рдЙрдкрдпреЛрдХреНрддрд╛ рдирд╛рдо;

  • рдкрд╛рд╕рд╡рд░реНрдб - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб. рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдкреИрд░рд╛рдореАрдЯрд░ vcdvappvm.nginx.customization[0].admin_password рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

  • рд╣реЛрд╕реНрдЯ - рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддрд╛;

  • рдкреЛрд░реНрдЯ - рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ, рдЬреЛ рдкрд╣рд▓реЗ рдбреАрдПрдирдПрдЯреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдерд╛;

  • рдЗрдирд▓рд╛рдЗрди - рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВред рдЖрджреЗрд╢ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдо рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдЖрдЗрдП 1C-Bitrix рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдпреЛрдЬрдирд╛ рдЪрд▓рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдо рдмреНрд▓реЙрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:

рдЖрдЗрдП 1рд╕реА-рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред

provisioner "file" {

source = "prepare.sh"

destination = "/tmp/prepare.sh"

connection {

type = "ssh"

user = "root"

password = vcd_vapp_vm.nginx.customization[0].admin_password

host = var.vcd_edge_external_ip

port = "58301"

timeout = "30s"

}

}

provisioner "remote-exec" {

inline = [

"chmod +x /tmp/prepare.sh", "./tmp/prepare.sh"

]

}

рдФрд░ рд╣рдо рддреБрд░рдВрдд рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред

1рд╕реА-рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред

resource "null_resource" "install_update_bitrix" {

provisioner "remote-exec" {

connection {

type = "ssh"

user = "root"

password = vcd_vapp_vm.bitrix.customization[0].admin_password

host = var.vcd_edge_external_ip

port = "58302"

timeout = "60s"

}

inline = [

"yum -y update && yum -y upgrade",

"yum -y install wget nano epel-release net-tools unzip zip",

"wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh -O /tmp/bitrix-env.sh",

"chmod +x /tmp/bitrix-env.sh",

"/tmp/bitrix-env.sh"

]

}

}

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ SELinux рдХреЛ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА! рдпрджрд┐ рдЖрдкрдХреЛ bitrix-env.sh рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CMS 1C-Bitrix рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдкрд░ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд▓реЗрдЦ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдЖрд▓реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ.

3. рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЖрд░рдВрднреАрдХрд░рдг

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВрдореЙрдбреНрдпреВрд▓ рдФрд░ рдкреНрд▓рдЧрдЗрди рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛

рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг "рдЬреЗрдВрдЯрд▓рдореИрди рдХрд┐рдЯ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рд╡рд┐рдВрдбреЛрдЬ 10 рдУрдПрд╕ рд╡рд╛рд▓рд╛ рдПрдХ рд▓реИрдкрдЯреЙрдк рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рд╡рд┐рддрд░рдг рдХрд┐рдЯ terraform.io. рдЖрдЗрдП рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдирдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдЖрд░рдВрдн рдХрд░реЗрдВ: terraform.exe init

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

  1. рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ - terraform plan -var-file=vcd.tfvars.

  2. рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ - Plan: 16 to add, 0 to change, 0 to destroy. рдпрд╛рдиреА рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдореБрддрд╛рдмрд┐рдХ 16 рд╕рдВрд╕рд╛рдзрди рддреИрдпрд╛рд░ рдХрд┐рдпреЗ рдЬрд╛рдпреЗрдВрдЧреЗ.

  3. рд╣рдо рдЖрджреЗрд╢ рдкрд░ рдпреЛрдЬрдирд╛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ - terraform.exe apply -var-file=vcd.tfvars.

рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА, рдФрд░ рдлрд┐рд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪреАрдмрджреНрдз рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкреНрд░реЛрд╡рд┐рдЬрдирд░ рдЕрдиреБрднрд╛рдЧ рдХреЗ рднреАрддрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдУрдПрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕реАрдПрдордПрд╕ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣реА рд╣реИ

рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рдлреЙрд░реНрдо рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВрдЧреЗ:

output "nginxpassword" {

 value = vcdvappvm.nginx.customization[0].adminpassword

}

рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рд╣рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдмрддрд╛рддрд╛ рд╣реИ:

Outputs: nginx_password = F#4u8!!N

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрдпрддрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдорд┐рд▓рддреА рд╣реИред рд╕рдм рддреИрдпрд╛рд░ рд╣реИ!

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдореМрдЬреВрдж рд╣реИ?

3.1. рдореМрдЬреВрджрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╢реАрд▓ рдЯреЗрд░рд╛рдлреЙрд░реНрдо

рдпрд╣ рд╕рд░рд▓ рд╣реИ, рдЖрдк рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╡реАрдПрдкреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП vAPP рд╕рдВрд╕рд╛рдзрди рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред

resource "vcd_vapp" "Monitoring" {

name = "Monitoring"

org = "mClouds"

vdc = "mClouds"

}

resource "vcd_vapp_vm" "Zabbix" {

name = "Zabbix"

org = "mClouds"

vdc = "mClouds"

vapp = "Monitoring"

}

рдЕрдЧрд▓рд╛ рдЪрд░рдг vApp рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╣реИ vcdvapp.<vApp> <org>.<orgvdc>.<vApp>, рдЬрд╣рд╛рдВ:

  • vApp - vApp рдирд╛рдо;

  • рд╕рдВрдЧрдарди - рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо;

  • org_vdc - рд╡рд░реНрдЪреБрдЕрд▓ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдХрд╛ рдирд╛рдоред

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВvAPP рд╕рдВрд╕рд╛рдзрди рдЧреБрдг рдЖрдпрд╛рдд рдХрд░рдирд╛

рдЖрдЗрдП VM рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ: vcdvappvm.<VM> <org>.<orgvdc>.<vApp>.<VM>, рдЬрд┐рд╕рдореЗрдВ:

  • рд╡реАрдПрдо - рд╡реАрдПрдо рдирд╛рдо;

  • vApp - vApp рдирд╛рдо;

  • рд╕рдВрдЧрдарди - рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо;

  • orgvdc рд╡рд░реНрдЪреБрдЕрд▓ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдХрд╛ рдирд╛рдо рд╣реИред

рдЖрдпрд╛рдд рд╕рдлрд▓ рд░рд╣рд╛

C:UsersMikhailDesktopterraform>terraform import vcd_vapp_vm.Zabbix mClouds.mClouds.Monitoring.Zabbix

vcd_vapp_vm.Zabbix: Importing from ID "mClouds.mClouds.Monitoring.Zabbix"...

vcd_vapp_vm.Zabbix: Import prepared!

Prepared vcd_vapp_vm for import

vcd_vapp_vm.Zabbix: Refreshing state... [id=urn:vcloud:vm:778f4a89-1c8d-45b9-9d94-0472a71c4d1f]

Import successful!

The resources that were imported are shown above. These resources are now in
your Terraform state and will henceforth be managed by Terraform.

рдЕрдм рд╣рдо рдирдП рдЖрдпрд╛рддрд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдЖрдпрд╛рддрд┐рдд рд╕рдВрд╕рд╛рдзрди

> terraform show

...

# vcd_vapp.Monitoring:

resource "vcd_vapp" "Monitoring" {

guest_properties = {}

href = "https://vcloud.mclouds.ru/api/vApp/vapp-fe5db285-a4af-47c4-93e8-55df92f006ec"

id = "urn:vcloud:vapp:fe5db285-a4af-47c4-93e8-55df92f006ec"

ip = "allocated"

metadata = {}

name = "Monitoring"

org = "mClouds"

status = 4

status_text = "POWERED_ON"

vdc = "mClouds"

}

тАж

# vcd_vapp_vm.Zabbix:

resource "vcd_vapp_vm" "Zabbix" {

computer_name = "Zabbix"

cpu_cores = 1

cpus = 2

expose_hardware_virtualization = false

guest_properties = {}

hardware_version = "vmx-14"

href = "https://vcloud.mclouds.ru/api/vApp/vm-778f4a89-1c8d-45b9-9d94-0472a71c4d1f"

id = "urn:vcloud:vm:778f4a89-1c8d-45b9-9d94-0472a71c4d1f"

internal_disk = [

{

bus_number = 0

bus_type = "paravirtual"

disk_id = "2000"

iops = 0

size_in_mb = 122880

storage_profile = "Gold Storage Policy"

thin_provisioned = true

unit_number = 0

},

]

memory = 8192

metadata = {}

name = "Zabbix"

org = "mClouds"

os_type = "centos8_64Guest"

storage_profile = "Gold Storage Policy"

vapp_name = "Monitoring"

vdc = "mClouds"

customization {

allow_local_admin_password = true

auto_generate_password = true

change_sid = false

enabled = false

force = false

join_domain = false

join_org_domain = false

must_change_password_on_first_login = false

number_of_auto_logons = 0

}

network {

adapter_type = "VMXNET3"

ip_allocation_mode = "DHCP"

is_primary = true

mac = "00:50:56:07:01:b1"

name = "MCLOUDS-LAN01"

type = "org"

}

}

рдЕрдм рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рд╣реИрдВ - рд╣рдордиреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ (рдореМрдЬреВрджрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдЖрдпрд╛рдд) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред 

рдпрд╣ рдЯреВрд▓ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдХреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рддрдХ, рдЕрдкрдиреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╕реНрдерд╛рдиреАрдп, рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рдмрдирд╛рддреА рд╣реИред рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд░рджрд╛рддрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ