рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣ рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗ

рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣ рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗ

рдпрд╛ рд▓реЗрдЦрд╛рдд рдЖрдореНрд╣реА рдЯреЗрд░рд╛рдлреЙрд░реНрдордордзреНрдпреЗ рдХрд╛рдп рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рддреЗ рдкрд╛рд╣реВ рдЖрдгрд┐ рд╣рд│реВрд╣рд│реВ рдЖрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рджреЗрдЦреАрд▓ рд╕реБрд░реВ рдХрд░реВ. VMware рд╕рд╣ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ тАФ рдЖрдореНрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдВрд╕рд╛рдареА рддреАрди VM рддрдпрд╛рд░ рдХрд░реВ: рдкреНрд░реЙрдХреНрд╕реА, рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдгрд┐ CMS.

рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдмрджреНрджрд▓ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЖрдгрд┐ рддреАрди рдЯрдкреНрдкреНрдпрд╛рдд:

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

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╣реЗ рдХреЛрдб рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ IaC (рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░-рдПрдЬ-рдХреЛрдб) рд╕рд╛рдзрди рдЖрд╣реЗ.

рдЖрдореНрд╣реА рд╕рд╛рдзрдирд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреЗ рдЕрдиреЗрдХ рдлрд╛рдпрджреЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ:

  • рдирд╡реАрди рднрд╛рдбреЗрдХрд░реВрдВрдЪреНрдпрд╛ рддреИрдирд╛рддреАрдЪреА рдЧрддреА (рд╕рд╛рдиреБрдХреВрд▓ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг). рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдЬрд┐рддрдХреЗ рдЕрдзрд┐рдХ рдирд╡реАрди рдХреНрд▓рд╛рдпрдВрдЯ рдЕрд╕рддреАрд▓ рддрд┐рддрдХреЗ рдЕрдзрд┐рдХ "рдХреНрд▓рд┐рдХ" рддрд╛рдВрддреНрд░рд┐рдХ рд╕рдорд░реНрдерди рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдирд╛ рдирд╡реАрди рд╕рдВрд╕рд╛рдзрдиреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣, рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдмрджрд▓реВ рд╢рдХрддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ OS рдмрдВрдж рдХрд░рдгреЗ рдЖрдгрд┐ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди рд╡рд╛рдврд╡рдгреЗ) рддрд╛рдВрддреНрд░рд┐рдХ рд╕рдорд░реНрдердирд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рдШреЗрддрд╛ рдХрд┐рдВрд╡рд╛ рдорд╢реАрди рд╕реНрд╡рддрдГрдЪ рдмрдВрдж рдХрд░рдгреЗ.

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

  • рд╕рд░реНрд╡рд╛рдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдЖрдкрдг рд╕рд╛рдзрди рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ Amazon рдЖрдгрд┐ Google Cloud рдкрд╛рд╕реВрди, VMware vCloud Director рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЦрд╛рдЬрдЧреА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░, IaaS, SaaS рдЖрдгрд┐ PaaS рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдордзреНрдпреЗ рд╕реЗрд╡рд╛ рдСрдлрд░ рдХрд░рддрд╛рдд.

  • рдПрдХрд╛рдзрд┐рдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдирд┐рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд╛рдкрд░реВрди рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреНрдпреЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рд╡рд┐рддрд░рдг рдХрд░рд╛.

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

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

рдЖрдореНрд╣реА рдЯреВрд▓рдЪреНрдпрд╛ рдлрд╛рдпрджреНрдпрд╛рдВрдмрджреНрджрд▓ рдереЛрдбрдХреНрдпрд╛рдд рдмреЛрд▓рд▓реЛ, рдЖрддрд╛ рддреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реВрдпрд╛

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

рдЯреЗрд░рд╛рдлреЙрд░реНрдордордзреНрдпреЗ, рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рд╕рдВрд╕рд╛рдзрди рдореНрд╣рдгреВрди рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрдгрд┐ API рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордордзреАрд▓ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рджрд╛рддрд╛ рдореЙрдбреНрдпреВрд▓рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордордзреНрдпреЗ рд╕рдВрд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Azure рдХрд┐рдВрд╡рд╛ VMware vCloud Director.

рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди, рддреБрдореНрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ рд╢рдХрддрд╛.

рд╕рдВрд╕рд╛рдзрдиреЗ (рд╕рдВрд╕рд╛рдзрди рд╡рд░реНрдгрди).

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

рддреБрдореНрд╣реА рд╕реНрд╡рддрдГ VMware vCloud Director рдкреНрд░рджрд╛рддреНрдпрд╛рд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрди рд╡рд░реНрдгрди рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ vCloud Director рд╡рд╛рдкрд░рдгрд╛рд░реНтАНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддреНрдпрд╛рд╕рд╣ рд╕рдВрд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╡рд░реНрдгрди рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдЖрд╡рд╢реНрдпрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддреНрдпрд╛рдХрдбреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ

рдкреНрд░реЛрд╡реНрд╣рд┐рдЬрдирд░реНрд╕.

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

рдЗрдирдкреБрдЯ рдЖрдгрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕.

рдЗрдирдкреБрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ - рдХреЛрдгрддреНрдпрд╛рд╣реА рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА рдЗрдирдкреБрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕. 

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

рд░рд╛рдЬреНрдпреЗ.

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

рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордордзреНрдпреЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рдирд┐рд░реНрдорд╛рдг рдЖрдгрд┐ рдмрджрд▓ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рд╡рд╕реНрддреВрдВрдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреА рддреБрд▓рдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзреАрдЪ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╡рд╕реНрддреВрдВрдЪрд╛ рд╕рдореВрд╣ рдЬрддрди рдХрд░рдгреЗ рд╣рд╛ рд░рд╛рдЬреНрдпрд╛рдВрдЪрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢ рдЖрд╣реЗ.

рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рд░рд╛рдЬреНрдп рдорд╛рд╣рд┐рддреА рд╕реНрдерд╛рдирд┐рдХ terraform.tfstate рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЯреАрдо рд╡рд░реНрдХрд╕рд╛рдареА рд░рд┐рдореЛрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

рдЯреЗрд░рд╛рдлреЙрд░реНрдордЪреНрдпрд╛ рдорджрддреАрд╢рд┐рд╡рд╛рдп рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЗрддрд░ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╢реА рдЖрдгрдЦреА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╡рд░реНрддрдорд╛рди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕рдВрд╕рд╛рдзрдиреЗ рд░рд╛рдЬреНрдпрд╛рдд рдЖрдпрд╛рдд рдХрд░реВ рд╢рдХрддрд╛.  

2. рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рдирд┐рд░реНрдорд┐рддреА

рдШрдЯрдХрд╛рдВрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЖрддрд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╡рд╛рдкрд░реВрди рдЖрдореНрд╣реА рд╣рд│реВрд╣рд│реВ рддреАрди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╣ рдПрдХ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рддрдпрд╛рд░ рдХрд░реВ. рдкрд╣рд┐рд▓рд╛ nginx рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓рд╛, рджреБрд╕рд░рд╛ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдбрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╣ рдЖрдгрд┐ рддрд┐рд╕рд░рд╛ CMS Bitrix рд╕рд╣.

рдЖрдореНрд╣реА рдХреЛрдб рд▓рд┐рд╣реВ рдЖрдгрд┐ рдЖрдордЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВрди рддреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВ VMware vCloud рдбрд╛рдпрд░реЗрдХреНрдЯрд░ рд╡рд░ рдврдЧ. рдЖрдордЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╕рдВрд╕реНрдереЗрдЪреНрдпрд╛ рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрд╕рд╣ рдЦрд╛рддреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ. рддреБрдореНрд╣реА рджреБрд╕рд░реНтАНрдпрд╛ VMware рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╕рдорд╛рди рдЕрдзрд┐рдХрд╛рд░ рдЕрд╕рд▓реЗрд▓реЗ рдЦрд╛рддреЗ рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреВрди рдХреЛрдб рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛. рдЬрд╛!

