terraform ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π° pdf
ΠΠ½ΠΈΠ³Π° Β«Terraform: ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π°Β»
ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±ΡΠΎΠΆΠΈΡΠ΅Π»ΠΈ! ΠΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΠ΅Ρ
, ΠΊΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Π°ΠΌ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ ΠΏΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ, ΡΠ΅Π»ΠΈΠ·-, SR-, DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ°ΠΌ. ΠΠ°ΠΊΠΎΠΉ Π±Ρ Π½ΠΈ Π±ΡΠ»Π° Π²Π°ΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅ΡΠ΅ Π½Π° Π²ΡΠ·ΠΎΠ²Ρ Π² ΡΡΠΈ ΡΠ°ΡΠ° Π½ΠΎΡΠΈ, ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ Π²Π°Ρ.
Π ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΡΡΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ (ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ). Π Π°Π½ΡΡΠ΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅Π»ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ; ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Ρ Π±Π΅Π· ΡΠΌΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄. ΠΠΎΠ³Π΄Π°-ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ, Π½ΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π±Π΅Π· ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ DevOps, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π½Π°Π²ΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Terraform, Π½ΠΎ ΠΈ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ DevOps. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΡΠ»ΠΎ Π² 2017 Π³ΠΎΠ΄Ρ. Π ΠΌΠ°Π΅ 2019-Π³ΠΎ Ρ Π³ΠΎΡΠΎΠ²ΠΈΠ» Π²ΡΠΎΡΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΈΠ²Π»Π΅Π½ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π·Π° ΠΏΠ°ΡΡ Π»Π΅Ρ! ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π³Π»Π°Π²Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π»Π°Π²Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, ΠΈΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ Terraform, Π²ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΡΡΠ²ΠΎΠΊ. ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Terraform
(Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π΄Π°Π»Π΅Π΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ)
ΠΠΈΡ DevOps ΠΏΠΎΠ»ΠΎΠ½ ΡΠ°Π·Π½ΡΡ ΡΡΡΠ°Ρ ΠΎΠ²: Π²ΡΠ΅ Π±ΠΎΡΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅, ΠΏΠΎΡΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π±ΡΡΡ Π²Π·Π»ΠΎΠΌΠ°Π½Π½ΡΠΌΠΈ. ΠΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ΅Π±Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ. ΠΡΠ΄Π΅Ρ Π»ΠΈ ΠΎΠ½ΠΎ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ? ΠΡΠ·ΠΎΠ²Π΅Ρ Π»ΠΈ ΠΎΠ½ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅? Π, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ»ΡΡΠΈΡΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠ°ΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Π½Π° ΡΡΠΎΡ ΡΠ°Π·, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ? ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°Π²ΠΈΡΡΡ Π½Π° ΠΊΠΎΠ½, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π΅ΡΠ΅ ΡΡΡΠ°ΡΠ½Π΅Π΅ ΠΈ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΡΠΊ Π·Π° ΡΡΠ΅Ρ ΠΌΠ΅Π½Π΅Π΅ ΡΠ°ΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΉ, Π½ΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠΌ ΠΈ ΡΠΊΠ»ΠΎΠ½Π½ΡΠΌ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, Ρ Π²Π°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΠΊΠΎΠ²: ΡΠ΅ΡΡΡ. ΠΡ ΡΠ΅Π»Ρ β Π΄Π°ΡΡ Π²Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ: Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΡΠΊΠΎΡΠ΅Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ. ΠΡΠ»ΠΈ ΡΠ΄Π°ΡΡΡΡ Π·Π°ΠΏΠ΅ΡΠ°ΡΠ»Π΅ΡΡ Π²ΡΡ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π½Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ . Π ΠΌΠΈΡΠ΅ ΡΡΡΠ°Ρ Π° ΠΈ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ Π²ΡΡΠΎΠΊΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΡΡ.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΡΡΡΠ½ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, Ρ Π°ΠΊΡΠ΅Π½ΡΠΎΠΌ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ.
Π ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ
Π Π°Π·ΠΌΡΡΠ»ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Terraform, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈ Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Ruby. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° Ruby Π² ΡΠ°ΠΉΠ»Π΅ web-server.rb:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²Π΅ΡΠ½Π΅Ρ ΠΎΡΠ²Π΅Ρ 200 OK Ρ ΡΠ΅Π»ΠΎΠΌ Hello, World Π΄Π»Ρ URL-Π°Π΄ΡΠ΅ΡΠ° /; Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ 404. ΠΠ°ΠΊ Π±Ρ Π²Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ? ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ:
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΠΎΠ½ Π·Π°Π³ΡΡΠ·ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΏΠΎΡΡΠ΅ 8000:
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ curl:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° /api, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 201 Created ΠΈ ΡΠ΅Π»ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON:
Π§ΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+C ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠΊΡΠΈΠΏΡ Π΅ΡΠ΅ ΡΠ°Π·:
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ curl:
ΠΡΠ½ΠΎΠ²Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Terraform? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π³Π»Π°Π² Ρ Π²Π°Ρ ΠΎΡΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ALB. ΠΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ»Π° modules/networking/alb/main.tf:
ΠΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΠΎΡ Π»ΠΈΡΡΠΈΠ½Π³ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Ruby, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅: AWS ALB, ΡΠ΅Π»Π΅Π²ΡΠ΅ Π³ΡΡΠΏΠΏΡ, ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»ΠΈ, Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π½Π΅Π»ΡΠ·Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ β 1: ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Terraform Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Terraform, Π½ΠΎ ΠΈ ΠΊ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΡΡΠ΅Π΄ΡΡΠ² IaC. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Terraform β ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ (ΡΠΎ Π΅ΡΡΡ Π² AWS). ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ terraform apply ΠΈ terraform destroy, ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ, ΡΠΈΡΠ°Ρ ΠΊΠ½ΠΈΠ³Ρ, β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΡΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Terraform.
ΠΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ examples ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΡΡΡΠ΅ Π² ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ (ΡΠΌ. Π³Π»Π°Π²Ρ 6). Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ alb, ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π² examples/alb:
Π§ΡΠΎΠ±Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ terraform apply, ΠΊΠ°ΠΊ Π²Ρ ΡΡΠΎ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π΄Π΅Π»Π°Π»ΠΈ:
Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΠΊ curl, ΡΡΠΎΠ±Ρ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ALB Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 404:
ΠΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΠΎ HTTP, ΠΏΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² Π΅Π΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ curl ΠΈ HTTP-Π·Π°ΠΏΡΠΎΡΡ. ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ MySQL, Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ MySQL. ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅Ρ VPN-ΡΠ΅ΡΠ²Π΅Ρ, Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ VPN. ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΉΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ SSH ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ. ΠΠ°Π·ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ°ΠΏΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅.
ΠΠ°ΠΏΠΎΠΌΠ½Ρ: ALB Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 404 Π²Π²ΠΈΠ΄Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ, Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ alb ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ²Π΅Ρ 404:
ΠΡΠ°ΠΊ, Π²Ρ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΡΠΎ-ΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ (ΡΡΠΎΠ±Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΎ 401), Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ terraform apply, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄:
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ curl:
ΠΠΎΠ³Π΄Π° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ terraform destroy, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΡΡΡΡΡ:
ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Terraform ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½ΡΠΆΠ½Ρ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Π²ΡΠΎΠ΄Π΅ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ AWS), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ»ΡΠΆΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ². Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΌ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΠΎΡΠΈΠ±ΠΎΠΊ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΡΠ΅Π΄, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π£ΡΠΈΡΡΠ²Π°Ρ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅, Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π»ΡΠ±ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π±Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ (ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π΄Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ), ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Terraform Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ AWS, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π΅ΠΌΡ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ.
ΠΡΠΈΡΡΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΎΠ²
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΡΠΎΡΠ²Π»ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ, Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ½ΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Ρ
Π»Π°ΠΌΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΡΠ΅Π΄Ρ ΠΈ Π±ΡΠ΄ΡΡ ΡΡΠΎΠΈΡΡ Π²Π°ΠΌ ΠΊΡΡΠ³Π»ΡΡ ΡΡΠΌΠΌΡ.
Π§ΡΠΎΠ±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΠΈΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ. ΠΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ β 2.
ΠΠ°ΠΌ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°ΠΊΡΡ ΠΊΡΠ»ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ terraform destroy. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΄Π°ΡΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ Π»ΠΈΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅ (ΡΠΊΠ°ΠΆΠ΅ΠΌ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ cron). ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π΄ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ aws-nuke ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΈΡΡΡΡΡ ΡΠ΅ΡΡΡ. Π Π³Π»Π°Π²Π΅ 8 Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CI-ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠΈ ΡΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ, ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΡΠΈΠΏΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΠΎΠ².
ΠΠ»Ρ Π₯Π°Π±ΡΠΎΠΆΠΈΡΠ΅Π»Π΅ΠΉ ΡΠΊΠΈΠ΄ΠΊΠ° 25% ΠΏΠΎ ΠΊΡΠΏΠΎΠ½Ρ β Terraform
ΠΠΎ ΡΠ°ΠΊΡΡ ΠΎΠΏΠ»Π°ΡΡ Π±ΡΠΌΠ°ΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° e-mail Π²ΡΡΡΠ»Π°Π΅ΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π°.
Terraform: Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Infrastructure as code
ΠΡΠΈΠ²Π΅Ρ, ΠΊΠΎΠ»Π»Π΅Π³ΠΈ! ΠΠΎΠΊΠ° Π±Π»ΠΈΡΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΠ»ΠΎΠ½ ΠΠ°ΡΠΊ Π²ΡΠ½Π°ΡΠΈΠ²Π°Π΅Ρ Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½ΡΠ΅ ΠΏΠ»Π°Π½Ρ ΡΠ΅ΡΡΠ°ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ°ΡΡΠ°, ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΠΌΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠΎΠΉ «Infrastructure as Code» ΠΈ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ Β«Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ΅ΡΠΊΠΈΒ» β Terraform. ΠΠ½ΠΈΠ³Π° ΠΠ²Π³Π΅Π½ΠΈΡ ΠΡΠΈΠΊΠΌΠ°Π½Π° ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ Π°Ρ, Π½ΠΎ Π΅ΠΉ ΡΠΊΠΎΡΠΎ Π³ΠΎΠ΄, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΡΠΈΠΌ Π²ΡΡΠΊΠ°Π·Π°ΡΡΡΡ β Ρ ΠΎΡΠΈΡΠ΅ Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π΅ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
Π‘Π»ΠΎΠ²ΠΎ ΠΠ°ΠΌΠ°Π»Ρ ΠΠ°ΡΡ ΡΠ±ΠΈ (Kamal Marhubi) ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Heap.
ΠΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π±Π°Π·Π΅ AWS, ΠΈ ΠΌΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Terraform. Π ΡΡΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π»ΠΈ Π΄Π»Ρ Π²Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΈ ΡΠ»ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π½Π°ΠΌ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ.
Terraform ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π°
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΠΎΡΡΠΆΠΈΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΈΠ·Π»ΡΠ±Π»Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄ΡΠΈΠ½ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠΎΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΠΎΡ ΠΊΠ°ΠΊ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² Terraform ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΠ°Π½Ρ EC2 Ρ ΡΠΎΠΌΠΎΠΌ EBS:
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Terraform, ΡΠΎ Π²ΠΎΡ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΎΡΠ²ΠΎΠΈΡΡΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π·Π°Π΄Π°Ρ Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅.
ΠΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ Terraform
Π ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ Terraform ΠΏΡΠΎΡΡΠ°: Terraform ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, Π° Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡΡ. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° AWS:
ΠΠ΅ Π²ΡΡΠΊΠΈΠΉ ΡΠ΅ΡΡΡΡ Terraform β ΡΡΠΎ ΡΠ΅ΡΡΡΡ AWS
ΠΠΎΠ½ΡΡΡ ΡΠ°ΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ Π½Π΅ ΡΡΠΎΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ API ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ Terraform ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ, ΡΠ°ΠΊ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° β Π»ΠΈΠ±ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ· AWS:
ΠΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠ°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ!
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Terraform ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠΎΡ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠ°-ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΠΎΠΌΠΎΠΌ EBS Π² Terraform, Π΄Π°ΡΡΠΈΠΉ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΡΠ΅ΡΡΡΡΡ EC2:
ΠΠ°ΡΠ°ΡΡΡΡ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ EBS Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π°, Π΅ΡΠ»ΠΈ Π²ΡΠ±ΠΎΡ Π±ΡΠ» ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ!
ΠΡ ΠΎΡΠΈΠ±Π»ΠΈΡΡ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ
Π ΠΈΠ½ΡΡΠ°Π½ΡΠ°Ρ Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ZFS. ZFS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π±Π»ΠΎΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π· Π²ΡΡΠΊΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΡΠΈΡΡΠ»Π°ΡΡ Π½Π°ΠΌ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ β Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ β ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠΏΠΎΡΡΠ΅ Π΄Π»Ρ Π½Π°Ρ. ΠΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π½Π΅ ΡΠ²ΡΠ·Π½Π΅ΠΌ Ρ ΠΆΠ΅ΡΡΠΊΠΈΠΌ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ CPU-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π½Π°ΠΌΠΈ ΠΏΡΠΈ Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Π° ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π°Π»Π°Π½Ρ Π½Π° Π»Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ ΠΈ Π·Π°ΡΡΠ°Π²Π»ΡΠ»ΠΈ Terraform ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ²:
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Terraform: ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ ΠΈΡΡΡΠ³ΠΈΠΈ
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Ρ Π½Π°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΡΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Terraform Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. Π₯ΠΎΡΡ, ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ ΡΡΠ°Π±ΠΈΠ»Π΅Π½, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ Β«Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡΒ». ΠΠ°ΠΌ Π±Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π½ΠΎ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ. ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°ΡΠ° JSON, Π° Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Terraform ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ· Π½Π°Ρ ΡΡΠΎ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Go, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ! ΠΠΎ ΠΌΡ ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ: Π΄Π° ΠΌΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ°Π΅ΠΌ Π² ΠΎΠ΄Π½Ρ ΠΊΡΡΡ Π²ΡΠ΅ Terraform-ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡ Π²ΡΠ»ΠΎΠΆΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π° GitHub, Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ Ρ Π½ΠΈΠΌ ΠΈ ΠΎΡΡΡΠΈΡΡ ΡΠ΅Π±Ρ Π² Π½Π°ΡΠ΅ΠΉ ΡΠΊΡΡΠ΅.
Π’Π΅ΡΡΠ°ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ
ΠΠ°ΠΏΡΡΠΊ terraform apply β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π°ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΅ΡΡΠ΅Π· ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ Π²ΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ², ΡΠ»Π΅Π΄ΡΡ ΠΊΠΎΡΠΎΡΡΠΌ, ΡΠΈΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ β ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΡΡΡΠ°ΡΠ½ΠΎ.
ΠΡΠ΅Π³Π΄Π° Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΠΏΠ»Π°Π½ βout ΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΎΠΌΡ ΠΏΠ»Π°Π½Ρ
ΠΠ΄Π½Π°ΠΊΠΎ, Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ: ΡΡΠ΄Π° Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Terraform, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ΅, ΡΠΎ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π² Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π°ΡΠΈ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ ΠΎΠ½ΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ»Ρ IAM Β«ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΒ»
Π Π°Π±ΠΎΡΠ°Ρ Ρ AWS, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π² Terraform ΡΠΎΠ»ΡΠΌΠΈ IAM ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°. Π ΠΎΠ»Ρ Π² Terraform Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π assume_role_policy ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΏΡΠ°Π²Π΅ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΡ ΡΠΎΠ»Ρ.
ΠΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ΡΠΎΠ»Ρ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»Π΅Π³ΡΠ΅, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Terraform Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ aws_volume_attachment Ρ ΡΠΎΠΌΠ°ΠΌΠΈ Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΡ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ AWS Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ β ΠΏΠΎΠΌΠ΅Π½ΡΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π»ΠΈΡΡ Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² Terraform. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΌΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ β Π·Π°ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°ΠΌ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ?
ΠΠ΄Π΅ΠΈ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅
ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΡΡΠ΅Ρ, ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΡΡΠ°ΡΡΡ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Terraform. Π₯ΠΎΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ» ΠΏΡΠΎΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠΊΠ°Π·ΠΎΠ² ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Terraform ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠ΅Π²Π°ΡΡ ΠΈ ΡΠ΅ΠΌ, ΠΈ Π΄ΡΡΠ³ΠΈΠΌ β ΡΡΠΎ ΠΆΡΡΡ, ΡΠΎΠ³Π»Π°ΡΠΈΡΠ΅ΡΡ.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΡΠ°ΡΡΠΎΠΊ ΡΠ°Π±ΠΎΡΡ, Π³Π΄Π΅ ΡΠ°ΠΊ Ρ ΠΎΡΠ΅ΡΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π»Π΅Π³ΠΊΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ β ΡΡΠΎ ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½ΠΎΡΠΈΠΌΡΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΈΠΌ Π²ΡΠ²ΠΎΠ΄ terraform plan ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΎΠ±Π·ΠΎΡΡ β ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠΈΠ°Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½, Π²Π½ΠΎΡΠΈΠΌ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ.
Terraform ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π° pdf
ΠΠ²Π³Π΅Π½ΠΈΠΉ ΠΡΠΈΠΊΠΌΠ°Π½
Terraform: ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π°
ΠΠ°ΡΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π. Π ΡΡΠ΅ΡΠΊΠΈΠΉ
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠΈ Π. Π‘ΠΈΠ²ΡΠ΅Π½ΠΊΠΎ, Π‘. Π§Π΅ΡΠ½ΠΈΠΊΠΎΠ²
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π. ΠΠ°ΠΉΠ΄ΡΠΊ
Π₯ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ Π. ΠΠΎΡΡΠΈΠΏΠ°Π½
ΠΠΎΡΡΠ΅ΠΊΡΠΎΡΡ Π. ΠΠ°Π²Π»ΠΎΠ²ΠΈΡ, Π. Π Π°ΡΠ°Π»ΡΠΊ-ΠΡΠ·ΠΎΠ²ΡΠΊΠ°Ρ
ΠΠ²Π³Π΅Π½ΠΈΠΉ ΠΡΠΈΠΊΠΌΠ°Π½
Terraform: ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π°. β Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2020.
ΠΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π°ΡΠΈΡΠ΅Π½Ρ. ΠΠΈΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π² ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ ΡΠΎΡΠΌΠ΅ Π±Π΅Π· ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π².
ΠΠΎΡΠ²ΡΡΠ°Π΅ΡΡΡ ΠΌΠ°ΠΌΠ΅, ΠΏΠ°ΠΏΠ΅, ΠΠ°ΠΉΠ»Π΅ ΠΈ ΠΠΎΠ»Π»ΠΈ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ°Π²Π½ΡΠΌ-Π΄Π°Π²Π½ΠΎ Π² Π΄Π°Π»Π΅ΠΊΠΎΠΌ-ΠΏΡΠ΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅ Π΄ΡΠ΅Π²Π½Π΅Π΅ ΠΏΠ»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΡΠ΅ΡΡΠ², ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΊΠ°ΠΊ Β«ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ΡΒ», Π²ΡΡΡΠ½ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π»ΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ (ΠΠ), Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΎ Π±ΡΠ»ΠΎ ΠΌΡΠ°ΡΠ½ΠΎΠ΅ ΠΈ ΡΠΆΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ: ΡΡΡΠ°Ρ ΠΏΡΠΎΡΡΠΎΡ, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΠΈ Ρ ΡΡΠΏΠΊΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΉ ΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π΅ΡΠ»ΠΈ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ Π½Π° ΡΠ΅ΠΌΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ (ΡΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΡΠΌΡΡ ΠΎΡΠΏΡΡΠΊ). ΠΠΎ ΡΠΏΠ΅ΡΡ Π²Π°Ρ ΠΎΠ±ΡΠ°Π΄ΠΎΠ²Π°ΡΡ β Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ DevOps Ρ Π½Π°Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ: Terraform.
Terraform (https://www.terraform.io/) β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ HashiCorp. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ Π΅Π΅/ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ (ΡΠΊΠ°ΠΆΠ΅ΠΌ, Amazon Web Services, Microsoft Azure, Google Cloud Platform, DigitalOcean), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠ½ΡΡ ΠΎΠ±Π»Π°ΠΊΠ°Ρ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (OpenStack, VMWare ΠΈ Π΄Ρ.) Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΡΡ ΡΠ΅Π»ΠΊΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π² AWS:
resource «aws_instance» «example» <
Π§ΡΠΎΠ±Ρ Π΅Π³ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈ ΠΌΠΎΡΠΈ Terraform ΡΡΠ°Π» ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ Π² ΠΌΠΈΡΠ΅ DevOps. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠ΅, Ρ ΡΡΠΏΠΊΠΈΠ΅ ΠΈ Π½Π΅Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π½Π° Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ DevOps (Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅) ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Docker, Chef, Puppet).
ΠΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Terraform.
ΠΠ°ΡΠ°Π² Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Hello, World, Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠ»Π½ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ), ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³Π»Π°Π². ΠΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ DevOps ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄Π° (infrastructure as code, ΠΈΠ»ΠΈ IaC), Π½ΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· Π΄Π΅ΡΡΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎΠΌΠ°. ΠΠΎΡΡΠΎΠΌΡ Π΄Π΅ΡΠΆΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ.
ΠΠΎΡΠΈΡΠ°Π² ΠΊΠ½ΠΈΠ³Ρ, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Terraform Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
Π¦Π΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ
ΠΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΠ΅Ρ , ΠΊΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Π°ΠΌ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ ΠΏΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ, ΡΠ΅Π»ΠΈΠ·-, SR-, DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ°ΠΌ. ΠΠ°ΠΊΠΎΠΉ Π±Ρ Π½ΠΈ Π±ΡΠ»Π° Π²Π°ΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅ΡΠ΅ Π½Π° Π²ΡΠ·ΠΎΠ²Ρ Π² ΡΡΠΈ ΡΠ°ΡΠ° Π½ΠΎΡΠΈ, ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ Π²Π°Ρ.
Π ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΡΡΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ (ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ). Π Π°Π½ΡΡΠ΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅Π»ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ; ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Ρ Π±Π΅Π· ΡΠΌΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄. ΠΠΎΠ³Π΄Π°-ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ, Π½ΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π±Π΅Π· ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ DevOps, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π½Π°Π²ΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ Π² ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ β ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΒΡΡΡΠΎΠΊΠΎΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΡΠ°ΠΉΡΠ°ΠΌΠΈ) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ Π²Π°ΡΠΈΡΡ. ΠΡΠ΅ΠΌΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΠΈΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠΎΠ²ΠΎΡΡΠΈ
Π ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΡΡΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ (ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ). Π Π°Π½ΡΡΠ΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅Π»ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ; ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Ρ Π±Π΅Π· ΡΠΌΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄. ΠΠΎΠ³Π΄Π°-ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ, Π½ΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π±Π΅Π· ΠΎΠ±Π»Π°ΡΠ½ΡΡ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ DevOps, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π½Π°Π²ΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Terraform, Π½ΠΎ ΠΈ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ DevOps. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΡΠ»ΠΎ Π² 2017 Π³ΠΎΠ΄Ρ. Π ΠΌΠ°Π΅ 2019-Π³ΠΎ Ρ Π³ΠΎΡΠΎΠ²ΠΈΠ» Π²ΡΠΎΡΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΈΠ²Π»Π΅Π½ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π·Π° ΠΏΠ°ΡΡ Π»Π΅Ρ! ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π³Π»Π°Π²Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π»Π°Π²Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, ΠΈΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ Terraform, Π²ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΡΡΠ²ΠΎΠΊ. ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Terraform
(Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π΄Π°Π»Π΅Π΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ)
ΠΠΈΡ DevOps ΠΏΠΎΠ»ΠΎΠ½ ΡΠ°Π·Π½ΡΡ ΡΡΡΠ°Ρ ΠΎΠ²: Π²ΡΠ΅ Π±ΠΎΡΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅, ΠΏΠΎΡΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π±ΡΡΡ Π²Π·Π»ΠΎΠΌΠ°Π½Π½ΡΠΌΠΈ. ΠΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ΅Π±Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ. ΠΡΠ΄Π΅Ρ Π»ΠΈ ΠΎΠ½ΠΎ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ? ΠΡΠ·ΠΎΠ²Π΅Ρ Π»ΠΈ ΠΎΠ½ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅? Π, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ»ΡΡΠΈΡΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠ°ΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Π½Π° ΡΡΠΎΡ ΡΠ°Π·, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ? ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°Π²ΠΈΡΡΡ Π½Π° ΠΊΠΎΠ½, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π΅ΡΠ΅ ΡΡΡΠ°ΡΠ½Π΅Π΅ ΠΈ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΡΠΊ Π·Π° ΡΡΠ΅Ρ ΠΌΠ΅Π½Π΅Π΅ ΡΠ°ΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΉ, Π½ΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠΌ ΠΈ ΡΠΊΠ»ΠΎΠ½Π½ΡΠΌ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, Ρ Π²Π°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΠΊΠΎΠ²: ΡΠ΅ΡΡΡ. ΠΡ ΡΠ΅Π»Ρ β Π΄Π°ΡΡ Π²Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ: Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΡΠΊΠΎΡΠ΅Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ. ΠΡΠ»ΠΈ ΡΠ΄Π°ΡΡΡΡ Π·Π°ΠΏΠ΅ΡΠ°ΡΠ»Π΅ΡΡ Π²ΡΡ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π½Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ . Π ΠΌΠΈΡΠ΅ ΡΡΡΠ°Ρ Π° ΠΈ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ Π²ΡΡΠΎΠΊΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΡΡ.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΡΡΡΠ½ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, Ρ Π°ΠΊΡΠ΅Π½ΡΠΎΠΌ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ.
Π ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ:
Π ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ
Π Π°Π·ΠΌΡΡΠ»ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Terraform, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈ Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Ruby. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° Ruby Π² ΡΠ°ΠΉΠ»Π΅ web-server.rb:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²Π΅ΡΠ½Π΅Ρ ΠΎΡΠ²Π΅Ρ 200 OK Ρ ΡΠ΅Π»ΠΎΠΌ Hello, World Π΄Π»Ρ URL-Π°Π΄ΡΠ΅ΡΠ° /; Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ 404. ΠΠ°ΠΊ Π±Ρ Π²Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ? ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ:
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΠΎΠ½ Π·Π°Π³ΡΡΠ·ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΏΠΎΡΡΠ΅ 8000:
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ curl:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° /api, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 201 Created ΠΈ ΡΠ΅Π»ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON:
Π§ΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+C ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠΊΡΠΈΠΏΡ Π΅ΡΠ΅ ΡΠ°Π·:
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ curl: