ืžื™ืจ ืึธื ื ืขืžืขืŸ 10 events ืื™ืŸ Yandex.Cloud. ื˜ื™ื™ืœ 000

ื”ืขืœื ืึทืœืขืžืขืŸ, ืคืจื™ื™ื ื˜!

* ื“ืขืจ ืึทืจื˜ื™ืงืœ ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืขืคึฟืขื ืขืŸ ื•ื•ืึทืจืฉื˜ืึทื˜ ืคื•ืŸ REBRAIN & Yandex.Cloud, ืื•ื™ื‘ ืื™ืจ ื‘ืขืกืขืจ ื•ื•ืขืœืŸ ืฆื• ื”ื™ื˜ืŸ ื“ื™ ื•ื•ื™ื“ืขื, ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ืขืก ืื•ื™ืฃ ื“ืขื ืœื™ื ืง - https://youtu.be/cZLezUm0ekE

ืžื™ืจ ืœืขืฆื˜ื ืก ื”ืึธื‘ืŸ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ Yandex.Cloud ืœืขื‘ืŸ. ื–ื™ื ื˜ ืžื™ืจ ื’ืขื•ื•ืืœื˜ ืฆื• ื–ืึธื ื“ ืœืึทื ื’ ืื•ืŸ ืฉื•ื•ืขืจ, ืžื™ืจ ืžื™ื“ ืคืืจืœืื–ืŸ ื“ืขื ื’ืขื“ืึทื ืง ืคื•ืŸ ืœืึธื ื˜ืฉื™ื ื’ ืึท ืคึผืฉื•ื˜ ื•ื•ืึธืจื“ืคึผืจืขืกืก ื‘ืœืึธื’ ืžื™ื˜ ืึท ื•ื•ืึธืœืงืŸ ื‘ืึทื–ืข - ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื• ื ื•ื“ื ืข. ื ืึธืš ืขื˜ืœืขื›ืข ื’ืขื“ืึทื ืง, ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืขืคึผืขืก ืขื ืœืขืš ืฆื• ืึท ืคึผืจืึธื“ื•ืงืฆื™ืข ืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืคึฟืึทืจ ืจื™ืกื™ื•ื•ื™ื ื’ ืื•ืŸ ืึทื ืึทืœื™ื™ื–ื™ื ื’ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ืŸ ื›ึผืžืขื˜ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜ ืžืึธื“ืข.

ืื™ืš ื‘ื™ืŸ ืœืขื’ืึทืžืจืข ื–ื™ื›ืขืจ ืึทื– ื“ื™ ื•ื•ืึทืกื˜ ืžืขืจื”ื™ื™ึทื˜ ืคื•ืŸ ืึธื ืœื™ื™ืŸ (ืื•ืŸ ื ื™ื˜ ื‘ืœื•ื™ื–) ื’ืขืฉืขืคื˜ืŸ ืขืคืขืก ืงืœื™ื™ึทื‘ืŸ ืึท ื‘ืึทืจื’ ืคื•ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื–ื™ื™ืขืจ ื™ื•ื–ืขืจื– ืื•ืŸ ื–ื™ื™ืขืจ ืึทืงืฉืึทื ื–. ืื™ืŸ ืึท ืžื™ื ื™ืžื•ื, ื“ืึธืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืžืึทื›ืŸ ื–ื™ื›ืขืจ ื“ื™ืกื™ื–ืฉืึทื ื– - ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืื™ืจ ืคื™ืจืŸ ืึทืŸ ืึธื ืœื™ื™ืŸ ืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ืงื•ืงืŸ ืื™ืŸ ื“ื™ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ื•ื•ืึธืก ื“ื™ ื ื™ืฆืขืจืก ืจื•ื‘ึฟ ืึธืคื˜ ืกื˜ืึทืง ืื•ืŸ ื•ื™ืกืžืขืงืŸ ื“ื™ื™ืŸ ืฆืึทืฆืงืข. ืึธื“ืขืจ ื•ื•ืึธืก ื ื™ืฆืขืจืก ืœืึธื–ืŸ ื“ื™ื™ืŸ ืคึผืœืึทืฅ ืึธืŸ ืคึผืขืจื˜ืฉืึทืกื™ื ื’ ืขืคึผืขืก (ื”ืขืœื, Yandex.Metrica).

ืึทื–ื•ื™, ืื•ื ื“ื–ืขืจ ื“ืขืจืฆื™ื™ืœื•ื ื’: ื•ื•ื™ ืžื™ืจ ื’ืขืฉืจื™ื‘ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ื’ืึธืœืึทื ื’, ื˜ืขืกื˜ืขื“ ืงืึทืคืงืึท ื•ื•ืก ืจืึทื‘ืึทื˜ืžืง ื•ื•ืก ื™ืงืก, ื’ืขืฉืจื™ื‘ืŸ ื“ืึทื˜ืŸ ืกื˜ืจื™ืžื™ื ื’ ืื™ืŸ ืึท ืงืœื™ืงื›ืึธื•ืกืข ืงื ื•ื™ืœ ืื•ืŸ ื•ื•ื™ื–ืฉื•ื•ืึทืœื™ื™ื–ื“ ื“ื™ ื“ืึทื˜ืŸ ืžื™ื˜ ื™ืึทื ื“ืขืงืก ื“ืึทื˜ืึทืœืึทื ื–. ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš, ืึทืœืข ื“ืขื ืื™ื– ื’ืขื•ื•ืขืŸ ืกื™ื–ืึทื ื“ ืžื™ื˜ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื“ื™ืœื™ื™ืฅ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื“ืึธืงืงืขืจ, ื˜ืขืจืจืึทืคืึธืจื, ื’ื™ื˜ืœืึทื‘ ืกื™ ืื•ืŸ, ืคื•ืŸ ืงื•ืจืก, ืคึผืจืึธืžืขื˜ื”ืขื•ืก. ืœืืžื™ืจ ื’ื™ื™ืŸ!

ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ืžื™ื“ ืžืึทื›ืŸ ืึท ืจืขื–ืขืจื•ื•ืึทืฆื™ืข ืึทื– ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ืงืขื ืขืŸ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืึทืœืฅ ืื™ืŸ ืื™ื™ืŸ ื–ื™ืฆืŸ - ืคึฟืึทืจ ื“ืขื ืžื™ืจ ื“ืึทืจืคึฟืŸ ืขื˜ืœืขื›ืข ืึทืจื˜ื™ืงืœืขืŸ ืื™ืŸ ื“ืขืจ ืกืขืจื™ืข. ื ื‘ื™ืกืœ ื•ื•ืขื’ืŸ ื“ื™ ืกื˜ืจื•ืงื˜ื•ืจ:

