рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рднреА рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ
рд╣рд░ рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдФрд░ рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ:
-
рдЯреЗрд░рд╛рдлреЙрд░реНрдо - рд╡рд┐рд╡рд░рдг, рдлрд╛рдпрджреЗ рдФрд░ рдШрдЯрдХ -
рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг -
рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЖрд░рдВрднреАрдХрд░рдг
1. рдЯреЗрд░рд╛рдлреЙрд░реНрдо - рд╡рд┐рд╡рд░рдг, рдлрд╛рдпрджреЗ рдФрд░ рдШрдЯрдХ
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ IaC (рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░-рдП-рдХреЛрдб) рдЯреВрд▓ рд╣реИред
рд╣рдордиреЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдлрд╛рдпрджреЗ рдиреЛрдЯ рдХрд┐рдП:
-
рдирдпреЗ рдХрд┐рд░рд╛рдпреЗрджрд╛рд░реЛрдВ рдХреА рддреИрдирд╛рддреА рдХреА рдЧрддрд┐ (рдХрд╕реНрдЯрдо рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг)ред рдЖрдорддреМрд░ рдкрд░, рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдирдП рдЧреНрд░рд╛рд╣рдХ рд╣реЛрдВрдЧреЗ, рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдирдП рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддрдиреЗ рд╣реА рдЕрдзрд┐рдХ "рдХреНрд▓рд┐рдХ" рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдпрд╛ рдорд╢реАрди рдХреЛ рдмрдВрдж рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдУрдПрд╕ рдмрдВрдж рдХрд░рдирд╛ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди рдмрдврд╝рд╛рдирд╛)ред
-
рд╕рдХреНрд░рд┐рдпрдг рдпреЛрдЬрдирд╛ рдХрд╛ рддреНрд╡рд░рд┐рдд рд╕рддреНрдпрд╛рдкрди рдирдпрд╛ рдЯреЗрдиреЗрдВрдЯ. рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛрдб рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рддреБрд░рдВрдд рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ, рд╕рд╛рде рд╣реА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдпрд╣ рдпрд╛ рд╡рд╣ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд┐рд╕ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛ред
-
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЖрдк рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдореЗрдЬрд╝реЕрди рдФрд░ Google рдХреНрд▓рд╛рдЙрдб рд╕реЗ рд▓реЗрдХрд░ VMware vCloud рдирд┐рджреЗрд╢рдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд┐рдЬреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рддрдХ, IaaS, SaaS рдФрд░ PaaS рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рднреАрддрд░ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
-
рдПрдХрд╛рдзрд┐рдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рдирд┐рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмреАрдЪ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВред
-
рдбреЗрдореЛ рд╕реНрдЯреИрдВрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдпреЛрдЧ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдПред рдЖрдк рдкрд░реАрдХреНрд╖рдг рд╡рд┐рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрдорд╛рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рдХрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рддреБрд░рдВрдд рдмрджрд▓ рдФрд░ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред
"рдЯреЗрд░рд╛рд░рд┐рдпрдо" рдЯреЗрд░рд╛рдлреЙрд░реНрдо
рд╣рдордиреЗ рдЯреВрд▓ рдХреЗ рдлрд╛рдпрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрд╛рдд рдХреА, рдЕрдм рдЗрд╕реЗ рдЗрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдкреНрд░рджрд╛рддрд╛ред
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ, рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдПрдкреАрдЖрдИ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рджрд╛рддрд╛ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рднреАрддрд░ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Azure рдпрд╛ VMware vCloud рдирд┐рджреЗрд╢рдХред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрд╕рд╛рдзрди (рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг)ред
рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдЖрдкрдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЖрдк рд╕реНрд╡рдпрдВ VMware vCloud рдирд┐рджреЗрд╢рдХ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ vCloud рдирд┐рджреЗрд╢рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдкреНрд░рд╛рд╡рдзрд╛рдирдХрд░реНрддрд╛ред
рдпрд╣ рдШрдЯрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕рдВрд╕рд╛рдзрди рдмрдирд╛ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╡рд┐рдЬрдирд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдЪрд░.
рдЗрдирдкреБрдЯ рдЪрд░ - рдХрд┐рд╕реА рднреА рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдЪрд░ред
рдЖрдЙрдЯрдкреБрдЯ рдЪрд░ рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЗрдирдкреБрдЯ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╡рд┐рдЬрдирд░реНрд╕ рдмреНрд▓реЙрдХ рдореЗрдВред
рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛.
рд╕реНрдЯреЗрдЯреНрд╕ рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░рджрд╛рддрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИрдВред рдЬрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд╣рд▓реА рдмрд╛рд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ, рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдкрд╣рд▓реЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд░рд╛рдЬреНрдп рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдиреАрдп terraform.tfstate рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЯреАрдо рд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЖрдк рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рднреА рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдП рдЧрдП рдереЗред
2. рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдШрдЯрдХреЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ рддреАрди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдкрд╣рд▓рд╛ nginx рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде, рджреВрд╕рд░рд╛ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдФрд░ рддреАрд╕рд░рд╛ CMS рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рдеред
рд╣рдо рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рд▓рд┐рдЦреЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЕрдкрдиреЗ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд░рдЦреА рдЬрд╛рдПрдВрдЧреАред
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 рдирд┐рджреЗрд╢рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡реЗрд░рд┐рдПрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
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.exe init
рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛ред
-
рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
- terraform plan -var-file=vcd.tfvars
. -
рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ
- Plan: 16 to add, 0 to change, 0 to destroy.
рдпрд╛рдиреА рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдореБрддрд╛рдмрд┐рдХ 16 рд╕рдВрд╕рд╛рдзрди рддреИрдпрд╛рд░ рдХрд┐рдпреЗ рдЬрд╛рдпреЗрдВрдЧреЗ. -
рд╣рдо рдЖрджреЗрд╢ рдкрд░ рдпреЛрдЬрдирд╛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ
- 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