{"id":330853,"date":"2022-03-20T09:00:19","date_gmt":"2022-03-20T09:00:19","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=330853"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=330853","title":{"rendered":"<span>\u041e\u043f\u044b\u0442 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e VKCS (IaC, IaC \u0438 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d)<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/de8\/d11\/49d\/de8d1149d8b942c946f9dbbf2ab9a06e.png\" alt=\"\u00a9 Viktoria Popova\" title=\"\u00a9 Viktoria Popova\" width=\"3757\" height=\"2189\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/de8\/d11\/49d\/de8d1149d8b942c946f9dbbf2ab9a06e.png\"\/><figcaption>\u00a9 Viktoria Popova<\/figcaption><\/figure>\n<p><em>\u0414\u0438\u0441\u043a\u043b\u0430\u0439\u043c\u0435\u0440: \u042f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e, \u043a\u0430\u043a\u0443\u044e \u0441\u0430\u043c \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u0433\u043e\u0434\u0430-\u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u043a\u043e. \u041c\u043d\u0435 \u0431\u044b \u043e\u043d\u0430 \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u0430 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0441\u0438\u043b\u044b, \u0432\u0440\u0435\u043c\u044f \u0438 \u043d\u0435\u0440\u0432\u044b \u2013 \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u0443-\u0442\u043e \u0435\u0449\u0451. \u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u0438\u0437\u044b, \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u043c\u043d\u043e\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b.<\/em><\/p>\n<p><em>\u041a\u0440\u0438\u0442\u0438\u043a\u0430 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442\u0441\u044f.<\/em><\/p>\n<h2>\u041a\u0440\u0430\u0442\u043a\u0438\u0435 \u0432\u0432\u043e\u0434\u043d\u044b\u0435<\/h2>\n<p>\u041a \u043a\u043e\u043d\u0446\u0443 2021 \u0433\u043e\u0434\u0430 \u043d\u0430\u0448\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0438\u0437 \u043f\u043e\u0447\u0442\u0438 \u0441\u043e\u0442\u043d\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043e\u043a \u043d\u0430 \u043f\u0430\u0440\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0430\u0440\u0435\u043d\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0438\u0445 \u0426\u041e\u0414\u043e\u0432 \u0438 \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0431\u043e\u043b\u044c\u044e \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438. \u041f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u0441\u0442\u043e\u043b\u044c \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u043c, \u0447\u0442\u043e \u0438\u0445 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043c\u044b \u043f\u043e\u0433\u0440\u044f\u0437\u043b\u0438 \u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445:<\/p>\n<ol>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440\u0430-<a href=\"https:\/\/dzone.com\/articles\/martin-fowler-snowflake\" rel=\"noopener noreferrer nofollow\">\u0441\u043d\u0435\u0436\u0438\u043d\u043a\u0438 <\/a>\u0432 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0435\u0439 \u0438\u0445 \u0444\u043e\u0440\u043c\u0435 (\u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u0432\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438)<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043d\u043e\u0441\u043e\u0440\u0442\u0438\u0446\u0430 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u0432, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u0432\u0435\u0440\u0441\u0438\u0439 \u041e\u0421 \u0438 \u041f\u041e<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043f\u043e \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u0447\u0435\u0433\u043e \u0431\u044b \u0442\u043e \u043d\u0438 \u0431\u044b\u043b\u043e<\/p>\n<\/li>\n<li>\n<p>\u041c\u0443\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u0431\u043e\u0435\u0432 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0435\u0440\u0432\u043e-\u043d\u0430\u043f\u0435\u0440\u0432\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0441\u0442\u0440\u043e\u0438\u043c \u043c\u044b \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 on-prem \u0441 \u0421\u0425\u0414, VmWare \u0438 MLAG-\u043e\u043c, \u0438\u043b\u0438, \u043f\u043e-\u043c\u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0432\u0435\u0440\u043d\u0443\u0432 \u0448\u0442\u0430\u043d\u044b, \u043a\u0430\u0442\u0438\u043c \u043a\u0430\u043c\u0435\u043d\u044c \u0432 \u0433\u043e\u0440\u0443 <a href=\"https:\/\/mcs.mail.ru\/blog\/raznica-mezhdu-iaas-paas-saas-statya-ob-oblakah-v-internete\" rel=\"noopener noreferrer nofollow\">IaaS<\/a>.<\/p>\n<h2>\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u0431\u043b\u0430\u043a\u043e<\/h2>\n<p>\u041c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e on-prem \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u043d\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0443\u044e\u0442\u0441\u044f \u0441\u043b\u0443\u0445\u0430\u043c\u0438, \u043f\u0440\u0435\u0434\u0440\u0430\u0441\u0441\u0443\u0434\u043a\u0430\u043c\u0438 \u0438 \u0448\u0435\u0441\u0442\u044b\u043c \u0447\u0443\u0432\u0441\u0442\u0432\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0441\u043e\u0431\u0440\u0430\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0435 \u043d\u0430\u0448\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 vCPU, vRAM, \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438 IOPs, \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f \u043f\u043e \u0430\u0440\u0435\u043d\u0434\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0438 \u043e\u0431\u044a\u0451\u043c\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0446\u0438\u0444\u0440\u044b. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u044e\u0436\u0438\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043d\u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0439, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435, \u0441\u043f\u0443\u0441\u0442\u044f \u043c\u0435\u0441\u044f\u0446-\u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0443\u0445\u043b\u0443\u044e \u0441\u0432\u043e\u0434\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0421\u0425\u0414, \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432, \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438, \u0421\u0420\u041a \u0438 \u043f\u0440\u043e\u0447\u0435\u0435 \u0441 \u0437\u0430\u0432\u0435\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439 \u0418\u0422\u041e\u0413\u041e \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u0443.<\/p>\n<p>\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u0431\u044b\u0442\u0443\u044e\u0449\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u043d\u0430 \u043d\u0430\u0448\u0438 \u043d\u0435 \u0441\u0430\u043c\u044b\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043e\u0431\u044a\u0451\u043c\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432 \u0441\u0443\u043c\u043c\u0435 3 \u043b\u0435\u0442 \u0430\u0440\u0435\u043d\u0434\u0430 IaaS \u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u0447\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 on-prem \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0412 \u0440\u0430\u0437\u0440\u0435\u0437\u0435 5 \u043b\u0435\u0442 &#8212; \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u043e\u0436\u0435, \u043d\u043e \u043f\u0440\u0438 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441 \u043e\u0431\u043b\u0430\u043a\u043e\u043c \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435, \u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043b\u0435\u0433\u0447\u0435, \u0447\u0435\u043c \u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u043a\u043e\u0444\u0435, \u0432\u044b\u0431\u043e\u0440 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 IaaS \u0431\u044b\u043b \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u043c.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u0438\u0437 \u0448\u043e\u0440\u0442-\u043b\u0438\u0441\u0442\u0430. \u041c\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438: \u043e\u0442 SLA \u0438 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 IOPs \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0434\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439. \u0422\u0435\u0441\u0442\u044b, \u0442\u0435\u0441\u0442\u044b, \u0442\u0435\u0441\u0442\u044b, \u043f\u043e\u0442\u043e\u043c \u043c\u0438\u0442\u0438\u043d\u0433\u0438 \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430\u043c\u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u0438 \u0441\u043d\u043e\u0432\u0430 \u0442\u0435\u0441\u0442\u044b &#8212; \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0441\u0430\u043c\u0430\u044f \u0434\u043e\u043b\u0433\u0430\u044f \u0438 \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442.<\/p>\n<p>\u041f\u043e \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u0432\u044b\u0431\u043e\u0440 \u043d\u0430 <a href=\"https:\/\/mcs.mail.ru\/\" rel=\"noopener noreferrer nofollow\">VKCS <\/a>(\u0442\u043e\u0433\u0434\u0430 \u0435\u0449\u0451 Mail.ru Cloud Solutions). <\/p>\n<h2>\u041f\u043e\u0447\u0435\u043c\u0443 Infrastructure As Code<\/h2>\n<p>\u041e\u0431\u043b\u0430\u043a\u043e \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u0440\u0435\u0448\u0430\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b #2-4, \u043d\u043e lift-and-shift \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0440\u0435\u0448\u0438\u043b\u0430 \u0431\u044b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 #1 \u0441 \u0445\u0430\u043e\u0441\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432-\u0441\u043d\u0435\u0436\u0438\u043d\u043e\u043a. \u041c\u044b \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Infrastructure_as_code\" rel=\"noopener noreferrer nofollow\">Infrastructure As Code<\/a> \u0434\u0430\u0441\u0442 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 <a href=\"https:\/\/www.redhat.com\/en\/topics\/automation\/what-is-infrastructure-as-code-iac\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430<\/a>. \u0414\u0430\u0436\u0435 \u0434\u043b\u044f \u0442\u0435\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u043e\u043b\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u043e\u0436\u043d\u043e (\u043f\u0440\u0438\u0432\u0435\u0442, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 1\u0421, \u043a\u0430\u043a \u0442\u0430\u043c \u0442\u0432\u043e\u0439 2007\u0439 \u0433\u043e\u0434?) \u0438\u043b\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c IaC \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u041e\u0421.<\/p>\n<p>\u041d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u0430\u0440\u043e\u0432\u043e\u0437 \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u043b\u043e\u0448\u0430\u0434\u0438 \u2013 \u044d\u0442\u043e \u043e\u0434\u043d\u043e, \u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0430\u0440\u043e\u0432\u043e\u0437\u043e\u043c \u0438, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u2013 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0435. \u0414\u0435\u0441\u044f\u0442\u043a\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 \u043c\u043e\u0433\u0443\u0442 \u0434\u0430\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0440\u0435\u0448\u0430\u0435\u0442 IaC \u0438 \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0440\u044b\u043d\u043a\u0435, \u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c \u2013 \u043a\u0430\u043a \u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0440\u0430\u0432\u043d\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u0438\u0437\u0435. <\/p>\n<p>\u041f\u043e \u043c\u0435\u0440\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438, \u043d\u0435 \u0438\u043c\u0435\u044f \u0435\u0449\u0451 \u043e\u043f\u044b\u0442\u0430, \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043d\u0438\u044f \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0438 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0435\u0434\u043b\u0430\u0439\u043d\u0430:<\/p>\n<ul>\n<li>\n<p><a href=\"#tools\" rel=\"noopener noreferrer nofollow\">\u0422\u0443\u043b\u0438\u043d\u0433<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#vpc\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 VPC<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#network\" rel=\"noopener noreferrer nofollow\">\u0427\u0442\u043e, \u0432\u043e \u0438\u043c\u044f \u0432\u0441\u0435\u0445 CCIE, \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u044c\u044e<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#repos\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0432\u044b\u0431\u0440\u0430\u0442\u044c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#terraform\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c Terraform<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#ansible\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c Ansible<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#cicd\" rel=\"noopener noreferrer nofollow\">CI? CD, \u044f \u0441\u0430\u043c \u043e\u0442\u043a\u0440\u043e\u044e<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#standards\" rel=\"noopener noreferrer nofollow\">\u041e \u043a\u0430\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u00ab\u043d\u0430 \u0437\u0435\u043c\u043b\u0435\u00bb<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#team\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 IaC \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u0432\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043d\u0430\u0448\u043b\u0438, \u0433\u0440\u0430\u0431\u043b\u0438, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u043f\u0440\u043e\u0448\u043b\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0441\u043e\u0437\u0434\u0430\u043b\u0438.<\/p>\n<p><a class=\"anchor\" name=\"tools\" id=\"tools\"><\/a><\/p>\n<h2>\u0422\u0443\u043b\u0438\u043d\u0433<\/h2>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 SCM \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 <a href=\"https:\/\/www.ansible.com\/\" rel=\"noopener noreferrer nofollow\">Ansible <\/a>\u2013 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043f\u043e Ansible \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u0438, \u0430 Chef \u0438\u043b\u0438 Puppet \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0443\u0447\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435\u043c. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Ansible <a href=\"https:\/\/www.slintel.com\/tech\/configuration-management\/ansible-market-share#alternatives-and-competitors\" rel=\"noopener noreferrer nofollow\">\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 <\/a>\u043d\u0430 \u0440\u044b\u043d\u043a\u0435, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 <a href=\"https:\/\/www.terraform.io\/\" rel=\"noopener noreferrer nofollow\">Terraform <\/a>\u2013 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <a href=\"https:\/\/aws.amazon.com\/ru\/cloudformation\/\" rel=\"noopener noreferrer nofollow\">Cloudformation <\/a>\u0441\u043b\u0430\u0431\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u043a Openstack-\u043e\u0431\u043b\u0430\u043a\u0443, \u0430 <a href=\"https:\/\/www.pulumi.com\/\" rel=\"noopener noreferrer nofollow\">Pulumi <\/a>\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0437\u043d\u0430\u043d\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u0442\u043e\u0438\u043b\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/terragrunt.gruntwork.io\/\" rel=\"noopener noreferrer nofollow\">Terragrunt<\/a>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0441 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u043c Terraform \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u043e\u0432.<\/p>\n<p>\u0414\u043b\u044f CI\/CD-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u044e\u0449\u0438\u0439\u0441\u044f self-hosted \u0438\u043d\u0441\u0442\u0430\u043d\u0441 <a href=\"https:\/\/about.gitlab.com\/\" rel=\"noopener noreferrer nofollow\">Gitlab<\/a>, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043c\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0434\u0451\u0442 \u0432\u0440\u0435\u043c\u044f \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043e\u043b\u044c\u0451\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u043c, \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0438\u043b\u0438\u044f \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 IDE \u0432\u044b\u0431\u0440\u0430\u043b\u0438 <a href=\"https:\/\/code.visualstudio.com\/\" rel=\"noopener noreferrer nofollow\">Visual Studio Code<\/a> \u2013 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0434\u043b\u044f IaC (<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=redhat.ansible\" rel=\"noopener noreferrer nofollow\">Ansible<\/a>, <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=HashiCorp.terraform\" rel=\"noopener noreferrer nofollow\">Terraform<\/a>, <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=GitLab.gitlab-workflow\" rel=\"noopener noreferrer nofollow\">Gitlab<\/a>), \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 GUI \u0434\u043b\u044f \u0433\u0438\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0432\u0445\u043e\u0434 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 WSL.<\/p>\n<p><a class=\"anchor\" name=\"vpc\" id=\"vpc\"><\/a><\/p>\n<h2>\u041a\u0430\u043a \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u044b<\/h2>\n<p>\u0412 \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 VKCS \u00ab<a href=\"https:\/\/mcs.mail.ru\/docs\/additionals\/start\/user-account\/project-roles-users#proekt\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c<\/a>\u00bb \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f VPC \u0432 AWS \u2013 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u043e\u0434 \u0435\u0434\u0438\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043e\u0442\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u0432 \u043e\u0434\u043d\u0443 \u0441\u0435\u0442\u044c \u0438\u043b\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044c, \u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0441\u0432\u044f\u0437\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 VPN. \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0440\u0443\u043b\u0441\u0435\u0442\u043e\u0432 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430, \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0438 \u0442.\u043f. \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u041a\u043e\u0440\u043e\u0442\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u2013 \u044d\u0442\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u043e\u0431\u043b\u0430\u043a\u043e.<\/p>\n<p>\u041d\u0443\u0436\u043d\u043e \u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0430\u0448\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u044b?<\/p>\n<p>\u041f\u043b\u044e\u0441\u044b \u0434\u0435\u043b\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043a\u043e\u0443\u043f\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u2013 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0434\u0435\u043b\u0438\u0442\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u043e\u043b\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043d\u0435 \u0431\u043e\u044f\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0435 \u043e\u043f\u0430\u0441\u0430\u044f\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0434\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0438\u043d\u0443\u0441\u044b \u0434\u0435\u043b\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u041d\u0443\u0436\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0438\u043b\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0412 Terraform-\u043a\u043e\u0434\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/www.terraform.io\/language\/state\/remote-state-data\" rel=\"noopener noreferrer nofollow\">remote state<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430\u043c\u0438<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0441\u0435\u0431\u044f \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441, \u0432\u044b\u0434\u0435\u043b\u0438\u0432 3 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: <\/p>\n<details class=\"spoiler\">\n<summary>\u0422\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/820\/825\/273\/820825273bdfec526a8f90afc9688978.png\" width=\"1046\" height=\"904\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/820\/825\/273\/820825273bdfec526a8f90afc9688978.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p><strong>Playground<\/strong> \u2013 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041a\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e Ansible \u0438 Terraform \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0434\u0430\u043b\u0435\u043a\u0438 \u043e\u0442 \u043d\u0443\u043b\u044f, \u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 IaC \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u0440\u043e\u043a, \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043b\u044e\u0434\u044f\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c. \u041b\u044e\u0431\u043e\u0439 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0439 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043b\u044e\u0431\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0435, \u043a\u0430\u043a \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0442\u0430\u043a \u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 CI\/CD-\u043f\u0430\u0439\u043f\u043b\u0430\u043d \u043a\u043e\u0434\u0430 Terraform.<\/p>\n<p><strong>Production<\/strong> \u2013 \u0431\u043e\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u0436\u0438\u0432\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u2013 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445.<\/p>\n<p><strong>DevQA<\/strong> \u2013 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<p>\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c core-\u043e\u0431\u044a\u0435\u043a\u0442\u044b: \u0441\u0435\u0442\u0438, \u043f\u043e\u0434\u0441\u0435\u0442\u0438, \u0433\u0435\u0439\u0442\u0432\u0435\u0438, \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430, \u0440\u043e\u0443\u0442\u0435\u0440\u044b \u0434\u043b\u044f vpn-\u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442.\u043f., \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d.<\/p>\n<p><a class=\"anchor\" name=\"network\" id=\"network\"><\/a><\/p>\n<h2>\u0427\u0442\u043e, \u0432\u043e \u0438\u043c\u044f \u0432\u0441\u0435\u0445 CCIE, \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u044c\u044e<\/h2>\n<p>\u041c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0438, \u0447\u0442\u043e \u0441\u0435\u0442\u044c \u2013 \u043e\u0441\u043d\u043e\u0432\u0430 \u043e\u0441\u043d\u043e\u0432, \u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0439\u0442\u0438 \u0434\u043e\u0440\u043e\u0433\u043e. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, cloud-native \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, vlan-\u0430\u0445, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0441\u0442\u0430\u0440\u043e\u043c\u043e\u0434\u043d\u044b\u0445 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044f\u0445, \u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 PaaS. \u041d\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043e\u0444\u0442\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438 \u043f\u0440\u043e\u0434\u0430\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0433\u043e. \u0412 \u043d\u0430\u0448\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u0440\u043e\u043c\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0443\u0441\u043b\u0443\u0433\u0438. <\/p>\n<h3>\u041f\u043e\u0434\u0441\u0435\u0442\u0438<\/h3>\n<p>\u0421\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u2013 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 \u0441\u0442\u0430\u0440\u044b\u0445-\u0434\u043e\u0431\u0440\u044b\u0445 \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437 \u0441\u0435\u0442\u044f\u0445. \u0412\u044b \u0434\u0435\u043b\u0438\u0442\u0435 \u0441\u0435\u0442\u044c \u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0432 vlan \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u0438 \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b, \u0447\u0442\u043e\u0431\u044b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0434\u0441\u0435\u0442\u044f\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0438\u0437\u0432\u043d\u0435, \u043f\u0440\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438, \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u043e\u0439 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u043e \u0432\u0441\u0435\u0439 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0441\u0435\u0442\u044c\u044e \u0432\u043e vlan \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b \u043f\u0435\u0440\u0435\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u2013 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 VKCS \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"https:\/\/mcs.mail.ru\/docs\/ru\/networks\/vnet\/firewall\/secgroups\" rel=\"noopener noreferrer nofollow\">Security Group<\/a>. \u00ab\u0413\u0440\u0443\u043f\u043f\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438\u00bb \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0439, \u0432 \u043a\u0430\u043a\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438, \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0438 \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0440\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b \u043d\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437 \u041e\u0421 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0432 \u044d\u0442\u043e\u043c \u043e\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0443. <\/p>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 SG \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435, \u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u0432 \u0446\u0435\u043b\u044f\u0445 \u0418\u0411 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u043e \u0441\u043c\u044b\u0441\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0441\u0435\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u2013 \u044d\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432, \u0438 \u043d\u0435 \u043d\u0435\u0441\u0451\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.<\/p>\n<h3>\u0413\u0440\u0443\u043f\u043f\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>\u0413\u0440\u0443\u043f\u043f\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 <strong>default<\/strong>, \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0412\u041c \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0441\u0435\u043c \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430\u043c \u0431\u0435\u0441\u043f\u0440\u0435\u043f\u044f\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0412\u041c \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u2013 \u043d\u0435\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u043b\u043e\u0441\u043a\u043e\u0439 \u0441\u0435\u0442\u0438. \u042d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0430\u0436\u043d\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0430\u0441 \u0442\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b.<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SG \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u2013 \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0412\u041c \u0438\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u0430 \u0412\u041c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430) \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0442\u0435\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c, \u043f\u043e\u0440\u0442\u0430\u043c \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c, \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f. \u042d\u0442\u043e \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Network_Lateral_Movement\" rel=\"noopener noreferrer nofollow\">lateral movement<\/a> \u0434\u043b\u044f \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430 \u0438\u043b\u0438 \u043c\u0430\u043b\u0432\u0430\u0440\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>\u0414\u043b\u044f \u0441\u0435\u0431\u044f \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0438 \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 (\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u043b\u0430\u0447\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c; \u043d\u0435 \u0432\u0441\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b): <\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Security Groups<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/33a\/79b\/da9\/33a79bda9f379a0e9de27fac7beb5d63.png\" width=\"1132\" height=\"1064\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/33a\/79b\/da9\/33a79bda9f379a0e9de27fac7beb5d63.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<ul>\n<li>\n<p><strong>i_default\/o_default<\/strong> \u041d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u043e\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u2013 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441 \u043d\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u043f\u0440., \u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u0441\u0435\u0442\u044c, \u0430\u0434\u0440\u0435\u0441\u0430 <a href=\"https:\/\/docs.openstack.org\/nova\/rocky\/user\/metadata-service.html\" rel=\"noopener noreferrer nofollow\">\u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 Openstack<\/a> \u0438 \u043d\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0445 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>i_int_appname_servicename<\/strong> \u0414\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0441 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0438\u043b\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443<\/p>\n<\/li>\n<li>\n<p><strong>o_int_appname_servicename<\/strong> \u0415\u0441\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0435\u043b\u0438\u043a \u0434\u043b\u044f \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0442\u043e \u043a \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u043d\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u043b\u0438\u043c\u0435\u0442\u0430\u0440\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430, \u0430 \u043a \u0438\u043c\u0435\u043d\u0438 \u0433\u0440\u0443\u043f\u043f\u044b. \u0422\u043e \u0435\u0441\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0430 o_svc_appname_servicename \u0437\u0434\u0435\u0441\u044c \u0441\u043b\u0443\u0436\u0438\u0442 \u043a\u0430\u043a \u043d\u0435\u043a\u0438\u0439 \u0442\u0435\u0433<\/p>\n<\/li>\n<li>\n<p><strong>i_ext_appname_servicename<\/strong> \u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u0432 \u0438\u0437\u0432\u043d\u0435 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b<\/p>\n<\/li>\n<\/ul>\n<p>\u0412-\u0446\u0435\u043b\u043e\u043c \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0412\u041c. \u041c\u0438\u043d\u0443\u0441 &#8212; \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.<\/p>\n<h3>Site-to-site VPN<\/h3>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, <a href=\"https:\/\/mcs.mail.ru\/docs\/ru\/networks\/vnet\/vpn\" rel=\"noopener noreferrer nofollow\">VPNaaS <\/a>\u043e\u0442 VKCS \u043f\u043e\u043a\u0430 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u043d\u0438 \u0432 <abbr title=\"Equal Cost MultiPath\" type=\"abbr\">ECMP<\/abbr>, \u043d\u0438 \u0432 route-based ipsec, \u043d\u0438 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0410 \u0443 \u043d\u0430\u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0436\u0451\u0441\u0442\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0432 \u0426\u041e\u0414\u0435\/\u043e\u0431\u043b\u0430\u043a\u0435 \u2013 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u043a\u043e\u043b\u043b-\u0446\u0435\u043d\u0442\u0440\u0430. \u0420\u0430\u043d\u044c\u0448\u0435 \u043c\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Fortigate SDWAN \u043d\u0430 \u0434\u0432\u0443\u0445 ipsec-\u0442\u0443\u043d\u043d\u0435\u043b\u044f\u0445 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438, \u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 VPNaaS \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043d\u0435 \u043c\u043e\u0433\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>\u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0443\u0442\u0435\u0440\u0430. \u0425\u043e\u0440\u043e\u0448\u0435\u0435 \u0441\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u043e\u0440\u043e\u043d \u0440\u0435\u0448\u0435\u043d\u0438\u0435 Fortigate-VM, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u043f\u043e \u0431\u044e\u0434\u0436\u0435\u0442\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 <a href=\"https:\/\/docs.vyos.io\/en\/equuleus\/\" rel=\"noopener noreferrer nofollow\">VyOS 1.3<\/a>. \u0421\u0440\u0435\u0434\u0438 \u043f\u043b\u044e\u0441\u043e\u0432 VyOS \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0441\u0442\u044c (\u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c rolling release), \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/collections\/vyos\/vyos\/vyos_config_module.html\" rel=\"noopener noreferrer nofollow\">Ansible <\/a>\u0438 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 OSPF \u0438 route-based ipsec. \u0421\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u0434\u043b\u044f KVM \u043c\u043e\u0436\u043d\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c <a href=\"https:\/\/github.com\/vyos\/vyos-build\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/a>, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0432 \u043d\u0435\u0433\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0433\u043e\u0441\u0442\u0435\u0432\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 cloud-init. <\/p>\n<p>\u0412-\u0446\u0435\u043b\u043e\u043c \u044d\u0442\u0430\u043f \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c VyOS \u0441\u044a\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041c\u043e\u0439 \u0441\u043e\u0432\u0435\u0442: \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u043e\u0441\u043e\u0431\u044b\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u0430\u043d\u0430\u043b\u0430 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e, \u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 VPNaaS, \u0430 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u2013 \u043a\u0443\u043f\u0438\u0442\u0435 Fortigate \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439.<\/p>\n<h3>DNS<\/h3>\n<p>\u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Active Directory \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c\u0438 \u041f\u041a \u0438 \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 DNS-\u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0437\u043e\u043d\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u043c\u0438 \u0434\u043e\u043c\u0435\u043d\u0430. \u041c\u044b \u043d\u0435 \u043d\u0430\u0448\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0431\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0435 DNS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u043d\u0430\u0448\u0438\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/registry.terraform.io\/providers\/hashicorp\/dns\/latest\/docs\" rel=\"noopener noreferrer nofollow\">Terraform-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440<\/a>, \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044f\u0441\u044c \u043d\u0430 DNS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0447\u0435\u0440\u0435\u0437 GSS-TSIG. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0412\u041c \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043a\u043e\u0434\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 \u043c\u043e\u0434\u0443\u043b\u044c Terraform, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0438\u0436\u0435.<\/p>\n<p><a class=\"anchor\" name=\"repos\" id=\"repos\"><\/a><\/p>\n<h2>\u041a\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0432\u044b\u0431\u0440\u0430\u0442\u044c<\/h2>\n<p>\u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043f\u0443\u0441\u0442\u044f\u043a\u043e\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u043b\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0438 \u043d\u0430 CI\/CD \u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043e \u0441\u0442\u0435\u0439\u0442\u0430\u043c\u0438, \u0430 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0438\u0432\u0451\u043b \u043d\u0430\u0441 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043a \u0437\u0430\u043c\u0435\u0442\u043d\u043e\u043c\u0443 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0434\u043e\u043b\u0433\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0448\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0421\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 VPC \u0443 \u043d\u0430\u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Terraform-\u043a\u043e\u0434\u0430. \u0410 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0447\u0435\u0440\u0435\u0437 Ansible, \u0435\u0449\u0451 \u0441\u0432\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a0c\/28c\/93b\/a0c28c93b5465f499e107b25d786eee2.png\" width=\"626\" height=\"879\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a0c\/28c\/93b\/a0c28c93b5465f499e107b25d786eee2.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u041f\u043b\u044e\u0441\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0449\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c CI\/CD \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438 \u0432\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u0437\u0430\u0431\u044b\u0442\u044c<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0438\u043d\u0443\u0441\u044b:<\/p>\n<ul>\n<li>\n<p>\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0437\u0430\u0435\u0437\u0436\u0430\u0435\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0442\u0435\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. State-\u0444\u0430\u0439\u043b \u0440\u0430\u0441\u0442\u0451\u0442, \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Terraform \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c API \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. Terraform plan \u043c\u043e\u0436\u0435\u0442 \u0438\u0434\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u043e\u0434\u043d\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u043f\u0430\u0440\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0440\u0435\u0441\u0430\u0439\u0437\u0435 \u043f\u043e\u043b\u043e\u043c\u0430\u043b\u043e\u0441\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e PaaS-\u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441 \u043d\u0435\u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0432\u044b \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Terraform \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0431\u0443\u0434\u0435\u0442 \u0441\u043f\u043e\u0442\u044b\u043a\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0436\u0434\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0434\u0451\u0442 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438 \u043f\u043e\u0447\u0438\u043d\u0438\u0442 \u0437\u043b\u043e\u0441\u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u0434 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u2013 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0443\u0447\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u043f\u0430\u0441\u0442<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 CI\/CD-\u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d, \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043f\u043e\u043a\u0430 \u043a\u043e\u0434 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u0425\u0440\u0430\u043d\u0438\u043c\u044b\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u0434 Ansible \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0438\u0441\u043a\u0430\u0442\u044c<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u00ab\u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0438\u0441 \u2013 \u043e\u0434\u0438\u043d IaC-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\u00bb, \u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u0438\u0437 \u043e\u0431\u0449\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 CI\/CD \u0438 \u043e\u0447\u0435\u043d\u044c \u0436\u0430\u043b\u0435\u0435\u043c, \u0447\u0442\u043e \u043d\u0435 \u043d\u0430\u0447\u0430\u043b\u0438 \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430. \u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f &#8212; \u0433\u0435\u043d\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u043d\u0441\u043e\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u043b\u0433\u0430.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u0445\u0435\u043c\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ca\/9ba\/5c8\/6ca9ba5c86bb0ada422c4b7597bfb40d.png\" width=\"327\" height=\"462\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6ca\/9ba\/5c8\/6ca9ba5c86bb0ada422c4b7597bfb40d.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043f\u0440\u043e <a href=\"#cicd\" rel=\"noopener noreferrer nofollow\">CI\/CD<\/a><\/p>\n<p><a class=\"anchor\" name=\"terraform\" id=\"terraform\"><\/a><\/p>\n<h2>\u041a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c Terraform<\/h2>\n<h3>State-\u0444\u0430\u0439\u043b<\/h3>\n<p><a href=\"https:\/\/www.terraform.io\/language\/state\" rel=\"noopener noreferrer nofollow\">.tfstate <\/a>\u2013 \u043e\u0441\u043d\u043e\u0432\u0430 \u043e\u0441\u043d\u043e\u0432 Terraform, \u044d\u0442\u043e \u0444\u0430\u0439\u043b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c Terraform \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432\u0441\u044e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043e\u0442 API \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u0430\u0436\u0434\u043e\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u0432 \u043a\u043e\u0434\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0438 \u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 \u0432\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0435 \u0432 \u043a\u043e\u0434\u0435 \u0435\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0438\u043f \u0438 \u0440\u0430\u0437\u043c\u0435\u0440, \u043d\u043e \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u2013 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 ID, \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u0440., \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0431\u0443\u0434\u0443\u0442 Terraform, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a API \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0432 \u043a\u043e\u0434\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c.<\/p>\n<p>\u0425\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0442\u0435\u0439\u0442 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0434\u0451\u0436\u043d\u043e, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0438, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0441 \u043a\u043e\u0434\u043e\u043c \u043d\u0435 \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u041f\u041a, \u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 CI\/CD \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, state \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0430\u0448\u0438\u0445 \u043a\u043e\u043b\u043b\u0435\u0433, \u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0435\u043c-\u0442\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 state \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438.<\/p>\n<p>Terraform \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <a href=\"https:\/\/www.terraform.io\/language\/settings\/backends\" rel=\"noopener noreferrer nofollow\">\u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432 <\/a>\u2013 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0434\u043b\u044f \u0441\u0442\u0435\u0439\u0442\u0430. \u0427\u0430\u0441\u0442\u043e \u0434\u043b\u044f \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442 S3, \u043d\u043e, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u0430\u0448\u0435\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e VKCS \u0435\u0449\u0451 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0443\u043c\u0435\u043b \u0432 ACL, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/infrastructure\/iac\/terraform_state.html\" rel=\"noopener noreferrer nofollow\">Gitlab-managed Terraform state<\/a> \u2013 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0432 Gitlab \u0431\u044d\u043a\u0435\u043d\u0434\u043e\u043c \u0442\u0438\u043f\u0430 http \u0441 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c at rest, \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u043c\u0438. \u042d\u0442\u043e\u0442 \u0431\u044d\u043a\u0435\u043d\u0434 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 Gitlab CI\/CD.<\/p>\n<h3>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043c\u043e\u0434\u0443\u043b\u0438<\/h3>\n<p>\u041e\u0447\u0435\u043d\u044c \u0441\u043a\u043e\u0440\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e, \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, <a href=\"https:\/\/registry.terraform.io\/providers\/terraform-provider-openstack\/openstack\/latest\/docs\" rel=\"noopener noreferrer nofollow\">Terraform-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 Openstack<\/a> &#8212; \u0432\u0435\u0441\u044c\u043c\u0430 &#171;\u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u0439&#187; \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u0440\u0442\u044f\u043d\u043e\u043a \u0442\u0440\u0443\u0434\u043d\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043b\u0435\u0433\u0447\u0435 \u043b\u0451\u0433\u043a\u043e\u0433\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u043b\u043b\u0435\u0433 \u043f\u0438\u0441\u0430\u043b \u043a\u043e\u0434 \u0442\u0430\u043a, \u043a\u0430\u043a \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u043c\u0443, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043c\u0435\u043d\u0443\u044f \u0438 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u044f \u043f\u043e \u0444\u0430\u0439\u043b\u0430\u043c \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u0441\u043b\u043e\u0436\u043d\u043e, \u043c\u044b \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043e\u0448\u0438\u0431\u0430\u043b\u0438\u0441\u044c \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u0438\u043c\u0435\u043d\u0430\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u0441\u043f\u0430\u0441\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/p>\n<details class=\"spoiler\">\n<summary>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043e\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u043f\u043e\u0440\u0442\u044f\u043d\u043a\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code> resource \"openstack_networking_secgroup_v2\" \"i_example\" {     name        = \"i_example\"     description = \"Group to access some service\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_1\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 80     port_range_max    = 80     remote_ip_prefix  = \"10.10.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_2\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 80     port_range_max    = 80     remote_ip_prefix  = \"10.20.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_3\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 80     port_range_max    = 80     remote_ip_prefix  = \"10.30.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_4\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 80     port_range_max    = 80     remote_ip_prefix  = \"10.40.10.1\/32\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" }  resource \"openstack_networking_secgroup_rule_v2\" \"i_example_5\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 443     port_range_max    = 443     remote_ip_prefix  = \"10.10.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_6\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 443     port_range_max    = 443     remote_ip_prefix  = \"10.20.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_7\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 443     port_range_max    = 443     remote_ip_prefix  = \"10.30.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_8\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"tcp\"     port_range_min    = 443     port_range_max    = 443     remote_ip_prefix  = \"10.40.10.1\/32\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" } resource \"openstack_networking_secgroup_rule_v2\" \"i_example_9\" {     direction         = \"ingress\"     ethertype         = \"IPv4\"     protocol          = \"udp\"     port_range_min    = 9000     port_range_max    = 11000     remote_ip_prefix  = \"192.168.0.0\/24\"     security_group_id = \"${openstack_networking_secgroup_v2.i_example.id}\" }  data \"openstack_compute_flavor_v2\" \"standard-2-4-50\" {     name = \"Standard-2-4-50\" } data \"openstack_images_image_v2\" \"win2019en\" {     name = \"Windows-Server-2019Std-en.202105\" } locals {     winrm_cert = {         winrm-sf-prod-main = {             admin_cert0 = substr (filebase64(\"~\/.winrm\/winrm.der\"),0,255)             admin_cert1 = substr (filebase64(\"~\/.winrm\/winrm.der\"),255,255)             admin_cert2 = substr (filebase64(\"~\/.winrm\/winrm.der\"),510,255)             admin_cert3 = substr (filebase64(\"~\/.winrm\/winrm.der\"),765,255)         }     } } resource \"openstack_compute_keypair_v2\" \"ansible-key\" {     name       = \"ansible-key\"     public_key = file(\"~\/.ssh\/id_rsa.pub\") } resource \"openstack_blockstorage_volume_v2\" \"win-example-c\" { name     = \"win-example-c\" size     = 60 volume_type  = \"ceph-ssd\" availability_zone = \"MS1\" image_id = data.openstack_images_image_v2.win2019en.id } resource \"openstack_blockstorage_volume_v2\" \"win-example-bases\" { name     = \"win-example-bases\" size     = 120 volume_type  = \"ceph-ssd\" availability_zone = \"MS1\" } resource \"openstack_compute_instance_v2\" \"win-example\" {     availability_zone = \"MS1\"     name            = \"win-example\"     flavor_id       = data.openstack_compute_flavor_v2.standard-2-4-50.id     security_groups = [\"i_default\", \"o_default\", openstack_networking_secgroup_v2.i_example.name]     key_pair = \"ansible-key\"     network {         name = \"network-1\"         fixed_ip_v4 = \"10.0.0.10\"     }     block_device {         uuid                  = \"${openstack_blockstorage_volume_v2.win-example-c.id}\"         source_type           = \"volume\"         boot_index            = 0         destination_type      = \"volume\"         delete_on_termination = false     }     metadata = merge(         local.winrm_cert.winrm-sf-prod-main,             {                 os = \"windows\"                 os_ver = \"2019\"                 app = \"example\"             }         ) } resource \"openstack_compute_volume_attach_v2\" \"bases\" {     instance_id = \"${openstack_compute_instance_v2.win-example.id}\"     volume_id   = \"${openstack_blockstorage_volume_v2.win-example-bases.id}\" } resource \"dns_a_record_set\" \"dns\" {     zone = \"example.com.\"     name = openstack_compute_instance_v2.win-example.name     addresses = [         openstack_compute_instance_v2.win-example.network[0].fixed_ip_v4     ]     ttl = 300 }<\/code><\/pre>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a \u0442\u0430\u043a\u043e\u043c\u0443 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u043e\u043c\u0443 \u0438 \u0443\u0434\u043e\u0431\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>module \"i_example\" {     source      = \"git::https:\/\/github.com\/realscorp\/tf-openstack-vkcs-secgroup.git?ref=v1.0.0\"     name        = \"i_example\"     description = \"Group to access some service\"     rules = [{             direction               = \"ingress\"             protocol                = \"tcp\"             ports                   = [\"80\", \"443\"]             remote_ips = {                 \"Office 1\"          = \"10.10.0.0\/24\"                 \"Office 2\"          = \"10.20.0.0\/24\"                 \"Office 3\"          = \"10.30.0.0\/24\"                 \"Server\"            = \"10.40.10.1\"                 }             },             {             direction               = \"ingress\"             protocol                = \"udp\"             ports                   = [\"9000-11000\"]             remote_ips = {                 \"Remote access VPN\" = \"192.168.0.0\/24\"                 }             }] }  module \"win-example\" {     source          = \"git::https:\/\/github.com\/realscorp\/tf-openstack-vkcs-vm.git?ref=v1.0.0\"     name            = \"win-example\"     flavor          = \"standard-2-4-50\"     image           = \"Windows-Server-2019Std-en.202105\"     ssh_key_name    = \"ansible-key\"     winrm_cert_path = \"~\/.winrm\/winrm.der\"     metadata        = {             os              = \"windows\"             os_ver          = \"2019\"             app             = \"EXAMPLE\"         }     ports = [         {             network         = \"network-1\"             subnet          = \"subnet-1\"             ip_address      = \"\"             dns_record      = true             dns_zone        = \"example.com.\"             security_groups = [\"i_default\", \"o_default\"]             security_groups_ids = [module.i_example.id]         }     ]     volumes = {         root = {             type            = \"ceph-ssd\"             size            = 60         }         bases = {             type            = \"ceph-ssd\"             size            = 120         }     } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u043c\u0435\u043d\u0443\u044e\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443, \u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u043e\u043d\u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f.<\/p>\n<p>\u041c\u043e\u0434\u0443\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043d\u0430 \u0413\u0438\u0442\u0445\u0430\u0431\u0435: <a href=\"https:\/\/github.com\/realscorp\/tf-openstack-vkcs-vm\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b <\/a>\u0438 <a href=\"https:\/\/github.com\/realscorp\/tf-openstack-vkcs-secgroup\" rel=\"noopener noreferrer nofollow\">\u0433\u0440\u0443\u043f\u043f\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<p><a class=\"anchor\" name=\"ansible\" id=\"ansible\"><\/a><\/p>\n<h2>\u041a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c Ansible<\/h2>\n<h3>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438<\/h3>\n<p>\u041e\u0434\u043d\u0430 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432 Ansible \u2013 \u044d\u0442\u043e <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/intro_inventory.html#inventory-basics-formats-hosts-and-groups\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438<\/a>: \u0441\u043f\u0438\u0441\u043e\u043a \u0445\u043e\u0441\u0442\u043e\u0432, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438, \u0438\u043d\u043e\u0433\u0434\u0430, \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043d\u0438\u0445. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c\u0438 \u0412\u041c \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043b\u0430\u0434\u0435\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438 \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>\u0421\u0440\u0435\u0434\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Ansible, \u0443\u0436\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/collections\/openstack\/cloud\/openstack_inventory.html\" rel=\"noopener noreferrer nofollow\">\u043f\u043b\u0430\u0433\u0438\u043d <\/a>\u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438 Openstack, \u0438 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0448\u0438\u0442\u044c, \u043a\u0430\u043a \u0435\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0427\u0442\u043e \u043d\u0430\u043c \u0431\u044b\u043b\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442 \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0445\u043e\u0441\u0442\u043e\u0432 \u0438\u0437 \u043e\u0431\u043b\u0430\u043a\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u0440\u0443\u043f\u043f \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043e\u0431\u043b\u0430\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u0445\u043e\u0441\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0412\u041c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0434 \u0422\u0435\u0440\u0440\u0430\u0444\u043e\u0440\u043c<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u2013 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u0433\u043e\u0432, \u043d\u043e \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 VKCS \u0435\u0449\u0451 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u0433\u043e\u0432 \u043d\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b \u0447\u0435\u0440\u0435\u0437 Terraform (\u0442\u043e\u0447\u043d\u0435\u0435, \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0445 \u0437\u0430\u0434\u0430\u0442\u044c \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f). \u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0448\u0438\u0445 \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u0439 \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 Metadata \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f key\/value-\u0442\u0435\u0433\u043e\u0432 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438:<\/p>\n<details class=\"spoiler\">\n<summary>inventory\/openstack.yml<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"yaml\"># \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438 Openstack # \u0421\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c OS_ ############  # \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d plugin: \"openstack.cloud.openstack\" # \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u0438\u043c \u0440\u0430\u0437\u0431\u0438\u0442\u0438\u044f \u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u044b legacy_groups: false # \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0445\u043e\u0441\u0442\u0430\u043c \u043f\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c ip private: true  # \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c keyed_groups:   - prefix: mtag     key: openstack.metadata     parent_group: all     separator: \"_\"  # \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 compose:   # \u0415\u0441\u043b\u0438 \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u0430\u0442\u0435\u0433 ssh_external = yes, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 ansible \u043f\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443   ansible_host: openstack.public_v4 if 'yes' == openstack.metadata.ssh_external else openstack.private_v4   ansible_ssh_host: openstack.public_v4 if 'yes' == openstack.metadata.ssh_external else openstack.private_v4  # \u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 fail_on_errors: true <\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 metadata \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443:<\/p>\n<pre><code>os = linux os_ver = ubuntu20 app = nginx service = site1<\/code><\/pre>\n<p>\u0418 \u044d\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u044b <em>mtag_os_linux<\/em>, <em>mtag_os_ver_ubuntu20<\/em>, <em>mtag_app_nginx<\/em> \u0438 <em>mtag_service_site1<\/em>. \u0414\u043b\u044f \u0433\u0440\u0443\u043f\u043f, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u0442\u0438\u043f \u041e\u0421 \u0438 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432, \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 group_vars \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u0430 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u2013 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0430\u0441\u043a\u0438 \u0432 \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u0430\u0445.<\/p>\n<h3>WinRM<\/h3>\n<p>\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u0437\u0430\u0433\u0430\u0434\u043a\u043e\u0439 \u0434\u043b\u044f \u043d\u0430\u0441 \u0431\u044b\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 Ansible \u0441 Windows, \u0432\u0435\u0434\u044c \u0435\u0441\u043b\u0438 \u0434\u043b\u044f Linux \u0435\u0441\u0442\u044c ssh \u0441 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439, \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u0442\u043e \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0441 Windows?<\/p>\n<p>\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b WinRM, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 Ansible \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Windows (ssh \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d\u0430 <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/windows_setup.html#windows-ssh-setup\" rel=\"noopener noreferrer nofollow\">\u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043d<\/a>), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/windows_winrm.html#authentication-options\" rel=\"noopener noreferrer nofollow\">\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e <\/a>\u0441\u0445\u0435\u043c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p><strong>Basic<\/strong> \u2013 \u043f\u0440\u043e\u0441\u0442 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438, \u043d\u043e \u043d\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u0435\u043d \u043a \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0443 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u043c. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441 Ansible \u0435\u0449\u0451 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u0432\u0441\u0435 \u0412\u041c \u0441 Windows \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043b\u043e\u0433\u0438\u043d-\u043f\u0430\u0440\u043e\u043b\u044c \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>NTLM<\/strong> \u2013 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439, \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u043e\u0439\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u043f\u043b\u044e\u0441 \u0442\u0430 \u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u043e\u0431\u0449\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u0435\u043c, \u0447\u0442\u043e \u0438 \u0443 Basic. \u041f\u0440\u0438 \u0432\u0441\u0435\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>CredSSP<\/strong> \u2013 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e \u043b\u043e\u0433\u0438\u043d\u0443 \u0438 \u043f\u0430\u0440\u043e\u043b\u044e \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0439 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438. \u0421\u0435\u043a\u0440\u0435\u0442\u044b \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c, \u0447\u0435\u043c NTLM, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f, \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0445\u043e\u0441\u0442\u0430<\/p>\n<\/li>\n<li>\n<p><strong>Kerberos<\/strong> \u2013 \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u0432\u043e\u0434\u0430 \u0432\u0441\u0435\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432 \u0434\u043e\u043c\u0435\u043d, \u0447\u0442\u043e \u0432 \u043d\u0430\u0448\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442<\/p>\n<\/li>\n<li>\n<p><strong>Certificate<\/strong> \u2013 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0430\u0440\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f\/\u0437\u0430\u043a\u0440\u044b\u0442\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430. \u041e\u0447\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u043d\u043e \u0438 \u0441\u0430\u043c\u044b\u0439 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438: \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c WinRM, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u043c \u0438, \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u043c\u044b \u043e\u0442\u043a\u0440\u043e\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u0443\u043d\u044b\u043b\u0438 &#8212; \u0432\u044b\u0431\u043e\u0440 \u0431\u044b\u043b, \u043a\u0430\u043a \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u043c\u0435\u0436\u0434\u0443 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u043d\u044b\u043c\u0438 \u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043d\u0435\u0439 \u043f\u0440\u043e\u0448\u043b\u0438 \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 Powershell-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Certificate-based \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e \u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u043d\u0430\u0448\u0435\u043c\u0443 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044e, \u043f\u043e\u0441\u043b\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0440\u043e\u0432\u0435\u043d\u043d\u043e \u043f\u043b\u043e\u0445\u043e\u0439 <a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/index.html\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>, \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0441\u0430\u043c\u0443\u044e \u0433\u0440\u044f\u0437\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0437\u0430 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0437\u0430\u0431\u043e\u0442\u043b\u0438\u0432\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u0440\u044b <a href=\"https:\/\/cloudbase.it\/cloudbase-init\/\" rel=\"noopener noreferrer nofollow\">Cloubase-init<\/a> \u2013 Windows-\u0430\u043d\u0430\u043b\u043e\u0433\u0430 <a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/\" rel=\"noopener noreferrer nofollow\">cloud-init<\/a> \u0438\u0437 \u043c\u0438\u0440\u0430 Linux.<\/p>\n<p>\u0412\u043e \u0432\u0441\u0435\u0445 \u043e\u0431\u0440\u0430\u0437\u0430\u0445 Windows, \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 VKCS, \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Cloudbase-init, \u0438, \u0435\u0441\u043b\u0438 \u0432\u044b \u0432 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 userdata \u0438\u043b\u0438, \u043f\u043e\u0440\u0435\u0437\u0430\u0432 \u0435\u0433\u043e \u043d\u0430 \u043a\u0443\u0441\u043a\u0438, \u0432 metadata, \u0442\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 cloudbase \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e <a href=\"https:\/\/cloudbase.it\/windows-without-passwords-in-openstack\/\" rel=\"noopener noreferrer nofollow\">\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442 WinRM<\/a>. \u041f\u0430\u0440\u043e\u043b\u044c \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430. \u041e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u0432 group_vars \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u043e\u0432. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u0441 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u043e\u043c \u0443\u0441\u0438\u043b\u0438\u0439 \u0438 \u0438\u0437\u0431\u0435\u0436\u0430\u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430!<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438: \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u0442\u043e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u041d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043b\u0438\u0431\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0447\u0435\u0440\u0435\u0437 Powershell, \u043b\u0438\u0431\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0430\u043d\u0441.<\/p>\n<h3>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0441\u043e\u0432\u0435\u0442<\/h3>\n<p>\u0412\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435! \u0412\u0441\u0451 \u0438 \u0432\u0441\u0435\u0433\u0434\u0430! \u0424\u0438\u043a\u0441\u0438\u0440\u0443\u0439\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0435 \u0432 \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u0430\u0445. \u0424\u0438\u043a\u0441\u0438\u0440\u0443\u0439\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u043e\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435. \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u0433\u0438 \u0441 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0440\u043e\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 <a href=\"https:\/\/semver.org\/lang\/ru\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439<\/a>) \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044e \u0432 requirements.yml<\/p>\n<p>\u0411\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u044f\u043c \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0430\u0448 \u043a\u043e\u0434, \u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u0449\u0438\u043c \u043c\u0443\u0447\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>\u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0438 \u043a Terraform \u2013 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u0433\u0438 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0434\u043b\u044f \u0432\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e.\u00a0<\/p>\n<p><a class=\"anchor\" name=\"cicd\" id=\"cicd\"><\/a><\/p>\n<h2>CI? CD, \u044f \u0441\u0430\u043c \u043e\u0442\u043a\u0440\u043e\u044e<\/h2>\n<p>\u0412\u0441\u0435 \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e CI\/CD \u2013 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e (\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 <a href=\"https:\/\/martinfowler.com\/articles\/branching-patterns.html#continuous-integration\" rel=\"noopener noreferrer nofollow\">\u0424\u0430\u0443\u043b\u0435\u0440\u0430<\/a>), \u043d\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e \u043d\u0438\u0445.<\/p>\n<p>\u041f\u043e \u043c\u0435\u0440\u0435 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430\u0434 Terraform-\u043a\u043e\u0434\u043e\u043c \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043c\u044b \u043e\u0447\u0435\u043d\u044c, \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u043e\u0442 <em>\u0437\u043d\u0430\u043d\u0438\u044f<\/em> \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u0435\u0437 CI\/CD \u0436\u0438\u0442\u044c \u043f\u043b\u043e\u0445\u043e, \u043a <em>\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044e<\/em>. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u0434 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0442\u0435\u0445\u043b\u0438\u0434\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e \u0432 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0435 \u0434\u0435\u043b\u0430\u044f \u043f\u0443\u043b\u043b \u0438\u0437 \u043e\u0431\u0449\u0435\u0439 \u0440\u0435\u043f\u044b \u2013 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e, \u043d\u043e \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e.<\/p>\n<p>\u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, Gitlab \u0438\u043c\u0435\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f Terraform-\u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c state-\u0444\u0430\u0439\u043b \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c http-\u0431\u044d\u043a\u0435\u043d\u0434\u0435 (\u0441 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c) \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0432 <a href=\"https:\/\/gitlab.com\/gitlab-org\/terraform-images\/-\/blob\/master\/Dockerfile\" rel=\"noopener noreferrer nofollow\">\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u043c<\/a> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 <a href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\/-\/blob\/master\/lib\/gitlab\/ci\/templates\/Terraform\/Base.gitlab-ci.yml\" rel=\"noopener noreferrer nofollow\">\u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430<\/a>, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u043c \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0435 \u043c\u044b \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438.<\/p>\n<p>\u041d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0448\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 \u0441\u043e \u0432\u0441\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, Terraform, Ansible \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c Packer \u0438 \u043f\u0440.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u043b\u0435\u0439\u0432\u043e\u0440\u043e\u0432\/\u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u043e\u0435 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u2013 \u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 CI\/CD-\u043f\u0430\u0439\u043f\u043b\u0430\u043d\u0430, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u0431\u0435\u0437 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f Gitlab<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0432 \u0431\u043e\u0435\u0432\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 CI\/CD \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0432\u0435\u0440\u0441\u0438\u0439 \u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043a\u0430\u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0442\u0430\u043a \u0438 \u0432 \u0431\u043e\u0435\u0432\u043e\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 Ansible <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_tags.html#selecting-or-skipping-tags-when-you-run-a-playbook\" rel=\"noopener noreferrer nofollow\">&#8212;tags<\/a> \u0438 <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/intro_patterns.html#patterns-and-ad-hoc-commands\" rel=\"noopener noreferrer nofollow\">&#8212;limit<\/a><\/p>\n<\/li>\n<li>\n<p>\u0425\u043e\u0442\u044f \u0431\u044b \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0445\u043e\u0440\u043e\u0448\u0435\u043d\u044c\u043a\u043e \u043f\u043e\u043f\u043e\u0442\u0435\u0442\u044c \u043d\u0430\u0434 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 Gitlab \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0437\u0430 \u0432\u0430\u0439\u0442\u0431\u043e\u0440\u0434\u043e\u043c \u043d\u0430\u0434 \u0441\u0445\u0435\u043c\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u043d\u043e \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u0442\u0440\u0430\u0448\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/830\/943\/339\/830943339bc11915d05a4f97cfa51b0f.png\" width=\"1171\" height=\"895\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/830\/943\/339\/830943339bc11915d05a4f97cfa51b0f.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0421\u0442\u0440\u0430\u0448\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0432\u043e\u0440\u043a\u0444\u043b\u043e\u0443<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/428\/609\/1ef\/4286091ef187a76e999cc52c85c52bc7.png\" width=\"721\" height=\"1121\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/428\/609\/1ef\/4286091ef187a76e999cc52c85c52bc7.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p>\u041d\u0435\u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u043c\u0438:<\/p>\n<ol>\n<li>\n<p>IaC-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0432 Gitlab \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 Import by URL (\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438)<\/p>\n<\/li>\n<li>\n<p>\u0421\u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 \u0441\u0432\u043e\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u043e\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b<\/p>\n<\/li>\n<li>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0438 ssh-\u043a\u043b\u044e\u0447\u0435\u0439 \u0438 winrm-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 winrm-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0435\u0449\u0451 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d, \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 Linux, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0431\u0440\u0430\u0442\u044c ssh user@host, \u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u043e\u0439 \u043a\u043b\u044e\u0447\u0435\u0439, \u043b\u043e\u0433\u0438\u043d \u043f\u0440\u043e\u0439\u0434\u0451\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e. <\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 Windows-\u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u043f\u043e RDP, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u044f \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Openstack. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0431\u044b\u043b \u0443\u043a\u0430\u0437\u0430\u043d ssh-\u043a\u043b\u044e\u0447, \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0438 \u0434\u043b\u044f Linux.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b Ansible \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 ssh \u0438 WinRM \u2013 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f, \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0435\u0439 \u0438 \u0431\u043e\u0435\u0432\u044b\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u043b\u0435\u0439\u0432\u043e\u0440\u044b, \u0432\u044b\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u043b\u0438\u0431\u043e \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u0445 environment<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043a\u043e\u0434 \u0433\u043e\u0442\u043e\u0432 \u043a \u0434\u0435\u043f\u043b\u043e\u044e \u0432 \u0431\u043e\u0435\u0432\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0447\u0435\u0440\u0435\u0437 CI\/CD, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442 \u0432 .gitlab-ci.yml, \u043a\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u044b \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 push \u0432 main \u0438\u043b\u0438 merge request. \u041f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0441\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u0436\u043e\u0431\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0443\u0436\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 \u0438 \u0437\u0430\u0431\u043e\u0442\u043b\u0438\u0432\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442 \u0431\u043e\u0435\u0432\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430. \u0418\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u043a\u0430\u043a-\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u0442\u0440\u0430\u0431\u043b\u0448\u0443\u0442\u0438\u043d\u0433\u0430 (\u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u044d\u0442\u043e \u043d\u0435 \u0442\u044f\u043d\u0435\u0442) \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043a\u043e\u0434\u0430 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0432\u044b\u0432\u043e\u0434 \u0432 \u043b\u043e\u0433 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0445\u043e\u0447\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Ansible Vault \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0435\u043c\u0443 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0441\u043a\u0440\u0438\u043f\u0442 \u2013 \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c \u0432 CI\/CD-\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 Gitlab, \u0438 \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0441 \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u043b\u0435\u0439\u0432\u043e\u0440\u043e\u0432 \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0436\u043e\u0431\u044b \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 \u2013 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0448\u044c \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0443 \u0432 Gitlab, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u0447\u0435\u0440\u0435\u0437 Openstack CLI \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p>.gitignore \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 Gitlab \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0435\u0439\u0442\u043e\u0432.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u0434 <a href=\"https:\/\/github.com\/realscorp\/iac-gitlab-pipelines\" rel=\"noopener noreferrer nofollow\">\u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u043e\u0432<\/a>, <a href=\"https:\/\/github.com\/realscorp\/iac-gitlab-pipeline-helpers\" rel=\"noopener noreferrer nofollow\">\u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432<\/a>, <a href=\"https:\/\/github.com\/realscorp\/iac-gitlab-template\" rel=\"noopener noreferrer nofollow\">\u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432<\/a> \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0413\u0438\u0442\u0445\u0430\u0431\u0435.<\/p>\n<p><a class=\"anchor\" name=\"standards\" id=\"standards\"><\/a><\/p>\n<h2>\u041e \u043a\u0430\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u00ab\u043d\u0430 \u0437\u0435\u043c\u043b\u0435\u00bb<\/h2>\n<p>\u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u0439\u043c\u0438\u043d\u0433! <\/p>\n<p>\u042f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u00ab\u043f\u043e\u0432\u0451\u0440\u043d\u0443\u0442\u00bb \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u043d\u0435\u0439\u043c\u0438\u043d\u0433\u0430 \u2013 \u044d\u0434\u0430\u043a\u0438\u0439 \u043f\u043e\u0441\u0442\u0442\u0440\u0430\u0432\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0438\u043d\u0434\u0440\u043e\u043c \u043f\u043e\u0441\u043b\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0438\u043d\u0433\u0430 \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0445\u043e\u043b\u0434\u0438\u043d\u0433\u0435, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0447\u0430\u0441\u0430\u043c\u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u0432 AD \u043d\u0443\u0436\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438\u043b\u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0441\u0440\u0435\u0434\u0438 \u0441\u043e\u0442\u0435\u043d \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e \u0438 \u0431\u0435\u0441\u0442\u043e\u043b\u043a\u043e\u0432\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u044f\u043a\u043e\u0432\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043d\u0435\u0439\u043c\u0438\u043d\u0433 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0440\u0435\u0434\u0438 \u0442\u044b\u0441\u044f\u0447 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0438, \u0437\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0443, \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u044f \u0438 \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0435\u0439\u043c\u0438\u043d\u0433\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0432\u0440\u043e\u0434\u0435 \u0442\u0430\u043a\u043e\u0439:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/936\/2c0\/b22\/9362c0b222784690e1d6abe596886600.png\" width=\"1265\" height=\"338\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/936\/2c0\/b22\/9362c0b222784690e1d6abe596886600.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b:<\/p>\n<ul>\n<li>\n<p><strong>v-sql-qa<\/strong> \u2013 Microsoft SQL Server \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 QA-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>v-iis-app1-1<\/strong> \u2013 \u0412\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f 1, \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445<\/p>\n<\/li>\n<li>\n<p><strong>v-gitlab<\/strong> \u2013 \u0421\u0435\u0440\u0432\u0435\u0440 \u0413\u0438\u0442\u043b\u0430\u0431 <\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u043d\u0435\u0439\u043c\u0438\u043d\u0433\u0430 SG \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cf5\/425\/905\/cf5425905e87200abfd2cff9cb8b7571.png\" width=\"1588\" height=\"305\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf5\/425\/905\/cf5425905e87200abfd2cff9cb8b7571.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b Security Groups:<\/p>\n<ul>\n<li>\n<p><strong>i_default<\/strong> \u2013 \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 (\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0442.\u043f.)<\/p>\n<\/li>\n<li>\n<p><strong>i_int_web_office<\/strong> \u2013 \u0434\u043e\u0441\u0442\u0443\u043f \u043a http\/https \u0441 \u043e\u0444\u0438\u0441\u043d\u044b\u0445 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a<\/p>\n<\/li>\n<li>\n<p><strong>i_ext_smtp<\/strong> \u2013 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a smtp \u0438\u0437\u0432\u043d\u0435<\/p>\n<\/li>\n<li>\n<p><strong>o_int_saml<\/strong> \u2013 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 saml<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u043d\u0435\u0439\u043c\u0438\u043d\u0433\u0443 \u0435\u0441\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a <a href=\"https:\/\/www.terraform.io\/plugin\/sdkv2\/best-practices\/naming\" rel=\"noopener noreferrer nofollow\">Terraform, <\/a>\u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b <em>ans-role-<\/em> \u043a \u0440\u0435\u043f\u0430\u043c \u0441 \u0440\u043e\u043b\u044f\u043c\u0438 Ansible), \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043a\u0446\u0435\u043d\u0442 \u043d\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u0434\u0435 Ansible. \u0418\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0432 <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_variables.html#understanding-variable-precedence\" rel=\"noopener noreferrer nofollow\">22 \u043c\u0435\u0441\u0442\u0430\u0445 <\/a>\u0438 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432, \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0440\u043e\u043b\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043f\u043b\u0435\u044f. \u0414\u043b\u044f \u0441\u0435\u0431\u044f \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438, \u0447\u0442\u043e \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u043e\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0437 3-4 \u0431\u0443\u043a\u0432 \u043e\u0442 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u0440\u043e\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <em>wcmn_domain_join<\/em> \u2013 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0438\u0437 common-\u0440\u043e\u043b\u0438 \u0434\u043b\u044f Windows, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0430\u044f, \u043d\u0443\u0436\u043d\u043e \u043b\u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0432 \u0434\u043e\u043c\u0435\u043d.<\/p>\n<p><a class=\"anchor\" name=\"team\" id=\"team\"><\/a><\/p>\n<h2>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 IaC \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435<\/h2>\n<p>\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043a\u043e\u0434 \u2013 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u043a\u043e\u0434. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438\u0437 \u043c\u0438\u0440\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u2013 \u043a\u043e\u0434-\u0440\u0435\u0432\u044c\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0448\u0438\u0440\u043e\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438. \u0412\u0441\u0451, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u0439 \u0438\u0437 \u0432\u0435\u0442\u043a\u0438 main, \u043d\u0435 \u043c\u043e\u0433\u043b\u043e \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0442\u0443\u0434\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0435\u0440\u0434\u0436-\u0440\u0435\u043a\u0432\u0435\u0441\u0442 (MR) \u043d\u0430 \u0442\u0435\u0445\u043b\u0438\u0434\u0430. \u042d\u0442\u043e \u0431\u044b\u043b\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u041d\u0430 \u0436\u0438\u0432\u044b\u0445 \u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u0433<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430 \u0438 \u0432\u043c\u0435\u0441\u0442\u0435 \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u044b\u0432\u0430\u0442\u044c<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0443\u0437\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445 \u0438 \u0442\u0443\u0442 \u0436\u0435 \u0438\u0445 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0442\u043e \u0438 \u0441 \u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0437\u0430\u0441\u0442\u0440\u044f\u043b \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u0435\u0451 \u0440\u0435\u0448\u0438\u0442\u044c<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0445\u043b\u0438\u0434\u0430 (\u043c\u0435\u043d\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435) \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0431\u044b\u043b\u0430 \u043e\u043f\u0443\u0441\u0442\u043e\u0448\u0430\u044e\u0449\u0430\u044f. \u041f\u043e\u0441\u043b\u0435 \u043f\u0430\u0440\u044b \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u043e\u043b\u0435\u0439 \u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u043e\u0432, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u0433, \u0440\u0435\u0432\u044c\u044e \u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u0432 \u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0436\u0451\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0435\u0434\u043b\u0430\u0439\u043d\u0430 \u044f \u0441 \u0440\u0430\u0437\u043c\u0430\u0445\u0443 \u0432\u0440\u0435\u0437\u0430\u043b\u0441\u044f \u0432 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043d\u0435\u0440\u0432\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u043e\u043f\u044b\u0442.<\/p>\n<p>\u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u043a \u044d\u0442\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u0441\u0442\u044f\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0443\u0436\u0435 \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043d\u0430\u0443\u0447\u0438\u043b\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u044f \u0434\u043e\u043f\u0438\u0441\u0430\u043b \u0432\u0441\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043a\u0440\u043e\u0441\u0441-\u0440\u0435\u0432\u044c\u044e \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0433\u0440\u044b:<\/p>\n<ol>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0443, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u043e<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0432\u044b\u043a\u0430\u0442\u043a\u0435 \u0432 \u0431\u043e\u0439 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u041c\u0420 \u043d\u0430 \u043a\u043e\u0433\u043e-\u0442\u043e \u0438\u0437 \u043a\u043e\u043b\u043b\u0435\u0433, \u0442\u043e\u0442 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u0434, \u0437\u0430\u0434\u0430\u0451\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0432\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441 \u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0431\u043e\u044e, \u043d\u0435\u0441\u0440\u043e\u0447\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u0444\u0438\u043a\u0441\u044b \u0432\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u041c\u0420 \u043d\u0430 \u043a\u043e\u043b\u043b\u0435\u0433\u0443<\/p>\n<\/li>\n<li>\n<p>\u0421\u0440\u043e\u0447\u043d\u044b\u0435 \u0444\u0438\u043a\u0441\u044b \u0438 \u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u0443\u0448\u0430\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 main<\/p>\n<\/li>\n<\/ol>\n<p>\u0423 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0435\u0441\u0442\u044c \u043c\u0438\u043d\u0443\u0441\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u044b\u043a\u0430\u0442\u043a\u0438 \u0432 \u0431\u043e\u0439 \u043c\u043e\u0433\u0443\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u0431\u044b\u043b\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0438 \u0431\u043e\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0436\u0434\u0430\u0442\u044c \u041c\u0420 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u2013 \u0432\u0435\u0434\u044c \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u0435 \u0441\u0440\u043e\u0447\u043d\u044b\u0435, \u0438 \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u0434\u0443\u0442 \u0431\u0435\u0437 \u0440\u0435\u0432\u044c\u044e. \u041d\u043e \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u0414\u0430\u0436\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0449\u0451 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u0432\u0441\u0435\u0445 \u043d\u0430\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439. \u0414\u0430, \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0441\u0451 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u0430, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430 \u043c\u0438\u043d\u0443\u0442\u044b, \u0430 \u043d\u0435 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u0438, \u0430 \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0437\u0430 \u043f\u043e\u043b\u0447\u0430\u0441\u0430. \u0414\u0430, 100% \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0431\u0430\u0437\u043e\u0432\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u043a\u043e\u0434\u0435; \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0435\u0441\u0442\u044b, \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0430\u0432\u0442\u043e\u0440 \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u043d\u0430\u0439\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u0438\u043b\u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0442\u0430\u043b\u043e \u043f\u0440\u043e\u0449\u0435 \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u0438. <\/p>\n<p>\u041d\u043e \u0435\u0441\u0442\u044c \u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043e\u043b\u0433 \u0438\u0437-\u0437\u0430 \u043d\u0435\u0432\u0435\u0440\u043d\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0435\u0441\u0442\u044c \u0438 \u043d\u0435\u0437\u0430\u043a\u0440\u044b\u0442\u0430\u044f \u0435\u0449\u0451 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/semrush\/blog\/517382\/\" rel=\"noopener noreferrer nofollow\">immutable infrastructure<\/a>, \u0435\u0441\u0442\u044c \u0438 \u043f\u043b\u0430\u043d\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Cloud Native. \u041d\u043e \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0442\u0440\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0441\u0438\u043b. <\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u043a\u043e\u043c\u0443-\u0442\u043e, \u043a\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e \u0438\u043b\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0443 \u0432 IaC, \u043d\u0430\u0448 \u043e\u043f\u044b\u0442 \u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0441\u0432\u043e\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438 \u0431\u0435\u0437 \u043d\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0449\u0435\u043d\u0438\u044f \ud83d\ude42<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/656469\/\"> https:\/\/habr.com\/ru\/post\/656469\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption>\u00a9 Viktoria Popova<\/figcaption><\/figure>\n<p><em>\u0414\u0438\u0441\u043a\u043b\u0430\u0439\u043c\u0435\u0440: \u042f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e, \u043a\u0430\u043a\u0443\u044e \u0441\u0430\u043c \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u0433\u043e\u0434\u0430-\u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u043a\u043e. \u041c\u043d\u0435 \u0431\u044b \u043e\u043d\u0430 \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u0430 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0441\u0438\u043b\u044b, \u0432\u0440\u0435\u043c\u044f \u0438 \u043d\u0435\u0440\u0432\u044b \u2013 \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u0443-\u0442\u043e \u0435\u0449\u0451. \u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u0438\u0437\u044b, \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u043c\u043d\u043e\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b.<\/em><\/p>\n<p><em>\u041a\u0440\u0438\u0442\u0438\u043a\u0430 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442\u0441\u044f.<\/em><\/p>\n<h2>\u041a\u0440\u0430\u0442\u043a\u0438\u0435 \u0432\u0432\u043e\u0434\u043d\u044b\u0435<\/h2>\n<p>\u041a \u043a\u043e\u043d\u0446\u0443 2021 \u0433\u043e\u0434\u0430 \u043d\u0430\u0448\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0438\u0437 \u043f\u043e\u0447\u0442\u0438 \u0441\u043e\u0442\u043d\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043e\u043a \u043d\u0430 \u043f\u0430\u0440\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0430\u0440\u0435\u043d\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0438\u0445 \u0426\u041e\u0414\u043e\u0432 \u0438 \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0431\u043e\u043b\u044c\u044e \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438. \u041f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u0441\u0442\u043e\u043b\u044c \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u043c, \u0447\u0442\u043e \u0438\u0445 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c, \u043c\u044b \u043f\u043e\u0433\u0440\u044f\u0437\u043b\u0438 \u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445:<\/p>\n<ol>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440\u0430-<a href=\"https:\/\/dzone.com\/articles\/martin-fowler-snowflake\" rel=\"noopener noreferrer nofollow\">\u0441\u043d\u0435\u0436\u0438\u043d\u043a\u0438 <\/a>\u0432 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0435\u0439 \u0438\u0445 \u0444\u043e\u0440\u043c\u0435 (\u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u0432\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438)<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043d\u043e\u0441\u043e\u0440\u0442\u0438\u0446\u0430 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u0432, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u0432\u0435\u0440\u0441\u0438\u0439 \u041e\u0421 \u0438 \u041f\u041e<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043f\u043e \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u0447\u0435\u0433\u043e \u0431\u044b \u0442\u043e \u043d\u0438 \u0431\u044b\u043b\u043e<\/p>\n<\/li>\n<li>\n<p>\u041c\u0443\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u0431\u043e\u0435\u0432 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0435\u0440\u0432\u043e-\u043d\u0430\u043f\u0435\u0440\u0432\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0441\u0442\u0440\u043e\u0438\u043c \u043c\u044b \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 on-prem \u0441 \u0421\u0425\u0414, VmWare \u0438 MLAG-\u043e\u043c, \u0438\u043b\u0438, \u043f\u043e-\u043c\u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0432\u0435\u0440\u043d\u0443\u0432 \u0448\u0442\u0430\u043d\u044b, \u043a\u0430\u0442\u0438\u043c \u043a\u0430\u043c\u0435\u043d\u044c \u0432 \u0433\u043e\u0440\u0443 <a href=\"https:\/\/mcs.mail.ru\/blog\/raznica-mezhdu-iaas-paas-saas-statya-ob-oblakah-v-internete\" rel=\"noopener noreferrer nofollow\">IaaS<\/a>.<\/p>\n<h2>\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u0431\u043b\u0430\u043a\u043e<\/h2>\n<p>\u041c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e on-prem \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u043d\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0443\u044e\u0442\u0441\u044f \u0441\u043b\u0443\u0445\u0430\u043c\u0438, \u043f\u0440\u0435\u0434\u0440\u0430\u0441\u0441\u0443\u0434\u043a\u0430\u043c\u0438 \u0438 \u0448\u0435\u0441\u0442\u044b\u043c \u0447\u0443\u0432\u0441\u0442\u0432\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0441\u043e\u0431\u0440\u0430\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0435 \u043d\u0430\u0448\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 vCPU, vRAM, \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438 IOPs, \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f \u043f\u043e \u0430\u0440\u0435\u043d\u0434\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0438 \u043e\u0431\u044a\u0451\u043c\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0446\u0438\u0444\u0440\u044b. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u044e\u0436\u0438\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043d\u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0439, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435, \u0441\u043f\u0443\u0441\u0442\u044f \u043c\u0435\u0441\u044f\u0446-\u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0443\u0445\u043b\u0443\u044e \u0441\u0432\u043e\u0434\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0421\u0425\u0414, \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432, \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438, \u0421\u0420\u041a \u0438 \u043f\u0440\u043e\u0447\u0435\u0435 \u0441 \u0437\u0430\u0432\u0435\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439 \u0418\u0422\u041e\u0413\u041e \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u0443.<\/p>\n<p>\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u0431\u044b\u0442\u0443\u044e\u0449\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u043d\u0430 \u043d\u0430\u0448\u0438 \u043d\u0435 \u0441\u0430\u043c\u044b\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043e\u0431\u044a\u0451\u043c\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432 \u0441\u0443\u043c\u043c\u0435 3 \u043b\u0435\u0442 \u0430\u0440\u0435\u043d\u0434\u0430 IaaS \u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u0447\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 on-prem \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0412 \u0440\u0430\u0437\u0440\u0435\u0437\u0435 5 \u043b\u0435\u0442 &#8212; \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u043e\u0436\u0435, \u043d\u043e \u043f\u0440\u0438 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441 \u043e\u0431\u043b\u0430\u043a\u043e\u043c \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435, \u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043b\u0435\u0433\u0447\u0435, \u0447\u0435\u043c \u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u043a\u043e\u0444\u0435, \u0432\u044b\u0431\u043e\u0440 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 IaaS \u0431\u044b\u043b \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u043c.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u0438\u0437 \u0448\u043e\u0440\u0442-\u043b\u0438\u0441\u0442\u0430. \u041c\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438: \u043e\u0442 SLA \u0438 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 IOPs \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0434\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439. \u0422\u0435\u0441\u0442\u044b, \u0442\u0435\u0441\u0442\u044b, \u0442\u0435\u0441\u0442\u044b, \u043f\u043e\u0442\u043e\u043c \u043c\u0438\u0442\u0438\u043d\u0433\u0438 \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430\u043c\u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u0438 \u0441\u043d\u043e\u0432\u0430 \u0442\u0435\u0441\u0442\u044b &#8212; \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0441\u0430\u043c\u0430\u044f \u0434\u043e\u043b\u0433\u0430\u044f \u0438 \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442.<\/p>\n<p>\u041f\u043e \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u0432\u044b\u0431\u043e\u0440 \u043d\u0430 <a href=\"https:\/\/mcs.mail.ru\/\" rel=\"noopener noreferrer nofollow\">VKCS <\/a>(\u0442\u043e\u0433\u0434\u0430 \u0435\u0449\u0451 Mail.ru Cloud Solutions). <\/p>\n<h2>\u041f\u043e\u0447\u0435\u043c\u0443 Infrastructure As Code<\/h2>\n<p>\u041e\u0431\u043b\u0430\u043a\u043e \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u0440\u0435\u0448\u0430\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b #2-4, \u043d\u043e lift-and-shift \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0440\u0435\u0448\u0438\u043b\u0430 \u0431\u044b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 #1 \u0441 \u0445\u0430\u043e\u0441\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432-\u0441\u043d\u0435\u0436\u0438\u043d\u043e\u043a. \u041c\u044b \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Infrastructure_as_code\" rel=\"noopener noreferrer nofollow\">Infrastructure As Code<\/a> \u0434\u0430\u0441\u0442 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 <a href=\"https:\/\/www.redhat.com\/en\/topics\/automation\/what-is-infrastructure-as-code-iac\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430<\/a>. \u0414\u0430\u0436\u0435 \u0434\u043b\u044f \u0442\u0435\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u043e\u043b\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u043e\u0436\u043d\u043e (\u043f\u0440\u0438\u0432\u0435\u0442, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 1\u0421, \u043a\u0430\u043a \u0442\u0430\u043c \u0442\u0432\u043e\u0439 2007\u0439 \u0433\u043e\u0434?) \u0438\u043b\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c IaC \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u041e\u0421.<\/p>\n<p>\u041d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u0430\u0440\u043e\u0432\u043e\u0437 \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u043b\u043e\u0448\u0430\u0434\u0438 \u2013 \u044d\u0442\u043e \u043e\u0434\u043d\u043e, \u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0430\u0440\u043e\u0432\u043e\u0437\u043e\u043c \u0438, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u2013 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0435. \u0414\u0435\u0441\u044f\u0442\u043a\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 \u043c\u043e\u0433\u0443\u0442 \u0434\u0430\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0440\u0435\u0448\u0430\u0435\u0442 IaC \u0438 \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0440\u044b\u043d\u043a\u0435, \u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c \u2013 \u043a\u0430\u043a \u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0440\u0430\u0432\u043d\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u0438\u0437\u0435. <\/p>\n<p>\u041f\u043e \u043c\u0435\u0440\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438, \u043d\u0435 \u0438\u043c\u0435\u044f \u0435\u0449\u0451 \u043e\u043f\u044b\u0442\u0430, \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043d\u0438\u044f \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0438 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0435\u0434\u043b\u0430\u0439\u043d\u0430:<\/p>\n<ul>\n<li>\n<p><a href=\"#tools\" rel=\"noopener noreferrer nofollow\">\u0422\u0443\u043b\u0438\u043d\u0433<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#vpc\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 VPC<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#network\" rel=\"noopener noreferrer nofollow\">\u0427\u0442\u043e, \u0432\u043e \u0438\u043c\u044f \u0432\u0441\u0435\u0445 CCIE, \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u044c\u044e<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#repos\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0432\u044b\u0431\u0440\u0430\u0442\u044c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#terraform\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c Terraform<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#ansible\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c Ansible<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#cicd\" rel=\"noopener noreferrer nofollow\">CI? CD, \u044f \u0441\u0430\u043c \u043e\u0442\u043a\u0440\u043e\u044e<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#standards\" rel=\"noopener noreferrer nofollow\">\u041e \u043a\u0430\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u00ab\u043d\u0430 \u0437\u0435\u043c\u043b\u0435\u00bb<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#team\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 IaC \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u0432\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043d\u0430\u0448\u043b\u0438, \u0433\u0440\u0430\u0431\u043b\u0438, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u043f\u0440\u043e\u0448\u043b\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0441\u043e\u0437\u0434\u0430\u043b\u0438.<\/p>\n<p><a class=\"anchor\" name=\"tools\" id=\"tools\"><\/a><\/p>\n<h2>\u0422\u0443\u043b\u0438\u043d\u0433<\/h2>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 SCM \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 <a href=\"https:\/\/www.ansible.com\/\" rel=\"noopener noreferrer nofollow\">Ansible <\/a>\u2013 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043f\u043e Ansible \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u0438, \u0430 Chef \u0438\u043b\u0438 Puppet \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0443\u0447\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435\u043c. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Ansible <a href=\"https:\/\/www.slintel.com\/tech\/configuration-management\/ansible-market-share#alternatives-and-competitors\" rel=\"noopener noreferrer nofollow\">\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 <\/a>\u043d\u0430 \u0440\u044b\u043d\u043a\u0435, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 <a href=\"https:\/\/www.terraform.io\/\" rel=\"noopener noreferrer nofollow\">Terraform <\/a>\u2013 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <a href=\"https:\/\/aws.amazon.com\/ru\/cloudformation\/\" rel=\"noopener noreferrer nofollow\">Cloudformation <\/a>\u0441\u043b\u0430\u0431\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u043a Openstack-\u043e\u0431\u043b\u0430\u043a\u0443, \u0430 <a href=\"https:\/\/www.pulumi.com\/\" rel=\"noopener noreferrer nofollow\">Pulumi <\/a>\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0437\u043d\u0430\u043d\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u0442\u043e\u0438\u043b\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/terragrunt.gruntwork.io\/\" rel=\"noopener noreferrer nofollow\">Terragrunt<\/a>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0441 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u043c Terraform \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u043e\u0432.<\/p>\n<p>\u0414\u043b\u044f CI\/CD-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u044e\u0449\u0438\u0439\u0441\u044f self-hosted \u0438\u043d\u0441\u0442\u0430\u043d\u0441 <a href=\"https:\/\/about.gitlab.com\/\" rel=\"noopener noreferrer nofollow\">Gitlab<\/a>, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043c\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0434\u0451\u0442 \u0432\u0440\u0435\u043c\u044f \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043e\u043b\u044c\u0451\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u043c, \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0438\u043b\u0438\u044f \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 IDE \u0432\u044b\u0431\u0440\u0430\u043b\u0438 <a href=\"https:\/\/code.visualstudio.com\/\" rel=\"noopener noreferrer nofollow\">Visual Studio Code<\/a> \u2013 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0434\u043b\u044f IaC (<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=redhat.ansible\" rel=\"noopener noreferrer nofollow\">Ansible<\/a>, <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=HashiCorp.terraform\" rel=\"noopener noreferrer nofollow\">Terraform<\/a>, <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=GitLab.gitlab-workflow\" rel=\"noopener noreferrer nofollow\">Gitlab<\/a>), \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 GUI \u0434\u043b\u044f \u0433\u0438\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0432\u0445\u043e\u0434 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 WSL.<\/p>\n<p><a class=\"anchor\" name=\"vpc\" id=\"vpc\"><\/a><\/p>\n<h2>\u041a\u0430\u043a \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u044b<\/h2>\n<p>\u0412 \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 VKCS \u00ab<a href=\"https:\/\/mcs.mail.ru\/docs\/additionals\/start\/user-account\/project-roles-users#proekt\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c<\/a>\u00bb \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f VPC \u0432 AWS \u2013 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u043e\u0434 \u0435\u0434\u0438\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043e\u0442\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u0432 \u043e\u0434\u043d\u0443 \u0441\u0435\u0442\u044c \u0438\u043b\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044c, \u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0441\u0432\u044f\u0437\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 VPN. \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0440\u0443\u043b\u0441\u0435\u0442\u043e\u0432 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430, \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0438 \u0442.\u043f. \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u041a\u043e\u0440\u043e\u0442\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u2013 \u044d\u0442\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u043e\u0431\u043b\u0430\u043a\u043e.<\/p>\n<p>\u041d\u0443\u0436\u043d\u043e \u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0430\u0448\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u044b?<\/p>\n<p>\u041f\u043b\u044e\u0441\u044b \u0434\u0435\u043b\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043a\u043e\u0443\u043f\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u2013 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0434\u0435\u043b\u0438\u0442\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u043e\u043b\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043d\u0435 \u0431\u043e\u044f\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0435 \u043e\u043f\u0430\u0441\u0430\u044f\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0434\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u0438\u043d\u0443\u0441\u044b \u0434\u0435\u043b\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u041d\u0443\u0436\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0438\u043b\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0412 Terraform-\u043a\u043e\u0434\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/www.terraform.io\/language\/state\/remote-state-data\" rel=\"noopener noreferrer nofollow\">remote state<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430\u043c\u0438<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0441\u0435\u0431\u044f \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441, \u0432\u044b\u0434\u0435\u043b\u0438\u0432 3 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: <\/p>\n<details class=\"spoiler\">\n<summary>\u0422\u0438\u043f\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/details>\n<p><strong>Playground<\/strong> \u2013 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041a\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e Ansible \u0438 Terraform \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0434\u0430\u043b\u0435\u043a\u0438 \u043e\u0442 \u043d\u0443\u043b\u044f, \u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 IaC \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u0440\u043e\u043a, \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043b\u044e\u0434\u044f\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c. \u041b\u044e\u0431\u043e\u0439 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0439 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043b\u044e\u0431\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0435, \u043a\u0430\u043a \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0442\u0430\u043a \u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 CI\/CD-\u043f\u0430\u0439\u043f\u043b\u0430\u043d \u043a\u043e\u0434\u0430 Terraform.<\/p>\n<p><strong>Production<\/strong> \u2013 \u0431\u043e\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u0436\u0438\u0432\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u2013 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445.<\/p>\n<p><strong>DevQA<\/strong> \u2013 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<p>\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c core-\u043e\u0431\u044a\u0435\u043a\u0442\u044b: \u0441\u0435\u0442\u0438, \u043f\u043e\u0434\u0441\u0435\u0442\u0438, \u0433\u0435\u0439\u0442\u0432\u0435\u0438, \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430, \u0440\u043e\u0443\u0442\u0435\u0440\u044b \u0434\u043b\u044f vpn-\u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442.\u043f., \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d.<\/p>\n<p><a class=\"anchor\" name=\"network\" id=\"network\"><\/a><\/p>\n<h2>\u0427\u0442\u043e, \u0432\u043e \u0438\u043c\u044f \u0432\u0441\u0435\u0445 CCIE, \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u044c\u044e<\/h2>\n<p>\u041c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0438, \u0447\u0442\u043e \u0441\u0435\u0442\u044c \u2013 \u043e\u0441\u043d\u043e\u0432\u0430 \u043e\u0441\u043d\u043e\u0432, \u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0439\u0442\u0438 \u0434\u043e\u0440\u043e\u0433\u043e. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, cloud-native \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, vlan-\u0430\u0445, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0441\u0442\u0430\u0440\u043e\u043c\u043e\u0434\u043d\u044b\u0445 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044f\u0445, \u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 PaaS. \u041d\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043e\u0444\u0442\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438 \u043f\u0440\u043e\u0434\u0430\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0433\u043e. \u0412 \u043d\u0430\u0448\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u0440\u043e\u043c\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0443\u0441\u043b\u0443\u0433\u0438. <\/p>\n<h3>\u041f\u043e\u0434\u0441\u0435\u0442\u0438<\/h3>\n<p>\u0421\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u2013 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 \u0441\u0442\u0430\u0440\u044b\u0445-\u0434\u043e\u0431\u0440\u044b\u0445 \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437 \u0441\u0435\u0442\u044f\u0445. \u0412\u044b \u0434\u0435\u043b\u0438\u0442\u0435 \u0441\u0435\u0442\u044c \u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0432 vlan \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u0438 \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b, \u0447\u0442\u043e\u0431\u044b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0434\u0441\u0435\u0442\u044f\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0438\u0437\u0432\u043d\u0435, \u043f\u0440\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438, \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u043e\u0439 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u043e \u0432\u0441\u0435\u0439 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0441\u0435\u0442\u044c\u044e \u0432\u043e vlan \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b \u043f\u0435\u0440\u0435\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u2013 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 VKCS \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"https:\/\/mcs.mail.ru\/docs\/ru\/networks\/vnet\/firewall\/secgroups\" rel=\"noopener noreferrer nofollow\">Security Group<\/a>. \u00ab\u0413\u0440\u0443\u043f\u043f\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438\u00bb \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0439, \u0432 \u043a\u0430\u043a\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438, \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0438 \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0440\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b \u043d\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437 \u041e\u0421 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0432 \u044d\u0442\u043e\u043c \u043e\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0443. <\/p>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 SG \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435, \u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u0432 \u0446\u0435\u043b\u044f\u0445 \u0418\u0411 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u043e \u0441\u043c\u044b\u0441\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0441\u0435\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u2013 \u044d\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432, \u0438 \u043d\u0435 \u043d\u0435\u0441\u0451\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.<\/p>\n<h3>\u0413\u0440\u0443\u043f\u043f\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>\u0413\u0440\u0443\u043f\u043f\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 <strong>default<\/strong>, \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0412\u041c \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0441\u0435\u043c \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430\u043c \u0431\u0435\u0441\u043f\u0440\u0435\u043f\u044f\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0412\u041c \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u2013 \u043d\u0435\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u043b\u043e\u0441\u043a\u043e\u0439 \u0441\u0435\u0442\u0438. \u042d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0430\u0436\u043d\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0430\u0441 \u0442\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b.<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SG \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u2013 \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0412\u041c \u0438\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u0430 \u0412\u041c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430) \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0442\u0435\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c, \u043f\u043e\u0440\u0442\u0430\u043c \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c, \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f. \u042d\u0442\u043e \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Network_Lateral_Movement\" rel=\"noopener noreferrer nofollow\">lateral movement<\/a> \u0434\u043b\u044f \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430 \u0438\u043b\u0438 \u043c\u0430\u043b\u0432\u0430\u0440\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>\u0414\u043b\u044f \u0441\u0435\u0431\u044f \u043c\u044b<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-330853","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=330853"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330853\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=330853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=330853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=330853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}