ื˜ื™ื™ืœ 1 (ืื™ืจ ืœื™ื™ืขื ืขืŸ ืขืก). ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทืฉืœื™ืกืŸ ื“ื™ ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืคื•ืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’, ืื•ืŸ ืื•ื™ืš ืฉืจื™ื™ึทื‘ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ื’ืึธืœืึทื ื’.
ื˜ื™ื™ืœ 2. ืžื™ืจ ืžืขืœื“ื•ื ื’ ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข, ืžืึทื›ืŸ ืขืก ืกืงืึทืœืึทื‘ืœืข ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืžืึทืกืข.
ื˜ื™ื™ืœ 3. ืœืึธืžื™ืจ ืคึผืจื•ึผื•ื•ื˜ ืื•ื™ืกืจืขื›ืขื ืขืŸ ื•ื•ืึธืก ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืงืจืึธื ืึทืจื˜ื™ืงืœืขืŸ ืื™ืŸ ืึท ื‘ืึทืคืขืจ ืื•ืŸ ื ื™ืฉื˜ ืื™ืŸ ื˜ืขืงืขืก, ืื•ืŸ ืื•ื™ืš ืคืึทืจื’ืœื™ื™ึทื›ืŸ ืงืึทืคืงืึท, ืจืึทื‘ื™ื˜ืžืง ืื•ืŸ ื™ืึทื ื“ืขืงืก ืจื™ื™ ื“ื™ื ืกื˜.
ื˜ื™ื™ืœ 4 ืžื™ืจ ื•ื•ืขืœืŸ ืฆืขื•ื•ื™ืงืœืขืŸ ืึท ืงืœื™ืงื›ืึธื•ืกืข ืงื ื•ื™ืœ, ืฉืจื™ื™ึทื‘ืŸ ืึท ืกื˜ืจื™ืžื™ื ื’ ื“ื™ื ืกื˜ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ื“ื™ ื‘ืึทืคืขืจ ื“ืึธืจื˜ ืื•ืŸ ืฉื˜ืขืœืŸ ื•ื•ื™ื–ืฉื•ื•ืึทืœืึทื–ื™ื™ืฉืึทืŸ ืื™ืŸ ื“ืึทื˜ืึทืœืึทื ื–.
ื˜ื™ื™ืœ 5 ืœืึธืžื™ืจ ื‘ืจืขื ื’ืขืŸ ื“ื™ ื’ืื ืฆืข ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื™ืŸ ืึท ื’ืขื”ืขืจื™ืง ืคืึธืจืขื - ืฉื˜ืขืœืŸ ci/cd ื ื™ืฆืŸ gitlab ci, ืคืึทืจื‘ื™ื ื“ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื•ืŸ ืกืขืจื•ื•ื™ืก ื•ืคื“ืขืงื•ื ื’ ื ื™ืฆืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืื•ืŸ ืงืึธื ืกื•ืœ.

TK

ืขืจืฉื˜ืขืจ, ืœืึธื–ืŸ ืื•ื ื“ื– ืคืึธืจืžื•ืœื™ืจืŸ ื“ื™ ื˜ืขืจืžื™ื ืขืŸ ืคื•ืŸ ืจืขืคึฟืขืจืขื ืฅ - ื•ื•ืึธืก ืคึผื•ื ืงื˜ ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜.

  1. ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื”ืึธื‘ืŸ ืึทืŸ ืขื ื“ืคึผื•ื™ื ื˜ ื•ื•ื™ events.kis.im (kis.im ืื™ื– ื“ื™ ืคึผืจืึธื‘ืข ืคืขืœื“ ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ืื™ื‘ืขืจ ืึทืœืข ื“ื™ ืึทืจื˜ื™ืงืœืขืŸ), ื•ื•ืึธืก ื–ืึธืœ ื‘ืึทืงื•ืžืขืŸ events ื ื™ืฆืŸ ื”ื˜ื˜ืคึผืก.
  2. ื’ืขืฉืขืขื ื™ืฉืŸ ื–ืขื ืขืŸ ืึท ืคึผืฉื•ื˜ ื“ื–ืฉืกืึธืŸ ื•ื•ื™: {"event": "view", "os": "linux", "browser": "chrome"}. ืื™ืŸ ื“ื™ ืœืขืฆื˜ ื‘ื™ื ืข ืžื™ืจ ื•ื•ืขืœืŸ ืœื™ื™ื’ืŸ ืึท ื‘ื™ืกืœ ืžืขืจ ืคืขืœื“ืขืจ, ืึธื‘ืขืจ ื“ืึธืก ื•ื•ืขื˜ ื ื™ืฉื˜ ืฉืคึผื™ืœืŸ ืึท ื’ืจื•ื™ืก ืจืึธืœืข. ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœื˜, ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ืคึผืจืึธื˜ืึธื‘ื•ืฃ.
  3. ื“ื™ ืกืขืจื•ื•ื™ืก ืžื•ื–ืŸ ืงืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ 10 ื’ืขืฉืขืขื ื™ืฉืŸ ืคึผืขืจ ืกืขืงื•ื ื“ืข.
  4. ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ืžืขื’ืœืขืš ืฆื• ื•ื•ืึธื’ ื›ืึธืจื™ื–ืึทื ื˜ืึทืœื™ ื“ื•ืจืš ืคืฉื•ื˜ ืึทื“ื™ื ื’ ื ื™ื™ึทืข ื™ื ืกื˜ืึทื ืกื™ื– ืฆื• ืื•ื ื“ื–ืขืจ ืœื™ื™ื–ื•ื ื’. ืื•ืŸ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคื™ื™ึทืŸ ืื•ื™ื‘ ืžื™ืจ ืงืขื ืขืŸ ืžืึทืš ื“ื™ ืคืจืึธื ื˜ ื˜ื™ื™ืœ ืฆื• ืคืึทืจืฉื™ื“ืขื ืข ื’ืขืึธืœืึธืงืึทื˜ื™ืึธื ืก ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ืœื™ื™ื˜ืึทื ืกื™ ืคึฟืึทืจ ืงืœื™ืขื ื˜ ืจื™ืงื•ื•ืขืก.
  5. ืฉื•ืœื“ ื˜ืึธืœืขืจืึทื ืฅ. ื“ื™ ืœื™ื™ื–ื•ื ื’ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืกื˜ืึทื‘ื™ืœ ื’ืขื ื•ื’ ืื•ืŸ ืงืขื ืขืŸ ืฆื• ื‘ืœื™ื™ึทื‘ื  ืœืขื‘ืŸ ื“ื™ ืคืึทืœืŸ ืคื•ืŸ ืงื™ื™ืŸ ืคึผืึทืจืฅ (ืึทืจื•ื™ืฃ ืฆื• ืึท ื–ื™ื›ืขืจ ื ื•ืžืขืจ, ืคื•ืŸ ืงื•ืจืก).

ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืคึฟืึทืจ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ืึทืจื‘ืขื˜, ืงืœืึทืกื™ืฉ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื– ื”ืึธื‘ืŸ ืœืึทื ื’ ืฉื•ื™ืŸ ื™ื ื•ื•ืขื ื˜ืึทื“ ื•ื•ืึธืก ืœืึธื–ืŸ ืขืคืขืงื˜ื™ื•ื• ืกืงื™ื™ืœื™ื ื’. ื“ื™ ืคื™ื’ื•ืจ ื•ื•ื™ื™ื–ื˜ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืœื™ื™ื–ื•ื ื’.

