เช…เชฎเซ‡ Yandex.Cloud เชฎเชพเช‚ 10 เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเซเชตเซ€เช•เชพเชฐเซ€เช เช›เซ€เช. เชญเชพเช— 000

เชฆเชฐเซ‡เช•เชจเซ‡ เชนเซ‡เชฒเซ‹, เชฎเชฟเชคเซเชฐเซ‹!

* เช† เชฒเซ‡เช– REBRAIN เช…เชจเซ‡ Yandex.Cloud เช“เชชเชจ เชตเชฐเซเช•เชถเซ‹เชช เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡, เชœเซ‹ เชคเชฎเซ‡ เชตเชฟเชกเชฟเช“ เชœเซ‹เชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เช† เชฒเชฟเช‚เช• เชชเชฐ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹ - https://youtu.be/cZLezUm0ekE

เช…เชฎเชจเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ Yandex.Cloud เชฒเชพเช‡เชต เช…เชœเชฎเชพเชตเชตเชพเชจเซ€ เชคเช• เชฎเชณเซ€. เช…เชฎเซ‡ เชฒเชพเช‚เชฌเซ€ เช…เชจเซ‡ เชธเช–เชค เชคเชชเชพเชธ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹เชตเชพเชฅเซ€, เช…เชฎเซ‡ เชคเชฐเชค เชœ เช•เซเชฒเชพเช‰เชก เชฌเซ‡เช เชธเชพเชฅเซ‡ เชเช• เชธเชฐเชณ เชตเชฐเซเชกเชชเซเชฐเซ‡เชธ เชฌเซเชฒเซ‹เช— เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซ‹ เชตเชฟเชšเชพเชฐ เช›เซ‹เชกเซ€ เชฆเซ€เชงเซ‹ - เชคเซ‡ เช–เซ‚เชฌ เช•เช‚เชŸเชพเชณเชพเชœเชจเช• เชนเชคเซเช‚. เชฅเซ‹เชกเซ‹ เชตเชฟเชšเชพเชฐ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช…เชฎเซ‡ เชจเชœเซ€เช•เชจเชพ เชฐเซ€เช…เชฒ เชŸเชพเช‡เชฎ เชฎเซ‹เชกเชฎเชพเช‚ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เชธเซ‡เชตเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช• เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.

เชฎเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เช–เชพเชคเชฐเซ€ เช›เซ‡ เช•เซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช“เชจเชฒเชพเชˆเชจ (เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชจเชนเซ€เช‚) เชตเซเชฏเชตเชธเชพเชฏเซ‹ เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ เชคเซ‡เชฎเชจเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€เชจเซ‹ เชชเชนเชพเชก เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ, เชšเซ‹เช•เซเช•เชธ เชจเชฟเชฐเซเชฃเชฏเซ‹ เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เช† เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ - เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชคเชฎเซ‡ เช‘เชจเชฒเชพเช‡เชจ เชฐเชฎเชคเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เช†เช‚เช•เชกเชพ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช•เชฏเชพ เชธเซเชคเชฐเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เช…เชŸเชตเชพเชˆ เชœเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฐเซเช‚ เชฐเชฎเช•เชกเซเช‚ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เช›เซ‡. เช…เชฅเชตเชพ เชถเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช•เช‚เชˆเชชเชฃ เช–เชฐเซ€เชฆเซเชฏเชพ เชตเชฟเชจเชพ เชคเชฎเชพเชฐเซ€ เชธเชพเช‡เชŸ เช›เซ‹เชกเซ€ เชฆเซ‡ เช›เซ‡ (เชนเซ‡เชฒเซ‹, Yandex.Metrica).

เชคเซ‡เชฅเซ€, เช…เชฎเชพเชฐเซ€ เชตเชพเชฐเซเชคเชพ: เช…เชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เชฒเชพเช‚เช—เชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฒเช–เซ€, เช•เชพเชซเช•เชพ เชตเชฟ เชฐเซ‡เชฌเชฟเชŸเชเชฎเช•เซเชฏเซ เชตเชฟ เชตเชพเชฏเช•เซเชฏเซเชเชธเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚, เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฟเช‚เช— เชฒเช–เซเชฏเซเช‚ เช…เชจเซ‡ เชฏเชพเชจเซเชกเซ‡เช•เซเชธ เชกเซ‡เชŸเชพเชฒเซ‡เชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€. เชธเซเชตเชพเชญเชพเชตเชฟเช• เชฐเซ€เชคเซ‡, เช† เชฌเชงเซเช‚ เชกเซ‹เช•เชฐ, เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ, เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€เช†เชˆ เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เช†เชจเช‚เชฆเชฅเซ€ เชญเชฐเชชเซ‚เชฐ เชนเชคเซเช‚. เชšเชพเชฒเซ‹ เชœเช‡เช!

เชนเซเช‚ เชคเชฐเชค เชœ เชเช• เช†เชฐเช•เซเชทเชฃ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เช…เชฎเซ‡ เชเช• เชฌเซ‡เช เช•เชฎเชพเช‚ เชฌเชงเซเช‚ เช—เซ‹เช เชตเซ€ เชถเช•เซ€เชถเซเช‚ เชจเชนเซ€เช‚ - เช† เชฎเชพเชŸเซ‡ เช…เชฎเชจเซ‡ เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เช˜เชฃเชพ เชฒเซ‡เช–เซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เชฐเชšเชจเชพ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚:

เชญเชพเช— 1 (เชคเชฎเซ‡ เชตเชพเช‚เชšเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹). เช…เชฎเซ‡ เชธเซ‹เชฒเซเชฏเซเชถเชจเชจเซ€ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพเช“ เช…เชจเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เชจเชฟเชฐเซเชฃเชฏ เช•เชฐเซ€เชถเซเช‚, เช…เชจเซ‡ เช—เซ‹เชฒเชพเช‚เช—เชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฃ เชฒเช–เซ€เชถเซเช‚.
เชญเชพเช— 2. เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจเชฎเชพเช‚ เชฐเชฟเชฒเซ€เช เช•เชฐเซ€เช เช›เซ€เช, เชคเซ‡เชจเซ‡ เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชฒเซ‹เชกเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€เช เช›เซ€เช.
เชญเชพเช— 3. เชšเชพเชฒเซ‹ เช เชธเชฎเชœเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชคเซเชจ เช•เชฐเซ€เช เช•เซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช†เชชเชฃเซ‡ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซ‡ เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชจเชนเซ€เช‚ เชชเชฃ เชฌเชซเชฐเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เช•เชพเชซเช•เชพ, เชฐเซ‡เชฌเชฟเชŸเชเชฎเช•เซเชฏเซ เช…เชจเซ‡ เชฏเชพเชจเซเชกเซ‡เช•เซเชธ เช•เชคเชพเชฐ เชธเซ‡เชตเชพเชจเซ€ เชคเซเชฒเชจเชพ เชชเชฃ เช•เชฐเซ€เช.
เชญเชพเช— 4 เช…เชฎเซ‡ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช•เซเชฒเชธเซเชŸเชฐ เช—เซ‹เช เชตเซ€เชถเซเช‚, เชคเซเชฏเชพเช‚ เชฌเชซเชฐเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชŸเซเชฐเซ€เชฎเชฟเช‚เช— เชธเซ‡เชตเชพ เชฒเช–เซ€เชถเซเช‚ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฒเซ‡เชจเซเชธเชฎเชพเช‚ เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ เชธเซ‡เชŸ เช•เชฐเซ€เชถเซเช‚.
เชญเชพเช— 5 เชšเชพเชฒเซ‹ เชธเชฎเช—เซเชฐ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‡ เชฏเซ‹เช—เซเชฏ เช†เช•เชพเชฐเชฎเชพเช‚ เชฒเชพเชตเซ€เช - gitlab ci เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ ci/cd เชธเซ‡เชŸ เช•เชฐเซ‹, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช…เชจเซ‡ เช•เซ‹เชจเซเชธเซเชฏเซเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชธเซ‡เชตเชพ เชถเซ‹เชงเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹.

เชŸเซ€.เช•เซ‡

เชชเซเชฐเชฅเชฎ, เชšเชพเชฒเซ‹ เชธเช‚เชฆเชฐเซเชญเชจเซ€ เชถเชฐเชคเซ‹ เชฌเชจเชพเชตเซ€เช - เชชเชฐเชฟเชฃเชพเชฎ เชคเชฐเซ€เช•เซ‡ เช†เชชเชฃเซ‡ เชฌเชฐเชพเชฌเชฐ เชถเซเช‚ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช.

  1. เช…เชฎเซ‡ event.kis.im (kis.im เช เชŸเซ‡เชธเซเชŸ เชกเซ‹เชฎเซ‡เชจ เช›เซ‡ เชœเซ‡เชจเซ‹ เช…เชฎเซ‡ เชคเชฎเชพเชฎ เชฒเซ‡เช–เซ‹เชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚) เชœเซ‡เชตเซ‹ เชเชจเซเชกเชชเซ‹เช‡เชจเซเชŸ เชฐเชพเช–เชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช, เชœเซ‡ HTTPS เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ€ เชœเซ‹เชˆเช.
  2. เช‡เชตเซ‡เชจเซเชŸเซเชธ เช เชเช• เชธเชฐเชณ json เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡: {โ€œeventโ€: โ€œviewโ€, โ€œosโ€: โ€œlinuxโ€, โ€œbrowserโ€: โ€œchromeโ€}. เช…เช‚เชคเชฟเชฎ เชคเชฌเช•เซเช•เซ‡ เช…เชฎเซ‡ เชฅเซ‹เชกเชพ เชตเชงเซ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เช‰เชฎเซ‡เชฐเซ€เชถเซเช‚, เชชเชฐเช‚เชคเซ เช† เช•เซ‹เชˆ เชฎเซ‹เชŸเซ€ เชญเซ‚เชฎเชฟเช•เชพ เชญเชœเชตเชถเซ‡ เชจเชนเซ€เช‚. เชœเซ‹ เชคเชฎเซ‡ เชˆเชšเซเช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชชเซเชฐเซ‹เชŸเซ‹เชฌเชซ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  3. เชธเซ‡เชตเชพ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก 10 เช‡เชตเซ‡เชจเซเชŸเซเชธ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช.
  4. เช…เชฎเชพเชฐเชพ เชธเซ‹เชฒเซเชฏเซเชถเชจเชฎเชพเช‚ เชซเช•เซเชค เชจเชตเชพ เชฆเชพเช–เชฒเชพเช“ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เช†เชกเซเช‚ เชฎเชพเชชเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. เช…เชจเซ‡ เชคเซ‡ เชธเชพเชฐเซเช‚ เชฐเชนเซ‡เชถเซ‡ เชœเซ‹ เช†เชชเชฃเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชฎเชพเชŸเซ‡ เชฒเซ‡เชŸเชจเซเชธเซ€ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เช†เช—เชณเชจเชพ เชญเชพเช—เชจเซ‡ เชœเซเชฆเชพ เชœเซเชฆเชพ เชญเซŒเช—เซ‹เชฒเชฟเช• เชธเซเชฅเชพเชจเซ‹ เชชเชฐ เช–เชธเซ‡เชกเซ€ เชถเช•เซ€เช.
  5. เชธเชนเชจเชถเซ€เชฒเชคเชพ เชฆเซ‹เชท. เชธเซ‹เชฒเซเชฏเซเชถเชจ เชชเชฐเซเชฏเชพเชชเซเชค เชธเซเชฅเชฟเชฐ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชญเชพเช—เซ‹เชจเชพ เชชเชคเชจเชฅเซ€ เชฌเชšเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช (เชšเซ‹เช•เซเช•เชธ เชธเช‚เช–เซเชฏเชพ เชธเซเชงเซ€, เช…เชฒเชฌเชคเซเชค).

เชธเซเชฅเชพเชชเชคเซเชฏ

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เช† เชชเซเชฐเช•เชพเชฐเชจเชพ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡, เชถเชพเชธเซเชคเซเชฐเซ€เชฏ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ€ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชถเซ‹เชง เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชœเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชธเซเช•เซ‡เชฒเชฟเช‚เช—เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช†เช•เซƒเชคเชฟ เช…เชฎเชพเชฐเชพ เช‰เช•เซ‡เชฒเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชฌเชคเชพเชตเซ‡ เช›เซ‡.

เช…เชฎเซ‡ Yandex.Cloud เชฎเชพเช‚ 10 เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเซเชตเซ€เช•เชพเชฐเซ€เช เช›เซ€เช. เชญเชพเช— 000

เชคเซ‹ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชถเซเช‚ เช›เซ‡:

1. เชกเชพเชฌเซ€ เชฌเชพเชœเซเช เช…เชฎเชพเชฐเชพ เช‰เชชเช•เชฐเชฃเซ‹ เช›เซ‡ เชœเซ‡ เชตเชฟเชตเชฟเชง เช‡เชตเซ‡เชจเซเชŸเซเชธ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡, เชชเช›เซ€ เชคเซ‡ เช–เซ‡เชฒเชพเชกเซ€เช“ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ เชฐเชฎเช•เชกเชพเชฎเชพเช‚ เชธเซเชคเชฐ เชชเซ‚เชฐเซเชฃ เช•เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชจเชฟเชฏเชฎเชฟเชค เชฌเซเชฐเชพเช‰เชเชฐ เชฆเซเชตเชพเชฐเชพ เช‘เชจเชฒเชพเช‡เชจ เชธเซเชŸเซ‹เชฐเชฎเชพเช‚ เช“เชฐเซเชกเชฐ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชเช• เช‡เชตเซ‡เชจเซเชŸ, เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช›เซ‡, เชคเซ‡ เชเช• เชธเชฐเชณ json เช›เซ‡ เชœเซ‡ เช…เชฎเชพเชฐเชพ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซ - events.kis.im เชชเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

2. เชชเซเชฐเชฅเชฎ เชฌเซ‡ เชธเชฐเซเชตเชฐ เชธเชฐเชณ เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เช›เซ‡, เชคเซ‡เชฎเชจเชพ เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏเซ‹ เช›เซ‡:

  • เชธเชคเชค เช‰เชชเชฒเชฌเซเชง เชฐเชนเซ‹. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, Keepalived, เชœเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชจเซ‹เชกเซเชธ เชตเชšเซเชšเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ IP เชจเซ‡ เชธเซเชตเชฟเชš เช•เชฐเชถเซ‡.
  • TLS เชธเชฎเชพเชชเซเชค เช•เชฐเซ‹. เชนเชพ, เช…เชฎเซ‡ เชคเซ‡เชฎเชจเชพ เชชเชฐ TLS เชธเชฎเชพเชชเซเชค เช•เชฐเซ€เชถเซเช‚. เชชเซเชฐเชฅเชฎ, เชœเซ‡เชฅเซ€ เช…เชฎเชพเชฐเซเช‚ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชคเช•เชจเซ€เช•เซ€ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพเช“เชจเซเช‚ เชชเชพเชฒเชจ เช•เชฐเซ‡, เช…เชจเซ‡ เชฌเซ€เชœเซเช‚, เช…เชฎเชพเชฐเชพ เชฌเซ‡เช•เชเชจเซเชก เชธเชฐเซเชตเชฐเซเชธเชฅเซ€ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เช•เชจเซ‡เช•เซเชถเชจ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพเชจเชพ เชฌเซ‹เชœเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡.
  • เช‰เชชเชฒเชฌเซเชง เชฌเซ‡เช•เชเชจเซเชก เชธเชฐเซเชตเชฐ เชชเชฐ เช†เชตเชจเชพเชฐเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชธเช‚เชคเซเชฒเชฟเชค เช•เชฐเซ‹. เช…เชนเซ€เช‚ เชฎเซเช–เซเชฏ เชถเชฌเซเชฆ เชธเซเชฒเชญ เช›เซ‡. เช†เชจเชพ เช†เชงเชพเชฐเซ‡, เช…เชฎเซ‡ เชธเชฎเชœเซ€เช เช›เซ€เช เช•เซ‡ เชฒเซ‹เชก เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐเซเชธ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชธเชพเชฅเซ‡ เช…เชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐเชจเซเช‚ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เช…เชจเซ‡ เชจเชฟเชทเซเชซเชณ เชจเซ‹เชกเซเชธ เชชเชฐ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เชธเช‚เชคเซเชฒเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเชตเชพ เชธเช•เซเชทเชฎ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.

3. เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เชชเช›เซ€, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเซเชธ เช›เซ‡ เชœเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชšเชฒเชพเชตเซ‡ เช›เซ‡. เชคเซ‡ HTTP เชฆเซเชตเชพเชฐเชพ เช‡เชจเช•เชฎเชฟเช‚เช— เชตเชฟเชจเช‚เชคเซ€เช“ เชธเซเชตเซ€เช•เชพเชฐเชตเชพ, เชฎเซ‹เช•เชฒเซ‡เชฒเชพ json เชจเซ‡ เชฎเชพเชจเซเชฏ เช•เชฐเชตเชพ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เชฌเชซเชฐเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชธเช•เซเชทเชฎ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.

4. เช†เช•เซƒเชคเชฟ เช•เชพเชซเช•เชพเชจเซ‡ เชฌเชซเชฐ เชคเชฐเซ€เช•เซ‡ เชฌเชคเชพเชตเซ‡ เช›เซ‡, เชœเซ‹เช•เซ‡, เช…เชฒเชฌเชคเซเชค, เช† เชธเซเชคเชฐเซ‡ เช…เชจเซเชฏ เชธเชฎเชพเชจ เชธเซ‡เชตเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช…เชฎเซ‡ เชคเซเชฐเซ€เชœเชพ เชฒเซ‡เช–เชฎเชพเช‚ เช•เชพเชซเช•เชพ, เชฐเซ‡เชฌเชฟเชŸเชเชฎเช•เซเชฏเซ เช…เชจเซ‡ เชตเชพเชฏเช•เซเชฏเซเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเซ€เชถเซเช‚.

5. เช…เชฎเชพเชฐเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ‹ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช›เซ‡ - เชเช• เชธเซเชคเช‚เชญเชพเช•เชพเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เช เชœเซ‡ เชคเชฎเชจเซ‡ เชตเชฟเชถเชพเชณ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเช‚เช—เซเชฐเชนเชฟเชค เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช† เชธเซเชคเชฐเซ‡, เช…เชฎเชพเชฐเซ‡ เชฌเชซเชฐเชฎเชพเช‚เชฅเซ€ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชœ เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เช†เชจเชพ เชชเชฐ เชฒเซ‡เช– 4 เชฎเชพเช‚ เชตเชงเซ).

เช† เชกเชฟเชเชพเช‡เชจ เช…เชฎเชจเซ‡ เชฆเชฐเซ‡เช• เชธเซเชคเชฐเชจเซ‡ เชธเซเชตเชคเช‚เชคเซเชฐ เชฐเซ€เชคเซ‡ เช†เชกเซ€ เชฐเซ€เชคเซ‡ เชฎเชพเชชเชตเชพ เชฆเซ‡ เช›เซ‡. เชฌเซ‡เช•เชเชจเซเชก เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ - เชšเชพเชฒเซ‹ เชเช• เชตเชงเซ เชตเชธเซเชคเซ เช‰เชฎเซ‡เชฐเซ€เช - เช›เซ‡เชตเชŸเซ‡, เชคเซ‡ เชธเซเชŸเซ‡เชŸเชฒเซ‡เชธ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฅเซ€, เช† เช†เชชเชฎเซ‡เชณเซ‡ เชชเชฃ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เช•เชพเชซเช•เชพ-เชถเซˆเชฒเซ€เชจเซเช‚ เชฌเชซเชฐ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ - เชšเชพเชฒเซ‹ เชตเชงเซ เชธเชฐเซเชตเชฐเซเชธ เช‰เชฎเซ‡เชฐเซ€เช เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ เชตเชฟเชทเชฏเชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชชเชพเชฐเซเชŸเซ€เชถเชจเซ‹ เชคเซ‡เชฎเชจเชพ เชชเชฐ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เช. เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เชคเซ‡เชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€ - เชคเซ‡ เช…เชถเช•เซเชฏ เช›เซ‡ :) เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช…เชฎเซ‡ เชธเชฐเซเชตเชฐเซเชธเชจเซ‡ เชชเชฃ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เชถเซเช‚ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เชถเชพเชฐเซเชก เช•เชฐเซ€เชถเซเช‚.

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชœเซ‹ เชคเชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชคเช•เชจเซ€เช•เซ€ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพเช“เชจเชพ เชตเซˆเช•เชฒเซเชชเชฟเช• เชญเชพเช—เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹ เช…เชจเซ‡ เชตเชฟเชตเชฟเชง เชญเซŒเช—เซ‹เชฒเชฟเช• เชธเซเชฅเชพเชจเซ‹เชฎเชพเช‚ เชธเซเช•เซ‡เชฒ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เช†เชจเชพเชฅเซ€ เชธเชฐเชณ เช•เช‚เชˆ เชจเชฅเซ€:

เช…เชฎเซ‡ Yandex.Cloud เชฎเชพเช‚ 10 เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเซเชตเซ€เช•เชพเชฐเซ€เช เช›เซ€เช. เชญเชพเช— 000

เชฆเชฐเซ‡เช• เชญเซŒเช—เซ‹เชฒเชฟเช• เชธเซเชฅเชพเชจเชฎเชพเช‚ เช…เชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช…เชจเซ‡ เช•เชพเชซเช•เชพ เชธเชพเชฅเซ‡ เชฒเซ‹เชก เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เช—เซ‹เช เชตเซ€เช เช›เซ€เช. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, 2 เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเซเชธ, 3 เช•เชพเชซเช•เชพ เชจเซ‹เชกเซเชธ เช…เชจเซ‡ เช•เซเชฒเชพเช‰เชก เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ, เชชเซ‚เชฐเชคเชพ เช›เซ‡, เชœเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเชพ เชธเซเชคเซเชฐเซ‹เชค IP เชธเชฐเชจเชพเชฎเชพเชจเชพ เช†เชงเชพเชฐเซ‡ เชญเซŒเช—เซ‹เชฒเชฟเช• เชธเซเชฅเชพเชจ เชฆเซเชตเชพเชฐเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชจเซ‹เชกเซเชธ เช…เชจเซ‡ เชธเช‚เชคเซเชฒเชจ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เช‰เชชเชฒเชฌเซเชงเชคเชพ เชคเชชเชพเชธเชถเซ‡. เช†เชฎ, เช…เชฎเซ‡เชฐเชฟเช•เชจ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฆเซเชตเชพเชฐเชพ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชกเซ‡เชŸเชพ เช…เชฎเซ‡เชฐเชฟเช•เชจ เชธเชฐเซเชตเชฐ เชชเชฐ เช‰เชคเชฐเชถเซ‡. เช…เชจเซ‡ เช†เชซเซเชฐเชฟเช•เชพเชจเซ‹ เชกเซ‡เชŸเชพ เช†เชซเซเชฐเชฟเช•เชจ เชญเชพเชทเชพเชฎเชพเช‚ เช›เซ‡.

เชชเช›เซ€ เชฌเชงเซเช‚ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡ - เช…เชฎเซ‡ เช•เชพเชซเช•เชพ เชธเซ‡เชŸเชฎเชพเช‚เชฅเซ€ เชฎเชฟเชฐเชฐ เชŸเซ‚เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเชฎเชพเชฎ เชธเซเชฅเชพเชจเซ‹เชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เชกเซ‡เชŸเชพเชจเซ‡ เชฐเชถเชฟเชฏเชพเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช…เชฎเชพเชฐเชพ เช•เซ‡เชจเซเชฆเซเชฐเซ€เชฏ เชกเซ‡เชŸเชพ เชธเซ‡เชจเซเชŸเชฐเชฎเชพเช‚ เช•เซ‰เชชเชฟ เช•เชฐเซ€เช เช›เซ€เช. เช†เช‚เชคเชฐเชฟเช• เชฐเซ€เชคเซ‡, เช…เชฎเซ‡ เชกเซ‡เชŸเชพเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เช…เชจเซเช—เชพเชฎเซ€ เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธเชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ€เช เช›เซ€เช.

เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ - เชšเชพเชฒเซ‹ Yandex.Cloud เชจเซ‡ เชนเชฒเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เช!

เช…เชฐเชœเซ€ เชฒเช–เซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เช•เซเชฒเชพเช‰เชก เชชเชนเซ‡เชฒเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชนเชœเซ€ เชชเชฃ เชฅเซ‹เชกเซ€ เชงเซ€เชฐเชœ เชฐเชพเช–เชตเซ€ เชชเชกเชถเซ‡ เช…เชจเซ‡ เช†เชตเชจเชพเชฐเซ€ เช‡เชตเซ‡เชจเซเชŸเซเชธเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เชธเซ‡เชตเชพ เชฒเช–เชตเซ€ เชชเชกเชถเซ‡. เช…เชฎเซ‡ เช—เซ‹เชฒเชพเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชญเชพเชทเชพ เชคเชฐเซ€เช•เซ‡ เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชพเชฌเชฟเชค เชฅเชˆ เช›เซ‡.

เชเช• เช•เชฒเชพเช• (เช•เชฆเชพเชš เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹) เชตเชฟเชคเชพเชตเซเชฏเชพ เชชเช›เซ€, เช…เชฎเชจเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช• เชฎเชณเซ‡ เช›เซ‡: https://github.com/RebrainMe/yandex-cloud-events/blob/master/app/main.go.

เชนเซเช‚ เช…เชนเซ€เช‚ เช•เชฏเชพ เชฎเซเช–เซเชฏ เชฎเซเชฆเซเชฆเชพเช“ เชจเซ‹เช‚เชงเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚:

1. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชถเชฐเซ‚ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ เชฌเซ‡ เชซเซเชฒเซ‡เช—เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชเช• เชคเซ‡ เชชเซ‹เชฐเซเชŸ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เช…เชฎเซ‡ เช†เชตเชจเชพเชฐเซ€ HTTP เชตเชฟเชจเช‚เชคเซ€เช“ (-addr) เชธเชพเช‚เชญเชณเซ€เชถเซเช‚. เชฌเซ€เชœเซเช‚ เช•เชพเชซเช•เชพ เชธเชฐเซเชตเชฐ เชธเชฐเชจเชพเชฎเชพเช‚ เชฎเชพเชŸเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เช˜เชŸเชจเชพเช“ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ€เชถเซเช‚ (-เช•เชพเชซเช•เชพ):