рдкреНрд░рдердо, рдЖрдкрд▓реНрдпрд╛ рдирд╡реАрди рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░реВ рдЬреНрдпрд╛рдордзреНрдпреЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд▒реНрдпрд╛ рдлрд╛рдИрд▓реНрд╕ рдареЗрд╡рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓.

mkdir project01

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ. рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдлрд╛рдпрд▓реАрдВрдордзреАрд▓ рд╡рд░реНрдгрдирд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдВрдмрдВрдз рддрдпрд╛рд░ рдХрд░рддреЗ рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ. рдлрд╛рдпрд▓реАрдВрдирд╛ рд╕реНрд╡рддрдГрдЪ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХреНрд╕рдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╛рд╡ рджрд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, network.tf - рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╛рдареА рдиреЗрдЯрд╡рд░реНрдХ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ.

рдЖрдордЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд:

рдлрд╛рдпрд▓реАрдВрдЪреА рдпрд╛рджреА.

main.tf - рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╛рдареА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреЗ рд╡рд░реНрдгрди - рдЖрднрд╛рд╕реА рдорд╢реАрди, рдЖрднрд╛рд╕реА рдХрдВрдЯреЗрдирд░;

network.tf - рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрдгрд┐ NAT рдЖрдгрд┐ рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдорд╛рдВрдЪреЗ рд╡рд░реНрдгрди;

variables.tf - рдЖрдкрдг рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЪрд▓рд╛рдВрдЪреА рдпрд╛рджреА;

vcd.tfvars - VMware vCloud рдбрд╛рдпрд░реЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓рд╕рд╛рдареА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡реНрд╣реЕрд▓реНрдпреВрдЬ.

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

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

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

# Block body

<IDENTIFIER> = <EXPRESSION> # Argument

}

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

рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди, variables.tf рдЖрдгрд┐ vcd.tfvars

рдкреНрд░рдердо, рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ vCloud рдбрд╛рдпрд░реЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓рд╕рд╛рдареА рд╕рд░реНрд╡ рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рд╕реВрдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рдореВрд▓реНрдпреЗ рдпрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рджреЛрди рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░реВрдпрд╛. рдкреНрд░рдердо, variables.tf рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░реВ.

variables.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 - API URL,

  • vcd_org_edge_name тАФ рдЖрднрд╛рд╕реА рд░рд╛рдЙрдЯрд░рдЪреЗ рдирд╛рд╡,

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

  • vcd_edge_external_ip тАФ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рдкрддреНрддрд╛,

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

  • vcd_org_hdd_sp тАФ HDD рд╕реНрдЯреЛрд░реЗрдЬ рдкреЙрд▓рд┐рд╕реАрдЪреЗ рдирд╛рд╡,

  • vcd_org_ssd_sp тАФ SSD рд╕реНрдЯреЛрд░реЗрдЬ рдкреЙрд▓рд┐рд╕реАрдЪреЗ рдирд╛рд╡.

рдЖрдгрд┐ рдЖрдордЪреЗ рдЪрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛:

  • vcd_edge_local_ip_nginx тАФ NGINX рд╕рд╣ рдЖрднрд╛рд╕реА рдорд╢реАрдирдЪрд╛ IP рдкрддреНрддрд╛,

  • vcd_edge_local_ip_bitrix - 1C рд╕рд╣ рдЖрднрд╛рд╕реА рдорд╢реАрдирдЪрд╛ IP рдкрддреНрддрд╛: Bitrix,

  • vcd_edge_local_ip_nextcloud тАФ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдбрд╕рд╣ рдЖрднрд╛рд╕реА рдорд╢реАрдирдЪрд╛ IP рдкрддреНрддрд╛.