ืžื™ืจ ืึธื ื ืขืžืขืŸ 10 events ืื™ืŸ Yandex.Cloud. ื˜ื™ื™ืœ 000

ืึทื–ื•ื™ ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ:

1. ืื•ื™ืฃ ื“ื™ ืœื™ื ืงืก ื–ืขื ืขืŸ ืื•ื ื“ื–ืขืจ ื“ืขื•ื•ื™ืกืขืก ื•ื•ืึธืก ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืคืึทืจืฉื™ื“ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ, ื–ื™ื™ืŸ ืคึผืœื™ื™ึทืขืจืก ื•ื•ืึธืก ืคืึทืจืขื ื“ื™ืงืŸ ืึท ืžื“ืจื’ื” ืื™ืŸ ืึท ืฆืึทืฆืงืข ืื•ื™ืฃ ืึท ืกืžืึทืจื˜ืคืึธื ืข ืึธื“ืขืจ ืฉืึทืคึฟืŸ ืึท ืกื“ืจ ืื™ืŸ ืึทืŸ ืึธื ืœื™ื™ืŸ ืงืจืึธื ื“ื•ืจืš ืึท ืจืขื’ื•ืœืขืจ ื‘ืœืขื˜ืขืจืขืจ. ืึท ื’ืขืฉืขืขื ื™ืฉ, ื•ื•ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’, ืื™ื– ืึท ืคึผืฉื•ื˜ ื“ื–ืฉืกืึธืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืฉื™ืงื˜ ืฆื• ืื•ื ื“ื–ืขืจ ืขื ื“ืคึผื•ื™ื ื˜ - events.kis.im.

2. ื“ื™ ืขืจืฉื˜ืข ืฆื•ื•ื™ื™ ืกืขืจื•ื•ืขืจืก ื–ืขื ืขืŸ ืคึผืฉื•ื˜ ื‘ืึทืœืึทื ืกืขืจื–, ื–ื™ื™ืขืจ ื”ื•ื™ืคึผื˜ ื˜ืึทืกืงืก ื–ืขื ืขืŸ:

  • ื–ื™ื™ืŸ ืงืขืกื™ื™ื“ืขืจ ื‘ื ื™ืžืฆื. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ, ืœืžืฉืœ, Keepalive, ื•ื•ืึธืก ื•ื•ืขื˜ ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ IP ืฆื•ื•ื™ืฉืŸ ื ืึธื•ื“ื– ืื™ืŸ ืคืึทืœ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก.
  • ืคืึทืจืขื ื“ื™ืงืŸ TLS. ื™ืึธ, ืžื™ืจ ื•ื•ืขืœืŸ ืคืึทืจืขื ื“ื™ืงืŸ TLS ืื•ื™ืฃ ื–ื™ื™. ืคื™ืจืกื˜ืœื™, ืึทื–ื•ื™ ืึทื– ืื•ื ื“ื–ืขืจ ืœื™ื™ื–ื•ื ื’ ืงืึทืžืคึผืœื™ื™ื– ืžื™ื˜ ื“ื™ ื˜ืขื›ื ื™ืฉ ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื–, ืื•ืŸ ืฆื•ื•ื™ื™ื˜ื ืก, ืฆื• ื‘ืึทืคืจื™ื™ึทืขืŸ ื“ื™ ืžืึทืกืข ืคื•ืŸ โ€‹โ€‹ื’ืจื™ื ื“ืŸ ืึท ื™ื ืงืจื™ืคึผื˜ื™ื“ ืงืฉืจ ืคึฟื•ืŸ ืื•ื ื“ื–ืขืจ ื‘ืึทืงืขื ื“ ืกืขืจื•ื•ืขืจืก.
  • ื‘ืึทืœืึทื ืกื™ืจืŸ ื™ื ืงืึทืžื™ื ื’ ืจื™ืงื•ื•ืขืก ืฆื• ื‘ื ื™ืžืฆื ื‘ืึทืงืขื ื“ ืกืขืจื•ื•ืขืจืก. ื“ืขืจ ืฉืœื™ืกืœ ื•ื•ืึธืจื˜ ื“ืึธ ืื™ื– ืฆื•ื˜ืจื™ื˜ืœืขืš. ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ืขื, ืžื™ืจ ืงื•ืžืขืŸ ืฆื• ื“ืขืจ ืคืืจืฉื˜ืื ื“ ืึทื– ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจื– ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืžืึธื ื™ื˜ืึธืจ ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจืก ืžื™ื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ื”ืึทืœื˜ืŸ ื‘ืึทืœืึทื ืกื™ื ื’ ืคืึทืจืงืขืจ ืฆื• ื ื™ื˜ ืึทื ื“ืขืจืฉ ื ืึธื•ื“ื–.

3. ื ืึธืš ื“ื™ ื‘ืึทืœืึทื ืกืขืจื–, ืžื™ืจ ื”ืึธื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจืก ืคืœื™ืกื ื“ื™ืง ืึท ืคืขืจืœื™ ืคึผืฉื•ื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืึธื ื ืขืžืขืŸ ื™ื ืงืึทืžื™ื ื’ ืจื™ืงื•ื•ืขืก ื“ื•ืจืš ื”ื˜ื˜ืคึผ, ื•ื•ืึทืœืึทื“ื™ื™ื˜ ื“ื™ ื’ืขืฉื™ืงื˜ ื“ื–ืฉืกืึธืŸ ืื•ืŸ ืฉื˜ืขืœืŸ ื“ื™ ื“ืึทื˜ืŸ ืื™ืŸ ืึท ื‘ืึทืคืขืจ.

4. ื“ื™ ื“ื™ืึทื’ืจืึทืžืข ื•ื•ื™ื™ื–ื˜ ืงืึทืคืงืึท ื•ื•ื™ ืึท ื‘ืึทืคืขืจ, ื›ืึธื˜ืฉ, ืคื•ืŸ ืงื•ืจืก, ืื ื“ืขืจืข ืขื ืœืขืš ื‘ืึทื“ื™ื ื•ื ื’ืขืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื•ื™ืฃ ื“ืขื ืžื“ืจื’ื”. ืžื™ืจ ื•ื•ืขืœืŸ ืคืึทืจื’ืœื™ื™ื›ืŸ ืงืึทืคืงืึท, rabbitmq ืื•ืŸ yqs ืื™ืŸ ื“ื™ ื“ืจื™ื˜ ืึทืจื˜ื™ืงืœ.

