เจ…เจธเฉ€เจ‚ Yandex.Cloud เจตเจฟเฉฑเจš 10 เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจญเจพเจ— 000

เจธเจญ เจจเฉ‚เฉฐ เจนเฉˆเจฒเฉ‹, เจฆเฉ‹เจธเจคเฉ‹!

* เจ‡เจน เจฒเฉ‡เจ– REBRAIN เจ…เจคเฉ‡ Yandex.Cloud เจ“เจชเจจ เจตเจฐเจ•เจธเจผเจพเจช 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจตเฉ€เจกเฉ€เจ“ เจฆเฉ‡เจ–เจฃเจพ เจชเจธเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เจธ เจฒเจฟเฉฐเจ• 'เจคเฉ‡ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹ - https://youtu.be/cZLezUm0ekE

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

เจฎเฉˆเจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจฏเจ•เฉ€เจจ เจนเฉˆ เจ•เจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ”เจจเจฒเจพเจˆเจจ (เจ…เจคเฉ‡ เจจเจพ เจธเจฟเจฐเจซ) เจ•เจพเจฐเฉ‹เจฌเจพเจฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ†เจชเจฃเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจพ เจ‡เฉฑเจ• เจชเจนเจพเฉœ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเฉ‡ เจนเจจ. เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ, เจ‡เจน เจ•เฉเจ เจ–เจพเจธ เจซเฉˆเจธเจฒเฉ‡ เจฒเฉˆเจฃ เจฒเจˆ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ”เจจเจฒเจพเจˆเจจ เจ—เฉ‡เจฎ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเจธ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจ•เจธเจฐ เจซเจธ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ–เจฟเจกเฉŒเจฃเฉ‡ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจœเจพเจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ•เฉเจ เจตเฉ€ เจ–เจฐเฉ€เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚ เจคเฉเจนเจพเจกเฉ€ เจธเจพเจˆเจŸ เจจเฉ‚เฉฐ เจ•เจฟเจ‰เจ‚ เจ›เฉฑเจก เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ (เจนเฉˆเจฒเฉ‹, Yandex.Metrica).

เจ‡เจธ เจฒเจˆ, เจธเจพเจกเฉ€ เจ•เจนเจพเจฃเฉ€: เจ…เจธเฉ€เจ‚ เจ—เฉ‹เจฒเฉฐเจ— เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจฟเจ–เฉ€, เจ•เจพเจซเจ•เจพ เจฌเจจเจพเจฎ rabbitmq เจฌเจจเจพเจฎ yqs เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€, เจ‡เฉฑเจ• เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจฒเจฟเจ–เฉ€ เจ…เจคเฉ‡ เจฏเฉˆเจจเจกเฉ‡เจ•เจธ เจกเฉ‡เจŸเจพเจฒเฉ‡เจ‚เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เฉ€เจคเฉ€เฅค เจ•เฉเจฆเจฐเจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจธเจญ เจ•เฉเจ เจกเฉŒเจ•เจฐ, เจŸเฉˆเจฐเจพเจซเจพเจฐเจฎ, เจ—เจฟเจŸเจฒเจฌ เจธเฉ€เจ†เจˆ เจ…เจคเฉ‡, เจฌเฉ‡เจธเจผเจ•, เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ…เจจเฉฐเจฆ เจจเจพเจฒ เจ…เจจเฉเจญเจต เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€. เจšเจฒเจพเจ‚ เจšเจฒเจฆเฉ‡ เจนเจพเจ‚!

เจฎเฉˆเจ‚ เจคเฉเจฐเฉฐเจค เจ‡เฉฑเจ• เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเฉˆเจ เจ• เจตเจฟเฉฑเจš เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจพเจ‚เจ—เฉ‡ - เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจฒเฉœเฉ€ เจตเจฟเฉฑเจš เจ•เจˆ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€. เจฌเจฃเจคเจฐ เจฌเจพเจฐเฉ‡ เจฅเฉ‹เฉœเจพ เจœเจฟเจนเจพ:

เจญเจพเจ— 1 (เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉœเฉเจน เจฐเจนเฉ‡ เจนเฉ‹)เฅค เจ…เจธเฉ€เจ‚ เจนเฉฑเจฒ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ 'เจคเฉ‡ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจ…เจคเฉ‡ เจ—เฉ‹เจฒเฉฐเจ— เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเฉ€ เจฒเจฟเจ–เจพเจ‚เจ—เฉ‡เฅค
เจญเจพเจ— 2เฅค เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจœเจพเจฐเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธเจจเฉ‚เฉฐ เจธเจ•เฉ‡เจฒเฉ‡เจฌเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจฒเฉ‹เจก เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค
เจญเจพเจ— 3เฅค เจ†เจ‰ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจฌเจซเจฐ เจตเจฟเฉฑเจš เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจจเจพ เจ•เจฟ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš, เจ…เจคเฉ‡ เจ•เจพเจซเจ•เจพ, rabbitmq เจ…เจคเฉ‡ yandex เจ•เจคเจพเจฐ เจธเฉ‡เจตเจพ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจตเฉ€ เจ•เจฐเฉ€เจเฅค
เจญเจพเจ— 4 เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจพเจ‚เจ—เฉ‡, เจ‰เฉฑเจฅเฉ‡ เจฌเจซเจฐ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจธเฉ‡เจตเจพ เจฒเจฟเจ–เจพเจ‚เจ—เฉ‡, เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเจฒเฉ‡เจ‚เจธ เจตเจฟเฉฑเจš เจตเจฟเจœเจผเฉ‚เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค
เจญเจพเจ— 5 เจ†เจ‰ เจชเฉ‚เจฐเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเจฟเจ†เจˆเจ - gitlab ci เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ ci/cd เจธเฉˆเจŸ เจ…เจช เจ•เจฐเฉ‹, เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจ…เจคเฉ‡ เจ•เฉŒเจ‚เจธเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพ เจ–เฉ‹เจœ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹เฅค

เจŸเฉ€.เจ•เฉ‡

เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจธเฉฐเจฆเจฐเจญ เจฆเฉ€เจ†เจ‚ เจธเจผเจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเฉ€เจ - เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค

  1. เจ…เจธเฉ€เจ‚ Events.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. เจšเจฟเฉฑเจคเจฐ เจ•เจพเจซเจ•เจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเจซเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฌเฉ‡เจธเจผเฉฑเจ•, เจ‡เจธ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจนเฉ‹เจฐ เจธเจฎเจพเจจ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจคเฉ€เจœเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ•เจพเจซเจ•เจพ, rabbitmq เจ…เจคเฉ‡ yqs เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

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. เจคเจฟเฉฐเจจ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจœเฉ‹ เจธเจพเจกเฉ€ เจ…เจฐเจœเจผเฉ€ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ‡ เจนเจจ:

  • /status - เจ‡เจน เจฆเจฟเจ–เจพเจ‰เจฃ เจฒเจˆ เจ เฉ€เจ• เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจœเจผเจฟเฉฐเจฆเจพ เจนเจพเจ‚เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ•เฉเจ เจšเฉˆเจ• เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจพเจซเจ•เจพ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจ‰เจชเจฒเจฌเจงเจคเจพเฅค
  • /เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ - เจ‡เจธ url เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‰เจธ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‹ เจ‡เจธเจจเฉ‡ เจ‡เจ•เฉฑเจคเจฐ เจ•เฉ€เจคเฉ‡ เจนเจจเฅค
  • /post เจฎเฉเฉฑเจ– เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ json เจฆเฉ‡ เจ…เฉฐเจฆเจฐ POST เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจœเจพเจฃเจ—เฉ€เจ†เจ‚เฅค เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเฉˆเจงเจคเจพ เจฒเจˆ json เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ•เจพเจซเจ•เจพ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจฒเจฟเจ–เจฆเจพ เจนเฉˆเฅค

เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจ เจ•เจฐเจพเจ‚เจ—เจพ เจ•เจฟ เจ•เฉ‹เจก เจธเฉฐเจชเฉ‚เจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ‡เจน เจชเฉ‚เจฐเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ (เจ…เจคเฉ‡ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ!) เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจจเฉˆเฉฑเจŸ/http เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจฌเฉฐเจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจคเฉ‡เจœเจผ เจคเฉ‡เจœเจผ HTTP 'เจคเฉ‡ เจธเจตเจฟเจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเจพเจ‚ เจคเฉเจธเฉ€เจ‚ json เจตเฉˆเจงเจคเจพ เจœเจพเจ‚เจš เจจเฉ‚เฉฐ เจฌเจพเจ…เจฆ เจฆเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจฒเจฟเจœเจพ เจ•เฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจธเจฎเจพเจ‚ เจ…เจคเฉ‡ cpu เจธเจฐเฉ‹เจค เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ - เจœเจฆเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฌเจซเจฐ เจคเฉ‹เจ‚ เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจฎเฉเฉฑเจฆเฉ‡ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจชเฉฑเจ– เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจ†เจชเจฃเฉ‡ เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฟเจ† เจ…เจคเฉ‡ เจกเฉŒเจ•เจฐ เจฆเฉเจ†เจฐเจพ เจธเจพเจกเฉ€ เจ…เจฐเจœเจผเฉ€ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ…เฉฐเจคเจฎ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจนเฉˆ 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

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเจพ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเจพเจนเจฐ เจ‡เฉฐเจŸเจฐเจจเฉˆเฉฑเจŸ เจคเฉ‹เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฌเจพเจฐเฉ‡ เจ—เฉเฉฑเจธเจพ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจคเจพเจ‚, เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจคเฉเจธเฉ€เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจ…เจงเฉ€เจจ - เจฌเจฟเจจเจพเจ‚ เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ‡ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡ เจ…เจคเฉ‡ เจซเจฟเจฐ เจšเจฒเจพเจ“ 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 เจ•เฉŒเจ‚เจซเจฟเจ— เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเจตเจฟเจš เจ•เจฐเจ•เฉ‡ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเจพเจงเฉ‚ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ‰เจชเจฐเฉ‹เจ•เจค เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, 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 เจธเฉฐเจฐเจšเจจเจพ เจธเฉ‚เจšเฉ€ เจคเฉ‹เจ‚ เจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉฐเจธเฉ‹เจฒ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚เฅค เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ.auto.tfvars เจจเฉ‚เฉฐ .gitignore เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจธเจฒเจพเจน เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ‚, เจคเจพเจ‚ เจœเฉ‹ เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจจเจฟเฉฑเจœเฉ€ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจจเจพ เจนเฉ‹ เจธเจ•เฉ‡เฅค

เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ.auto.tfvars เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ Cloudflare เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจตเฉ€ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ - 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 เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ†เจฎ เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจชเจฒเจฌเจงเจคเจพ เจœเจผเฉ‹เจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจธ เจจเจพเจฒ เจคเจฟเฉฐเจจ เจธเจฌเจจเฉˆเฉฑเจŸ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚ - เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€-เจ (172.16.1.0/24), เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€-เจฌเฉ€ (172.16.2.0/24), เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€-เจธเฉ€ (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. เจ‡เจธ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจตเจพเจชเจฐเจจ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฃ เจฒเจˆ, Terraform เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ 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. เจจเจฟเจ—เจฐเจพเจจเฉ€ - เจ‡เฉฑเจ• เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฎเจธเจผเฉ€เจจ - prometheus & grafana เจ‡เจธ 'เจคเฉ‡ เจ‡เฉฐเจธเจŸเจพเจฒ เจนเฉˆ. เจฒเฉŒเจ—เจ‡เจจ / เจชเจพเจธเจตเจฐเจก เจธเจŸเฉˆเจ‚เจกเจฐเจก: เจเจกเจฎเจฟเจจ / เจเจกเจฎเจฟเจจ
  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 เจฆเฉเจ†เจฐเจพ เจœเฉเฉœเจจ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ IP เจชเจคเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจŸเฉˆเจฐเจพเจซเจพเจฐเจฎ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจ•เจฒเจพเจ‰เจกเจซเจฒเฉ‡เจ…เจฐ เจ–เจพเจคเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเจพเจœเจผเฉ‡ เจฌเจฃเจพเจ เจ—เจ 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.

เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจ•เจˆ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจ - เจ‡เฉฑเจ• oauth เจŸเฉ‹เจ•เจจ, เจ‡เฉฑเจ• 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 |
+----------------------+-----------------------------+

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฒเฉ€เจจเจ•เจธ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ 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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