рджреБрд╕рд▒реНрдпрд╛ рдлрд╛рдИрд▓рд╕рд╣ рдЖрдореНрд╣реА 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"

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

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

рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣ рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗрдЯреЗрд░рд╛рдлреЙрд░реНрдо рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рдиреЗрдЯрд╡рд░реНрдХ рдЖрдХреГрддреА рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рдд рдЖрд╣реЗ

рдЖрдореНрд╣реА 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"

  }

}

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

рдЖрдореНрд╣реА рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ VM рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╛рдареА рдирд┐рдпрдорд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ.

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 рдмреНрд▓реЙрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдвреЗ рдЬрд╛рдК., рд╡рд╛рдкрд░реВрди рдЪреНрдпрд╛ рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рдгреЗ. рдЖрдореНрд╣реА рд╣рд╛ рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░рддреЛ рдХрд╛рд░рдг рдХрд╛рд╣реА рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдУрд│рдЦрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдирд┐рдпрдо рддрдпрд╛рд░ рдХрд░реВ рдЬреЗ рдмрд╛рд╣реНрдп рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реВрди рдкреЛрд░реНрдЯрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд рдЖрдгрд┐ SSH рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдордЪрд╛ IP рдкрддреНрддрд╛ рд╕реВрдЪрд┐рдд рдХрд░реВ. рдХреЛрдгрддреНрдпрд╛рд╣реА рдЗрдВрдЯрд░рдиреЗрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдкреЛрд░реНрдЯ 80 рдЖрдгрд┐ 443 рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕рддреЛ рдЖрдгрд┐ 90.1.15.1 рдЪрд╛ IP рдкрддреНрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ SSH рдкреЛрд░реНрдЯрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕рддреЛ.

рдмрд╛рд╣реНрдп рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реВрди рдкреЛрд░реНрдЯрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреНрдпрд╛.

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 рд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХрд╢реА рддреНрд╡рд░рд┐рдд рдХрдиреЗрдХреНрдЯ рдХрд░реВ рд╢рдХреВ, рдЖрдореНрд╣реА depends_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 рдЬреЛрдбрд╛рдпрдЪрд╛ рдЖрд╣реЗ,

  • catalogname / templatename - рдХреЕрдЯрд▓реЙрдЧ рдирд╛рд╡ рдЖрдгрд┐ рдЖрднрд╛рд╕реА рдорд╢реАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд╛рд╡,

  • рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд░реЛрдлрд╛рдЗрд▓ - рдбреАрдлреЙрд▓реНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдзреЛрд░рдг.

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

  • рдкреНрд░рдХрд╛рд░ - рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХрдЪрд╛ рдкреНрд░рдХрд╛рд░,

  • рдирд╛рд╡ тАФ VM рд▓рд╛ рдХреЛрдгрддреНрдпрд╛ рдЖрднрд╛рд╕реА рдиреЗрдЯрд╡рд░реНрдХрд╢реА рдЬреЛрдбрд╛рдпрдЪреЗ рдЖрд╣реЗ,

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

  • ipallocation_mode тАФ MANUAL/DHCP/POOL рдкрддреНрддрд╛ рд╡рд╛рдЯрдк рдореЛрдб,

  • ip тАФ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╛рдареА IP рдкрддреНрддрд╛, рдЖрдореНрд╣реА рддреЛ рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ.

override_template_disk рдмреНрд▓реЙрдХ:

  • sizeinmb тАФ рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╛рдареА рдмреВрдЯ рдбрд┐рд╕реНрдХ рдЖрдХрд╛рд░

  • store_profile тАФ рдбрд┐рд╕реНрдХрд╕рд╛рдареА рд╕реНрдЯреЛрд░реЗрдЬ рдзреЛрд░рдг

рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдлрд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬрдЪреНрдпрд╛ рд╡рд░реНрдгрдирд╛рд╕рд╣ рджреБрд╕рд░рд╛ VM рддрдпрд╛рд░ рдХрд░реВ

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 ]

}

vcdvminternal_disk рд╡рд┐рднрд╛рдЧрд╛рдд рдЖрдореНрд╣реА рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╢реА рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдирд╡реАрди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдбрд┐рд╕реНрдХрдЪреЗ рд╡рд░реНрдгрди рдХрд░реВ.

vcdvminternaldisk рдмреНрд▓реЙрдХрдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:

  • bustype - рдбрд┐рд╕реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░ рдкреНрд░рдХрд╛рд░

  • sizeinmb тАФ рдбрд┐рд╕реНрдХрдЪрд╛ рдЖрдХрд╛рд░

  • рдмрд╕ рдирдВрдмрд░ / рдпреБрдирд┐рдЯ рдирдВрдмрд░ - рдЕрдбреЕрдкреНрдЯрд░рдордзреАрд▓ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рди

  • store_profile тАФ рдбрд┐рд╕реНрдХрд╕рд╛рдареА рд╕реНрдЯреЛрд░реЗрдЬ рдзреЛрд░рдг

рдЪрд▓рд╛ 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

}

}

OS рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ

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

рдкреНрд░реЛрд╡реНрд╣рд┐рдЬрдирд░ рдмреНрд▓реЙрдХ рд╡рд╛рдкрд░реВрди рдУрдПрд╕ рдЕрдкрдбреЗрдЯ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рдЖрдгрд┐ рд╕реАрдПрдордПрд╕ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╕реЗ рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ рддреЗ рдкрд╛рд╣реВ.

рдкреНрд░рдердо, 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" ]

}

}

}

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

  • provisioner тАЬremote-execтАЭ - рд░рд┐рдореЛрдЯ рдкреНрд░реЛрд╡реНрд╣рд┐рдЬрдирд┐рдВрдЧ рдмреНрд▓реЙрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛

  • рдХрдиреЗрдХреНрд╢рди рдмреНрд▓реЙрдХрдордзреНрдпреЗ рдЖрдореНрд╣реА рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ:

  • рдкреНрд░рдХрд╛рд░ тАФ рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд SSH;

  • рд╡рд╛рдкрд░рдХрд░реНрддрд╛ - рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдирд╛рд╡;

  • рдкрд╛рд╕рд╡рд░реНрдб тАФ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЖрдореНрд╣реА vcdvappvm.nginx.customization[0].admin_password рдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░рдХрдбреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд░рддреЛ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓рд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ.

  • рд╣реЛрд╕реНрдЯ - рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдмрд╛рд╣реНрдп IP рдкрддреНрддрд╛;

  • рдкреЛрд░реНрдЯ тАФ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдкреЛрд░реНрдЯ, рдЬреЗ рдкреВрд░реНрд╡реА DNAT рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рд╣реЛрддреЗ;

  • рдЗрдирд▓рд╛рдЗрди - рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдЖрджреЗрд╢рд╛рдВрдЪреА рдпрд╛рджреА рдХрд░рд╛. рдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рдд рджрд░реНрд╢рд╡рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдЖрджреЗрд╢ рдХреНрд░рдорд╛рдиреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

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

рдЪрд▓рд╛ 1C-Bitrix рдЪреНрдпрд╛ рд╕реНрдерд╛рдкрдиреЗрдЪреЗ рд╡рд░реНрдгрди рдХрд░реВрдпрд╛.

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"

]

}

рдЖрдгрд┐ рдЖрдореНрд╣реА рддреНрд╡рд░рд┐рдд рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдЕрджреНрдпрддрдирд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░реВ.

1C-Bitrix рддрд░рддреВрджреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг.

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. рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЖрд░рдВрдн рдХрд░рдгреЗ

рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣ рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗрдореЙрдбреНрдпреВрд▓реНрд╕ рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реБрд░реВ рдХрд░рдд рдЖрд╣реЗ