5. ื“ื™ ืคึผืขื ืึทืœื˜ืึทืžืึทื˜ ืคื•ื ื˜ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื™ื– ืงืœื™ืงื›ืึธื•ืกืข - ืึท ืงืึธืœื•ืžื ืขืจ ื“ืึทื˜ืึทื‘ื™ื™ืก ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืงืจืึธื ืื•ืŸ ืคึผืจืึธืฆืขืก ืึท ืจื™ื–ื™ืง ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ื“ืึทื˜ืŸ. ืื™ืŸ ื“ืขื ืžื“ืจื’ื”, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ื‘ืึทืคืขืจ ืฆื• ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื ื–ื™ืš (ืžืขืจ ื•ื•ืขื’ืŸ ื“ืขื ืื™ืŸ ืึทืจื˜ื™ืงืœ 4).

ื“ืขื ืคึผืœืึทืŸ ืึทืœืึทื•ื– ืื•ื ื“ื– ืฆื• ื•ื•ืึธื’ ื™ืขื“ืขืจ ืฉื™ื›ื˜ืข ื™ื ื“ื™ืคึผืขื ื“ืึทื ื˜ืœื™ ื›ืึธืจื™ื–ืึทื ื˜ืึทืœื™. ื‘ืึทืงืขื ื“ ืกืขืจื•ื•ืขืจืก ืงืขื ืขืŸ ื ื™ืฉื˜ ืงืึธืคึผืข - ืœืึธื–ืŸ ืื•ื ื“ื– ืœื™ื™ื’ืŸ ื ืึธืš ืื™ื™ืŸ ื–ืึทืš - ื ืึธืš ืึทืœืข, ื–ื™ื™ ื–ืขื ืขืŸ ืกื˜ื™ื™ื˜ืœืึทืก ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ืื•ืŸ ื“ืขืจื™ื‘ืขืจ, ื“ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืืคื™ืœื• ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ. ื“ื™ ืงืึทืคืงืึท-ื ื•ืกื— ื‘ืึทืคืขืจ ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ - ืœืึธื–ืŸ ืื•ื ื“ื– ืœื™ื™ื’ืŸ ืžืขืจ ืกืขืจื•ื•ืขืจืก ืื•ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืขื˜ืœืขื›ืข ืคึผืึทืจื˜ื™ืฉืึทื ื– ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื˜ืขืžืข ืฆื• ื–ื™ื™. ืงืœื™ืงื›ืึธื•ืกืข ืงืขื ืขืŸ ื ื™ืฉื˜ ืฉืขืคึผืŸ ืขืก - ืขืก ืื™ื– ืื•ืžืžืขื’ืœืขืš :) ืื™ืŸ ืคืึทืงื˜, ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ืกืขืจื•ื•ืขืจืก ืื•ืŸ ื˜ื™ื™ืœืŸ ื“ื™ ื“ืึทื˜ืŸ.

ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ ืึทืคึผืฉืึทื ืึทืœ ื˜ื™ื™ืœ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื˜ืขื›ื ื™ืฉ ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ื•ื•ืึธื’ ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื’ืขืึธืœืึธืงืึทื˜ื™ืึธื ืก, ืขืก ืื™ื– ื’ืึธืจื ื™ืฉื˜ ืกื™ืžืคึผืœืขืจ:

ืžื™ืจ ืึธื ื ืขืžืขืŸ 10 events ืื™ืŸ Yandex.Cloud. ื˜ื™ื™ืœ 000

ืื™ืŸ ื™ืขื“ืขืจ ื’ืขืึธืœืึธืงืึทื˜ื™ืึธืŸ ืžื™ืจ ืฆืขื•ื•ื™ืงืœืขืŸ ืึท ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจ ืžื™ื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ืงืึทืคืงืึท. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, 2 ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจืก, 3 ืงืึทืคืงืึท ื ืึธื•ื“ื– ืื•ืŸ ืึท ื•ื•ืึธืœืงืŸ ื‘ืึทืœืึทื ืกืขืจ, ืœืžืฉืœ, ื•ื•ืึธืœืงืŸืคืœืึทืจืข, ื–ืขื ืขืŸ ื’ืขื ื•ื’, ื•ื•ืึธืก ื•ื•ืขื˜ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื ืึธื•ื“ื– ืื•ืŸ ื•ื•ืึธื’ ืจื™ืงื•ื•ืขืก ื“ื•ืจืš ื’ืขืึธืœืึธืงืึทื˜ื™ืึธืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ืขืจ ืงืœื™ืขื ื˜ ืก ืžืงื•ืจ IP ืึทื“ืจืขืก. ืื–ื•ื™, ื“ืึทื˜ืŸ ื’ืขืฉื™ืงื˜ ื“ื•ืจืš ืึทืŸ ืืžืขืจื™ืงืื ืขืจ ืงืœื™ืขื ื˜ ื•ื•ืขื˜ ืœืึทื ื“ ืื•ื™ืฃ ืืžืขืจื™ืงืื ืขืจ ืกืขืจื•ื•ืขืจืก. ืื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ืคื•ืŸ ืืคืจื™ืงืข ื–ืขื ืขืŸ ืื™ืŸ ืืคืจื™ืงืื ืขืจ.

ื“ืขืจื ืึธืš ืึทืœืฅ ืื™ื– ื’ืึทื ืฅ ืคึผืฉื•ื˜ - ืžื™ืจ ื ื•ืฆืŸ ื“ื™ ืฉืคึผื™ื’ืœ ื’ืขืฆื™ื™ึทื’ ืคื•ืŸ ื“ื™ Kafka ืฉื˜ืขืœืŸ ืื•ืŸ ื ืึธื›ืžืึทื›ืŸ ืึทืœืข ื“ื™ ื“ืึทื˜ืŸ ืคื•ืŸ ืึทืœืข ืœืึธื•ืงื™ื™ืฉืึทื ื– ืฆื• ืื•ื ื“ื–ืขืจ ื”ื•ื™ืคื˜ ื“ืึทื˜ืŸ ืฆืขื ื˜ืขืจ ืื™ืŸ ืจื•ืกืœืึทื ื“. ื™ื ืขืจืœืขืš, ืžื™ืจ ืคึผืึทืจืก ื“ื™ ื“ืึทื˜ืŸ ืื•ืŸ ืจืขืงืึธืจื“ื™ืจืŸ ืขืก ืื™ืŸ Clickhouse ืคึฟืึทืจ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื•ื•ื™ื–ืฉื•ื•ืึทืœืึทื–ื™ื™ืฉืึทืŸ.

