เดŸเต†เดฑเดพเดซเต‹เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฒเต—เดกเต เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดŽเด™เตเด™เดจเต† เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเด‚

เดŸเต†เดฑเดพเดซเต‹เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฒเต—เดกเต เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดŽเด™เตเด™เดจเต† เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเด‚

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดŸเต†เดฑเดพเดซเต‹เดฎเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เด•เตเดฐเดฎเต‡เดฃ เดจเดฎเตเดฎเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚ VMware เด‰เดณเตเดณ เด•เตเดฒเต—เดกเดฟเตฝ โ€” เดžเด™เตเด™เตพ เดฎเต‚เดจเตเดจเต VM-เด•เตพ เดตเตเดฏเดคเตเดฏเดธเตเดค เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเด‚: เดชเตเดฐเต‹เด•เตเดธเดฟ, เดซเดฏเตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต, CMS.

เดŽเดฒเตเดฒเดพ เด•เดพเดฐเตเดฏเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดตเดฟเดถเดฆเดฎเดพเดฏเตเด‚ เดฎเต‚เดจเตเดจเต เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเดฒเตเด‚:

1. เดŸเต†เดฑเดพเดซเต‹เด‚ - เดตเดฟเดตเดฐเดฃเด‚, เด—เตเดฃเด™เตเด™เตพ, เด˜เดŸเด•เด™เตเด™เตพ

เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเต†เตผเดšเตเดตเตฝ เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด’เดฐเต IaC (เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ-เด†เดธเต-เด•เต‹เดกเต) เด‰เดชเด•เดฐเดฃเดฎเดพเดฃเต เดŸเต†เดฑเดพเดซเต‹เด‚.

เด‰เดชเด•เดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดžเด™เตเด™เตพ เดจเดฟเดฐเดตเดงเดฟ เด—เตเดฃเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเต:

  • เดชเตเดคเดฟเดฏ เดตเดพเดŸเด•เด•เตเด•เดพเดฐเตเดŸเต† เดตเดฟเดจเตเดฏเดพเดธ เดตเต‡เด—เดค (เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดตเต†เตผเดšเตเดตเตฝ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ). เดธเดพเดงเดพเดฐเดฃเด—เดคเดฟเดฏเดฟเตฝ, เด•เต‚เดŸเตเดคเตฝ เดชเตเดคเดฟเดฏ เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดชเตเดคเดฟเดฏ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดชเดฟเดจเตเดคเตเดฃเดพ เดœเต€เดตเดจเด•เตเด•เดพเตผ เด•เต‚เดŸเตเดคเตฝ "เด•เตเดฒเดฟเด•เตเด•เตเด•เตพ" เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŸเต†เดฑเดพเดซเต‹เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดชเดฟเดจเตเดคเตเดฃ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเต† เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเต†เดทเต€เตป เดคเดจเตเดจเต† เดทเดŸเตเดŸเตเดกเต—เตบ เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเดพเตป เด•เดดเดฟเดฏเตเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เตเด•เดพเดฏเดฟ OS เดทเดŸเตเดŸเต เดกเต—เตบ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดตเต†เตผเดšเตเดตเตฝ เดกเดฟเดธเตเด•เต เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•).

  • เด†เด•เตเดŸเดฟเดตเต‡เดทเตป เดชเตเดฒเดพเดจเดฟเดจเตเดฑเต† เดคเตฝเด•เตเดทเดฃ เดชเดฐเดฟเดถเต‹เดงเดจ เดชเตเดคเดฟเดฏ เดŸเต†เดจเดจเตเดฑเต. เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เด•เต‹เดกเดฟเดจเตเดฑเต† เดตเดฟเดตเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดŽเดจเตเดคเดพเดฃเต เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเต†เดจเตเดจเตเด‚ เดเดคเต เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเดพเดฃเต, เด…เดคเตเดชเต‹เดฒเต† เดคเดจเตเดจเต† เดเดคเต เด…เดจเตเดคเดฟเดฎ เด…เดตเดธเตเดฅเดฏเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เด‰เดŸเดจเดŸเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚.

  • เดเดฑเตเดฑเดตเตเด‚ เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏ เด•เตเดฒเต—เดกเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเด•เดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ IaaS, SaaS, PaaS เดธเตŠเดฒเตเดฏเต‚เดทเดจเตเด•เดณเดฟเตฝ เดธเต‡เดตเดจเด™เตเด™เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ VMware vCloud เดกเดฏเดฑเด•เตเดŸเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดธเตเดตเด•เดพเดฐเตเดฏ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต Amazon, Google เด•เตเดฒเต—เดกเต เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต.

  • เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด•เตเดฒเต—เดกเต เดฆเดพเดคเดพเด•เตเด•เดณเต† เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเด• เด•เตเดฒเต—เดกเต เดฑเดฟเดธเต‹เดดเตโ€Œเดธเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดฐเต‹เด—เดจเดฟเตผเดฃเดฏเด‚ เดจเดŸเดคเตเดคเดพเดจเตเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด’เดฐเตŠเดฑเตเดฑ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดคเต†เดฑเตเดฑเต เดธเดนเดฟเดทเตเดฃเตเดค เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เด…เดตเดฏเตโ€Œเด•เตเด•เดฟเดŸเดฏเดฟเดฒเตเดณเตเดณ เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•.

  • เดกเต†เดฎเต‹ เดธเตเดฑเตเดฑเดพเตปเดกเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เด‰เดชเดฏเต‹เด—เด‚ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเด•เตเด•เตเด‚ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เดฟเดจเตเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดกเดฟเดชเตเดชเดพเตผเดŸเตเดŸเตโ€Œเดฎเต†เดจเตเดฑเดฟเดจเดพเดฏเดฟ เดธเตเดฑเตเดฑเดพเตปเดกเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เด•เตˆเดฎเดพเดฑเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚, เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดฏเดฟ เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเดฟเตฝ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•, เด’เดฐเต เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต เดฌเดฟเตฝเดกเต เดชเตเดฒเดพเตป เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดšเต เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดคเตฝเด•เตเดทเดฃเด‚ เดฎเดพเดฑเตเดฑเดพเดจเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