addr     = flag.String("addr", ":8080", "TCP address to listen to")
kafka    = flag.String("kafka", "127.0.0.1:9092", "Kafka endpointsโ€)

2. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเชฎเชพ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ ([] github.com/Shopify/sarama) เช•เชพเชซเช•เชพ เช•เซเชฒเชธเซเชŸเชฐเชจเซ‡ เชธเช‚เชฆเซ‡เชถเชพ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡. เช…เชฎเซ‡ เชคเชฐเชค เชœ เชฎเชนเชคเซเชคเชฎ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชเชกเชชเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฐเชพเช–เซ€เชจเซ‡ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชธเซ‡เชŸ เช•เชฐเซ€เช เช›เซ€เช:

config := sarama.NewConfig()
config.Producer.RequiredAcks = sarama.WaitForLocal
config.Producer.Compression = sarama.CompressionSnappy
config.Producer.Return.Successes = true

3. เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช•เซเชฒเชพเชฏเช‚เชŸ เชชเชฃ เช›เซ‡, เชœเซ‡ เชตเชฟเชตเชฟเชง เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡:

  • เช…เชฎเชพเชฐเซ€ เช…เชฐเชœเซ€เชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ;
  • เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เช…เชฎเชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชญเซ‚เชฒเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ (เชชเซ‹เชธเซเชŸ เชตเชฟเชจเช‚เชคเซ€ เชตเชพเช‚เชšเชตเซ€ เช…เชถเช•เซเชฏ, เชคเซ‚เชŸเซ‡เชฒเซ€ เชœเซ‡เชธเชจ, เช•เชพเชซเช•เชพเชจเซ‡ เชฒเช–เชตเชพเชจเซเช‚ เช…เชถเช•เซเชฏ);
  • เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ€ เชเช• เชตเชฟเชจเช‚เชคเซ€ เชฎเชพเชŸเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชฏ, เชœเซ‡เชฎเชพเช‚ เช•เชพเชซเช•เชพเชจเซ‡ เชธเช‚เชฆเซ‡เชถ เชฒเช–เชตเชพเชจเซ‹ เชธเชฎเชฏ เชชเชฃ เชธเชพเชฎเซ‡เชฒ เช›เซ‡.

4. เชคเซเชฐเชฃ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซเช“ เช•เซ‡ เชœเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡:

  • /เชธเซเชŸเซ‡เชŸเชธ - เช…เชฎเซ‡ เชœเซ€เชตเช‚เชค เช›เซ€เช เชคเซ‡ เชฌเชคเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชซเช•เซเชค เช เซ€เช• เชชเชพเช›เชพ เชซเชฐเซ‹. เชœเซ‹ เช•เซ‡ เชคเชฎเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชšเซ‡เช• เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡เชฎ เช•เซ‡ เช•เชพเชซเช•เชพ เช•เซเชฒเชธเซเชŸเชฐเชจเซ€ เช‰เชชเชฒเชฌเซเชงเชคเชพ.
  • /เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ - เช† url เช…เชจเซเชธเชพเชฐ, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช•เซเชฒเชพเชฏเช‚เชŸ เชคเซ‡เชฃเซ‡ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡เชฒ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชชเชฐเชค เช•เชฐเชถเซ‡.
  • /post เช เชฎเซเช–เซเชฏ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซ เช›เซ‡ เชœเซเชฏเชพเช‚ เช…เช‚เชฆเชฐ json เชธเชพเชฅเซ‡ POST เชตเชฟเชจเช‚เชคเซ€เช“ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชจเซเชฏเชคเชพ เชฎเชพเชŸเซ‡ json เชจเซ‡ เชคเชชเชพเชธเซ‡ เช›เซ‡ เช…เชจเซ‡ เชœเซ‹ เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช›เซ‡, เชคเซ‹ เชคเซ‡ เช•เชพเชซเช•เชพ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชฒเช–เซ‡ เช›เซ‡.

เชนเซเช‚ เชเช• เช†เชฐเช•เซเชทเชฃ เช•เชฐเซ€เชถ เช•เซ‡ เช•เซ‹เชก เชธเช‚เชชเซ‚เชฐเซเชฃ เชจเชฅเซ€ - เชคเซ‡ เชชเซ‚เชฐเซเชฃ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ (เช…เชจเซ‡ เชœเซ‹เชˆเช!) เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชจเซ‡เชŸ/http เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชตเชงเซ เชเชกเชชเซ€ HTTP เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชฅเชตเชพ เชคเชฎเซ‡ เชœเซ‡เชธเชจ เชตเซ‡เชฒเชฟเชกเชฟเชŸเซ€ เชšเซ‡เช•เชจเซ‡ เชชเช›เซ€เชจเชพ เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เช–เชธเซ‡เชกเซ€เชจเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชธเชฎเชฏ เช…เชจเซ‡ เชธเซ€เชชเซ€เชฏเซ เชธเช‚เชธเชพเชงเชจเซ‹ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹ - เชœเซเชฏเชพเชฐเซ‡ เชกเซ‡เชŸเชพ เชฌเชซเชฐเชฎเชพเช‚เชฅเซ€ เช•เซเชฒเชฟเช•เชนเชพเช‰เชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เชฅเชพเชฏ เช›เซ‡.

เชธเชฎเชธเซเชฏเชพเชจเชพ เชตเชฟเช•เชพเชธเชจเซ€ เชฌเชพเชœเซ เช‰เชชเชฐเชพเช‚เชค, เช…เชฎเซ‡ เชคเชฐเชค เชœ เช…เชฎเชพเชฐเชพ เชญเชพเชตเชฟ เช‡เชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚ เช…เชจเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชกเซ‹เช•เชฐ เชฆเซเชตเชพเชฐเชพ เชœเชฎเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เช…เช‚เชคเชฟเชฎ เชกเซ‹เช•เชฐเชซเชพเช‡เชฒ เช›เซ‡ https://github.com/RebrainMe/yandex-cloud-events/blob/master/app/Dockerfile. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชคเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡, เชเช•เชฎเชพเชคเซเชฐ เชฎเซเชฆเซเชฆเซ‹ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เชนเซเช‚ เชงเซเชฏเชพเชจ เช†เชชเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เชคเซ‡ เช›เซ‡ เชฎเชฒเซเชŸเชฟเชธเซเชŸเซ‡เชœ เชเชธเซ‡เชฎเซเชฌเชฒเซ€, เชœเซ‡ เช…เชฎเชจเซ‡ เช…เชฎเชพเชฐเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชคเชฟเชฎ เช›เชฌเซ€เชจเซ‡ เช˜เชŸเชพเชกเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชตเชพเชฆเชณเชฎเชพเช‚ เชชเซเชฐเชฅเชฎ เชชเช—เชฒเชพเช‚

เชธเซŒ เชชเซเชฐเชฅเชฎ, เชจเซ‹เช‚เชงเชฃเซ€ เช•เชฐเซ‹ cloud.yandex.ru. เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เชซเซ€เชฒเซเชกเซเชธ เชญเชฐเซเชฏเชพ เชชเช›เซ€, เช…เชฎเชจเซ‡ เชเช• เชเช•เชพเช‰เชจเซเชŸ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เช…เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชฐเช•เชฎ เชฎเชพเชŸเซ‡ เช—เซเชฐเชพเชจเซเชŸ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซเชฒเชพเช‰เชก เชธเซ‡เชตเชพเช“เชจเชพ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฒเซ‡เช–เชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เชชเช—เชฒเชพเช‚เช“เชจเซเช‚ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เช† เช…เชจเซเชฆเชพเชจ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช.

เชจเซ‹เช‚เชงเชฃเซ€ เชชเช›เซ€, เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชฒเช— เช•เซเชฒเชพเช‰เชก เช…เชจเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡เชฎเชพเช‚ เชคเชฎเซ‡ เช•เซเชฒเชพเช‰เชก เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, Yandex.Cloud เชฎเชพเช‚, เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เชธเช‚เชฌเช‚เชง เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

เช…เชฎเซ‡ Yandex.Cloud เชฎเชพเช‚ 10 เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเซเชตเซ€เช•เชพเชฐเซ€เช เช›เซ€เช. เชญเชพเช— 000

เชคเชฎเซ‡ เชเช• เชเช•เชพเช‰เชจเซเชŸ เชฎเชพเชŸเซ‡ เช…เชจเซ‡เช• เช•เซเชฒเชพเช‰เชก เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชจเซ‡ เช•เซเชฒเชพเช‰เชกเชจเซ€ เช…เช‚เชฆเชฐ, เชตเชฟเชตเชฟเชง เช•เช‚เชชเชจเซ€เชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เชฌเชจเชพเชตเซ‹. เชคเชฎเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹เชฎเชพเช‚ เช† เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ - https://cloud.yandex.ru/docs/resource-manager/concepts/resources-hierarchy. เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชนเซเช‚ เชตเชพเชฐเช‚เชตเชพเชฐ เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚ เชจเซ€เชšเซ‡ เชคเซ‡เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเชˆเชถ. เชœเซเชฏเชพเชฐเซ‡ เชฎเซ‡เช‚ เชถเชฐเซ‚เช†เชคเชฅเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชธเซ‡เชŸ เช•เชฐเซเชฏเซเช‚, เชคเซเชฏเชพเชฐเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹เช เชฎเชจเซ‡ เชเช• เช•เชฐเชคเชพ เชตเชงเซ เชตเช–เชค เชฎเชฆเชฆ เช•เชฐเซ€, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชคเชฎเชจเซ‡ เชคเซ‡เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชธเชฒเชพเชน เช†เชชเซเช‚ เช›เซเช‚.

เช•เซเชฒเชพเช‰เชกเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เช…เชจเซ‡ เช•เชจเซเชธเซ‹เชฒ เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ - yc เชฌเช‚เชจเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชเช• เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชฒเชฟเชจเช•เซเชธ เช…เชจเซ‡ เชฎเซ‡เช• เช“เชเชธ เชฎเชพเชŸเซ‡):

curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash

เชœเซ‹ เชคเชฎเชพเชฐเชพ เช†เช‚เชคเชฐเชฟเช• เชธเซเชฐเช•เซเชทเชพ เชจเชฟเชทเซเชฃเชพเชค เชˆเชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐเชฅเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชšเชฒเชพเชตเชตเชพ เช…เช‚เช—เซ‡ เชฐเซ‡เช—เชฟเช‚เช— เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹, เชชเซเชฐเชฅเชฎ, เชคเชฎเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช–เซ‹เชฒเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชฌเซ€เชœเซเช‚, เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช…เชฎเชพเชฐเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชนเซ‡เช เชณ - เชฐเซ‚เชŸ เช…เชงเชฟเช•เชพเชฐเซ‹ เชตเชฟเชจเชพ เชšเชฒเชพเชตเซ€เช เช›เซ€เช.

เชœเซ‹ เชคเชฎเซ‡ Windows เชฎเชพเชŸเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชธเซ‚เชšเชจเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚ เช…เชจเซ‡ เชชเช›เซ€ เชšเชฒเชพเชตเซ‹ yc initเชคเซ‡เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡:

vozerov@mba:~ $ yc init
Welcome! This command will take you through the configuration process.
Please go to https://oauth.yandex.ru/authorize?response_type=token&client_id= in order to obtain OAuth token.

Please enter OAuth token:
Please select cloud to use:
 [1] cloud-b1gv67ihgfu3bp (id = b1gv67ihgfu3bpt24o0q)
 [2] fevlake-cloud (id = b1g6bvup3toribomnh30)
Please enter your numeric choice: 2
Your current cloud has been set to 'fevlake-cloud' (id = b1g6bvup3toribomnh30).
Please choose folder to use:
 [1] default (id = b1g5r6h11knotfr8vjp7)
 [2] Create a new folder
Please enter your numeric choice: 1
Your current folder has been set to 'default' (id = b1g5r6h11knotfr8vjp7).
Do you want to configure a default Compute zone? [Y/n]
Which zone do you want to use as a profile default?
 [1] ru-central1-a
 [2] ru-central1-b
 [3] ru-central1-c
 [4] Don't set default zone
Please enter your numeric choice: 1
Your profile default Compute zone has been set to 'ru-central1-a'.
vozerov@mba:~ $

เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชธเชฐเชณ เช›เซ‡ - เชชเซเชฐเชฅเชฎ เชคเชฎเชพเชฐเซ‡ เช•เซเชฒเชพเช‰เชกเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช“เชฅ เชŸเซ‹เช•เชจ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช•เซเชฒเชพเช‰เชก เช…เชจเซ‡ เชคเชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชคเซ‡ เชซเซ‹เชฒเซเชกเชฐ เชชเชธเช‚เชฆ เช•เชฐเซ‹.

เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชœ เช•เซเชฒเชพเช‰เชกเชฎเชพเช‚ เช˜เชฃเชพ เชเช•เชพเช‰เชจเซเชŸเซเชธ เช…เชฅเชตเชพ เชซเซ‹เชฒเซเชกเชฐเซเชธ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ yc config เชชเซเชฐเซ‹เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชตเชšเซเชšเซ‡ เชธเซเชตเชฟเชš เช•เชฐเซ€เชจเซ‡ เช…เชฒเช— เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชธเชพเชฅเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เชชเซเชฐเซ‹เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹.

เช‰เชชเชฐเซ‹เช•เซเชค เชชเชฆเซเชงเชคเชฟเช“ เช‰เชชเชฐเชพเช‚เชค, Yandex.Cloud เชŸเซ€เชฎเซ‡ เช–เซ‚เชฌ เชธเชพเชฐเซเช‚ เชฒเช–เซเชฏเซเช‚ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เชชเซเชฒเช—เช‡เชจ เชฎเซ‡เช˜ เชธเช‚เชธเชพเชงเชจเซ‹เชจเชพ เชธเช‚เชšเชพเชฒเชจ เชฎเชพเชŸเซ‡. เชฎเชพเชฐเชพ เชญเชพเช— เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชเช• เช—เชฟเชŸ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ€ เช›เซ‡, เชœเซเชฏเชพเช‚ เชฎเซ‡เช‚ เชฒเซ‡เช–เชจเชพ เชญเชพเช— เชฐเซ‚เชชเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชคเซ‡เชตเชพ เชคเชฎเชพเชฎ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ - https://github.com/rebrainme/yandex-cloud-events/. เช…เชฎเชจเซ‡ เชฎเซเช–เซเชฏ เชถเชพเช–เชพเชฎเชพเช‚ เชฐเชธ เช›เซ‡, เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชฐเซ€เชคเซ‡ เช•เซเชฒเซ‹เชจ เช•เชฐเซ€เช:


vozerov@mba:~ $ git clone https://github.com/rebrainme/yandex-cloud-events/ events
Cloning into 'events'...
remote: Enumerating objects: 100, done.
remote: Counting objects: 100% (100/100), done.
remote: Compressing objects: 100% (68/68), done.
remote: Total 100 (delta 37), reused 89 (delta 26), pack-reused 0
Receiving objects: 100% (100/100), 25.65 KiB | 168.00 KiB/s, done.
Resolving deltas: 100% (37/37), done.
vozerov@mba:~ $ cd events/terraform/

เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชคเชฎเชพเชฎ เชฎเซเช–เซเชฏ เชตเซ‡เชฐเซ€เชเชฌเชฒเซเชธ main.tf เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเช–เซ‡เชฒเชพ เช›เซ‡. เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชธเชพเชฅเซ‡ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช–เชพเชจเช—เซ€.auto.tfvars เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹:

# Yandex Cloud Oauth token
yc_token = ""
# Yandex Cloud ID
yc_cloud_id = ""
# Yandex Cloud folder ID
yc_folder_id = ""
# Default Yandex Cloud Region
yc_region = "ru-central1-a"
# Cloudflare email
cf_email = ""
# Cloudflare token
cf_token = ""
# Cloudflare zone id
cf_zone_id = ""

เชฌเชงเชพ เชšเชฒเซ‹ yc เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชธเซ‚เชšเชฟเชฎเชพเช‚เชฅเซ€ เชฒเชˆ เชถเช•เชพเชฏ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ เช•เชจเซเชธเซ‹เชฒ เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡. เชนเซเช‚ เชคเชฎเชจเซ‡ .gitignore เชฎเชพเช‚ เชคเชฐเชค เชœ private.auto.tfvars เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชธเชฒเชพเชน เช†เชชเซเช‚ เช›เซเช‚, เชœเซ‡เชฅเซ€ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช–เชพเชจเช—เซ€ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชถเชฟเชค เชจ เชฅเชพเชฏ.

เช–เชพเชจเช—เซ€.auto.tfvars เชฎเชพเช‚ เช…เชฎเซ‡ DNS เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชฎเซเช–เซเชฏ เชกเซ‹เชฎเซ‡เชจ events.kis.im เชจเซ‡ เช…เชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชชเซเชฐเซ‹เช•เซเชธเซ€ เช•เชฐเชตเชพ - เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ‹ เชชเชฃ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชจเชฅเซ€ เชฎเชพเช‚เช—เชคเชพ, เชคเซ‹ เชชเช›เซ€ main.tf เช…เชจเซ‡ dns.tf เชซเชพเช‡เชฒเชฎเชพเช‚ เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชชเซเชฐเชฆเชพเชคเชพเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‹, เชœเซ‡ เชœเชฐเซ‚เชฐเซ€ dns เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡.

เช…เชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชฎเชพเช‚ เช…เชฎเซ‡ เชคเซเชฐเชฃเซ‡เชฏ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‡ เชœเซ‹เชกเซ€เชถเซเช‚ - เชตเซ‡เชฌ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ, เช•เชจเซเชธเซ‹เชฒ เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ เช…เชจเซ‡ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ.

เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชจเซ‡เชŸเชตเชฐเซเช•เซเชธ

