เช เชฒเซเชเชฎเชพเช เชเชชเชฃเซ เชเซเชเชถเซเช เชเซ เชเซเชฐเชพเชซเซเชฐเซเชฎ เชถเซเช เชงเชฐเชพเชตเซ เชเซ, เช
เชจเซ เชงเซเชฎเซ เชงเซเชฎเซ เชเชชเชฃเซเช เชชเซเชคเชพเชจเซเช เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชชเชฃ เชฒเซเชจเซเช เชเชฐเซเชถเซเช.
เชฆเชฐเซเช เชตเชธเซเชคเซ เชตเชฟเชถเซ เชตเชฟเชเชคเชตเชพเชฐ เช เชจเซ เชคเซเชฐเชฃ เชคเชฌเชเซเชเชพเชฎเชพเช:
-
เชเซเชฐเชพเชซเซเชฐเซเชฎ - เชตเชฐเซเชฃเชจ, เชซเชพเชฏเชฆเชพ เช เชจเซ เชเชเชเซ -
เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ -
เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชเชฐเชเชญ
1. เชเซเชฐเชพเชซเซเชฐเซเชฎ - เชตเชฐเซเชฃเชจ, เชซเชพเชฏเชฆเชพ เช เชจเซ เชเชเชเซ
เชเซเชฐเชพเชซเซเชฐเซเชฎ เช เชเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชคเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช IaC (เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ-เชเช-เชเซเชก) เชธเชพเชงเชจ เชเซ.
เช เชฎเซ เชเซเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเชพ เชเชฃเชพ เชซเชพเชฏเชฆเชพ เชจเซเชเชงเซเชฏเชพ เชเซ:
-
เชจเชตเชพ เชญเชพเชกเซเชคเซเชจเซ เชเชฎเชพเชตเชเชจเซ เชเชกเชช (เชเชธเซเชเชฎ เชตเชฐเซเชเซเชฏเซเช เชฒ เชตเชพเชคเชพเชตเชฐเชฃ). เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชตเชงเซ เชจเชตเชพ เชเซเชฒเชพเชฏเชจเซเชเซเชธ เชเซ, เชตเชงเซ "เชเซเชฒเชฟเชเซ" เชคเชเชจเซเชเซ เชธเชชเซเชฐเซเช เชธเซเชเชพเชซเชจเซ เชจเชตเชพ เชธเชเชธเชพเชงเชจเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเซเชฐเชพเชซเซเชฐเซเชฎ เชธเชพเชฅเซ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชเซเชเซเชจเชฟเชเชฒ เชธเชชเซเชฐเซเชเชจเซ เชเชฐเซเชฐ เชตเชเชฐ เช เชฅเชตเชพ เชฎเชถเซเชจเชจเซ เช เชฌเชเชง เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชธเซเชเชฟเชเชเซเชธ เชฌเชฆเชฒเซ เชถเชเซ เชเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, OS เชจเซ เชเชชเชฎเซเชณเซ เชฌเชเชง เชเชฐเชตเซเช เช เชจเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชกเชฟเชธเซเช เชชเชพเชฐเซเชเซเชถเชจ เชตเชงเชพเชฐเชตเซเช).
-
เชธเชเซเชฐเชฟเชฏเชเชฐเชฃ เชฏเซเชเชจเชพเชจเซ เชเชเชชเช เชเชเชพเชธเชฃเซ เชจเชตเชพ เชญเชพเชกเซเชค. เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชเซเชกเชจเชพ เชตเชฐเซเชฃเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ เชคเชฐเชค เช เชคเชชเชพเชธ เชเชฐเซ เชถเชเซเช เชเซเช เชเซ เชถเซเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เช เชจเซ เชเชฏเชพ เชเซเชฐเชฎเชฎเชพเช, เชคเซเชฎเช เช เช เชฅเชตเชพ เชคเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เช เชฅเชตเชพ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เชธเชพเชฅเซเชจเชพ เชเซเชกเชพเชฃเซ เชธเชพเชฅเซเชจเซเช เชตเชฐเซเชเซเชฏเซเช เชฒ เชจเซเชเชตเชฐเซเช เชเช เช เชเชคเชฟเชฎ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชนเชถเซ.
-
เชธเซเชฅเซ เชตเชงเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชเซเชฒเชพเชเชก เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ. เชคเชฎเซ เชธเชพเชงเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ เชเชฎเซเชเซเชจ เช เชจเซ เชเซเชเชฒ เชเซเชฒเชพเชเชกเชฅเซ, VMware vCloud เชกเชฟเชฐเซเชเซเชเชฐ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชพเชจเชเซ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเชฐ, IaaS, SaaS เช เชจเซ PaaS เชธเซเชฒเซเชฏเซเชถเชจเซเชธเชฎเชพเช เชธเซเชตเชพเช เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ.
-
เชฌเชนเซเชตเชฟเชง เชเซเชฒเชพเชเชก เชชเซเชฐเชฆเชพเชคเชพเชเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเซ เช เชจเซ เชเซเชฒเชพเชเชก เชธเชเชธเชพเชงเชจเซ เชฌเชจเชพเชตเชตเชพ, เชจเชฟเชฆเชพเชจ เช เชจเซ เชฎเซเชจเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เช เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฆเซเชท เชธเชนเชฟเชทเซเชฃเซเชคเชพ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชฎเชจเซ เชตเชเซเชเซ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซเช เชตเชฟเชคเชฐเชฃ เชเชฐเซ.
-
เชกเซเชฎเซ เชธเซเชเซเชจเซเชก เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เช เชจเซเชเซเชณ เชเชชเชฏเซเช เชธเซเชซเซเชเชตเซเชฐ เชชเชฐเซเชเซเชทเชฃ เช เชจเซ เชกเซเชฌเชเซเชเช เชฎเชพเชเซ. เชคเชฎเซ เชเซเชธเซเชเชฟเชเช เชกเชฟเชชเชพเชฐเซเชเชฎเซเชจเซเช เชฎเชพเชเซ เชธเซเชเซเชจเซเชก เชฌเชจเชพเชตเซ เช เชจเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซ เชถเชเซ เชเซ, เชธเชฎเชพเชเชคเชฐเชฎเชพเช เชตเชฟเชตเชฟเชง เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชเซเชธเซเช เชธเซเชซเซเชเชตเซเชฐ, เช เชจเซ เชฎเชพเชคเซเชฐ เชเช เชฐเชฟเชธเซเชฐเซเชธ เชฌเชฟเชฒเซเชก เชชเซเชฒเชพเชจ เชฌเชจเชพเชตเซเชจเซ เชคเชฐเชค เช เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชฆเชฒเซ เช เชจเซ เชเชพเชขเซ เชจเชพเชเซ เชถเชเซ เชเซ.
"เชเซเชฐเซเชฐเชฟเชฏเชฎ" เชเซเชฐเชพเชซเซเชฐเซเชฎ
เช เชฎเซ เชเซเชฒเชจเชพ เชซเชพเชฏเชฆเชพเช เชตเชฟเชถเซ เชธเชเชเซเชทเชฟเชชเซเชคเชฎเชพเช เชตเชพเชค เชเชฐเซ, เชนเชตเซ เชเชพเชฒเซ เชคเซเชจเซ เชคเซเชจเชพ เชเชเชเซเชฎเชพเช เชตเชฟเชญเชพเชเซเชค เชเชฐเซเช
เชชเซเชฐเชฆเชพเชคเชพเช.
เชเซเชฐเชพเชซเซเชฐเซเชฎเชฎเชพเช, เชฒเชเชญเช เชเซเชเชชเชฃ เชชเซเชฐเชเชพเชฐเชจเซ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชธเชเชธเชพเชงเชจ เชคเชฐเซเชเซ เชฐเชเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชธเชเชธเชพเชงเชจเซ เช เชจเซ API เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชตเชเซเชเซเชจเซเช เชเซเชกเชพเชฃ เชชเซเชฐเชฆเชพเชคเชพ เชฎเซเชกเซเชฏเซเชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ เชคเชฎเชจเซ เชเซเชเซเชเชธ เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชจเซ เช เชเชฆเชฐ เชธเชเชธเชพเชงเชจเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, Azure เช เชฅเชตเชพ VMware vCloud Director.
เชชเซเชฐเซเชเซเชเซเชเชจเชพ เชญเชพเช เชฐเซเชชเซ, เชคเชฎเซ เชตเชฟเชตเชฟเชง เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเชฐ เชตเชฟเชตเชฟเชง เชชเซเชฐเชฆเชพเชคเชพเช เชธเชพเชฅเซ เชตเชพเชฐเซเชคเชพเชฒเชพเชช เชเชฐเซ เชถเชเซ เชเซ.
เชธเชเชธเชพเชงเชจเซ (เชธเชเชธเชพเชงเชจ เชตเชฐเซเชฃเชจ).
เชธเชเชธเชพเชงเชจเซเชจเซเช เชตเชฐเซเชฃเชจ เชคเชฎเชจเซ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชเชเชเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เชเซเชฎ เชเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เช เชฅเชตเชพ เชจเซเชเชตเชฐเซเชเซเชธ.
เชคเชฎเซ VMware vCloud เชกเชฟเชฐเซเชเซเชเชฐ เชชเซเชฐเชฆเชพเชคเชพ เชฎเชพเชเซ เชเชพเชคเซ เชธเชเชธเชพเชงเชจ เชตเชฐเซเชฃเชจ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ เช เชจเซ vCloud เชกเชฟเชฐเซเชเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชเซเชเชชเชฃ เชนเซเชธเซเชเชฟเชเช เชชเซเชฐเชฆเชพเชคเชพ เชธเชพเชฅเซ เชธเชเชธเชพเชงเชจเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เช เชตเชฐเซเชฃเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. เชคเชฎเชพเชฐเซ เชฎเชพเชคเซเชฐ เชเชฐเซเชฐเซ เชนเซเชธเซเชเชฟเชเช เชชเซเชฐเชฆเชพเชคเชพ เชฎเชพเชเซ เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชชเชฐเชฟเชฎเชพเชฃเซ เช เชจเซ เชจเซเชเชตเชฐเซเช เชเชจเซเชเซเชถเชจ เชชเชฐเชฟเชฎเชพเชฃเซ เชฌเชฆเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
เชเซเชเชตเชพเชเช.
เช เชเชเช เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เชฌเชจเชพเชตเซเชฏเชพ เชชเชเซ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎเชจเชพ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เช เชจเซ เชเชพเชณเชตเชฃเซ เชฎเชพเชเซ เชเชชเชฐเซเชถเชจ เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเชพเชตเซ เชเซ. เชเชเชตเชพเชฐ เชคเชฎเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชฐเชฟเชธเซเชฐเซเชธ เชฌเชจเชพเชตเซ เชฒเซ เชคเซ เชชเชเซ, เชคเชฎเซ SSH เชฆเซเชตเชพเชฐเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพ เช เชจเซ เชเชจเซเชเซเช เชเชฐเชตเชพ, เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เช เชชเชกเซเช เชเชฐเชตเชพ เช เชจเซ เชธเซเชเซเชฐเชฟเชชเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพ เช เชจเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเซเชเชตเชพเชเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ.
เชเชจเชชเซเช เช เชจเซ เชเชเชเชชเซเช เชเชฒเซ.
เชเชจเชชเซเช เชตเซเชฐเชฟเชฏเซเชฌเชฒเซเชธ - เชเซเชเชชเชฃ เชฌเซเชฒเซเช เชชเซเชฐเชเชพเชฐเซ เชฎเชพเชเซ เชเชจเชชเซเช เชเชฒ.
เชเชเชเชชเซเช เชเชฒเซ เชคเชฎเชจเซ เชธเชเชธเชพเชงเชจเซ เชฌเชจเชพเชตเซเชฏเชพ เชชเชเซ เชฎเซเชฒเซเชฏเซ เชฌเชเชพเชตเชตเชพ เชฎเชพเชเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ เช เชจเซ เช เชจเซเชฏ เชฎเซเชกเซเชฏเซเชฒเซเชฎเชพเช เชเชจเชชเซเช เชเชฒ เชคเชฐเซเชเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชชเซเชฐเซเชตเชฟเชเชจเชฐเซเชธ เชฌเซเชฒเซเชเชฎเชพเช.
เชฐเชพเชเซเชฏเซ.
เชธเซเชเซเชเซเชธ เชซเชพเชเชฒเซ เชชเซเชฐเชฆเชพเชคเชพ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชเซเช เชตเชฃเซ เชตเชฟเชถเซ เชฎเชพเชนเชฟเชคเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซ เชเซ. เชเซเชฏเชพเชฐเซ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเซเชฐเชฅเชฎ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชธเชเชธเชพเชงเชจเซ เชตเชฟเชถเซ เชเซเช เชฎเชพเชนเชฟเชคเซ เชนเซเชคเซ เชจเชฅเซ เช เชจเซ เชเซเชเชชเชฃ เชเชพเชฎเชเซเชฐเซ เชชเชนเซเชฒเชพเช, เชเซเชฐเชพเชซเซเชฐเซเชฎ เชฐเชพเชเซเชฏเชจเซ เชชเชนเซเชฒเชพเชฅเซ เชตเชฐเซเชฃเชตเซเชฒ เชธเชเชธเชพเชงเชจเซเชจเซ เชตเชพเชธเซเชคเชตเชฟเช เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชธเชพเชฅเซ เช เชชเชกเซเช เชเชฐเซ เชเซ.
เชฐเชพเชเซเชฏเซเชจเซ เชฎเซเชเซเชฏ เชเชฆเซเชฆเซเชถเซเชฏ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชธเชฐเซเชเชจ เช เชจเซ เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเชพเชณเชตเชพ เชฎเชพเชเซ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฒเชพ เชธเชเชธเชพเชงเชจเซ เช เชจเซ เชเชฌเซเชเซเชเซเชเซเชธเชจเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชคเซเชฒเชจเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชนเซเชฒเซเชฅเซ เช เชฌเชจเชพเชตเซเชฒเชพ เชธเชเชธเชพเชงเชจเซเชจเชพ เชเชฌเซเชเซเชเซเชเซเชธเชจเชพ เชธเชฎเซเชนเชจเซ เชธเชพเชเชตเชตเชพเชจเซ เชเซ.
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชฐเชพเชเซเชฏเชจเซ เชฎเชพเชนเชฟเชคเซ เชธเซเชฅเชพเชจเชฟเช terraform.tfstate เชซเชพเชเชฒเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ, เชเซเชฎ เชตเชฐเซเช เชฎเชพเชเซ เชฐเชฟเชฎเซเช เชธเซเชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชถเชเซเชฏ เชเซ.
เชคเชฎเซ เชเซเชฐเชพเชซเซเชฐเซเชฎเชจเซ เชฎเชฆเชฆ เชตเชฟเชจเชพ เชฌเชฆเชฒเชพเชฎเชพเช เชฌเชจเชพเชตเซเชฒเชพ เช เชจเซเชฏ เชธเชเชธเชพเชงเชจเซ เชธเชพเชฅเซ เชตเชงเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชฐเชพเชเซเชฏเชฎเชพเช เชเชฏเชพเชค เชชเชฃ เชเชฐเซ เชถเชเซ เชเซ.
2. เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ
เชเชเชเซเชจเซ เช เชฒเช เชชเชพเชกเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ, เชนเชตเซ เชเซเชฐเชพเชซเซเชฐเซเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชฎเซ เชงเซเชฎเซ เชงเซเชฎเซ เชคเซเชฐเชฃ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เชธเชพเชฅเซเชจเซเช เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชฌเชจเชพเชตเซเชถเซเช. เชชเซเชฐเชฅเชฎ nginx เชชเซเชฐเซเชเซเชธเซ เชธเชฐเซเชตเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ, เชฌเซเชเซเช เชจเซเชเซเชธเซเชเชเซเชฒเชพเชเชก เชชเชฐ เชเชงเชพเชฐเชฟเชค เชซเชพเชเชฒ เชธเซเชเซเชฐเซเช เชธเชพเชฅเซ เช เชจเซ เชคเซเชฐเซเชเซเช CMS Bitrix เชธเชพเชฅเซ.
เช
เชฎเซ เชเซเชก เชฒเชเซเชถเซเช เช
เชจเซ เช
เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเซเชจเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเซเชถเซเช
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชเชชเชฃเชพ เชจเชตเชพ เชชเซเชฐเซเชเซเชเซเช เชฎเชพเชเซ เชเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชจเชพเชตเซเช เชเซเชฎเชพเช เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชคเซ เชซเชพเชเชฒเซ เชฎเซเชเชตเชพเชฎเชพเช เชเชตเชถเซ.
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 Configuration Language) เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ; JSON เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเซเช เชถเชเซเชฏ เชเซ. เชคเชฎเซ เชตเชพเชเซเชฏเชฐเชเชจเชพ เชตเชฟเชถเซ เชตเชงเซ เชเชพเชฃเซ เชถเชเซ เชเซ
เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒ เชเซเช เชตเชฃเซ, variables.tf เช เชจเซ vcd.tfvars
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชฌเซ เชซเชพเชเชฒเซ เชฌเชจเชพเชตเซเช เชเซ VMware 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 เชกเชฟเชฐเซเชเซเชเชฐ เชฎเซเชกเซเชฏเซเชฒ เชฎเชพเชเซ เชตเซเชฐเซเชเชฌเชฒ เชฌเชจเชพเชตเซเช เชเซเช เช
เชจเซ เชธเซเชชเชทเซเช เชเชฐเซเช เชเซเช: เชเชพเชฒเซ เชฏเชพเชฆ เชเชฐเซเช เชเซ เช
เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช เชเชชเชฃเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช
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]
}
Nextcloud เชธเชพเชฅเซ 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 โ เชฎเซเชจเซเชฏเซเช เชฒ / DHCP / POOL เชธเชฐเชจเชพเชฎเซเช เชซเชพเชณเชตเชฃเซ เชฎเซเชก,
-
ip โ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชฎเชพเชเซ IP เชธเชฐเชจเชพเชฎเซเช, เช เชฎเซ เชคเซเชจเซ เชเชพเชคเซ เช เชธเซเชชเชทเซเช เชเชฐเซเชถเซเช.
เชเชตเชฐเชฐเชพเชเชก_เชเซเชฎเซเชชเชฒเซเช_เชกเชฟเชธเซเช เชฌเซเชฒเซเช:
-
sizeinmb โ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชฎเชพเชเซ เชฌเซเช เชกเชฟเชธเซเช เชฎเชพเชช
-
เชธเซเชเซเชฐเซเช_เชชเซเชฐเซเชซเชพเชเชฒ โ เชกเชฟเชธเซเช เชฎเชพเชเซ เชธเชเชเซเชฐเชน เชจเซเชคเชฟ
เชเชพเชฒเซ เชจเซเชเซเชธเซเชเชเซเชฒเชพเชเชก เชซเชพเชเชฒ เชธเซเชเซเชฐเซเชเชจเชพ เชตเชฐเซเชฃเชจ เชธเชพเชฅเซ เชฌเซเชเซเช 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 โ เชกเชฟเชธเซเชเชจเซเช เชเชฆ
-
เชฌเชธ เชจเชเชฌเชฐ / เชฏเซเชจเชฟเช เชจเชเชฌเชฐ - เชเชกเซเชชเซเชเชฐเชฎเชพเช เชเชจเซเชเซเชถเชจ เชธเซเชฅเชพเชจ
-
เชธเซเชเซเชฐเซเช_เชชเซเชฐเซเชซเชพเชเชฒ โ เชกเชฟเชธเซเช เชฎเชพเชเซ เชธเชเชเซเชฐเชน เชจเซเชคเชฟ
เชเชพเชฒเซ 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 เชจเซ เช เชชเชกเซเช เชเชฐเชตเซเช เช เชจเซ เชตเชงเชพเชฐเชพเชจเซ เชธเซเชเซเชฐเชฟเชชเซเชเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซ
เชจเซเชเชตเชฐเซเช เชคเซเชฏเชพเชฐ เชเซ, เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เชตเชฐเซเชฃเชตเซเชฒ เชเซ. เช เชฎเชพเชฐเชพ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชเชฏเชพเชค เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เช เชฎเซ เชชเซเชฐเซเชตเชฟเชเชจเชฐ เชฌเซเชฒเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชจเซ เชเชตเชพเชฌเซเชฌเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เช เชเชพเชเชฅเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชเซเชเชตเชพเช เชเชฐเซ เชถเชเซเช เชเซเช.
เชเชพเชฒเซ เชเซเชเช เชเซ OS เชจเซ เชเซเชตเซ เชฐเซเชคเซ เช เชชเชกเซเช เชเชฐเชตเซเช เช เชจเซ เชชเซเชฐเซเชตเชฟเชเชจเชฐ เชฌเซเชฒเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ CMS Bitrix เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชธเซเชเซเชฐเชฟเชชเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซ.
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ 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"
]
}
เช เชจเซ เช เชฎเซ เชคเชฐเชค เช Bitrix เช เชชเชกเซเชเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซเชถเซเช.
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.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
.
เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ, เช เชจเซ เชชเชเซ เช เชฎเซ เชธเซเชเชฟเชฌเชฆเซเชง เชเชฐเซเชฒเชพ เชชเซเชเซเชเซ เชชเซเชฐเซเชตเชฟเชเชจเชฐ เชตเชฟเชญเชพเชเชฎเชพเช เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ - OS เช เชชเชกเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เช เชจเซ CMS Bitrix เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชเชจเซเชเซเชถเชจ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชชเซเชฒเชพเชจ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชเซเชธเซเช เชซเซเชฐเซเชฎเชฎเชพเช เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช, เช เชฎเชพเชเซ เช เชฎเซ เชเชเชเชชเซเช เชตเชฟเชญเชพเชเชจเซ เชจเซเชเซ เชชเซเชฐเชฎเชพเชฃเซ เชซเซเชฐเซเชฎเซเช เชเชฐเซเชถเซเช:
output "nginxpassword" {
value = vcdvappvm.nginx.customization[0].adminpassword
}
เช เชจเซ เชจเซเชเซเชจเชพ เชเชเชเชชเซเช เช เชฎเชจเซ เชฌเชจเชพเชตเซเชฒ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชฎเชพเชเซ เชชเชพเชธเชตเชฐเซเชก เชเชนเซ เชเซ:
Outputs: nginx_password = F#4u8!!N
เชชเชฐเชฟเชฃเชพเชฎเซ, เช เชฎเชจเซ เช เชฎเชพเชฐเชพ เชเชเชณเชจเชพ เชเชพเชฎ เชฎเชพเชเซ เช เชชเชกเซเชเซเชก เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เช เชจเซ เชชเซเชฐเซ-เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเชพ เชชเซ เชเซเช เชธเชพเชฅเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเชจเซ เชเชเซเชธเซเชธ เชฎเชณเซ เชเซ. เชฌเชงเซเช เชคเซเชฏเชพเชฐ เชเซ!
เชชเชฐเชเชคเซ เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชนเซเชฏ เชคเซ เชถเซเช?
3.1. เชนเชพเชฒเชจเชพ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐ เชธเชพเชฅเซ เชเซเชฐเชพเชซเซเชฐเซเชฎเชจเซเช เชเชพเชฎ เชเชฐเชตเซเช
เชคเซ เชธเชฐเชณ เชเซ, เชคเชฎเซ เชเชฏเชพเชค เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ เช เชจเซ เชคเซเชฎเชจเชพ 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