"เดŸเต†เดฑเต‡เดฑเดฟเดฏเด‚" เดŸเต†เดฑเดพเดซเต‹เด‚

เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด—เตเดฃเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดธเด‚เด•เตเดทเดฟเดชเตเดคเดฎเดพเดฏเดฟ เดธเด‚เดธเดพเดฐเดฟเดšเตเดšเต, เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เด…เดคเดฟเดจเต† เด…เดคเดฟเดจเตเดฑเต† เด˜เดŸเด•เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เดพเด‚

เดฆเดพเดคเดพเด•เตเด•เตพ. 

เดŸเต†เดฑเดพเดซเต‹เดฎเดฟเตฝ, เดเดคเดพเดฃเตเดŸเต เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเดฑเตเด‚ เด’เดฐเต เดตเดฟเดญเดตเดฎเดพเดฏเดฟ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เดพเด‚. เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเด‚ API เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด•เดฃเด•เตเดทเตป เดจเตฝเด•เตเดจเตเดจเดคเต เดชเตเดฐเตŠเดตเตˆเดกเตผ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเดพเดฃเต, เด‡เดคเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเตฝ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Azure เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ VMware vCloud Director.

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฆเดพเดคเดพเด•เตเด•เดณเตเดฎเดพเดฏเดฟ เดธเด‚เดตเดฆเดฟเด•เตเด•เดพเด‚.

เดตเดฟเดญเดตเด™เตเด™เตพ (เดตเดฟเดญเดต เดตเดฟเดตเดฐเดฃเด‚).

เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เตพ เดชเต‹เดฒเตเดณเตเดณ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เด‚ เด˜เดŸเด•เด™เตเด™เตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดŸเต† เดตเดฟเดตเดฐเดฃเด‚ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. 