рдХрд╛рдорд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдПрдХ рд╕рд╛рдзреЗ "рдЬрдВрдЯрд▓рдорди рдХрд┐рдЯ" рд╡рд╛рдкрд░рддреЛ: Windows 10 OS рд╕рд╣ рд▓реЕрдкрдЯреЙрдк рдЖрдгрд┐ рдЕрдзрд┐рдХреГрдд рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░реАрд▓ рд╡рд┐рддрд░рдг рдХрд┐рдЯ 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.

рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓, рдЖрдгрд┐ рдирдВрддрд░ рдЖрдореНрд╣реА рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗрд▓реА рдкреЕрдХреЗрдЬреЗрд╕ рдкреНрд░реЛрд╡реНрд╣рд┐рдЬрдирд░ рд╡рд┐рднрд╛рдЧрд╛рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреАрд▓ - OS рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ CMS Bitrix рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

рдХрдиреЗрдХреНрд╢рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдд рдЖрд╣реЗ

рдпреЛрдЬрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдордЬрдХреВрд░ рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рд╛рдпрдЪрд╛ рдЖрд╣реЗ, рдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рднрд╛рдЧ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░реВ:

output "nginxpassword" {

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

}

рдЖрдгрд┐ рдЦрд╛рд▓реАрд▓ рдЖрдЙрдЯрдкреБрдЯ рдЖрдореНрд╣рд╛рд▓рд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╛рдареА рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╛рдВрдЧрддреЗ:

Outputs: nginx_password = F#4u8!!N

рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ рдкреБрдвреАрд▓ рдХрд╛рдорд╛рд╕рд╛рдареА рдЕрджреНрдпрдпрд╛рд╡рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рдкреНрд░реА-рдЗрдВрд╕реНрдЯреЙрд▓ рдкреЕрдХреЗрдЬреЗрд╕рд╕рд╣ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рддреЛ. рд╕рд░реНрд╡ рддрдпрд╛рд░ рдЖрд╣реЗ!

рдкрд░рдВрддреБ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдЪ рд╡рд┐рджреНрдпрдорд╛рди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕ рдХрд╛рдп?

рей.рез. рд╡рд┐рджреНрдпрдорд╛рди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╣ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХрд╛рд░реНрдпрд░рдд рдЖрд╣реЗ

рд╣реЗ рд╕реЛрдкреЗ рдЖрд╣реЗ, рддреБрдореНрд╣реА рдЖрдпрд╛рдд рдЖрджреЗрд╢ рд╡рд╛рдкрд░реВрди рд╡рд░реНрддрдорд╛рди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ vApp рдХрдВрдЯреЗрдирд░ рдЖрдпрд╛рдд рдХрд░реВ рд╢рдХрддрд╛.

рдЪрд▓рд╛ 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 тАФ рд╕рдВрд╕реНрдереЗрдЪреЗ рдирд╛рд╡;

  • org_vdc тАФ рдЖрднрд╛рд╕реА рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдЪреЗ рдирд╛рд╡.

рдЯреЗрд░рд╛рдлреЙрд░реНрдорд╕рд╣ рдХреНрд▓рд╛рдЙрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗVAPP рд╕рдВрд╕рд╛рдзрди рдЧреБрдгрдзрд░реНрдо рдЖрдпрд╛рдд рдХрд░рдд рдЖрд╣реЗ

рдЪрд▓рд╛ VM рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рдЧреБрдгрдзрд░реНрдо рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдЖрдпрд╛рдд рдХрд░реВрдпрд╛: vcdvappvm.<VM> <org>.<orgvdc>.<vApp>.<VM>, рдЬреНрдпрд╛рдордзреНрдпреЗ:

  • VM - VM рдирд╛рд╡;

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

  • org тАФ рд╕рдВрд╕реНрдереЗрдЪреЗ рдирд╛рд╡;

  • 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