{"id":28803,"date":"2023-07-01T01:51:44","date_gmt":"2023-06-30T22:21:44","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/"},"modified":"2023-07-01T01:51:44","modified_gmt":"2023-06-30T22:21:44","slug":"running-vs-code-server-on-aws-51h6","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/","title":{"rendered":"\u0627\u062c\u0631\u0627\u06cc \u0633\u0631\u0648\u0631 VS Code \u062f\u0631 AWS"},"content":{"rendered":"<div data-article-id=\"1522298\" id=\"article-body\">\n<p>\u0645\u0646 \u0639\u0627\u0634\u0642 \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u0647\u0633\u062a\u0645!  \u0645\u0646 \u0639\u0627\u0634\u0642 \u0646\u0648\u0634\u062a\u0646 \u0647\u0633\u062a\u0645!  \u0645\u0646 \u0639\u0627\u0634\u0642 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc\u060c \u062a\u0644\u0627\u0634 \u0648 \u0628\u0627\u0632\u06cc \u0628\u0627 \u062e\u062f\u0645\u0627\u062a \u062c\u062f\u06cc\u062f AWS \u0647\u0633\u062a\u0645.  \u0645\u0634\u06a9\u0644 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647 \u0644\u067e \u062a\u0627\u067e\u0645 \u0628\u0631\u0627\u06cc \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0631\u0645.  \u0645\u0646 GitHub CodeSpaces \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0631\u062f\u0645 \u0627\u0645\u0627 \u0648\u0627\u0642\u0639\u0627\u064b \u0627\u0632 \u0627\u06cc\u0646 \u062a\u062c\u0631\u0628\u0647 \u062e\u0648\u0634\u0645 \u0646\u06cc\u0627\u0645\u062f.  \u0645\u0646 \u0628\u0647 \u0686\u06cc\u0632\u06cc \u0645\u0634\u0627\u0628\u0647 \u0627\u0645\u0627 \u0645\u062a\u0641\u0627\u0648\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0645.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%D9%87%D8%AF%D9%81\" >\u0647\u062f\u0641<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%DA%A9%D8%AF_VS\" >\u06a9\u062f VS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%D8%B1%D8%A7%D9%87_%D8%AD%D9%84\" >\u0631\u0627\u0647 \u062d\u0644<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#VPC_%D9%88_LaunchTemplate_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >VPC \u0648 LaunchTemplate \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%D9%86%D9%85%D9%88%D9%86%D9%87_EC2_%D8%B1%D8%A7_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#VSCode_%D8%B1%D8%A7_%D8%AF%D8%B1_%D9%86%D9%85%D9%88%D9%86%D9%87_%D8%B4%D8%B1%D9%88%D8%B9_%DA%A9%D9%86%DB%8C%D8%AF\" >VSCode \u0631\u0627 \u062f\u0631 \u0646\u0645\u0648\u0646\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D9%85%D9%82%D8%AF%D8%A7%D8%B1%DB%8C_%D8%A7%D8%AA%D9%88%D9%85%D8%A7%D8%B3%DB%8C%D9%88%D9%86_%D8%A7%D8%B6%D8%A7%D9%81%DB%8C\" >\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0642\u062f\u0627\u0631\u06cc \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0627\u0636\u0627\u0641\u06cc<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%DA%AF%D9%88%DA%86%D8%A7%D8%B3\" >\u06af\u0648\u0686\u0627\u0633<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C_%D9%88_%D9%85%D8%B1%D8%AD%D9%84%D9%87_%D8%A8%D8%B9%D8%AF%DB%8C\" >\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/running-vs-code-server-on-aws-51h6\/#%DA%A9%D9%84%D9%85%D8%A7%D8%AA_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C\" >\u06a9\u0644\u0645\u0627\u062a \u067e\u0627\u06cc\u0627\u0646\u06cc<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%87%D8%AF%D9%81\"><\/span>\n<p>  \u0647\u062f\u0641<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0647\u062f\u0641 \u0627\u06cc\u062c\u0627\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a\u06cc \u0628\u0648\u062f \u06a9\u0647 \u0628\u0647 \u0645\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 VS Code \u0627\u0632 \u062a\u0628\u0644\u062a \u0627\u0646\u062f\u0631\u0648\u06cc\u062f\u06cc \u062e\u0648\u062f \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u06a9\u0646\u0645.  \u0645\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u06cc\u06a9 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u06a9\u0627\u0645\u0644 \u0628\u0627 SSH\u060c AWS CLI\u060c Git \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u062f\u0627\u0634\u062a\u0645.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u062c\u0631\u0627\u06cc \u0622\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0631\u0648\u06cc \u062a\u0628\u0644\u062a \u06af\u0632\u06cc\u0646\u0647 \u0627\u06cc \u0646\u06cc\u0633\u062a\u060c \u062d\u062a\u06cc \u0627\u06af\u0631 \u0646\u0635\u0628 \u0648 \u0627\u062c\u0631\u0627 \u0634\u062f\u0646 \u0622\u0646 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0628\u0627\u0634\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%A9%D8%AF_VS\"><\/span>\n<p>  \u06a9\u062f VS<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>VS Code \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0628\u062e\u0634 \u0645\u0634\u062a\u0631\u06cc \u0648 \u0633\u0631\u0648\u0631 \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0647\u0631 \u062f\u0648 \u0628\u062e\u0634 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0648 \u0633\u0631\u0648\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0631\u0648\u06cc \u06cc\u06a9 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u06cc\u0627 \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u062c\u0631\u0627 \u0634\u0648\u0646\u062f.  \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u06cc\u06a9 \u0628\u062e\u0634 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0627\u0633\u0627\u0633\u0627\u064b \u0627\u0632 \u0647\u0631 \u062c\u0627\u06cc\u06cc\u060c \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u06cc\u06a9 \u0648\u0628 \u06a9\u0644\u0627\u06cc\u0646\u062a \u06cc\u0627 \u0645\u0633\u062a\u0642\u0644 \u0628\u0627\u0634\u062f\u060c \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p><\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u062a\u0648\u0633\u0639\u0647 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0645\u0627\u0646\u0646\u062f SSH \u06cc\u0627 \u062d\u0627\u0644\u062a \u062a\u0648\u0646\u0644 \u0648\u06cc\u0698\u0647 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%AD%D9%84\"><\/span>\n<p>  \u0631\u0627\u0647 \u062d\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0627 \u062f\u0631\u06a9 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 VS Code\u060c \u0627\u062c\u0631\u0627\u06cc \u0628\u062e\u0634 \u0633\u0631\u0648\u0631 \u062f\u0631 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u0648 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0622\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 vscode.dev\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0648\u0646\u0644 \u0648\u06cc\u0698\u0647\u060c \u0628\u0627\u06cc\u062f \u06a9\u0627\u0645\u0644\u0627\u064b \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0628\u0627\u0634\u062f.  \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u06a9\u0647 \u0627\u0632 \u062a\u0628\u0644\u062a \u0627\u0646\u062f\u0631\u0648\u06cc\u062f\u06cc \u0645\u0646 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.  \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc VS Code \u062f\u0631 \u0646\u0645\u0648\u0646\u0647 EC2 \u0627\u0632 VS Code CLI \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645<\/p>\n<h3><span class=\"ez-toc-section\" id=\"VPC_%D9%88_LaunchTemplate_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  VPC \u0648 LaunchTemplate \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0648\u0644 \u0627\u0632 \u0647\u0645\u0647 \u0645\u0627 \u0628\u0647 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645\u060c \u0648 \u0628\u0631\u0627\u06cc \u062f\u0627\u0634\u062a\u0646 \u0622\u0646\u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 VPC \u0627\u0648\u0644\u06cc\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0627\u0644\u06af\u0648\u06cc \u0627\u0648\u0644\u06cc\u0647 Cloudformation \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">AWSTemplateFormatVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2010-09-09\"<\/span>\n<span class=\"na\">Transform<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::Serverless-2016-10-31<\/span>\n<span class=\"na\">Description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">setup basic VPC<\/span>\n\n<span class=\"na\">Parameters<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">ApplicationName<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">String<\/span>\n  <span class=\"na\">IPSuperSet<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">String<\/span>\n    <span class=\"na\">Description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">The IP Superset to use for the VPC CIDR range, e.g <\/span><span class=\"m\">10.0<\/span>\n    <span class=\"na\">Default<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">10.0\"<\/span>\n\n<span class=\"na\">Resources<\/span><span class=\"pi\">:<\/span>\n  <span class=\"c1\">##########################################################################<\/span>\n  <span class=\"c1\">#  VPC Base Infrastructure                                               #<\/span>\n  <span class=\"c1\">##########################################################################<\/span>\n  <span class=\"na\">VPC<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::VPC<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">EnableDnsSupport<\/span><span class=\"pi\">:<\/span> <span class=\"no\">true<\/span>\n      <span class=\"na\">EnableDnsHostnames<\/span><span class=\"pi\">:<\/span> <span class=\"no\">true<\/span>\n      <span class=\"na\">CidrBlock<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Sub<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">${IPSuperSet}.0.0\/16\"<\/span>\n      <span class=\"na\">Tags<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">Key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Name<\/span>\n          <span class=\"na\">Value<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">ApplicationName<\/span>\n\n  <span class=\"na\">PublicSubnetOne<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::Subnet<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">AvailabilityZone<\/span><span class=\"pi\">:<\/span>\n        <span class=\"s\">Fn::Select:<\/span>\n          <span class=\"s\">- <\/span><span class=\"m\">0<\/span>\n          <span class=\"pi\">-<\/span> <span class=\"s\">Fn::GetAZs: { Ref<\/span><span class=\"err\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">AWS::Region\"<\/span> <span class=\"err\">}<\/span>\n      <span class=\"na\">VpcId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">VPC<\/span>\n      <span class=\"na\">CidrBlock<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Sub<\/span> <span class=\"s\">${IPSuperSet}.0.0\/24<\/span>\n      <span class=\"na\">MapPublicIpOnLaunch<\/span><span class=\"pi\">:<\/span> <span class=\"no\">true<\/span>\n      <span class=\"na\">Tags<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">Key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Name<\/span>\n          <span class=\"na\">Value<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Sub<\/span> <span class=\"s\">${ApplicationName}-public-one<\/span>\n\n  <span class=\"na\">PublicSubnetTwo<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::Subnet<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">AvailabilityZone<\/span><span class=\"pi\">:<\/span>\n        <span class=\"s\">Fn::Select:<\/span>\n          <span class=\"s\">- <\/span><span class=\"m\">1<\/span>\n          <span class=\"pi\">-<\/span> <span class=\"s\">Fn::GetAZs: { Ref<\/span><span class=\"err\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">AWS::Region\"<\/span> <span class=\"err\">}<\/span>\n      <span class=\"na\">VpcId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">VPC<\/span>\n      <span class=\"na\">CidrBlock<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Sub<\/span> <span class=\"s\">${IPSuperSet}.1.0\/24<\/span>\n      <span class=\"na\">MapPublicIpOnLaunch<\/span><span class=\"pi\">:<\/span> <span class=\"no\">true<\/span>\n      <span class=\"na\">Tags<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">Key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Name<\/span>\n          <span class=\"na\">Value<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Sub<\/span> <span class=\"s\">${ApplicationName}-public-two<\/span>\n\n  <span class=\"c1\">##########################################################################<\/span>\n  <span class=\"c1\">#  Gateways                                                              #<\/span>\n  <span class=\"c1\">##########################################################################<\/span>\n  <span class=\"na\">InternetGateway<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::InternetGateway<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">Tags<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">Key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Name<\/span>\n          <span class=\"na\">Value<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">ApplicationName<\/span>\n\n  <span class=\"na\">GatewayAttachement<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::VPCGatewayAttachment<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">VpcId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">VPC<\/span>\n      <span class=\"na\">InternetGatewayId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">InternetGateway<\/span>\n\n  <span class=\"c1\">##########################################################################<\/span>\n  <span class=\"c1\">#  Route Tables &amp; Routes                                                 #<\/span>\n  <span class=\"c1\">##########################################################################<\/span>\n  <span class=\"na\">PublicRouteTable<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::RouteTable<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">VpcId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">VPC<\/span>\n      <span class=\"na\">Tags<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">Key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Name<\/span>\n          <span class=\"na\">Value<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Sub<\/span> <span class=\"s\">${ApplicationName}-public-rt<\/span>\n\n  <span class=\"na\">PublicRoute<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::Route<\/span>\n    <span class=\"na\">DependsOn<\/span><span class=\"pi\">:<\/span> <span class=\"s\">GatewayAttachement<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">RouteTableId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">PublicRouteTable<\/span>\n      <span class=\"na\">DestinationCidrBlock<\/span><span class=\"pi\">:<\/span> <span class=\"s\">0.0.0.0\/0<\/span>\n      <span class=\"na\">GatewayId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">InternetGateway<\/span>\n\n  <span class=\"na\">PublicSubnetOneRouteTableAssociation<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::SubnetRouteTableAssociation<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">SubnetId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">PublicSubnetOne<\/span>\n      <span class=\"na\">RouteTableId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">PublicRouteTable<\/span>\n\n  <span class=\"na\">PublicSubnetTwoRouteTableAssociation<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::SubnetRouteTableAssociation<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">SubnetId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">PublicSubnetTwo<\/span>\n      <span class=\"na\">RouteTableId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">PublicRouteTable<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0639\u062f \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u0648 \u06cc\u06a9 \u062d\u062c\u0645 EBS \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.  \u0648\u0644\u0648\u0645 EBS \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0647\u0645\u0647 \u06a9\u062f\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627 \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0628\u0631\u06cc\u0645 \u0648 \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u06a9\u062f\u0647\u0627 \u0631\u0627 \u0631\u0648\u06cc \u0648\u0644\u0648\u0645 EBS \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u0645.  \u0648\u0644\u0648\u0645 EBS \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0646\u0635\u0628 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0647 fstab \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u06a9\u0646\u06cc\u0645 \u062f\u0648\u0628\u0627\u0631\u0647 \u0646\u0635\u0628 \u0645\u06cc\u200c\u0634\u0648\u062f.  \u0628\u0631\u0627\u06cc \u0622\u0633\u0627\u0646 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u0648\u0646\u0647 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627 \u0647\u0645\u0627\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u060c \u0627\u0632 LaunchTemplate \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062a\u0645\u0627\u0645 \u0627\u062c\u0632\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u062f\u0631 \u0637\u0648\u0644 \u0628\u0648\u062a \u0627\u0648\u0644\u06cc\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 UserScript \u0646\u0635\u0628 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.  \u0645\u0627 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0622\u0645\u0627\u0632\u0648\u0646 2023 \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u0645\u0627 \u0627\u0632 Instance Connect \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u0645.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0627 \u0628\u0627\u06cc\u062f \u0645\u062d\u062f\u0648\u062f\u0647 IP \u0628\u0631\u0627\u06cc Instance Connect \u0631\u0627 \u0628\u0647 \u06af\u0631\u0648\u0647 \u0627\u0645\u0646\u06cc\u062a\u06cc \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645.  \u0628\u0631\u0627\u06cc \u06cc\u0627\u0641\u062a\u0646 \u0645\u062d\u062f\u0648\u062f\u0647 IP \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 ip-ranges.json \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">AWSTemplateFormatVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2010-09-09\"<\/span>\n<span class=\"na\">Description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Base setup for VS Code EC2 resources<\/span>\n\n<span class=\"na\">Parameters<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">AmiId<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">String<\/span>\n    <span class=\"na\">Default<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ami-04b1c88a6bbd48f8e<\/span> <span class=\"c1\"># AMI for Amazon Linux 2023 in eu-west-1<\/span>\n  <span class=\"na\">InstanceType<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">String<\/span>\n    <span class=\"na\">Description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Type of instance to use for EC2 runners.<\/span>\n    <span class=\"na\">Default<\/span><span class=\"pi\">:<\/span> <span class=\"s\">t3.large<\/span>\n  <span class=\"na\">AvailabilityZone<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">String<\/span>\n    <span class=\"na\">Description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">The availability zone to run in<\/span>\n    <span class=\"na\">Default<\/span><span class=\"pi\">:<\/span> <span class=\"s\">eu-west-1a<\/span>\n  <span class=\"na\">InfrastructureStackName<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">String<\/span>\n    <span class=\"na\">Description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">The name of the stack with the Infrastructure resources<\/span>\n\n  <span class=\"na\">ServerSecurityGroup<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::SecurityGroup<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">GroupDescription<\/span><span class=\"pi\">:<\/span> <span class=\"s\">EC2 Security Group<\/span>\n      <span class=\"na\">VpcId<\/span><span class=\"pi\">:<\/span>\n        <span class=\"s\">Fn::ImportValue: !Sub ${InfrastructureStackName}:VpcId<\/span>\n      <span class=\"na\">SecurityGroupIngress<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">IpProtocol<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tcp<\/span>\n          <span class=\"na\">FromPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">22<\/span>\n          <span class=\"na\">ToPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">22<\/span>\n          <span class=\"na\">CidrIp<\/span><span class=\"pi\">:<\/span> <span class=\"s\">18.202.216.48\/29<\/span> <span class=\"c1\"># Instance Connect in eu-west-1<\/span>\n\n  <span class=\"na\">SecurityGroupInboundAllowSelf<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::SecurityGroupIngress<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">GroupId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">ServerSecurityGroup<\/span>\n      <span class=\"na\">IpProtocol<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tcp<\/span>\n      <span class=\"na\">FromPort<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">0\"<\/span>\n      <span class=\"na\">ToPort<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">65535\"<\/span>\n      <span class=\"na\">SourceSecurityGroupId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">ServerSecurityGroup<\/span>\n\n  <span class=\"na\">InstanceRole<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::IAM::Role<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">Policies<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">PolicyName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AllwoEC2Actions<\/span>\n          <span class=\"na\">PolicyDocument<\/span><span class=\"pi\">:<\/span>\n            <span class=\"na\">Version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">2012-10-17<\/span>\n            <span class=\"na\">Statement<\/span><span class=\"pi\">:<\/span>\n              <span class=\"pi\">-<\/span> <span class=\"na\">Effect<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Allow<\/span>\n                <span class=\"na\">Action<\/span><span class=\"pi\">:<\/span>\n                  <span class=\"pi\">-<\/span> <span class=\"s\">ec2:*<\/span>\n                <span class=\"na\">Resource<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">*\"<\/span>\n      <span class=\"na\">AssumeRolePolicyDocument<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">Version<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2012-10-17\"<\/span>\n        <span class=\"na\">Statement<\/span><span class=\"pi\">:<\/span>\n          <span class=\"pi\">-<\/span> <span class=\"na\">Effect<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Allow<\/span>\n            <span class=\"na\">Principal<\/span><span class=\"pi\">:<\/span>\n              <span class=\"na\">Service<\/span><span class=\"pi\">:<\/span>\n                <span class=\"pi\">-<\/span> <span class=\"s\">ec2.amazonaws.com<\/span>\n            <span class=\"na\">Action<\/span><span class=\"pi\">:<\/span> <span class=\"s\">sts:AssumeRole<\/span>\n\n  <span class=\"na\">EC2InstanceProfile<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::IAM::InstanceProfile<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">Roles<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">InstanceRole<\/span>\n\n  <span class=\"na\">CodeEbsVolume<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::Volume<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">AvailabilityZone<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">AvailabilityZone<\/span>\n      <span class=\"na\">Encrypted<\/span><span class=\"pi\">:<\/span> <span class=\"no\">false<\/span>\n      <span class=\"na\">Size<\/span><span class=\"pi\">:<\/span> <span class=\"m\">32<\/span>\n      <span class=\"na\">VolumeType<\/span><span class=\"pi\">:<\/span> <span class=\"s\">gp3<\/span>\n\n  <span class=\"na\">LaunchTemplate<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::EC2::LaunchTemplate<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">LaunchTemplateData<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">EbsOptimized<\/span><span class=\"pi\">:<\/span> <span class=\"s\">True<\/span>\n        <span class=\"na\">IamInstanceProfile<\/span><span class=\"pi\">:<\/span>\n          <span class=\"na\">Arn<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!GetAtt<\/span> <span class=\"s\">EC2InstanceProfile.Arn<\/span>\n        <span class=\"na\">ImageId<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">AmiId<\/span>\n        <span class=\"na\">InstanceType<\/span><span class=\"pi\">:<\/span> <span class=\"kt\">!Ref<\/span> <span class=\"s\">InstanceType<\/span>\n        <span class=\"na\">SecurityGroupIds<\/span><span class=\"pi\">:<\/span>\n          <span class=\"pi\">-<\/span> <span class=\"kt\">!GetAtt<\/span> <span class=\"s\">ServerSecurityGroup.GroupId<\/span>\n        <span class=\"na\">UserData<\/span><span class=\"pi\">:<\/span>\n          <span class=\"s\">Fn::Base64:<\/span>\n            <span class=\"s\">Fn::Sub: |<\/span>\n              <span class=\"s\">#!\/bin\/bash -xe<\/span>\n              <span class=\"s\">sudo -s<\/span>\n              <span class=\"s\">yum update -y<\/span>\n              <span class=\"s\">yum install -y jq<\/span>\n              <span class=\"s\">yum install git -y<\/span>\n              <span class=\"s\">TOKEN=$(curl -s -X PUT \"http:\/\/169.254.169.254\/latest\/api\/token\" -H \"X-aws-ec2-metadata-token-ttl-seconds<\/span><span class=\"err\">:<\/span> <span class=\"s\">21600\")<\/span>\n              <span class=\"s\">VOLUME_ID=${CodeEbsVolume}<\/span>\n              <span class=\"s\">INSTANCE_ID=$(curl -s -H \"X-aws-ec2-metadata-token<\/span><span class=\"err\">:<\/span> <span class=\"s\">$TOKEN\" http:\/\/169.254.169.254\/latest\/meta-data\/instance-id)<\/span>\n              <span class=\"s\">REGION=$(curl -s -H \"X-aws-ec2-metadata-token<\/span><span class=\"err\">:<\/span> <span class=\"s\">$TOKEN\" http:\/\/169.254.169.254\/latest\/dynamic\/instance-identity\/document | jq -r .region)<\/span>\n              <span class=\"s\">aws ec2 attach-volume --volume-id $VOLUME_ID --device \/dev\/xvdf --instance-id $INSTANCE_ID --region $REGION<\/span>\n              <span class=\"s\">mkdir vscode-data<\/span>\n              <span class=\"s\">chown -R ec2-user:ec2-user \/vscode-data<\/span>\n              <span class=\"s\">mount \/dev\/xvdf \/vscode-data<\/span>\n              <span class=\"s\">echo -e \"\/dev\/xvdf \/vscode-data xfs  defaults,nofail  0  2\" &gt;&gt; \/etc\/fstab<\/span>\n              <span class=\"s\">curl -Lk 'https:\/\/code.visualstudio.com\/sha\/download?build=stable&amp;os=cli-alpine-x64' --output vscode_cli.tar.gz<\/span>\n              <span class=\"s\">tar -xf vscode_cli.tar.gz<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D9%85%D9%88%D9%86%D9%87_EC2_%D8%B1%D8%A7_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062d\u0627\u0644\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u0632 \u0622\u0646 LaunchTemplate \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.  \u0627\u06cc\u0646 \u0628\u0627\u0631 \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u0628\u0647 \u0633\u0631\u0627\u063a \u06a9\u0646\u0633\u0648\u0644 AWS \u0628\u0631\u0648\u06cc\u0645 \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0628\u0647 \u0628\u062e\u0634 EC2 \u0628\u0631\u0648\u06cc\u062f \u0648 \u0627\u0632 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc Launch Instance from template \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 LaunchTemplate \u06a9\u0647 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u0645 \u0648 \u0646\u0633\u062e\u0647 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u0648\u062c\u0648\u062f \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u06cc\u06a9 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f.  \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0646 \u0645\u0646 6 \u0646\u0633\u062e\u0647 \u062f\u0627\u0631\u0645 \u0648 \u062f\u0648\u0633\u062a \u062f\u0627\u0631\u0645 \u0627\u0632 \u062c\u062f\u06cc\u062f\u062a\u0631\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_564_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0642\u0633\u0645\u062a \u0627\u0648\u0644 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"446\" title=\"\"><\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u067e\u0627\u06cc\u06cc\u0646 \u0628\u0631\u0648\u06cc\u062f \u0648 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 AMI \u0635\u062d\u06cc\u062d \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0628\u0627\u06cc\u062f \u0622\u0645\u0627\u0632\u0648\u0646 Linux 2023 AMI \u0628\u0627\u0634\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_468_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0642\u0633\u0645\u062a \u0627\u0648\u0644 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"648\" title=\"\"><\/p>\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u06cc\u06a9 \u0632\u06cc\u0631\u0634\u0628\u06a9\u0647 \u0631\u0627 \u062f\u0631 VPC \u06a9\u0647 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u0645\u0646\u0637\u0642\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0648\u062f\u0646 \u062d\u062c\u0645 EBS \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645 \u0628\u0627\u0634\u062f.  \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0646\u060c \u062d\u062c\u0645 EBS \u0631\u0627 \u062f\u0631 eu-west-1a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0646\u0645\u0648\u0646\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631 \u06cc\u06a9 \u0632\u06cc\u0631\u0634\u0628\u06a9\u0647 \u062f\u0631 \u0622\u0646 AZ \u0628\u0627\u0634\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_251_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0642\u0633\u0645\u062a \u0627\u0648\u0644 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"689\" title=\"\"><\/p>\n<p>\u0628\u0642\u06cc\u0647 \u0645\u0648\u0627\u0631\u062f \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u0648 \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647 Launch Instance \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f <\/p>\n<h3><span class=\"ez-toc-section\" id=\"VSCode_%D8%B1%D8%A7_%D8%AF%D8%B1_%D9%86%D9%85%D9%88%D9%86%D9%87_%D8%B4%D8%B1%D9%88%D8%B9_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  VSCode \u0631\u0627 \u062f\u0631 \u0646\u0645\u0648\u0646\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f VSCode \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.  \u0645\u0627 \u0642\u0628\u0644\u0627\u064b CLI \u0631\u0627 \u062f\u0631 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u06a9\u0627\u0631\u0628\u0631 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Instance Connect \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u0648\u06cc\u062f \u0648 Connect \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_415_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"664\" title=\"\"><\/p>\n<p>\u0627\u06af\u0631 \u0627\u062a\u0635\u0627\u0644 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0628\u0627\u0634\u062f\u060c \u0628\u0627\u06cc\u062f \u062a\u0631\u0645\u06cc\u0646\u0627\u0644\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_176_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"376\" title=\"\"><\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0633\u0631\u0648\u0631 VSCode \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 CLI \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>\n~\/code  tunnel <span class=\"nt\">--accept-server-license-terms<\/span> <span class=\"nt\">--name<\/span> vscode-demo-tunnel\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0641\u0632\u0648\u062f\u0646 &#8211;accept-server-license-terms \u0628\u0647 \u062f\u0633\u062a\u0648\u0631 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0634\u0631\u0627\u06cc\u0637 \u0645\u062c\u0648\u0632 \u0631\u0627 \u0645\u06cc \u067e\u0630\u06cc\u0631\u062f.  \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0628\u0647 \u062a\u0648\u0646\u0644 \u062e\u0648\u062f \u06cc\u06a9 \u0646\u0627\u0645 \u0628\u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0628\u0627 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 &#8211;name \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.  \u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u0646\u0627\u0645 vscode-demo-tunnel \u0631\u0627 \u0628\u0647 \u062a\u0648\u0646\u0644 \u0645\u06cc \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0646\u062a\u06cc\u062c\u0647 \u0627\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u0628\u0647 \u0645\u0627 \u0628\u062f\u0647\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_210_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0641\u0631\u0645\u0627\u0646 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"252\" title=\"\"><\/p>\n<p>\u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0633\u0631\u0648\u0631 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645\u060c \u06a9\u0647 \u0628\u0627 \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0628\u0647 URL \u0647\u0627\u06cc\u0644\u0627\u06cc\u062a \u0634\u062f\u0647 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.  \u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0645\u0627 \u0631\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0628\u0628\u0631\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_379_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631 \u0635\u0641\u062d\u0647 \u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"600\" height=\"558\" title=\"\"><\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0628\u0627\u06cc\u062f \u06a9\u062f\u06cc \u0631\u0627 \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u0648\u0631 VSCode \u062f\u0627\u062f\u0647\u200c\u0627\u06cc\u0645 \u0627\u0631\u0627\u0626\u0647 \u06a9\u0646\u06cc\u0645.<br \/>\u067e\u0633 \u0627\u0632 \u06cc\u06a9 \u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc\u060c \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f GitHub \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u0631 \u0645\u062c\u0627\u0632 \u06a9\u0646\u06cc\u0645.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_428_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0635\u0641\u062d\u0647 \u0645\u062c\u0648\u0632 GitHub \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"576\" height=\"798\" title=\"\"><\/p>\n<p>\u0627\u06af\u0631 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u06a9\u0627\u0631 \u06a9\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u062f\u0631 \u0635\u0641\u062d\u0647 \u0645\u0648\u0641\u0642\u06cc\u062a \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_5_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0635\u0641\u062d\u0647 \u0645\u0648\u0641\u0642\u06cc\u062a GitHub \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"592\" height=\"438\" title=\"\"><\/p>\n<p>\u0628\u0627 \u0628\u0627\u0632\u06af\u0634\u062a \u0628\u0647 \u0635\u0641\u062d\u0647 \u0627\u062a\u0635\u0627\u0644 \u0646\u0645\u0648\u0646\u0647\u060c \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0633\u0631\u0648\u0631 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a \u0648 \u06cc\u06a9 URL \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0622\u0646.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_38_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0633\u0631\u0648\u0631 VSCode \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"257\" title=\"\"><\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 URL \u0628\u0631\u062c\u0633\u062a\u0647\u200c\u0634\u062f\u0647\u060c \u06a9\u0647 \u062f\u0631 \u0627\u0635\u0644 \u00abhttps:\/\/vscode.dev\/tunnel\/tunnel-name\u00bb \u0627\u0633\u062a\u060c \u0628\u0631\u0648\u06cc\u0645.  VSCode \u0628\u0627\u06cc\u062f \u062f\u0631 \u067e\u0646\u062c\u0631\u0647 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f \u0648 \u0628\u0647 \u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 VSCode \u06a9\u0627\u0645\u0644 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0648 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u0628\u062f\u0647\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688163704_321_\u0627\u062c\u0631\u0627\u06cc-\u0633\u0631\u0648\u0631-VS-Code-\u062f\u0631-AWS.png\" alt=\"\u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a VSCode \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.\" loading=\"lazy\" width=\"800\" height=\"498\" title=\"\"><\/p>\n<p>\u062f\u0631 \u06af\u0648\u0634\u0647 \u067e\u0627\u06cc\u06cc\u0646 \u0633\u0645\u062a \u0686\u067e \u0648\u0636\u0639\u06cc\u062a \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>\u0627\u06cc\u0646 \u0647\u0645\u0627\u0646 \u06a9\u0627\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u062a\u0627 \u0633\u0631\u0648\u0631 VS Code \u0631\u0648\u06cc \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f \u0648 \u0628\u0647 \u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u062f \u0627\u0632 \u0647\u0631 \u0645\u0631\u0648\u0631\u06af\u0631\u06cc \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u0645.  \u0627\u0633\u0627\u0633\u0627 \u0645\u0627 \u0646\u0633\u062e\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u0634\u062f\u0647 \u062e\u0648\u062f \u0627\u0632 GitHub CodeSpaces \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645.<\/p>\n<p>\u0627\u0645\u0627\u060c \u0647\u0646\u0648\u0632 \u067e\u06cc\u0634\u0631\u0641\u062a \u0647\u0627\u06cc\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D9%85%D9%82%D8%AF%D8%A7%D8%B1%DB%8C_%D8%A7%D8%AA%D9%88%D9%85%D8%A7%D8%B3%DB%8C%D9%88%D9%86_%D8%A7%D8%B6%D8%A7%D9%81%DB%8C\"><\/span>\n<p>  \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0642\u062f\u0627\u0631\u06cc \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0627\u0636\u0627\u0641\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u0647\u0631 \u0628\u0627\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Instance Connect \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u0648\u0631 \u0686\u0646\u062f\u0627\u0646 \u0639\u0645\u0644\u06cc \u0646\u06cc\u0633\u062a.  \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062a\u0628\u0644\u062a \u0627\u0646\u062f\u0631\u0648\u06cc\u062f\u06cc \u06a9\u0627\u0631\u0633\u0627\u0632 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0645\u0646 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u0645 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0631\u0627 \u06a9\u0645\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0645.<\/p>\n<p>\u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0639\u0627\u0644\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0633\u0631\u0648\u0631 VS Code \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0648\u0644 \u0627\u0632 \u0647\u0645\u0647 \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u067e\u0648\u0633\u062a\u0647 \u0628\u0647 \u0646\u0627\u0645 vscodestart.sh \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\">#!\/bin\/sh<\/span>\n~\/code  tunnel <span class=\"nt\">--accept-server-license-terms<\/span> <span class=\"nt\">--name<\/span> vscode-demo-tunnel\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0647\u0645\u0627\u0646 \u062f\u0633\u062a\u0648\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u062f\u0633\u062a\u06cc \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u06cc\u0645.  \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 systemd \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0641\u0627\u06cc\u0644 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 vscode.service \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">[<\/span>Unit]\n<span class=\"nv\">After<\/span><span class=\"o\">=<\/span>network.target\n\n<span class=\"o\">[<\/span>Service]\n<span class=\"nv\">User<\/span><span class=\"o\">=<\/span>ec2-user\n<span class=\"nv\">Group<\/span><span class=\"o\">=<\/span>ec2-user\n<span class=\"nv\">ExecStart<\/span><span class=\"o\">=<\/span>\/usr\/local\/bin\/vscodestart.sh\n\n<span class=\"o\">[<\/span>Install]\n<span class=\"nv\">WantedBy<\/span><span class=\"o\">=<\/span>default.target\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062d\u0627\u0644\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0641\u0627\u06cc\u0644 vscode.service \u0631\u0627 \u062f\u0631 \/etc\/systemd\/system\/ \u0648 vscodestart.sh \u0631\u0627 \u062f\u0631 \/usr\/local\/bin\/ \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>systemctl start vscode.service\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0633\u0631\u0648\u0631 VS Code \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.  \u062e\u0648\u0628 \u0627\u06cc\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0642\u062f\u0645 \u062f\u0631 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0628\u0648\u062f.  \u0628\u0631\u0627\u06cc \u0645\u0631\u062d\u0644\u0647 \u062f\u0648\u0645\u060c \u06cc\u06a9 \u0633\u0646\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc AWS \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0646 \u0631\u0627 \u0627\u0632 AWS CLI \u06cc\u0627 \u06a9\u0646\u0633\u0648\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645.  \u0633\u067e\u0633 \u0633\u0646\u062f SSM \u062f\u0633\u062a\u0648\u0631 start \u0631\u0627 \u062f\u0631 \u0646\u0645\u0648\u0646\u0647 EC2 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0633\u0631\u0648\u0631 VS Code \u0631\u0627 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0642\u0627\u0644\u0628 CloudFormation \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code>\n  <span class=\"na\">StartVCodeServerDocument<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">Type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">AWS::SSM::Document<\/span>\n    <span class=\"na\">Properties<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">DocumentType<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Command<\/span>\n      <span class=\"na\">Content<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">schemaVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2.2\"<\/span>\n        <span class=\"na\">description<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Command Document for VS Code start server service<\/span>\n        <span class=\"na\">mainSteps<\/span><span class=\"pi\">:<\/span>\n          <span class=\"pi\">-<\/span> <span class=\"na\">action<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">aws:runShellScript\"<\/span>\n            <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">startserver\"<\/span>\n            <span class=\"na\">inputs<\/span><span class=\"pi\">:<\/span>\n              <span class=\"na\">runCommand<\/span><span class=\"pi\">:<\/span>\n                <span class=\"pi\">-<\/span> <span class=\"s\">sudo systemctl start vscode.service<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0633\u0646\u062f SSM \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u06a9\u0646\u0633\u0648\u0644 \u0628\u067e\u0631\u06cc\u0645 \u0648 \u0633\u0646\u062f \u0631\u0627 \u0631\u0648\u06cc \u0646\u0645\u0648\u0646\u0647 \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645.  \u062d\u062a\u06cc \u0627\u06af\u0631 \u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0627\u0647 \u062d\u0644 \u06a9\u0627\u0645\u0644\u0627\u064b \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0628\u0627\u0634\u062f\u060c \u06af\u0627\u0645\u06cc \u062f\u0631 \u0645\u0633\u06cc\u0631 \u062f\u0631\u0633\u062a \u0627\u0633\u062a.  \u0645\u0646 \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0633\u0631\u0648\u0631 VS Code \u0631\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u062f\u0631 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u0645 \u0648 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0645\u0631\u0648\u0631\u06af\u0631 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0645 \u0627\u0632 \u0647\u0631 \u062f\u0633\u062a\u06af\u0627\u0647\u06cc \u06a9\u062f \u0628\u0646\u0648\u06cc\u0633\u0645.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%AF%D9%88%DA%86%D8%A7%D8%B3\"><\/span>\n<p>  \u06af\u0648\u0686\u0627\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0637\u0648\u0644 \u067e\u0631\u0648\u0698\u0647 \u0686\u0646\u062f \u0627\u0634\u062a\u0628\u0627\u0647 \u0648 \u0686\u06cc\u0632\u0647\u0627\u06cc\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645.  \u0627\u0648\u0644 \u0627\u0632 \u0647\u0645\u0647\u060c \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u06a9\u0647 \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u062f\u0631 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc \u0634\u0648\u062f\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u062f \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u0631 VS Code \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u0645.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0627\u0647\u200c\u062d\u0644 \u06a9\u0627\u0645\u0644\u0627\u064b \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u06a9\u0645\u06cc \u0633\u062e\u062a\u200c\u062a\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631 \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u0645.<\/p>\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0646\u0638\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0647\u0631 \u062d\u0633\u0627\u0628 GitHub \u0645\u062d\u062f\u0648\u062f\u06cc\u062a 5 \u062a\u0648\u0646\u0644 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0627\u06af\u0631 \u0634\u0634\u0645\u06cc\u0646 \u062a\u0648\u0646\u0644 \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0648\u0644\u06cc\u0646 \u062a\u0648\u0646\u0644 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\n<p>\u0634\u0631\u0627\u06cc\u0637 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0641\u0642\u0637 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0631\u0648\u0631 VS Code \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062e\u0635\u06cc \u06cc\u0627 \u062f\u0631\u0648\u0646 \u06cc\u06a9 \u0634\u0631\u06a9\u062a \u0645\u062c\u0627\u0632 \u0645\u06cc\u200c\u06a9\u0646\u062f.  \u0634\u0645\u0627 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u0648 \u0627\u062c\u0631\u0627\u06cc \u0622\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0631\u0627\u0647 \u062d\u0644 SaaS \u0646\u06cc\u0633\u062a\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C_%D9%88_%D9%85%D8%B1%D8%AD%D9%84%D9%87_%D8%A8%D8%B9%D8%AF%DB%8C\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0633\u0631\u0648\u0631 VS Code \u0628\u0631 \u0631\u0648\u06cc \u0646\u0645\u0648\u0646\u0647 EC2 \u06a9\u0647 \u0645\u0627\u0644\u06a9 \u0622\u0646 \u0647\u0633\u062a\u0645\u060c \u0627\u06a9\u0646\u0648\u0646 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0627\u0645\u0644 \u0647\u0632\u06cc\u0646\u0647 \u0622\u0646\u060c \u062f\u0633\u062a\u0631\u0633\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0631 \u062f\u0633\u062a \u062f\u0627\u0631\u0645\u060c \u0648 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0628\u0647 \u0645\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u0645 \u062a\u0645\u0627\u0645 \u0645\u062e\u0627\u0632\u0646 \u062e\u0648\u062f \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u0645.  \u0645\u0646 \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u0633\u0627\u0633\u0627\u064b \u0628\u0631\u0627\u06cc \u0647\u0631 \u067e\u0631\u0648\u0698\u0647 \u0627\u0645 \u0628\u0627 \u062a\u0644\u0627\u0634 \u0648 \u0647\u0632\u06cc\u0646\u0647 \u0628\u0633\u06cc\u0627\u0631 \u06a9\u0645 \u0627\u0632 \u0647\u0631 \u062f\u0633\u062a\u06af\u0627\u0647\u06cc \u06a9\u062f \u0628\u0646\u0648\u06cc\u0633\u0645 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u0645 \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u0645 \u0648 \u0628\u0647 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0645.  \u0627\u06cc\u0646 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u0645\u0646 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0648\u0642\u062a\u06cc \u062f\u0631 \u0627\u062a\u0648\u0628\u0648\u0633 \u0647\u0633\u062a\u0645 \u06cc\u0627 \u0647\u0631 \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0644\u067e \u062a\u0627\u067e\u0645 \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0631\u0645 \u0627\u0632 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0644\u0648\u062d\u06cc \u0627\u0646\u062f\u0631\u0648\u06cc\u062f \u062e\u0648\u062f \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u06cc\u0627 \u0648\u0628\u0644\u0627\u06af \u0646\u0648\u06cc\u0633\u06cc \u06a9\u0646\u0645.<\/p>\n<p>\u067e\u0633 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \u0686\u06cc\u0633\u062a\u061f<br \/>\u0645\u0646 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u06cc\u06a9 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0645\u0644\u0627\u064b \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0645 \u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u0645 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u0631 \u0631\u0627 \u0627\u0632 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u0648\u0628 \u0634\u0631\u0648\u0639 \u0648 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u0645.  \u0627\u0644\u0628\u062a\u0647 \u0627\u06cc\u0646 \u0631\u0627\u0647\u200c\u062d\u0644 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u062f\u0631 \u062a\u0645\u0627\u0645 \u0642\u0633\u0645\u062a\u200c\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 EC2 \u062e\u0648\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f.<\/p>\n<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u06cc\u062f\u06cc\u062f \u0645\u0646 \u0646\u0645\u0648\u0646\u0647 EC2 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0632\u06cc\u0631 \u0634\u0628\u06a9\u0647 \u0639\u0645\u0648\u0645\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u0645\u060c \u0627\u06cc\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u06a9\u0647 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u0645 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u0634\u0648\u0645.  \u0628\u0627 Instance Connect Endpoint \u062c\u062f\u06cc\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0645 \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 \u0645\u062a\u0635\u0644 \u0634\u0648\u0645 \u062d\u062a\u06cc \u0627\u06af\u0631 \u062f\u0631 \u06cc\u06a9 \u0632\u06cc\u0631\u0634\u0628\u06a9\u0647 \u062e\u0635\u0648\u0635\u06cc \u0628\u0627\u0634\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%A9%D9%84%D9%85%D8%A7%D8%AA_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C\"><\/span>\n<p>  \u06a9\u0644\u0645\u0627\u062a \u067e\u0627\u06cc\u0627\u0646\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u0627 \u0633\u0631\u06af\u0631\u0645 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0648\u062f.  \u0627\u06cc\u0646 \u0648\u0627\u0642\u0639\u0627 \u0639\u0627\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0628\u06cc\u0646\u06cc\u062f \u0686\u0642\u062f\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u06a9\u062f \u0648 \u062a\u0644\u0627\u0634 \u0628\u0633\u06cc\u0627\u0631 \u06a9\u0645 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.  \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p>\u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0646 \u0631\u0627 \u062f\u0631 \u0644\u06cc\u0646\u06a9\u062f\u06cc\u0646 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f \u0648 <a href=\"https:\/\/twitter.com\/jimmydahlqvist\" rel=\"nofollow noopener\" target=\"_blank\">\u062a\u0648\u06cc\u06cc\u062a\u0631<\/a> \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0628 \u0628\u06cc\u0634\u062a\u0631\u060c \u0648 \u0628\u0642\u06cc\u0647 \u0648\u0628\u0644\u0627\u06af \u0647\u0627\u06cc \u0645\u0646 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f<\/p>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0646 \u0639\u0627\u0634\u0642 \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u0647\u0633\u062a\u0645! \u0645\u0646 \u0639\u0627\u0634\u0642 \u0646\u0648\u0634\u062a\u0646 \u0647\u0633\u062a\u0645! \u0645\u0646 \u0639\u0627\u0634\u0642 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc\u060c \u062a\u0644\u0627\u0634 \u0648 \u0628\u0627\u0632\u06cc \u0628\u0627 \u062e\u062f\u0645\u0627\u062a \u062c\u062f\u06cc\u062f AWS \u0647\u0633\u062a\u0645. \u0645\u0634\u06a9\u0644 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647 \u0644\u067e \u062a\u0627\u067e\u0645 \u0628\u0631\u0627\u06cc \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0646\u062f\u0627\u0631\u0645. \u0645\u0646 GitHub CodeSpaces \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0631\u062f\u0645 \u0627\u0645\u0627 \u0648\u0627\u0642\u0639\u0627\u064b \u0627\u0632 \u0627\u06cc\u0646 \u062a\u062c\u0631\u0628\u0647 \u062e\u0648\u0634\u0645 \u0646\u06cc\u0627\u0645\u062f. \u0645\u0646 \u0628\u0647 \u0686\u06cc\u0632\u06cc \u0645\u0634\u0627\u0628\u0647 \u0627\u0645\u0627 \u0645\u062a\u0641\u0627\u0648\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0645. \u0647\u062f\u0641 \u0647\u062f\u0641 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":28804,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-28803","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/28803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=28803"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/28803\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/28804"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=28803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=28803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=28803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}