VMware vCloud เดกเดฏเดฑเด•เตเดŸเตผ เดฆเดพเดคเดพเดตเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดฏเด‚ เด’เดฐเต เด‰เดฑเดตเดฟเดŸ เดตเดฟเดตเดฐเดฃเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเด‚ vCloud เดกเดฏเดฑเด•เตเดŸเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเดจเตŠเดชเตเดชเด‚ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เดˆ เดตเดฟเดตเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เด†เดตเดถเตเดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด•เดฃเด•เตเดทเตป เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเด‚ เดฎเดพเดคเตเดฐเด‚ เดฎเดพเดฑเตเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต

เดชเตเดฐเตŠเดตเดฟเดทเดจเตผเดฎเดพเตผ.

เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเดฟเดจเตเดถเต‡เดทเด‚ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดพเดฐเด‚เดญ เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเตเด‚ เด…เดฑเตเดฑเด•เตเดฑเตเดฑเดชเตเดชเดฃเดฟเด•เตพเด•เตเด•เตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต เดˆ เด˜เดŸเด•เด‚ เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเตเด•เดดเดฟเดžเตเดžเดพเตฝ, SSH เดตเดดเดฟ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดฃเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด’เดฐเต เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเตŠเดตเดฟเดทเดจเตผเดฎเดพเดฐเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. 

เด‡เตปเดชเตเดŸเตเดŸเต, เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ.

เด‡เตปเดชเตเดŸเตเดŸเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ - เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพเด•เตเด•เตเดฎเตเดณเตเดณ เด‡เตปเดชเตเดŸเตเดŸเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ. 

เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเดฟเดจเตเดถเต‡เดทเด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเตป เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต เด•เต‚เดŸเดพเดคเต† เดฎเดฑเตเดฑเต เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเดฟเตฝ เด‡เตปเดชเตเดŸเตเดŸเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดชเตเดฐเตŠเดตเดฟเดทเดจเต‡เดดเตโ€Œเดธเต เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ.

เดธเด‚เดธเตเดฅเดพเดจเด™เตเด™เตพ.

เดชเตเดฐเตŠเดตเตˆเดกเตผ เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดŸเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเต เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เด†เดฆเตเดฏเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดตเดฟเดญเดตเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เดตเดฟเดตเดฐเดตเตเดฎเดฟเดฒเตเดฒ, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เด‡เดคเดฟเดจเด•เด‚ เดตเดฟเดตเดฐเดฟเดšเตเดš เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เดฏเดฅเดพเตผเดคเตเดฅ เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต Terraform เดธเด‚เดธเตเดฅเดพเดจเดคเตเดคเต† เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเตเดณเตเดณ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เดณเตเด‚ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป, เดšเต‡เตผเดคเตเดค เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต†เดฏเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เด‡เดคเดฟเดจเด•เด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดธเด‚เดธเตเดฅเดพเดจเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดงเดพเดจ เดฒเด•เตเดทเตเดฏเด‚.

เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เดธเด‚เดธเตเดฅเดพเดจ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดซเดฏเดฒเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต terraform.tfstate, เดŽเดจเตเดจเดพเตฝ เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, เดŸเต€เด‚ เดตเตผเด•เตเด•เดฟเดจเดพเดฏเดฟ เดฑเดฟเดฎเต‹เดŸเตเดŸเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เดŸเต†เดฑเดพเดซเต‹เดฎเดฟเดจเตเดฑเต† เดธเดนเดพเดฏเดฎเดฟเดฒเตเดฒเดพเดคเต† เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เดฎเดฑเตเดฑเต เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เด•เต‚เดŸเตเดคเตฝ เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฒเดตเดฟเดฒเต† เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เด‚ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดธเด‚เดธเตเดฅเดพเดจเดคเตเดคเต‡เด•เตเด•เต เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.  

2. เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเต—เด•เดฐเตเดฏเด™เตเด™เดณเตเดŸเต† เดธเตƒเดทเตเดŸเดฟ