ืึทื–ื•ื™, ืžื™ืจ ื”ืึธื‘ืŸ ืื•ื™ืกื’ืขืฉื˜ืขืœื˜ ื“ื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ - ืœืึธื–ืŸ ืื•ื ื“ื– ืึธื ื”ื™ื™ื‘ืŸ ืฉืึทืงื™ื ื’ Yandex.Cloud!

ืฉืจื™ื™ื‘ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ

ืื™ื™ื“ืขืจ ื“ื™ ืงืœืึธื•ื“, ืื™ืจ ื ืึธืš ื”ืึธื‘ืŸ ืฆื• ื–ื™ื™ืŸ ืึท ื‘ื™ืกืœ ื’ืขื“ื•ืœื“ื™ืง ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ืึท ื’ืึทื ืฅ ืคึผืฉื•ื˜ ื“ื™ื ืกื˜ ืฆื• ืคึผืจืึธืฆืขืก ื™ื ืงืึทืžื™ื ื’ ื’ืขืฉืขืขื ื™ืฉืŸ. ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ื’ืึธืœืึทื ื’ ื•ื•ื™ื™ึทืœ ืขืก ื”ืื˜ ืคึผืจืึธื•ื•ืขืŸ ื–ื™ืš ื–ื™ื™ืขืจ ื’ื•ื˜ ื•ื•ื™ ืึท ืฉืคึผืจืึทืš ืคึฟืึทืจ ืฉืจื™ื™ื‘ืŸ ื ืขืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ื ืึธืš ืกืคึผืขื ื“ื™ื ื’ ืึท ืฉืขื” (ืืคึฟืฉืจ ืึท ืคึผืึธืจ ืคื•ืŸ ืฉืขื”), ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก: https://github.com/RebrainMe/yandex-cloud-events/blob/master/app/main.go.

ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคื•ื ืงื˜ืŸ ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื˜ืึธืŸ ื“ืึธ:

1. ื•ื•ืขืŸ ืกื˜ืึทืจื˜ื™ื ื’ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืฆื•ื•ื™ื™ ืคืœืึทื’ืก. ืื™ื™ื ืขืจ ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื“ื™ ืคึผืึธืจื˜ ืื•ื™ืฃ ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ื”ืขืจืŸ ืฆื• ื™ื ืงืึทืžื™ื ื’ ื”ื˜ื˜ืคึผ ืจื™ืงื•ื•ืขืก (-ืึทื“ื“ืจ). ื“ื™ ืจื’ืข ืื™ื– ืคึฟืึทืจ ื“ื™ ืงืึทืคืงืึท ืกืขืจื•ื•ืขืจ ืึทื“ืจืขืก ื•ื•ื• ืžื™ืจ ื•ื•ืขืœืŸ ืจืขืงืึธืจื“ื™ืจืŸ ืื•ื ื“ื–ืขืจ ื’ืขืฉืขืขื ื™ืฉืŸ (-ืงืึทืคืงืึท):

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. ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ื™ืš ื”ืื˜ ืึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืงืœื™ืขื ื˜, ื•ื•ืึธืก ืงืึทืœืขืงืฅ ืคืึทืจืฉื™ื“ืŸ ืžืขื˜ืจื™ืงืก, ืึทื–ืึท ื•ื•ื™:

  • ื ื•ืžืขืจ ืคื•ืŸ ืจื™ืงื•ื•ืขืก ืฆื• ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ;
  • ื ื•ืžืขืจ ืคื•ืŸ ืขืจืจืึธืจืก ื•ื•ืขืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื“ื™ ื‘ืขื˜ืŸ (ืื•ืžืžืขื’ืœืขืš ืฆื• ืœื™ื™ืขื ืขืŸ ืคึผืึธืกื˜ืŸ ื‘ืขื˜ืŸ, ืฆืขื‘ืจืื›ืŸ ื“ื–ืฉืกืึธืŸ, ืื•ืžืžืขื’ืœืขืš ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืฆื• Kafka);
  • ืคึผืจืึทืกืขืกื™ื ื’ ืฆื™ื™ื˜ ืคึฟืึทืจ ืื™ื™ืŸ ื‘ืงืฉื” ืคื•ืŸ ื“ืขื ืงืœื™ืขื ื˜, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ืฆื™ื™ื˜ ืคึฟืึทืจ ืฉืจื™ื™ื‘ืŸ ืึท ืึธื ื–ืึธื’ ืฆื• Kafka.

4. ื“ืจื™ื™ ืขื ื“ืคึผืึธื™ื ืฅ ื•ื•ืึธืก ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึผืจืึทืกืขืกืึทื–:

  • /status - ืคืฉื•ื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื’ื•ื˜ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืึทื– ืžื™ืจ ื–ืขื ืขืŸ ืœืขื‘ืขื“ื™ืง. ื›ืึธื˜ืฉ ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ื’ืŸ ืขื˜ืœืขื›ืข ื˜ืฉืขืงืก, ืึทื–ืึท ื•ื•ื™ ื“ื™ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ ื“ื™ Kafka ืงื ื•ื™ืœ.
  • / ืžืขื˜ืจื™ืงืก - ืœื•ื™ื˜ ื“ืขื URL, ื“ืขืจ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืงืœื™ืขื ื˜ ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ืžืขื˜ืจื™ืงืก ื•ื•ืึธืก ืขืจ ื”ืึธื˜ ื’ืขื–ืืžืœื˜.
  • / ืคึผืึธืกื˜ ืื™ื– ื“ื™ ื”ื•ื™ืคึผื˜ ืขื ื“ืคึผื•ื™ื ื˜ ื•ื•ื• POST ืจื™ืงื•ื•ืขืก ืžื™ื˜ ื“ื–ืฉืกืึธืŸ ื™ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื™ืงื˜. ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื˜ืฉืขืง ื“ื™ ื“ื–ืฉืกืึธืŸ ืคึฟืึทืจ ื’ื™ืœื˜ื™ืงื™ื™ึทื˜ ืื•ืŸ ืื•ื™ื‘ ืึทืœืฅ ืื™ื– ื’ื•ื˜, ืขืก ืฉืจื™ื™ื‘ื˜ ื“ื™ ื“ืึทื˜ืŸ ืฆื• ื“ื™ Kafka ืงื ื•ื™ืœ.

