{"id":370,"date":"2023-05-21T17:03:47","date_gmt":"2023-05-21T08:03:47","guid":{"rendered":"https:\/\/www.gyuroot.com\/wordpress\/?p=370"},"modified":"2023-05-22T11:53:23","modified_gmt":"2023-05-22T02:53:23","slug":"aws-codedeploy","status":"publish","type":"post","link":"https:\/\/www.gyuroot.com\/wordpress\/?p=370","title":{"rendered":"[AWS] CodeDeploy"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_63 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\ubaa9\ucc28<\/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:\/\/www.gyuroot.com\/wordpress\/?p=370\/#CodeDeploy_%EB%B0%B0%ED%8F%AC_%EC%9C%A0%ED%98%95_%EA%B0%9C%EC%9A%94\" title=\"CodeDeploy \ubc30\ud3ec \uc720\ud615 \uac1c\uc694\">CodeDeploy \ubc30\ud3ec \uc720\ud615 \uac1c\uc694<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#%EB%82%B4%EB%B6%80%EB%B0%B0%ED%8F%AC\" title=\"\ub0b4\ubd80\ubc30\ud3ec\">\ub0b4\ubd80\ubc30\ud3ec<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#%EB%B8%94%EB%A3%A8%EA%B7%B8%EB%A6%B0_%EB%B0%B0%ED%8F%AC\" title=\"\ube14\ub8e8\/\uadf8\ub9b0 \ubc30\ud3ec\">\ube14\ub8e8\/\uadf8\ub9b0 \ubc30\ud3ec<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#CodeDeploy_%EA%B8%B0%EB%B3%B8_%EA%B5%AC%EC%84%B1_%EC%9A%94%EC%86%8C\" title=\"CodeDeploy \uae30\ubcf8 \uad6c\uc131 \uc694\uc18c\">CodeDeploy \uae30\ubcf8 \uad6c\uc131 \uc694\uc18c<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#Appication\" title=\"Appication\">Appication<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#Computing_Platform\" title=\"Computing Platform\">Computing Platform<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#Deploy_%EA%B5%AC%EC%84%B1\" title=\"Deploy \uad6c\uc131\">Deploy \uad6c\uc131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#IAM_Instance_Profile\" title=\"IAM Instance Profile\">IAM Instance Profile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#Revision\" title=\"Revision\">Revision<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#CodeDeploy_%EB%B0%B0%ED%8F%AC_%EB%AA%85%EC%84%B8%EC%84%9C_%ED%8C%8C%EC%9D%BC_AppSpecyml\" title=\"CodeDeploy \ubc30\ud3ec \uba85\uc138\uc11c \ud30c\uc77c AppSpec.yml\">CodeDeploy \ubc30\ud3ec \uba85\uc138\uc11c \ud30c\uc77c AppSpec.yml<\/a><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#Lambda_hooks_process\" title=\"Lambda hooks process\">Lambda hooks process<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#EC2On-premiss_hooks_process\" title=\"EC2\/On-premiss hooks process\">EC2\/On-premiss hooks process<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#ECS_Hooks_Process\" title=\"ECS Hooks Process\">ECS Hooks Process<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\/#CodeDeploy_Agent_%EC%9E%91%EC%97%85\" title=\"CodeDeploy Agent \uc791\uc5c5\">CodeDeploy Agent \uc791\uc5c5<\/a><\/li><\/ul><\/nav><\/div>\n\n<blockquote class=\"wp-block-quote\">\n<p><strong>CodeDeploy?<\/strong> Amazon EC2 \uc778\uc2a4\ud134\uc2a4, \uc628\ud504\ub808\ubbf8\uc2a4 \uc778\uc2a4\ud134\uc2a4, \uc11c\ubc84\ub9ac\uc2a4 Lambda \ud568\uc218 \ub610\ub294 Amazon ECS \uc11c\ube44\uc2a4\uc5d0 \ub300\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc30\ud3ec\ub97c \uc790\ub3d9\ud654\ud558\ub294 \ubc30\ud3ec \uc11c\ube44\uc2a4<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><strong>\uc7a5\uc810<\/strong> \uc790\ub3d9\ud654\ub41c \ubc30\ud3ec \ubc0f \ub3d9\uc2dc \ubc30\ud3ec \uac00\ub3d9\uc911\uc9c0 \uc2dc\uac04\uc744 \ucd5c\uc18c\ud654 \ub864\ubc31 \uac00\ub2a5 \uc911\uc559 \uc9d1\uc911\uc2dd \uc81c\uc5b4<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CodeDeploy_%EB%B0%B0%ED%8F%AC_%EC%9C%A0%ED%98%95_%EA%B0%9C%EC%9A%94\"><\/span>CodeDeploy \ubc30\ud3ec \uc720\ud615 \uac1c\uc694<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%82%B4%EB%B6%80%EB%B0%B0%ED%8F%AC\"><\/span>\ub0b4\ubd80\ubc30\ud3ec<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 <strong>\uc911\uc9c0<\/strong>\ub418\uace0 \ucd5c\uc2e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 Revision\uc774 \uc124\uce58\ub418\uba70 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc0c8 Version\uc774 \uc2dc\uc791\ub418\uace0 \uac80\uc99d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%B8%94%EB%A3%A8%EA%B7%B8%EB%A6%B0_%EB%B0%B0%ED%8F%AC\"><\/span>\ube14\ub8e8\/\uadf8\ub9b0 \ubc30\ud3ec<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"678\" height=\"324\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-18.png\" alt=\"\" class=\"wp-image-499\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-18.png 678w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-18-300x143.png 300w\" sizes=\"(max-width: 678px) 100vw, 678px\" \/><\/figure>\n\n\n\n<ul>\n<li>\ubc30\ud3ec \uadf8\ub8f9(Origin)\uc758 \uc778\uc2a4\ud134\uc2a4\ub294 \ub2e4\ub978 \uc778\uc2a4\ud134\uc2a4 \uc9d1\ud569(New)\uc73c\ub85c \ub300\uccb4\ud558\uba70 \ubc30\ud3ec\ud558\ub294 \uacfc\uc815<\/li>\n<\/ul>\n\n\n\n<ol>\n<li>\ub300\uccb4 \ud658\uacbd\uc744 \uc704\ud574 \uc778\uc2a4\ud134\uc2a4\uac00 \ud504\ub85c\ube44\uc800\ub2dd<\/li>\n\n\n\n<li>\ucd5c\uc2e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 Revision\uc774 \uad50\uccb4 \uc778\uc2a4\ud134\uc2a4\uc5d0 \uc124\uce58<\/li>\n\n\n\n<li>\uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8 \ud14c\uc2a4\ud2b8 \ubc0f \uc2dc\uc2a4\ud15c \ud655\uc778\uacfc \uac19\uc740 \ud65c\ub3d9\uc744 \uc704\ud574 \uc120\ud0dd\uc801 \ub300\uae30 \uc2dc\uac04\uc774 \ubc1c\uc0dd<\/li>\n\n\n\n<li>\ub300\uccb4 \ud658\uacbd\uc758 \uc778\uc2a4\ud134\uc2a4\ub294 ELB\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \ud2b8\ub798\ud53d\uc774 \ud574\ub2f9 \uc778\uc2a4\ud134\uc2a4\ub85c \ub2e4\uc2dc \ub77c\uc6b0\ud305\ub429\ub2c8\ub2e4.&nbsp; \uc6d0\ub798 \ud658\uacbd\uc758 \uc778\uc2a4\ud134\uc2a4\ub294 \ub4f1\ub85d\uc774 \ucde8\uc18c\ub418\uace0 \uc885\ub8cc\ub418\uac70\ub098 \ub2e4\ub978 \uc6a9\ub3c4\ub85c \uacc4\uc18d \uc2e4\ud589<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CodeDeploy_%EA%B8%B0%EB%B3%B8_%EA%B5%AC%EC%84%B1_%EC%9A%94%EC%86%8C\"><\/span>CodeDeploy \uae30\ubcf8 \uad6c\uc131 \uc694\uc18c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Appication\"><\/span>Appication<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul>\n<li>\uace0\uc720 \uc2dd\ubcc4 Deploy \uc774\ub984<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Computing_Platform\"><\/span>Computing Platform<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul>\n<li>EC2\/On-premise<\/li>\n\n\n\n<li>AWS Lambda<\/li>\n\n\n\n<li>AWS ECS<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Deploy_%EA%B5%AC%EC%84%B1\"><\/span>Deploy \uad6c\uc131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul>\n<li>Canary<\/li>\n\n\n\n<li>Linear (\uc120\ud615)<\/li>\n\n\n\n<li>All-at-once (\ud55c\uaebc\ubc88\uc5d0)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IAM_Instance_Profile\"><\/span>IAM Instance Profile<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul>\n<li>\ubc30\ud3ec\ub97c \uc9c4\ud589\ud558\ub824\ub294 \uc704\uce58 \uc989, \ub9ac\uc18c\uc2a4 \uc704\uce58\uc758 \uc811\uadfc\uc744 \ud558\uae30 \uc704\ud574 \ud544\uc694\ud55c \uad8c\ud55c\uc744 \ubd80\uc5ec \ud574\uc57c\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Revision\"><\/span>Revision<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul>\n<li>Application \uc758 Version<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CodeDeploy_%EB%B0%B0%ED%8F%AC_%EB%AA%85%EC%84%B8%EC%84%9C_%ED%8C%8C%EC%9D%BC_AppSpecyml\"><\/span>CodeDeploy \ubc30\ud3ec \uba85\uc138\uc11c \ud30c\uc77c AppSpec.yml<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>CodeDeploy \uc11c\ube44\uc2a4\ub294 <code>AppSpec.yml<\/code> \ud30c\uc77c \ub0b4\uc6a9\uc5d0 \ub530\ub77c \ubc30\ud3ec\uac00 \uc774\ub8e8\uc5b4 \uc9c0\uba70 \uc138\ubd80 \uba85\ub839\uc744 \uc9c4\ud589\uc774 \uac00\ub2a5<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" style=\"font-size:.875rem;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"version: 0.0                            #2023\ub144 \uae30\uc900 \uc808\ub300 \ubcc0\uacbd \uae08\uc9c0\nos: operating-system-name\n\n# File Block\uc740 EC2\/\uc628\ud504\ub808\ubbf8\uc2a4 \ubc30\ud3ec\ud560 \ub54c \uc0ac\uc6a9\nfiles:\n  - source: [source-file-location]      # \ud574\ub2f9 \uc778\uc2a4\ud134\uc2a4 \uc704\uce58\ub85c \ud30c\uc77c\uc744 \ubcf5\uc0ac\ud560\ub54c \uc0ac\uc6a9\n\t\tdestination: [destination-file-location] #Linux (\/) , windows (\\) \uc0ac\uc6a9\n\n# Resources Block\n# Lambda \ubc30\ud3ec\ud560 \ub54c \uc0ac\uc6a9\nresources:\n  - name-of-function-to-deploy:\n      type: &quot;AWS::Lambda::Function&quot;\n      properties:\n        name: name-of-lambda-function-to-deploy #Lambda \ud568\uc218 \uc774\ub984\n        alias: alias-of-lambda-function-to-deploy #Lambda \ud568\uc218 \ubcc4\uce6d\n        currentversion: #Lambda \ud568\uc218 \ud2b8\ub798\ud53d \ubc84\uc804\n        targetversion: #Lambda \ud568\uc218 \ud2b8\ub798\ud53d\uc774 \uc774\ub3d9\ub418\ub294 \ubc84\uc804\n# ECS \ubc30\ud3ec\ud560 \ub54c \uc0ac\uc6a9\nResources:\n  - TargetService:\n      Type: AWS::ECS::Service\n      Properties:\n        TaskDefinition: &quot;task-definition-ARN&quot;    #ARN\uc73c\ub85c \uc791\uc5c5 \uc815\uc758\n        LoadBalancerInfo: \n          ContainerName: &quot;ECS-container-name-for-your-ECS-application&quot;  #\ucee8\ud14c\uc774\ub108 \uc774\ub984\n          ContainerPort: port-used-by-your-ECS-application #\ucee8\ud14c\uc774\ub108 \ud3ec\ud2b8 \uc124\uc815\n# Optional properties\n        PlatformVersion: &quot;ecs-service-platform-version&quot;\n        NetworkConfiguration:\n          AwsvpcConfiguration:\n            Subnets: [&quot;ecs-subnet-1&quot;,&quot;ecs-subnet-n&quot;] \n            SecurityGroups: [&quot;ecs-security-group-1&quot;,&quot;ecs-security-group-n&quot;] \n            AssignPublicIp: &quot;ENABLED-or-DISABLED&quot;\n        CapacityProviderStrategy:\n          - Base: Integer\n            CapacityProvider: &quot;capacityProviderA&quot;\n            Weight: Integer\n          - Base: Integer\n            CapacityProvider: &quot;capacityProviderB&quot;\n            Weight: Integer\n# EC2\/\uc628\ud504\ub808\ubbf8\uc2a4 \ubc30\ud3ec\ud560\ub54c \uc0ac\uc6a9\ud558\uba70 Unix\/Linux \uacc4\uc5f4\uc5d0\uc11c \uc0ac\uc6a9\n# \ud30c\uc77c \ubc0f \ub514\ub809\ud130\ub9ac\uac00 \uc778\uc2a4\ud134\uc2a4\uc5d0 \ubcf5\uc0ac\ub41c \ud6c4 \uc801\uc6a9\ub418\ub294 \ud2b9\uc218\uad8c\ud55c\uc744 \ubd80\uc5ec\ud574\uc57c\ud558\ub294 \uacbd\uc6b0 \uc0ac\uc6a9\npermissions:\n  - object: \/tmp\/my-app                  #\ud30c\uc77c \ubc0f \ub514\ub809\ud130\ub9ac \uc9c0\uc815\n    pattern: &quot;*-3.txt&quot;                 #\uc815\uaddc\ud45c\ud604\uc2dd\uc73c\ub85c \ud30c\uc77c \ud328\ud134 \uc9c0\uc815\n    except: [tmp\/my-app\/my-folder-2\/my-folder-3]  # \uc81c\uc678\ud560 \ud30c\uc77c \ubc0f \ub514\ub809\ud130\ub9ac\n    owner: adm                         # \ud30c\uc77c \uc18c\uc720\uc790 \uc9c0\uc815\n    group: wheel                       # \ud30c\uc77c \uadf8\ub8f9\uc18c\uc720\uc790 \uc9c0\uc815\n    mode: 464                          # mask \uac12 \uc9c0\uc815\n    acls: \n      - u:mary:rw                      # \ud558\ub098 \uc774\uc0c1\uc758 \uad8c\ud55c \ubd80\uc5ec\ub97c \ud560\ub54c \uc0ac\uc6a9\n      - u:sam:rw\n      - m::rw \n    context:                           # (\uc120\ud0dd)SELinux(Security-Enhanced Linux) \n      user: unconfined_u               # \uc9c0\uc6d0 \uc778\uc2a4\ud134\uc2a4\uc758 \uacbd\uc6b0 \ubcf5\uc0ac\ub41c \uac1d\uccb4\uc5d0 \uc801\uc6a9\ud560 \n      type: httpd_sys_content_t        # \ubcf4\uc548 \uad00\ub828 \ucee8\ud14d\uc2a4\ud2b8 \ub808\uc774\ube14 \ubaa9\ub85d\n      range: s0\n    type:\n      - file\nhooks:\n# ECS\n  - BeforeInstall: &quot;BeforeInstallHookFunctionName&quot;\n  - AfterInstall: &quot;AfterInstallHookFunctionName&quot;\n  - AfterAllowTestTraffic: &quot;AfterAllowTestTrafficHookFunctionName&quot;\n  - BeforeAllowTraffic: &quot;BeforeAllowTrafficHookFunctionName&quot;\n  - AfterAllowTraffic: &quot;AfterAllowTrafficHookFunctionName&quot;\n# Lambda\n  - BeforeAllowTraffic: BeforeAllowTrafficHookFunctionName\n  - AfterAllowTraffic: AfterAllowTrafficHookFunctionName\n# EC2\/On-premiss\n  deployment-lifecycle-event-name:     # Event \uc774\ub984 \uc9c0\uc815\n     - location: script-location       # \uc800\uc7a5\uc18c \ub0b4\uc758 script \uc704\uce58\n       timeout: timeout-in-seconds     # Script timeout \uc9c0\uc815\n       runas: user-name                # \ud574\ub2f9 script\ub97c \uc2e4\ud589\ud560 EC2,On-premiss \uacc4\uc815\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #8FBCBB\">version<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0.0<\/span><span style=\"color: #D8DEE9FF\">                            <\/span><span style=\"color: #616E88\">#2023\ub144 \uae30\uc900 \uc808\ub300 \ubcc0\uacbd \uae08\uc9c0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">os<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">operating-system-name<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># File Block\uc740 EC2\/\uc628\ud504\ub808\ubbf8\uc2a4 \ubc30\ud3ec\ud560 \ub54c \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">files<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">source<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #A3BE8C\">source-file-location<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #616E88\"># \ud574\ub2f9 \uc778\uc2a4\ud134\uc2a4 \uc704\uce58\ub85c \ud30c\uc77c\uc744 \ubcf5\uc0ac\ud560\ub54c \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #8FBCBB\">destination<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #A3BE8C\">destination-file-location<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">#Linux (\/) , windows (\\) \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Resources Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Lambda \ubc30\ud3ec\ud560 \ub54c \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">resources<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">name-of-function-to-deploy<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">AWS::Lambda::Function<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">name-of-lambda-function-to-deploy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">#Lambda \ud568\uc218 \uc774\ub984<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">alias<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">alias-of-lambda-function-to-deploy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">#Lambda \ud568\uc218 \ubcc4\uce6d<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">currentversion<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">#Lambda \ud568\uc218 \ud2b8\ub798\ud53d \ubc84\uc804<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">targetversion<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">#Lambda \ud568\uc218 \ud2b8\ub798\ud53d\uc774 \uc774\ub3d9\ub418\ub294 \ubc84\uc804<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># ECS \ubc30\ud3ec\ud560 \ub54c \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">Resources<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">TargetService<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::ECS::Service<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">TaskDefinition<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">task-definition-ARN<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\">#ARN\uc73c\ub85c \uc791\uc5c5 \uc815\uc758<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">LoadBalancerInfo<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">ContainerName<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ECS-container-name-for-your-ECS-application<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #616E88\">#\ucee8\ud14c\uc774\ub108 \uc774\ub984<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">ContainerPort<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">port-used-by-your-ECS-application<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">#\ucee8\ud14c\uc774\ub108 \ud3ec\ud2b8 \uc124\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Optional properties<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">PlatformVersion<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ecs-service-platform-version<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">NetworkConfiguration<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">AwsvpcConfiguration<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">Subnets<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ecs-subnet-1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ecs-subnet-n<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">SecurityGroups<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ecs-security-group-1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ecs-security-group-n<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">AssignPublicIp<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ENABLED-or-DISABLED<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">CapacityProviderStrategy<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Base<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Integer<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">CapacityProvider<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">capacityProviderA<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">Weight<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Integer<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Base<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Integer<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">CapacityProvider<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">capacityProviderB<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">Weight<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Integer<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># EC2\/\uc628\ud504\ub808\ubbf8\uc2a4 \ubc30\ud3ec\ud560\ub54c \uc0ac\uc6a9\ud558\uba70 Unix\/Linux \uacc4\uc5f4\uc5d0\uc11c \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ud30c\uc77c \ubc0f \ub514\ub809\ud130\ub9ac\uac00 \uc778\uc2a4\ud134\uc2a4\uc5d0 \ubcf5\uc0ac\ub41c \ud6c4 \uc801\uc6a9\ub418\ub294 \ud2b9\uc218\uad8c\ud55c\uc744 \ubd80\uc5ec\ud574\uc57c\ud558\ub294 \uacbd\uc6b0 \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">permissions<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">object<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/tmp\/my-app<\/span><span style=\"color: #D8DEE9FF\">                  <\/span><span style=\"color: #616E88\">#\ud30c\uc77c \ubc0f \ub514\ub809\ud130\ub9ac \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">pattern<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">*-3.txt<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">                 <\/span><span style=\"color: #616E88\">#\uc815\uaddc\ud45c\ud604\uc2dd\uc73c\ub85c \ud30c\uc77c \ud328\ud134 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">except<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #A3BE8C\">tmp\/my-app\/my-folder-2\/my-folder-3<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #616E88\"># \uc81c\uc678\ud560 \ud30c\uc77c \ubc0f \ub514\ub809\ud130\ub9ac<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">owner<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">adm<\/span><span style=\"color: #D8DEE9FF\">                         <\/span><span style=\"color: #616E88\"># \ud30c\uc77c \uc18c\uc720\uc790 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">group<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">wheel<\/span><span style=\"color: #D8DEE9FF\">                       <\/span><span style=\"color: #616E88\"># \ud30c\uc77c \uadf8\ub8f9\uc18c\uc720\uc790 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">mode<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">464<\/span><span style=\"color: #D8DEE9FF\">                          <\/span><span style=\"color: #616E88\"># mask \uac12 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">acls<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">u:mary:rw<\/span><span style=\"color: #D8DEE9FF\">                      <\/span><span style=\"color: #616E88\"># \ud558\ub098 \uc774\uc0c1\uc758 \uad8c\ud55c \ubd80\uc5ec\ub97c \ud560\ub54c \uc0ac\uc6a9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">u:sam:rw<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">m::rw<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">context<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">                           <\/span><span style=\"color: #616E88\"># (\uc120\ud0dd)SELinux(Security-Enhanced Linux) <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">user<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">unconfined_u<\/span><span style=\"color: #D8DEE9FF\">               <\/span><span style=\"color: #616E88\"># \uc9c0\uc6d0 \uc778\uc2a4\ud134\uc2a4\uc758 \uacbd\uc6b0 \ubcf5\uc0ac\ub41c \uac1d\uccb4\uc5d0 \uc801\uc6a9\ud560 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">httpd_sys_content_t<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\"># \ubcf4\uc548 \uad00\ub828 \ucee8\ud14d\uc2a4\ud2b8 \ub808\uc774\ube14 \ubaa9\ub85d<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">range<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">s0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">type<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">hooks<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># ECS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">BeforeInstall<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">BeforeInstallHookFunctionName<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">AfterInstall<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">AfterInstallHookFunctionName<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">AfterAllowTestTraffic<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">AfterAllowTestTrafficHookFunctionName<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">BeforeAllowTraffic<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">BeforeAllowTrafficHookFunctionName<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">AfterAllowTraffic<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">AfterAllowTrafficHookFunctionName<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Lambda<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">BeforeAllowTraffic<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">BeforeAllowTrafficHookFunctionName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">AfterAllowTraffic<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AfterAllowTrafficHookFunctionName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># EC2\/On-premiss<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">deployment-lifecycle-event-name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #616E88\"># Event \uc774\ub984 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">location<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">script-location<\/span><span style=\"color: #D8DEE9FF\">       <\/span><span style=\"color: #616E88\"># \uc800\uc7a5\uc18c \ub0b4\uc758 script \uc704\uce58<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">       <\/span><span style=\"color: #8FBCBB\">timeout<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">timeout-in-seconds<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #616E88\"># Script timeout \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">       <\/span><span style=\"color: #8FBCBB\">runas<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">user-name<\/span><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #616E88\"># \ud574\ub2f9 script\ub97c \uc2e4\ud589\ud560 EC2,On-premiss \uacc4\uc815<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-4\">\n<div class=\"wp-block-column is-layout-flow\">\n<h6 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lambda_hooks_process\"><\/span><strong>Lambda hooks process<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h6>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"212\" height=\"289\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-14.png\" alt=\"\" class=\"wp-image-374\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow\">\n<h6 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"EC2On-premiss_hooks_process\"><\/span><strong>EC2\/On-premiss hooks process<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h6>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"207\" height=\"674\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-15.png\" alt=\"\" class=\"wp-image-375\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-15.png 207w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-15-92x300.png 92w\" sizes=\"(max-width: 207px) 100vw, 207px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow\">\n<h6 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ECS_Hooks_Process\"><\/span><strong>ECS Hooks Process<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h6>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"212\" height=\"627\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-17.png\" alt=\"\" class=\"wp-image-377\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-17.png 212w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-17-101x300.png 101w\" sizes=\"(max-width: 212px) 100vw, 212px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CodeDeploy_Agent_%EC%9E%91%EC%97%85\"><\/span>CodeDeploy Agent \uc791\uc5c5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\uc778\uc2a4\ud134\uc2a4\uc5d0 \uc124\uce58 \ubc0f \uad6c\uc131\ub420 \ub54c \ud574\ub2f9 \uc778\uc2a4\ud134\uc2a4\ub97c CodeDeploy \ubc30\ud3ec\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ud574\uc8fc\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud328\ud0a4\uc9c0 CodeDeploy \uc5d0\uc774\uc804\ud2b8\ub294 \ud3ec\ud2b8 443\uc744 \ud1b5\ud574 HTTPS\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc544\uc6c3\ubc14\uc6b4\ub4dc \ud1b5\uc2e0 SSM(System Manager Agent) \ub97c \uc774\uc6a9\ud574\uc11c \uc124\uce58\ud558\uac70\ub098 AWS\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ubc84\ud0b7\uc5d0\uc11c wget\uc744 \ud1b5\ud574 \ub2e4\uc6b4\ubc1b\uc544 \uc124\uce58\ud560 \uc218 \uc788\ub2e4.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>CodeDeploy? Amazon EC2 \uc778\uc2a4\ud134\uc2a4, \uc628\ud504\ub808\ubbf8\uc2a4 \uc778\uc2a4\ud134\uc2a4, \uc11c\ubc84\ub9ac\uc2a4 Lambda \ud568\uc218 \ub610\ub294 Amazon ECS \uc11c\ube44\uc2a4\uc5d0 \ub300\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc30\ud3ec\ub97c \uc790\ub3d9\ud654\ud558\ub294 \ubc30\ud3ec \uc11c\ube44\uc2a4 \uc7a5\uc810 \uc790\ub3d9\ud654\ub41c \ubc30\ud3ec \ubc0f \ub3d9\uc2dc \ubc30\ud3ec \uac00\ub3d9\uc911\uc9c0 \uc2dc\uac04\uc744 \ucd5c\uc18c\ud654 \ub864\ubc31 \uac00\ub2a5 \uc911\uc559 \uc9d1\uc911\uc2dd \uc81c\uc5b4 CodeDeploy \ubc30\ud3ec \uc720\ud615 \uac1c\uc694 \ub0b4\ubd80\ubc30\ud3ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc911\uc9c0\ub418\uace0 \ucd5c\uc2e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 Revision\uc774 \uc124\uce58\ub418\uba70 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc0c8 Version\uc774 \uc2dc\uc791\ub418\uace0 \uac80\uc99d \ube14\ub8e8\/\uadf8\ub9b0 \ubc30\ud3ec CodeDeploy \uae30\ubcf8 \uad6c\uc131 \uc694\uc18c &#8230; <a title=\"[AWS] CodeDeploy\" class=\"read-more\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=370\" aria-label=\"More on [AWS] CodeDeploy\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":430,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":""},"categories":[5],"tags":[21],"_links":{"self":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/370"}],"collection":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=370"}],"version-history":[{"count":4,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/370\/revisions"}],"predecessor-version":[{"id":500,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/370\/revisions\/500"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/430"}],"wp:attachment":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}