เด˜เดŸเด•เด™เตเด™เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเต, เด‡เดชเตเดชเต‹เตพ เดŸเต†เดฑเดพเดซเต‹เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด•เตเดฐเดฎเต‡เดฃ เดฎเต‚เดจเตเดจเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเตเดณเตเดณ เด’เดฐเต เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต nginx เดชเตเดฐเต‹เด•เตเดธเดฟ เดธเต†เตผเดตเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต Nextcloud เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดซเดฏเตฝ เดธเด‚เดญเดฐเดฃเดตเตเด‚ เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต‡เดคเต 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

}

เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด…เดคเดฟเดจเตเดฑเต† เดธเตเดตเดจเตเดคเด‚ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเดพเดฏ เดŽเดšเตเดšเตเดธเดฟเดŽเตฝ (เดนเดพเดทเดฟเด•เต‹เตผเดชเตเดชเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดฒเดพเด‚เด—เตเดตเต‡เดœเต) เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต; 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 โ€” เดชเตŠเดคเต เดเดชเดฟ เดตเดฟเดฒเดพเดธเด‚,

  • 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 โ€” 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"

  }

}

เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเต† เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเตผเดตเดพเตพ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเดฎเตเด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚. เดˆ เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดณเตเดณเดฟเตฝ, เด•เตเดฒเต—เดกเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดตเต†เตผเดšเตเดตเตฝ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพเด•เตเด•เตเด‚ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:

เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดตเดฟเดŽเด‚ เด†เด•เตโ€Œเดธเดธเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดžเด™เตเด™เตพ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

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 เด‰เด‚ เดตเต†เตผเดšเตเดตเตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เดžเด™เตเด™เตพ เดกเดฟเดธเตเดชเต†เตปเดกเต_เด“เตบ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด‚ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต:

เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•

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 - เด’เดฐเต เดชเตเดคเดฟเดฏ VM เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸ vApp-เดจเตเดฑเต† เดชเต‡เดฐเต,

  • เด•เดพเดฑเตเดฑเดฒเต‹เด—เต เดจเดพเดฎเด‚ / เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเต - เด•เดพเดฑเตเดฑเดฒเต‹เด—เต เดจเดพเดฎเดตเตเด‚ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเด‚,

  • เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดชเตเดฐเตŠเดซเตˆเตฝ - เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดชเต‹เดณเดฟเดธเดฟ.

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดฌเตเดฒเต‹เด•เตเด•เต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ:

  • เดคเดฐเด‚ - เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดš เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดจเตเดฑเต† เดคเดฐเด‚,

  • เดชเต‡เดฐเต - เดเดคเต เดตเต†เตผเดšเตเดตเตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‡เด•เตเด•เดพเดฃเต VM เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต,

  • isprimary - เดชเตเดฐเดพเดฅเดฎเดฟเด• เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด…เดกเดพเดชเตเดฑเตเดฑเตผ,

  • iallocation_mode โ€” เดฎเดพเดจเตเดตเตฝ / DHCP / POOL เดตเดฟเดฒเดพเดธ เด…เดฒเต‹เด•เตเด•เต‡เดทเตป เดฎเต‹เดกเต,

  • ip โ€” เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเดจเตเดณเตเดณ IP เดตเดฟเดฒเดพเดธเด‚, เดžเด™เตเด™เตพ เด…เดคเต เดธเตเดตเดฎเต‡เดงเดฏเดพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด‚.

override_template_disk เดฌเตเดฒเต‹เด•เตเด•เต:

  • sizeinmb โ€” เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเดจเตเดณเตเดณ เดฌเต‚เดŸเตเดŸเต เดกเดฟเดธเตเด•เต เดตเดฒเตเดชเตเดชเด‚

  • storage_profile โ€” เดกเดฟเดธเตเด•เดฟเดจเตเดณเตเดณ เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดจเดฏเด‚