เชธเชพเชšเซเช‚ เช•เชนเซเช‚ เชคเซ‹, เชคเชฎเซ‡ เช† เชชเช—เชฒเซเช‚ เช›เซ‹เชกเซ€ เชถเช•เซ‹ เช›เซ‹, เช•เชพเชฐเชฃ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชจเชตเซเช‚ เช•เซเชฒเชพเช‰เชก เชฌเชจเชพเชตเชถเซ‹, เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชชเซ‹เช†เชช เชเช• เช…เชฒเช— เชจเซ‡เชŸเชตเชฐเซเช• เช…เชจเซ‡ 3 เชธเชฌเชจเซ‡เชŸ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ - เชฆเชฐเซ‡เช• เช‰เชชเชฒเชฌเซเชงเชคเชพ เชเซ‹เชจ เชฎเชพเชŸเซ‡ เชเช•. เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชนเชœเซ เชชเชฃ เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชเชกเซเชฐเซ‡เชธเชฟเช‚เช— เชธเชพเชฅเซ‡ เช…เชฒเช— เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชจเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช. Yandex.Cloud เชฎเชพเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ‡เช–เชพเช•เซƒเชคเชฟ เชจเซ€เชšเซ‡เชจเซ€ เช†เช•เซƒเชคเชฟเชฎเชพเช‚ เชฌเชคเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ (เชชเซเชฐเชฎเชพเชฃเชฟเช•เชชเชฃเซ‡ เช…เชนเซ€เช‚เชฅเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. https://cloud.yandex.ru/docs/vpc/concepts/)

เช…เชฎเซ‡ Yandex.Cloud เชฎเชพเช‚ 10 เช‡เชตเซ‡เชจเซเชŸเซเชธ เชธเซเชตเซ€เช•เชพเชฐเซ€เช เช›เซ€เช. เชญเชพเช— 000

เชคเซ‡เชฅเซ€, เชคเชฎเซ‡ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชจเชพเชตเซ‹ เชœเซ‡เชจเซ€ เช…เช‚เชฆเชฐ เชธเช‚เชธเชพเชงเชจเซ‹ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชตเชพเชคเชšเซ€เชค เช•เชฐเซ€ เชถเช•เซ‡. เชฆเชฐเซ‡เช• เชชเซเชฐเชพเชชเซเชฏเชคเชพ เชเซ‹เชจ เชฎเชพเชŸเซ‡, เชธเชฌเชจเซ‡เชŸ เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชธเชฐเชจเชพเชฎเชพเช‚ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชจเซ‡เชŸเชตเชฐเซเช• เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เชนเซ‹เชฏ เช›เซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเซ‡เชฎเชพเช‚เชจเชพ เชคเชฎเชพเชฎ เช•เซเชฒเชพเช‰เชก เชธเช‚เชธเชพเชงเชจเซ‹ เชธเช‚เชšเชพเชฐ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเช›เซ€ เชญเชฒเซ‡ เชคเซ‡ เชตเชฟเชตเชฟเชง เช‰เชชเชฒเชฌเซเชงเชคเชพ เชเซ‹เชจเชฎเชพเช‚ เชนเซ‹เชฏ. เชตเชฟเชตเชฟเชง เช•เซเชฒเชพเช‰เชก เชจเซ‡เชŸเชตเชฐเซเช•เซเชธ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชธเช‚เชธเชพเชงเชจเซ‹ เชซเช•เซเชค เชฌเชพเชนเซเชฏ เชธเชฐเชจเชพเชฎเชพเช‚ เชฆเซเชตเชพเชฐเชพ เชœ เชเช•เชฌเซ€เชœเชพเชจเซ‡ เชœเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เช† เชœเชพเชฆเซ เช…เช‚เชฆเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชนเซ‡เชฌเซเชฐเซ‡ เชชเชฐ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.

เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชจเชพเชตเชŸเชจเซเช‚ เชตเชฐเซเชฃเชจ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ network.tf เชซเชพเช‡เชฒเชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชคเซเชฏเชพเช‚ เช†เชชเชฃเซ‡ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เช–เชพเชจเช—เซ€ เชจเซ‡เชŸเชตเชฐเซเช• เช†เช‚เชคเชฐเชฟเช• เชฌเชจเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชคเซเชฐเชฃ เชธเชฌเชจเซ‡เชŸเชจเซ‡ เชตเชฟเชตเชฟเชง เช‰เชชเชฒเชฌเซเชงเชคเชพ เชเซ‹เชจเชฎเชพเช‚ เชœเซ‹เชกเซ€เช เช›เซ€เช - เช†เช‚เชคเชฐเชฟเช•-a (172.16.1.0/24), เช†เช‚เชคเชฐเชฟเช•-b (172.16.2.0/24), เช†เช‚เชคเชฐเชฟเช•-c (172.16.3.0/24). ).

เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชถเชฐเซ‚ เช•เชฐเซ‹ เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชจเชพเชตเซ‹:

vozerov@mba:~/events/terraform (master) $ terraform init
... skipped ..

vozerov@mba:~/events/terraform (master) $ terraform apply -target yandex_vpc_subnet.internal-a -target yandex_vpc_subnet.internal-b -target yandex_vpc_subnet.internal-c

... skipped ...

Plan: 4 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

yandex_vpc_network.internal: Creating...
yandex_vpc_network.internal: Creation complete after 3s [id=enp2g2rhile7gbqlbrkr]
yandex_vpc_subnet.internal-a: Creating...
yandex_vpc_subnet.internal-b: Creating...
yandex_vpc_subnet.internal-c: Creating...
yandex_vpc_subnet.internal-a: Creation complete after 6s [id=e9b1dad6mgoj2v4funog]
yandex_vpc_subnet.internal-b: Creation complete after 7s [id=e2liv5i4amu52p64ac9p]
yandex_vpc_subnet.internal-c: Still creating... [10s elapsed]
yandex_vpc_subnet.internal-c: Creation complete after 10s [id=b0c2qhsj2vranoc9vhcq]

Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

เชธเชฐเชธ! เช…เชฎเซ‡ เช…เชฎเชพเชฐเซเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชนเชตเซ‡ เช…เชฎเชพเชฐเซ€ เช†เช‚เชคเชฐเชฟเช• เชธเซ‡เชตเชพเช“ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ€เช.

เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชฌเชจเชพเชตเชตเซ€

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เชซเช•เซเชค เชฌเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡ - เช…เชฎเชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฅเชฎเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡, เชฌเซ€เชœเซ€ เช•เชพเชซเช•เชพ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชฎเซ‡ เช†เชตเชจเชพเชฐเชพ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซ€เชถเซเช‚. เช…เชจเซ‡ เช…เชฎเซ‡ เชฌเซ€เชœเซเช‚ เชฎเชถเซ€เชจ เชฌเชจเชพเชตเซ€เชถเซเช‚ เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชจเซ‡ เช—เซ‹เช เชตเซ€เชถเซเช‚.

เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชเชจเซเชธเชฟเชฌเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชคเซ‡เชฅเซ€ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชถเชฐเซ‚ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ, เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเชจเซเชธเชฟเชฌเชฒเชจเชพ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฎเชพเช‚เชฅเซ€ เชเช• เช›เซ‡. เช…เชจเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช—เซ‡เชฒเซ‡เช•เซเชธเซ€ เชธเชพเชฅเซ‡ เชœเชฐเซ‚เชฐเซ€ เชญเซ‚เชฎเชฟเช•เชพเช“ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹:

vozerov@mba:~/events/terraform (master) $ cd ../ansible/
vozerov@mba:~/events/ansible (master) $ ansible-galaxy install -r requirements.yml
- cloudalchemy-prometheus (master) is already installed, skipping.
- cloudalchemy-grafana (master) is already installed, skipping.
- sansible.kafka (master) is already installed, skipping.
- sansible.zookeeper (master) is already installed, skipping.
- geerlingguy.docker (master) is already installed, skipping.
vozerov@mba:~/events/ansible (master) $

เชœเชตเชพเชฌเซ€ เชซเซ‹เชฒเซเชกเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชเช• เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡ .ansible.cfg เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒ เชœเซ‡เชจเซ‹ เชนเซเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚. เชคเซ‡ เช•เชพเชฎเชฎเชพเช‚ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡.

เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชฌเชจเชพเชตเชคเชพ เชชเชนเซ‡เชฒเชพ, เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ ssh-agent เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ ssh เช•เซ€ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เช…เชจเซเชฏเชฅเชพ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฌเชจเชพเชตเซ‡เชฒ เชฎเชถเซ€เชจเซ‹ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชˆ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚. เชฎเชจเซ‡, เช…เชฒเชฌเชคเซเชค, os x เชฎเชพเช‚ เชฌเช— เช†เชตเซเชฏเซ‹: https://github.com/ansible/ansible/issues/32499#issuecomment-341578864. เช†เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฅเชคเซเช‚ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชฒเซ‹เชจเซเชš เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ env เชฎเชพเช‚ เชเช• เชจเชพเชจเซเช‚ เชšเชฒ เช‰เชฎเซ‡เชฐเซ‹:

vozerov@mba:~/events/terraform (master) $ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชธเชพเชฅเซ‡เชจเชพ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช…เชฎเซ‡ เชœเชฐเซ‚เชฐเซ€ เชธเช‚เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเซ€เช เช›เซ€เช:

vozerov@mba:~/events/terraform (master) $ terraform apply -target yandex_compute_instance.build -target yandex_compute_instance.monitoring -target yandex_compute_instance.kafka
yandex_vpc_network.internal: Refreshing state... [id=enp2g2rhile7gbqlbrkr]
data.yandex_compute_image.ubuntu_image: Refreshing state...
yandex_vpc_subnet.internal-a: Refreshing state... [id=e9b1dad6mgoj2v4funog]

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

... skipped ...

Plan: 3 to add, 0 to change, 0 to destroy.

... skipped ...

เชœเซ‹ เชฌเชงเซเช‚ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชธเชฎเชพเชชเซเชค เชฅเชฏเซเช‚ (เช…เชจเซ‡ เชคเซ‡ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช), เชคเซ‹ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซเชฐเชฃ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชนเชถเซ‡:

  1. เชฌเชฟเชฒเซเชก - เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช…เชจเซ‡ เชจเชฟเชฐเซเชฎเชพเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชฎเชถเซ€เชจ. เชกเซ‹เช•เชฐ เชเชจเซเชธเชฟเชฌเชฒ เชฆเซเชตเชพเชฐเชพ เช†เชชเชฎเซ‡เชณเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.
  2. เชฎเซ‹เชจเซ€เชŸเชฐเซ€เช‚เช— - เชเช• เชฎเซ‹เชจเซ€เชŸเชฐเซ€เช‚เช— เชฎเชถเซ€เชจ - เชชเซเชฐเซ‹เชฎเซ€เชฅเชฟเชฏเชธ เช…เชจเซ‡ เช—เซเชฐเชพเชซเชจเชพ เชคเซ‡เชจเชพ เชชเชฐ เชธเซเชฅเชพเชชเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡. เชฒเซ‹เช—เชฟเชจ / เชชเชพเชธเชตเชฐเซเชก เชธเซเชŸเชพเชจเซเชกเชฐเซเชก: เชเชกเชฎเชฟเชจ / เชเชกเชฎเชฟเชจ
  3. เช•เชพเชซเช•เชพ เช เชเช• เชจเชพเชจเซเช‚ เชฎเชถเซ€เชจ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช•เชพเชซเช•เชพ เชธเซเชฅเชพเชชเชฟเชค เช›เซ‡, เชœเซ‡ เชชเซ‹เชฐเซเชŸ 9092 เชชเชฐ เชธเซเชฒเชญ เช›เซ‡.

เชšเชพเชฒเซ‹ เช–เชพเชคเชฐเซ€ เช•เชฐเซ€เช เช•เซ‡ เชคเซ‡ เชฌเชงเชพ เชธเซเชฅเชพเชจเซ‡ เช›เซ‡:

vozerov@mba:~/events (master) $ yc compute instance list
+----------------------+------------+---------------+---------+---------------+-------------+
|          ID          |    NAME    |    ZONE ID    | STATUS  |  EXTERNAL IP  | INTERNAL IP |
+----------------------+------------+---------------+---------+---------------+-------------+
| fhm081u8bkbqf1pa5kgj | monitoring | ru-central1-a | RUNNING | 84.201.159.71 | 172.16.1.35 |
| fhmf37k03oobgu9jmd7p | kafka      | ru-central1-a | RUNNING | 84.201.173.41 | 172.16.1.31 |
| fhmt9pl1i8sf7ga6flgp | build      | ru-central1-a | RUNNING | 84.201.132.3  | 172.16.1.26 |
+----------------------+------------+---------------+---------+---------------+-------------+

เชธเช‚เชธเชพเชงเชจเซ‹ เชธเซเชฅเชพเชจเซ‡ เช›เซ‡, เช…เชจเซ‡ เช…เชนเซ€เช‚เชฅเซ€ เช†เชชเชฃเซ‡ เชคเซ‡เชฎเชจเชพ IP เชธเชฐเชจเชพเชฎเชพเช‚ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ€เช เช›เซ€เช. เชนเซเช‚ ssh เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เช…เชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เช†เช‡เชชเซ€ เชเชกเซเชฐเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถ. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชŸเซ‡เชฐเชพเชซเซ‹เชฐเซเชฎ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸเซ‡เชก เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชเช•เชพเช‰เชจเซเชŸ เชนเซ‹เชฏ, เชคเซ‹ เชคเชพเชœเชพ เชฌเชจเชพเชตเซ‡เชฒเชพ DNS เชจเชพเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเชฟเชƒเชธเช‚เช•เซ‹เชš.
เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช†เช‚เชคเชฐเชฟเช• IP เช…เชจเซ‡ เช†เช‚เชคเชฐเชฟเช• DNS เชจเชพเชฎ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฅเซ€ เชคเชฎเซ‡ เชจเชพเชฎ เชฆเซเชตเชพเชฐเชพ เชจเซ‡เชŸเชตเชฐเซเช•เชฎเชพเช‚ เชธเชฐเซเชตเชฐเซเชธเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ‹:

ubuntu@build:~$ ping kafka.ru-central1.internal
PING kafka.ru-central1.internal (172.16.1.31) 56(84) bytes of data.
64 bytes from kafka.ru-central1.internal (172.16.1.31): icmp_seq=1 ttl=63 time=1.23 ms
64 bytes from kafka.ru-central1.internal (172.16.1.31): icmp_seq=2 ttl=63 time=0.625 ms
^C
--- kafka.ru-central1.internal ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.625/0.931/1.238/0.308 ms

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ kafk เชธเชพเชฅเซ‡เชจเชพ เช…เช‚เชคเชฟเชฎ เชฌเชฟเช‚เชฆเซเชจเซ‡ เชธเซ‚เชšเชตเชตเชพ เชฎเชพเชŸเซ‡ เช† เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เช‚เช—

เชธเชฐเชธ, เชคเซเชฏเชพเช‚ เชธเชฐเซเชตเชฐเซเชธ เช›เซ‡, เชเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช›เซ‡ - เชœเซ‡ เชฌเชพเช•เซ€ เช›เซ‡ เชคเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชตเชพเชจเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เชฌเชฟเชฒเซเชก เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชกเซ‹เช•เชฐ เชฌเชฟเชฒเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚, เชชเชฐเช‚เชคเซ เช‡เชฎเซ‡เชœ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชคเชฐเซ€เช•เซ‡ เช…เชฎเซ‡ เชฏเชพเชจเซเชกเซ‡เช•เซเชธ - เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ€ เชธเซ‡เชตเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚. เชชเชฐเช‚เชคเซ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซเช“ เชชเซเชฐเชฅเชฎ.

เช…เชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชฌเชฟเชฒเซเชก เชฎเชถเซ€เชจ เชชเชฐ เช•เซ‰เชชเชฟ เช•เชฐเซ€เช เช›เซ€เช, ssh เชฆเซเชตเชพเชฐเชพ เชฒเซ‰เช— เช‡เชจ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เช›เชฌเซ€เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเซ€เช เช›เซ€เช:

vozerov@mba:~/events/terraform (master) $ cd ..
vozerov@mba:~/events (master) $ rsync -av app/ [email protected]:app/

... skipped ...

sent 3849 bytes  received 70 bytes  7838.00 bytes/sec
total size is 3644  speedup is 0.93

vozerov@mba:~/events (master) $ ssh 84.201.132.3 -l ubuntu
ubuntu@build:~$ cd app
ubuntu@build:~/app$ sudo docker build -t app .
Sending build context to Docker daemon  6.144kB
Step 1/9 : FROM golang:latest AS build
... skipped ...

Successfully built 9760afd8ef65
Successfully tagged app:latest

เช…เชกเชงเซ€ เชฒเชกเชพเชˆ เชฅเชˆ เช—เชˆ เช›เซ‡ - เชนเชตเซ‡ เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เชพเชซเช•เชพเชจเซ‡ เชฎเซ‹เช•เชฒเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชšเช•เชพเชธเซ€ เชถเช•เซ€เช เช›เซ€เช:

ubuntu@build:~/app$ sudo docker run --name app -d -p 8080:8080 app /app/app -kafka=kafka.ru-central1.internal:9092</code>

ะก ะปะพะบะฐะปัŒะฝะพะน ะผะฐัˆะธะฝะบะธ ะผะพะถะฝะพ ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ั‚ะตัั‚ะพะฒั‹ะน event ะธ ะฟะพัะผะพั‚ั€ะตั‚ัŒ ะฝะฐ ะพั‚ะฒะตั‚:

<code>vozerov@mba:~/events (master) $ curl -D - -s -X POST -d '{"key1":"data1"}' http://84.201.132.3:8080/post
HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 13 Apr 2020 13:53:54 GMT
Content-Length: 41