ืื™ืš ื•ื•ืขืœ ืžืึทื›ืŸ ืึท ืจืขื–ืขืจื•ื•ืึทืฆื™ืข ืึทื– ื“ื™ ืงืึธื“ ืื™ื– ื ื™ืฉื˜ ื’ืื ืฅ - ืขืก ืงืขื ืขืŸ (ืื•ืŸ ื–ืึธืœ!) ื–ื™ื™ืŸ ื’ืขืขื ื“ื™ืงื˜. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ื”ืึทืœื˜ืŸ ื ื™ืฆืŸ ื“ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื ืขืฅ / ื”ื˜ื˜ืคึผ ืื•ืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ืคืึทืกื˜ืขืจ ืคืึทืกื˜ืขืจ ื”ื˜ื˜ืคึผ. ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืคึผืจืึทืกืขืกื™ื ื’ ืฆื™ื™ื˜ ืื•ืŸ ืงืคึผื• ืจืขืกื•ืจืกืŸ ื“ื•ืจืš ืžืึทืš ื“ื™ ื“ื–ืฉืกืึธืŸ ื’ื™ืœื˜ื™ืงื™ื™ึทื˜ ื˜ืฉืขืง ืฆื• ืึท ืฉืคึผืขื˜ืขืจ ื‘ื™ื ืข - ื•ื•ืขืŸ ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื˜ืจืึทื ืกืคืขืจื“ ืคื•ืŸ ื“ื™ ื‘ืึทืคืขืจ ืฆื• ื“ื™ ืงืœื™ืงื›ืึธื•ืกืข ืงื ื•ื™ืœ.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื–ื™ื™ึทื˜ ืคื•ืŸ ื“ืขื ืึทืจื•ื™ืกื’ืขื‘ืŸ, ืžื™ืจ ืžื™ื“ ื’ืขื“ืึทื ืง ื•ื•ืขื’ืŸ ืื•ื ื“ื–ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ืŸ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ืึธืงืงืขืจ. ื“ื™ ืœืขืฆื˜ืข Dockerfile ืคึฟืึทืจ ื‘ื ื™ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– https://github.com/RebrainMe/yandex-cloud-events/blob/master/app/Dockerfile. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืขืก ืื™ื– ื’ืึทื ืฅ ืคึผืฉื•ื˜, ื“ืขืจ ื‘ืœื•ื™ื– ืคื•ื ื˜ ื•ื•ืึธืก ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ืื™ื– ื“ื™ ืžื•ืœื˜ื™-ืกื˜ืึทื’ืข ืคึฟืึทืจื–ืึทืžืœื•ื ื’, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื•ื ื“ื– ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืœืขืฆื˜ ื‘ื™ืœื“ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ.

ืขืจืฉื˜ืขืจ ื˜ืจื™ื˜ ืื™ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืจืขื’ื™ืกื˜ืจื™ืจืŸ ืื•ื™ืฃ cloud.yandex.ru. ื ืึธืš ืื•ื™ืกืคื™ืœืŸ ืึทืœืข ื“ื™ ืคืืจืœืื ื’ื˜ ืคืขืœื“ืขืจ, ืžื™ืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ ืึท ื—ืฉื‘ื•ืŸ ืื•ืŸ ื’ืขื’ืขื‘ืŸ ืึท ืฉืขื ืงืขืŸ ืคึฟืึทืจ ืึท ื–ื™ื›ืขืจ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ื’ืขืœื˜, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื•ื•ืึธืœืงืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก. ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืื™ื‘ืขืจื—ื–ืจืŸ ืึทืœืข ื“ื™ ืกื˜ืขืคึผืก ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืึทืจื˜ื™ืงืœ, ื“ืขืจ ืฉืขื ืงืขืŸ ื–ืึธืœ ื–ื™ื™ืŸ ื’ืขื ื•ื’ ืคึฟืึทืจ ืื™ืจ.

ื ืึธืš ืจืขื’ื™ืกื˜ืจืึทืฆื™ืข, ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื•ื•ืึธืœืงืŸ ืื•ืŸ ืึท ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ ืคึฟืึทืจ ืื™ืจ, ืื™ืŸ ื•ื•ืึธืก ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ื•ื•ืึธืœืงืŸ ืจืขืกื•ืจืกืŸ. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืื™ืŸ Yandex.Cloud, ื“ื™ ืฉื™ื™ื›ื•ืช ืคื•ืŸ ืจืขืกื•ืจืกืŸ ืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:

ืžื™ืจ ืึธื ื ืขืžืขืŸ 10 events ืื™ืŸ Yandex.Cloud. ื˜ื™ื™ืœ 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 ื˜ืขืงืข. ืฆื• ืึธื ื”ื™ื™ื‘ืŸ, ืฉืึทืคึฟืŸ ืึท private.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 config ืจืฉื™ืžื”, ื•ื•ื™ื™ึทืœ ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ื™ ืงืึทื ืกืึธื•ืœ ื ื•ืฆืŸ. ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืื™ืจ ืฆื• ืžื™ื“ ืœื™ื™ื’ืŸ private.auto.tfvars ืฆื• .gitignore, ืึทื–ื•ื™ ื ื™ืฉื˜ ืฆื• ืึทืงืกืึทื“ืขื ืึทืœื™ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืคึผืจื™ื•ื•ืึทื˜ ื“ืึทื˜ืŸ.

ืื™ืŸ private.auto.tfvars ืžื™ืจ ืื•ื™ืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจื˜ ื“ืึทื˜ืŸ ืคึฟื•ืŸ Cloudflare - ืฆื• ืฉืึทืคึฟืŸ ื“ื ืก ืจืขืงืึธืจื“ืก ืื•ืŸ ืคึผืจืึทืงืกื™ ื“ื™ ื”ื•ื™ืคึผื˜ ืคืขืœื“ events.kis.im ืฆื• ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจืก. ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ื ื•ืฆืŸ cloudflare, ืึทืจืึธืคึผื ืขืžืขืŸ ื“ื™ ื™ื ื™ื˜ื™ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืคื•ืŸ ื“ื™ cloudflare ืฉืคึผื™ื™ึทื–ืขืจ ืื™ืŸ main.tf ืื•ืŸ ื“ื™ dns.tf ื˜ืขืงืข, ื•ื•ืึธืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ื“ื™ ื ื™ื™ื˜ื™ืง ื“ื ืก ืจืขืงืึธืจื“ืก.

ืื™ืŸ ืื•ื ื“ื–ืขืจ ืึทืจื‘ืขื˜ ืžื™ืจ ื•ื•ืขืœืŸ ืคืึทืจื‘ื™ื ื“ืŸ ืึทืœืข ื“ืจื™ื™ ืžืขื˜ื”ืึธื“ืก - ื“ื™ ื•ื•ืขื‘ ืฆื•ื‘ื™ื ื“, ื“ื™ ืงืึทื ืกืึธื•ืœ ื ื•ืฆืŸ ืื•ืŸ ื˜ืขืจืจืึทืคืึธืจื.

ื•ื•ื™ืจื˜ื•ืึทืœ ื ืขื˜ื•ื•ืึธืจืงืก