Nextcloud เดซเดฏเตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดจเตเดฑเต† เดตเดฟเดตเดฐเดฃเดคเตเดคเต‹เดŸเต† เดจเดฎเตเด•เตเด•เต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† 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 โ€” เดกเดฟเดธเตเด•เต เดตเดฒเดฟเดชเตเดชเด‚

  • เดฌเดธเต เดจเดฎเตเดชเตผ / เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดจเดฎเตเดชเตผ - เด…เดกเดพเดชเตเดฑเตเดฑเดฑเดฟเดฒเต† เด•เดฃเด•เตเดทเตป เดธเตเดฅเดพเดจเด‚

  • storage_profile โ€” เดกเดฟเดธเตเด•เดฟเดจเตเดณเตเดณ เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดจเดฏเด‚

เดฌเดฟเดŸเตเดฐเดฟเด•เตโ€Œเดธเดฟเดฒเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดตเดฟเดŽเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเด‚

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" ]

}

}

}

เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต† เดชเดฆเดตเดฟ:

  • เดชเตเดฐเตŠเดตเดฟเดทเดฃเตผ โ€œเดฑเดฟเดฎเต‹เดŸเตเดŸเต-เดŽเด•เตโ€Œเดธเต†เด•เตโ€ - เดฑเดฟเดฎเต‹เดŸเตเดŸเต เดชเตเดฐเตŠเดตเดฟเดทเดจเดฟเด‚เด—เต เดฌเตเดฒเต‹เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

  • เด•เดฃเด•เตเดทเตป เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ, เด•เดฃเด•เตเดทเดจเตเดณเตเดณ เดคเดฐเดตเตเด‚ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเด‚ เดžเด™เตเด™เตพ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  • เดคเดฐเด‚ - เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ, เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ SSH;

  • เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต - เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดจเดพเดฎเด‚;

  • เดชเดพเดธเตเดตเต‡เดกเต - เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดฐเดนเดธเตเดฏเดตเดพเด•เตเด•เต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเดพเดฏเดฟ เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจ vcdvappvm.nginx.customization[0].admin_password เดŽเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดžเด™เตเด™เตพ เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

  • เดนเต‹เดธเตเดฑเตเดฑเต - เด•เดฃเด•เตเดทเดจเตเดณเตเดณ เดฌเดพเดนเตเดฏ IP เดตเดฟเดฒเดพเดธเด‚;

  • เดชเต‹เตผเดŸเตเดŸเต - เด•เดฃเด•เตเดทเดจเตเดณเตเดณ เดชเต‹เตผเดŸเตเดŸเต, เดกเดฟเดŽเตปเดŽเดŸเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดฎเตเดฎเตเดชเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเตเดจเตเดจเต;

  • เด‡เตปเดฒเตˆเตป - เดจเตฝเด•เต‡เดฃเตเดŸ เด•เดฎเดพเตปเดกเตเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•. เดˆ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ เด•เดฎเดพเตปเดกเตเด•เตพ เดจเตฝเด•เดชเตเดชเต†เดŸเตเด‚.

เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ, เดจเดฎเตเด•เตเด•เต 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 เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเตเด‚ เดตเดฟเดถเดฆเดฎเดพเดฏ เด’เดฐเต เดฒเต‡เด–เดจเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, oo. เดตเต†เดฌเตเดธเตˆเดฑเตเดฑเดฟเตฝ เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เต เดฒเต‡เด–เดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.

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

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดค เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดตเตเด‚ เดžเด™เตเด™เดณเตเดŸเต† เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเตเด‚ เด‰เดณเตเดณ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพเด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เดฒเดญเดฟเด•เตเด•เตเด‚. เดŽเดฒเตเดฒเดพเด‚ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต!

เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเต—เด•เดฐเตเดฏเด™เตเด™เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเตเด‚?

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>, เด…เดคเดฟเตฝ:

  • เดตเดฟเดŽเด‚ - เดตเดฟเดŽเด‚ เดชเต‡เดฐเต;

  • 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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•