{"id":8522,"date":"2025-04-23T11:31:21","date_gmt":"2025-04-23T02:31:21","guid":{"rendered":"https:\/\/engineer-chanpu.blog\/?p=8522"},"modified":"2025-04-24T15:05:24","modified_gmt":"2025-04-24T06:05:24","slug":"web-application-%ec%95%84%ed%82%a4%ed%85%8d%ec%b2%98-azure%ec%99%80-aws-%eb%b9%84%ea%b5%90%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/engineer-chanpu.blog\/?p=8522","title":{"rendered":"Web Application \uc544\ud0a4\ud14d\ucc98: Azure\uc640 AWS \ube44\uad50\ud558\uae30"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Azure \uae30\ubc18 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc544\ud0a4\ud14d\ucc98 \u2192 AWS \ub300\uc751 \uad6c\uc131<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Azure \uad6c\uc131<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\uacc4\uce35<\/th><th>\uc11c\ube44\uc2a4<\/th><th>\uc124\uba85<\/th><\/tr><\/thead><tbody><tr><td>\ud504\ub860\ud2b8\uc5d4\ub4dc<\/td><td>Azure App Service<\/td><td>\uc6f9\uc571 \ud638\uc2a4\ud305 (PaaS)<\/td><\/tr><tr><td>\ubc31\uc5d4\ub4dc API<\/td><td>Azure Functions \ub610\ub294 App Service<\/td><td>\uc11c\ubc84\ub9ac\uc2a4 \ub610\ub294 API \ud638\uc2a4\ud305<\/td><\/tr><tr><td>\ub370\uc774\ud130\ubca0\uc774\uc2a4<\/td><td>Azure SQL Database<\/td><td>\uad00\ub9ac\ud615 SQL<\/td><\/tr><tr><td>\ud30c\uc77c \uc800\uc7a5\uc18c<\/td><td>Azure Blob Storage<\/td><td>\uc815\uc801 \ud30c\uc77c \uc800\uc7a5<\/td><\/tr><tr><td>\ub124\ud2b8\uc6cc\ud06c<\/td><td>Azure VNet + NSG<\/td><td>\ub124\ud2b8\uc6cc\ud06c \ubcf4\uc548<\/td><\/tr><tr><td>\uc778\uc99d<\/td><td>Azure AD B2C<\/td><td>\uc0ac\uc6a9\uc790 \uc778\uc99d \ubc0f \uad00\ub9ac<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>AWS \ub300\uc751 \uc544\ud0a4\ud14d\ucc98<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\uacc4\uce35<\/th><th>AWS \uc11c\ube44\uc2a4<\/th><th>\uc124\uba85<\/th><\/tr><\/thead><tbody><tr><td>\ud504\ub860\ud2b8\uc5d4\ub4dc<\/td><td>AWS Elastic Beanstalk (\ub610\ub294 AWS App Runner)<\/td><td>Node.js, .NET \ub4f1 \uc6f9\uc571 \ud638\uc2a4\ud305 (PaaS)<\/td><\/tr><tr><td>\ubc31\uc5d4\ub4dc API<\/td><td>AWS Lambda + API Gateway<\/td><td>\uc11c\ubc84\ub9ac\uc2a4 REST API<\/td><\/tr><tr><td>\ub370\uc774\ud130\ubca0\uc774\uc2a4<\/td><td>Amazon RDS (SQL Server \ub610\ub294 Aurora)<\/td><td>\uad00\ub9ac\ud615 SQL<\/td><\/tr><tr><td>\ud30c\uc77c \uc800\uc7a5\uc18c<\/td><td>Amazon S3<\/td><td>\uc815\uc801 \ud30c\uc77c, \uc774\ubbf8\uc9c0, \ub85c\uadf8 \ub4f1 \uc800\uc7a5<\/td><\/tr><tr><td>\ub124\ud2b8\uc6cc\ud06c<\/td><td>Amazon VPC + Security Groups<\/td><td>\ub124\ud2b8\uc6cc\ud06c \uaca9\ub9ac \ubc0f \uc81c\uc5b4<\/td><\/tr><tr><td>\uc778\uc99d<\/td><td>Amazon Cognito<\/td><td>\uc0ac\uc6a9\uc790 \uc778\uc99d, \uc18c\uc15c \uc5f0\ub3d9, \ud1a0\ud070 \ubc1c\uae09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\uc544\ud0a4\ud14d\ucc98 \ud750\ub984 \uc608\uc2dc<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>\uc0ac\uc6a9\uc790 \u2192 Route 53 (DNS)<br>        \u2193<br>     API Gateway (API \ud638\ucd9c)<br>        \u2193<br>     AWS Lambda (\ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1)<br>        \u2193<br>     RDS (DB \uc694\uccad) or S3 (\ud30c\uc77c \uc811\uadfc)<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">&#x1f4a1; \uc8fc\uc694 \uace0\ub824\uc0ac\ud56d<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>App Service \u2192 Elastic Beanstalk<\/strong>: PaaS \uac1c\ub150\uc740 \ube44\uc2b7\ud558\ub098, Beanstalk\uc740 \uc124\uc815\uc774 \ub354 \uc138\uc138\ud558\uace0 \uc778\ud504\ub77c \uc790\ub3d9\ud654\uc5d0 \uac00\uae4c\uc6c0.<\/li>\n\n\n\n<li><strong>Azure SQL \u2192 RDS<\/strong>: RDS\ub294 \uc5ec\ub7ec \uc5d4\uc9c4(SQL Server, PostgreSQL \ub4f1) \uc911 \uc120\ud0dd \uac00\ub2a5.<\/li>\n\n\n\n<li><strong>Azure AD B2C \u2192 Cognito<\/strong>: \uc18c\uc15c \ub85c\uadf8\uc778, \uc0ac\uc6a9\uc790 \ud480 \uad00\ub9ac\uac00 \uac00\ub2a5\ud558\uc9c0\ub9cc AD B2C\ub9cc\ud07c \uc138\ubd84\ud654\ub41c \uc815\ucc45\uc740 \uc81c\ud55c\uc801.<\/li>\n\n\n\n<li><strong>Blob Storage \u2192 S3<\/strong>: \uac70\uc758 \ub3d9\uc77c\ud55c \uac1c\ub150. \uc815\uc801 \uc6f9 \ud638\uc2a4\ud305\ub3c4 \uac00\ub2a5.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Azure \uae30\ubc18 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc544\ud0a4\ud14d\ucc98 \u2192 AWS \ub300\uc751 \uad6c\uc131 Azure \uad6c\uc131 \uacc4\uce35 \uc11c\ube44\uc2a4 \uc124\uba85 \ud504\ub860\ud2b8\uc5d4\ub4dc Azure App Service \uc6f9\uc571 \ud638\uc2a4\ud305 (PaaS) \ubc31\uc5d4\ub4dc API Azure Functions \ub610\ub294 App Service \uc11c\ubc84\ub9ac\uc2a4 \ub610\ub294 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[227,33],"tags":[],"class_list":["post-8522","post","type-post","status-publish","format-standard","hentry","category-amazon-web-service","category-tech-notes"],"_links":{"self":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/8522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8522"}],"version-history":[{"count":2,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/8522\/revisions"}],"predecessor-version":[{"id":8712,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/8522\/revisions\/8712"}],"wp:attachment":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}