ืฆื• ื–ื™ื™ืŸ ืขืจืœืขืš, ืื™ืจ ืงืขืŸ ื”ืึธืคึผืงืขืŸ ื“ืขื ืฉืจื™ื˜, ื•ื•ื™ื™ึทืœ ื•ื•ืขืŸ ืื™ืจ ืฉืึทืคึฟืŸ ืึท ื ื™ื™ึทืข ื•ื•ืึธืœืงืŸ, ืื™ืจ ื•ื•ืขื˜ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื”ืึธื‘ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื ืขืฅ ืื•ืŸ 3 ืกื•ื‘ื ืขืฅ ื‘ืืฉืืคืŸ - ืื™ื™ื ืขืจ ืคึฟืึทืจ ื™ืขื“ืขืจ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ื–ืึธื ืข. ืึธื‘ืขืจ ืžื™ืจ ื•ื•ืขืœืŸ ื ืึธืš ืžืึทื›ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื ืขืฅ ืคึฟืึทืจ ืื•ื ื“ื–ืขืจ ืคึผืจื•ื™ืขืงื˜ ืžื™ื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืึทื“ืจืขืกื™ื ื’. ื“ืขืจ ื’ืขื ืขืจืึทืœ ื“ื™ืึทื’ืจืึทืžืข ืคื•ืŸ โ€‹โ€‹ื•ื•ื™ ื“ื™ ื ืขืฅ ืึทืจื‘ืขื˜ ืื™ืŸ Yandex.Cloud ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ื™ ืคื™ื’ื•ืจ ืื•ื ื˜ืŸ (ื”ืึธื ืขืกื˜ืœื™ ื’ืขื ื•ืžืขืŸ ืคึฟื•ืŸ https://cloud.yandex.ru/docs/vpc/concepts/)

ืžื™ืจ ืึธื ื ืขืžืขืŸ 10 events ืื™ืŸ Yandex.Cloud. ื˜ื™ื™ืœ 000

ืึทื–ื•ื™, ืื™ืจ ืฉืึทืคึฟืŸ ืึท ืคึผืจืึธืกื˜ ื ืขืฅ ืื™ืŸ ื•ื•ืึธืก ืจืขืกื•ืจืกืŸ ืงืขื ืขืŸ ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ. ืคึฟืึทืจ ื™ืขื“ืขืจ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœื™ื˜ื™ ื–ืึธื ืข, ืึท ืกื•ื‘ื ืขื˜ ืื™ื– ื‘ืืฉืืคืŸ ืžื™ื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืึทื“ืจืขืกื™ื ื’ ืื•ืŸ ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื“ื™ ืึทืœื’ืขืžื™ื™ื ืข ื ืขืฅ. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืึทืœืข ื•ื•ืึธืœืงืŸ ืจืขืกื•ืจืกืŸ ืื™ืŸ ืขืก ืงืขื ืขืŸ ื™ื‘ืขืจื’ืขื‘ืŸ, ืืคื™ืœื• ืื•ื™ื‘ ื–ื™ื™ ื–ืขื ืขืŸ ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ื–ืึธื ืขืก. ืจืขืกืึธื•ืจืกืขืก ืคืืจื‘ื•ื ื“ืŸ ืฆื• ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ืึธืœืงืŸ ื ืขื˜ื•ื•ืึธืจืงืก ืงืขื ืขืŸ ื–ืขืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืข ื‘ืœื•ื™ื– ื“ื•ืจืš ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื•ื•ืขื ื“ื˜. ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ื•ื•ื™ ื˜ื•ื˜ ื“ืขื ืžืึทื’ื™ืฉ ืึทืจื‘ืขื˜ ื™ืŸ, ืื™ื– ื’ืขื•ื•ืขืŸ ื’ื•ื˜ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ื™ืฃ Habrรฉ.

ื ืขืฅ ืฉืึทืคื•ื ื’ ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ื™ network.tf ื˜ืขืงืข ืคึฟื•ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ื“ืึธืจื˜, ืžื™ืจ ืฉืึทืคึฟืŸ ืื™ื™ืŸ ืคึผืจืึธืกื˜ ืคึผืจื™ื•ื•ืึทื˜ ื ืขืฅ ื™ื ืขืจืœืขืš ืื•ืŸ ืคืึทืจื‘ื™ื ื“ืŸ ื“ืจื™ื™ ืกื•ื‘ื ืขืฅ ืฆื• ืขืก ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ื–ืึธื ืขืก - ื™ื ืขืจืœืขืš-ืึท (172.16.1.0/24), ื™ื ืขืจืœืขืš-ื‘ (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) $

ื™ืŸ ื“ืขืจ ืึทื ืกื™ื‘ืœืข ื˜ืขืงืข ืขืก ืื™ื– ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ .ืึทื ืกื™ื‘ืœืข.ืงืคื’ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ื•ื•ืึธืก ืื™ืš ื ื•ืฆืŸ. ืขืก ื–ืืœ ืงื•ืžืขืŸ ืื™ืŸ ื”ืึทื ื˜ื™ืง.

ืื™ื™ื“ืขืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ, ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ืื™ืจ ื”ืึธื‘ืŸ ssh-agent ืคืœื™ืกื ื“ื™ืง ืื•ืŸ ืึท ssh ืฉืœื™ืกืœ ืฆื•ื’ืขื’ืขื‘ืŸ, ืึทื ื“ืขืจืฉ ื˜ืขืจืจืึทืคืึธืจื ื•ื•ืขื˜ ื ื™ืฉื˜ ืงืขื ืขืŸ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ื“ื™ ื‘ืืฉืืคืŸ ืžืืฉื™ื ืขืŸ. ืื™ืš, ืคื•ืŸ ืงื•ืจืก, ื’ืขืคึฟื•ื ืขืŸ ืึท ื–ืฉื•ืง ืื™ืŸ OS X: https://github.com/ansible/ansible/issues/32499#issuecomment-341578864. ืฆื• ืคืึทืจืžื™ื™ื“ืŸ ื“ืขื ืคื•ืŸ ื’ืขืฉืขืขื ื™ืฉ ื•ื•ื™ื“ืขืจ, ืœื™ื™ื’ืŸ ืึท ืงืœื™ื™ืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืฆื• ืขื ื•ื• ืื™ื™ื“ืขืจ ืœืึธื ื˜ืฉื™ื ื’ Terraform:

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. ื‘ื•ื™ืขืŸ - ืึท ืžืึทืฉื™ืŸ ืคึฟืึทืจ ื˜ืขืกื˜ื™ื ื’ ืื•ืŸ ื‘ื•ื™ืขืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. Docker ืื™ื– ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื•ืจืš Ansible.
  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 ืึทื“ืจืขืกืขืก. ืื™ื‘ืขืจ ื“ื™ ืคืืœื’ืขื ื“ืข ืื™ืš ื•ื•ืขื˜ ื ื•ืฆืŸ IP ืึทื“ืจืขืกืขืก ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื“ื•ืจืš ssh ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ืึท ืงืœืึธื•ื“ืคืœืึทืจืข ื—ืฉื‘ื•ืŸ ืคืืจื‘ื•ื ื“ืŸ ืฆื• ื˜ืขืจืจืึทืคืึธืจื, ืคื™ืœืŸ ืคืจื™ื™ ืฆื• ื ื•ืฆืŸ ืคืจื™ืฉ ื‘ืืฉืืคืŸ ื“ื ืก ื ืขืžืขืŸ.
ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ื•ื•ืขืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ, ืึทืŸ ื™ื ืขืจืœืขืš IP ืื•ืŸ ืึทืŸ ื™ื ืขืจืœืขืš ื“ื ืก ื ืึธืžืขืŸ ื–ืขื ืขืŸ ื’ืขื’ืขื‘ืŸ, ืึทื–ื•ื™ ืื™ืจ ืงืขื ืขืŸ ืึทืงืกืขืก ืกืขืจื•ื•ืขืจืก ืื™ืŸ ื“ื™ ื ืขืฅ ื“ื•ืจืš ื ืึธืžืขืŸ:

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

ื“ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืื•ื ื“ื– ืฆื• ืึธื ื•ื•ื™ื™ึทื–ืŸ ืฆื• ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ื™ ืขื ื“ืคึผื•ื™ื ื˜ ืžื™ื˜ ืงืึทืคืง.

ืึทืกืขืžื‘ืึทืœ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ

ื’ืจื•ื™ืก, ืขืก ื–ืขื ืขืŸ ืกืขืจื•ื•ืขืจืก, ืขืก ืื™ื– ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ - ืึทืœืข ื•ื•ืึธืก ื‘ืœื™ื™ื‘ื˜ ืื™ื– ืฆื• ืึทืกืขืžื‘ืึทืœ ืขืก ืื•ืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืขืก. ืคึฟืึทืจ ื“ื™ ื‘ื•ื™ืขืŸ ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ื“ืึธืงืงืขืจ ื‘ื•ื™ืขืŸ, ืึธื‘ืขืจ ื•ื•ื™ ืึท ื‘ื™ืœื“ ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ืึท ื“ื™ื ืกื˜ ืคึฟื•ืŸ ื™ืึทื ื“ืขืงืก - ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขื’ื™ืกื˜ืจื™. ืื‘ืขืจ ืขืจืฉื˜ืขืจ ื–ืื›ืŸ ืขืจืฉื˜ืขืจ.

ืžื™ืจ ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ื“ื™ ื‘ื•ื™ืขืŸ ืžืึทืฉื™ืŸ, ืงืœืึธืฅ ืื™ืŸ ื“ื•ืจืš 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:~$

ืฆื• ืฆื•ืคึฟืขืœื™ืงืขืจ ื“ื™ ื‘ื™ืœื“ ืฆื• ื“ื™ ืจืขื’ื™ืกื˜ืจื™, ืžื™ืจ ื“ืึทืจืคึฟืŸ ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขื’ื™ืกื˜ืจื™ ืฉื™ื™ึทืŸ, ืžื™ืจ ื ืขืžืขืŸ ืขืก ืคึฟื•ืŸ ื“ื™ 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. ืžื™ืจ ื’ืขืฉืจื™ื‘ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ Golang ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืื•ื ื“ื–ืขืจ ื’ืขืฉืขืคื˜ ืœืึธื’ื™ืง.
  3. ืžื™ืจ ื’ืขื–ืืžืœื˜ ืขืก ืื•ืŸ ืื•ื™ืกื’ืขื’ืืกืŸ ืขืก ืื™ืŸ ืึท ืคึผืจื™ื•ื•ืึทื˜ ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขื’ื™ืกื˜ืจื™.

ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื˜ื™ื™ืœ, ืžื™ืจ ื•ื•ืขืœืŸ ืžืึทืš ืื•ื™ืฃ ืฆื• ื“ื™ ื˜ืฉื™ืงืึทื•ื•ืข ืฉื˜ืึธืคึผืŸ - ืžื™ืจ ืžืขืœื“ื•ื ื’ ืื•ื ื“ื–ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข ืื•ืŸ ืœืขืกืึธืฃ ืงืึทื˜ืขืจ ื“ื™ ืžืึทืกืข ืื•ื™ืฃ ืขืก. ืฆื™ ื ื™ื˜ ื‘ืึทืฉื˜ื™ืžืขืŸ!

ื“ืขืจ ืžืึทื˜ืขืจื™ืึทืœ ืื™ื– ืื™ืŸ ื“ื™ ื•ื•ื™ื“ืขื ืจืขืงืึธืจื“ื™ื ื’ ืคื•ืŸ ื“ื™ ืขืคืขื ืขืŸ ื•ื•ืึทืจืฉื˜ืึทื˜ REBRAIN & Yandex.Cloud: ืžื™ืจ ืึธื ื ืขืžืขืŸ 10 ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข ืื•ื™ืฃ Yandex Cloud - https://youtu.be/cZLezUm0ekE

ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ืึทื˜ืขื ื“ืึทื“ ืึทื–ืึท events ืึธื ืœื™ื™ืŸ ืื•ืŸ ืคืจืขื’ืŸ ืคึฟืจืื’ืŸ ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜, ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ืงืึทื ืึทืœ DevOps ื“ื•ืจืš REBRAIN.

ืžื™ืจ ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื–ืึธื’ืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื“ืึทื ืงืขืŸ ืฆื• Yandex.Cloud ืคึฟืึทืจ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื‘ืึทืœืขื‘ืึธืก ืึทื–ืึท ืึท ื’ืขืฉืขืขื ื™ืฉ. ืœื™ื ืง ืฆื• ื–ื™ื™ - https://cloud.yandex.ru/prices

ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืฆื• ื“ื™ ื•ื•ืึธืœืงืŸ ืึธื“ืขืจ ื”ืึธื‘ืŸ ืคึฟืจืื’ืŸ ื•ื•ืขื’ืŸ ื“ื™ื™ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ืคื™ืœืŸ ืคืจื™ื™ ืฆื• ืœืึธื–ืŸ ืึท ื‘ืงืฉื”.

ืคึผืก ืžื™ืจ ื”ืึธื‘ืŸ 2 ืคืจื™ื™ ืึทื“ืึทืฅ ืคึผืขืจ ื—ื•ื“ืฉ, ื˜ืึธืžืขืจ ื“ื™ื™ืŸ ืคึผืจื•ื™ืขืงื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื–ื™ื™.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’