{"status":"ok","partition":0,"Offset":0}
vozerov@mba:~/events (master) $

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชกเซ€เช‚เช—เชจเซ€ เชธเชซเชณเชคเชพ เชธเชพเชฅเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช†เชชเซเชฏเซ‹ เช…เชจเซ‡ เชชเชพเชฐเซเชŸเซ€เชถเชจ เช…เชจเซ‡ เช“เชซเชธเซ‡เชŸเชจเซ€ เช†เชˆเชกเซ€ เชฆเชฐเซเชถเชพเชตเซ€ เชœเซ‡เชฎเชพเช‚ เชธเช‚เชฆเซ‡เชถเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เชซเช•เซเชค Yandex.Cloud เชฎเชพเช‚ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชฌเชพเช•เซ€ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช…เชฎเชพเชฐเซ€ เช›เชฌเซ€ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเซ€ (เชคเซเชฐเชฃ เชฒเซ€เชŸเซ€เช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ registry.tf เชซเชพเช‡เชฒเชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡). เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฌเชจเชพเชตเซ‹:

vozerov@mba:~/events/terraform (master) $ terraform apply -target yandex_container_registry.events

... skipped ...

Plan: 1 to add, 0 to change, 0 to destroy.

... skipped ...

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เช•เชฐเชตเชพเชจเซ€ เช˜เชฃเซ€ เชฐเซ€เชคเซ‹ เช›เซ‡ - เช‘เชฅ เชŸเซ‹เช•เชจ, iam เชŸเซ‹เช•เชจ เช…เชฅเชตเชพ เชธเชฐเซเชตเชฟเชธ เชเช•เชพเช‰เชจเซเชŸ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡. เช† เชชเชฆเซเชงเชคเชฟเช“ เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹เชฎเชพเช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡. https://cloud.yandex.ru/docs/container-registry/operations/authentication. เช…เชฎเซ‡ เชธเชฐเซเชตเชฟเชธ เชเช•เชพเช‰เชจเซเชŸ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชเช• เชเช•เชพเช‰เชจเซเชŸ เชฌเชจเชพเชตเซ€เชถเซเช‚:

vozerov@mba:~/events/terraform (master) $ terraform apply -target yandex_iam_service_account.docker -target yandex_resourcemanager_folder_iam_binding.puller -target yandex_resourcemanager_folder_iam_binding.pusher

... skipped ...

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

เชนเชตเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชšเชพเชตเซ€ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชฌเชพเช•เซ€ เช›เซ‡:

vozerov@mba:~/events/terraform (master) $ yc iam key create --service-account-name docker -o key.json
id: ajej8a06kdfbehbrh91p
service_account_id: ajep6d38k895srp9osij
created_at: "2020-04-13T14:00:30Z"
key_algorithm: RSA_2048

เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ€ เช†เชˆเชกเซ€ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ€เช เช›เซ€เช, เช•เซ€ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชฒเซ‰เช— เช‡เชจ เช•เชฐเซ€เช เช›เซ€เช:

vozerov@mba:~/events/terraform (master) $ scp key.json [email protected]:
key.json                                                                                                                    100% 2392   215.1KB/s   00:00

vozerov@mba:~/events/terraform (master) $ ssh 84.201.132.3 -l ubuntu

ubuntu@build:~$ cat key.json | sudo docker login --username json_key --password-stdin cr.yandex
WARNING! Your password will be stored unencrypted in /home/ubuntu/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
ubuntu@build:~$

เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เช‡เชฎเซ‡เชœ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ IDเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ yc เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชฎเชพเช‚เชฅเซ€ เชฒเชˆเช เช›เซ€เช:

vozerov@mba:~ $ yc container registry get events
id: crpdgj6c9umdhgaqjfmm
folder_id:
name: events
status: ACTIVE
created_at: "2020-04-13T13:56:41.914Z"

เชคเซ‡ เชชเช›เซ€, เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เช›เชฌเซ€เชจเซ‡ เชจเชตเชพ เชจเชพเชฎ เชธเชพเชฅเซ‡ เชŸเซ‡เช— เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เช…เชชเชฒเซ‹เชก เช•เชฐเซ€เช เช›เซ€เช:

ubuntu@build:~$ sudo docker tag app cr.yandex/crpdgj6c9umdhgaqjfmm/events:v1
ubuntu@build:~$ sudo docker push cr.yandex/crpdgj6c9umdhgaqjfmm/events:v1
The push refers to repository [cr.yandex/crpdgj6c9umdhgaqjfmm/events]
8c286e154c6e: Pushed
477c318b05cb: Pushed
beee9f30bc1f: Pushed
v1: digest: sha256:1dd5aaa9dbdde2f60d833be0bed1c352724be3ea3158bcac3cdee41d47c5e380 size: 946

เช…เชฎเซ‡ เชšเช•เชพเชธเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เช›เชฌเซ€ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชฒเซ‹เชก เชฅเชˆ เช›เซ‡:

vozerov@mba:~/events/terraform (master) $ yc container repository list
+----------------------+-----------------------------+
|          ID          |            NAME             |
+----------------------+-----------------------------+
| crpe8mqtrgmuq07accvn | crpdgj6c9umdhgaqjfmm/events |
+----------------------+-----------------------------+

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชœเซ‹ เชคเชฎเซ‡ Linux เชฎเชถเซ€เชจ เชชเชฐ yc เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹

yc container registry configure-docker

เชกเซ‹เช•เชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡.

เชจเชฟเชทเซเช•เชฐเซเชท

เช…เชฎเซ‡ เช˜เชฃเซ€ เชฎเชนเซ‡เชจเชค เช•เชฐเซ€ เช›เซ‡ เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‡:

  1. เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชญเชพเชตเชฟ เชธเซ‡เชตเชพเชจเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชธเชพเชฅเซ‡ เช†เชตเซเชฏเชพ เช›เซ€เช.
  2. เช…เชฎเซ‡ เช—เซ‹เชฒเชพเช‚เช—เชฎเชพเช‚ เชเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฒเช–เซ€ เช›เซ‡ เชœเซ‡ เช…เชฎเชพเชฐเชพ เชตเซเชฏเชตเชธเชพเชฏเชจเชพ เชคเชฐเซเช•เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡.
  3. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชญเซ‡เช—เซ‹ เช•เชฐเซเชฏเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช–เชพเชจเช—เซ€ เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชฐเซ‡เชกเซเชฏเซ‹.

เช†เช—เชณเชจเชพ เชญเชพเช—เชฎเชพเช‚, เช…เชฎเซ‡ เชฐเชธเชชเซเชฐเชฆ เชธเชพเชฎเช—เซเชฐเซ€ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เชถเซเช‚ - เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจเชฎเชพเช‚ เชฐเชฟเชฒเซ€เช เช•เชฐเซ€เชถเซเช‚ เช…เชจเซ‡ เช…เช‚เชคเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชฒเซ‹เชก เชถเชฐเซ‚ เช•เชฐเซ€เชถเซเช‚. เชธเซเชตเชฟเชš เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚!

เช† เชธเชพเชฎเช—เซเชฐเซ€ เช“เชชเชจ เชตเชฐเซเช•เชถเซ‹เชช REBRAIN & Yandex.Cloud เชจเชพ เชตเชฟเชกเชฟเชฏเซ‹ เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช—เชฎเชพเช‚ เช›เซ‡: เช…เชฎเซ‡ Yandex Cloud เชชเชฐ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก 10 เชตเชฟเชจเช‚เชคเซ€เช“ เชธเซเชตเซ€เช•เชพเชฐเซ€เช เช›เซ€เช - https://youtu.be/cZLezUm0ekE

เชœเซ‹ เชคเชฎเชจเซ‡ เช†เชตเซ€ เชˆเชตเซ‡เชจเซเชŸเซเชธเชฎเชพเช‚ เช“เชจเชฒเชพเชˆเชจ เชนเชพเชœเชฐเซ€ เช†เชชเชตเชพ เช…เชจเซ‡ เชฐเซ€เชฏเชฒ เชŸเชพเชˆเชฎเชฎเชพเช‚ เชชเซเชฐเชถเซเชจเซ‹ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เชฐเซเชšเชฟ เชนเซ‹เชฏ, เชคเซ‹ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹ REBRAIN เชฆเซเชตเชพเชฐเชพ เชšเซ‡เชจเชฒ DevOps.

เช†เชตเซ€ เช‡เชตเซ‡เชจเซเชŸ เชนเซ‹เชธเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชคเช• เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ Yandex.Cloud เชจเซ‹ เช–เชพเชธ เช†เชญเชพเชฐ เช•เชนเซ‡เชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช. เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชฒเชฟเช‚เช• - https://cloud.yandex.ru/prices

เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เช•เซเชฒเชพเช‰เชก เชชเชฐ เชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช‡เชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชตเชฟเชถเซ‡ เชชเซเชฐเชถเซเชจเซ‹ เชนเซ‹เชฏ, เชตเชฟเชจเช‚เชคเซ€ เช›เซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชซเชค เชฒเชพเช—เซ‡.

PS เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฆเชฐ เชฎเชนเชฟเชจเซ‡ 2 เชฎเชซเชค เช‘เชกเชฟเชŸ เช›เซ‡, เช•เชฆเชพเชš เชคเชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เชนเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