{"id":35852,"date":"2020-03-13T12:16:31","date_gmt":"2020-03-13T03:16:31","guid":{"rendered":"https:\/\/jirak.net\/wp\/amazon-api-gateway-%ea%b8%b0%eb%b0%98-http-api-%ec%a0%95%ec%8b%9d-%ec%b6%9c%ec%8b%9c-%ec%84%9c%ec%9a%b8-%eb%a6%ac%ec%a0%84-%ed%8f%ac%ed%95%a8\/"},"modified":"2020-03-13T12:34:19","modified_gmt":"2020-03-13T03:34:19","slug":"amazon-api-gateway-%ea%b8%b0%eb%b0%98-http-api-%ec%a0%95%ec%8b%9d-%ec%b6%9c%ec%8b%9c-%ec%84%9c%ec%9a%b8-%eb%a6%ac%ec%a0%84-%ed%8f%ac%ed%95%a8","status":"publish","type":"post","link":"https:\/\/jirak.net\/wp\/amazon-api-gateway-%ea%b8%b0%eb%b0%98-http-api-%ec%a0%95%ec%8b%9d-%ec%b6%9c%ec%8b%9c-%ec%84%9c%ec%9a%b8-%eb%a6%ac%ec%a0%84-%ed%8f%ac%ed%95%a8\/","title":{"rendered":"Amazon API Gateway \uae30\ubc18 HTTP API \uc815\uc2dd \ucd9c\uc2dc (\uc11c\uc6b8 \ub9ac\uc804 \ud3ec\ud568)"},"content":{"rendered":"<p>Amazon API Gateway \uae30\ubc18 HTTP API \uc815\uc2dd \ucd9c\uc2dc (\uc11c\uc6b8 \ub9ac\uc804 \ud3ec\ud568)<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jirak.net\/wp\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-12-at-9.17.32-AM.png\" width=\"1511\" height=\"719\"><\/p>\n<p>2015 \ub144 7 \uc6d4 AWS\ub294&nbsp;<a href=\"https:\/\/aws.amazon.com\/api-gateway\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon API Gateway\ub97c<\/a>&nbsp;\ubc1c\ud45c\ud558\uc5ec, \ub2e4\uc591\ud55c \uc720\ud615\uc758 \uc544\ud0a4\ud14d\ucc98 \uc55e\uc5d0\uc11c \uc548\uc804\ud558\uace0 \ud655\uc7a5 \uac00\ub2a5\ud55c API\ub97c \uc2e0\uc18d\ud558\uac8c \uad6c\ucd95 \ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.&nbsp;\uadf8 \uc774\ud6c4\ub85c API Gateway \ud300\uc740 \uace0\uac1d\uc744 \uc704\ud55c \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uacfc \uc11c\ube44\uc2a4\ub97c \uacc4\uc18d \uad6c\ucd95\ud574 \uc654\uc2b5\ub2c8\ub2e4.<a href=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Screen-Shot-2020-03-12-at-9.17.32-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8757\" title=\"\ud0c0\uc784 \ub77c\uc778\uc744 \uac15\uc870\ud558\ub294 API \uac8c\uc774\ud2b8\uc6e8\uc774 \uae30\ub2a5\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Screen-Shot-2020-03-12-at-9.17.32-AM.png\" alt=\"\" width=\"780\" height=\"371\" \/><\/a><\/p>\n<h6>\uadf8\ub9bc 1 : \ud0c0\uc784 \ub77c\uc778\uc744 \uac15\uc870\ud558\ub294 API Gateway \uae30\ub2a5<\/h6>\n<p>2019 \ub144 \ucd08 API \uac8c\uc774\ud2b8\uc6e8\uc774 \uc11c\ube44\uc2a4\uc5d0 \ub300\ud55c \uace0\uac1d \ud53c\ub4dc\ubc31\uc744 \uae30\ubc18\uc73c\ub85c&nbsp; \uc0c8\ub85c\uc6b4 \uc5b8\uc5b4\uc640 \uae30\uc220\uc744 \ud504\ub85c\ud1a0 \ud0c0\uc785\ud654\ud558\uace0 REST \ubc0f WebSocket API\ub97c \uad6c\ucd95\ud558\uc600\uc2b5\ub2c8\ub2e4.&nbsp;\uadf8 \uacb0\uacfc \uc9c0\ub09c&nbsp; AWS re:Invent 2019\uc5d0\uc11c \ub354\uc6b1 \ube60\ub974\uace0 \ub0ae\uc740 \ube44\uc6a9\uc73c\ub85c\ub3c4 \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 \uc11c\ube44\uc2a4 \uc778&nbsp;<a href=\"https:\/\/aws.amazon.com\/ko\/about-aws\/whats-new\/2019\/12\/amazon-api-gateway-offers-faster-cheaper-simpler-apis-using-http-apis-preview\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon API Gateway \uae30\ubc18 HTTP API<\/a>&nbsp; \ubbf8\ub9ac \ubcf4\uae30\ub97c \ucd9c\uc2dc\ud588\uc73c\uba70, \uc624\ub298 \uc815\uc2dd \ucd9c\uc2dc \ud569\ub2c8\ub2e4.<\/p>\n<h3>Amazon API Gateway \uae30\ubc18 HTTP API\uc758 \uc8fc\uc694 \uae30\ub2a5<\/h3>\n<p>\ub300\ubd80\ubd84\uc758 \uacbd\uc6b0\uc5d0\uc11c HTTP API\ub294 \ub300\uae30 \uc2dc\uac04\uc744 \ucd5c\ub300 60 %\uae4c\uc9c0 \uc904\uc785\ub2c8\ub2e4.&nbsp;\uac1c\ubc1c\uc790\ub294 \ucd5c\uc18c \ub300\uae30 \uc2dc\uac04\uacfc \ucd5c\ub300 \uae30\ub2a5\uc73c\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95\ud558\ub824\uace0 \ub178\ub825\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8739\" title=\"\ubaa8\ub4e0 \uc11c\ube44\uc2a4\ub294 \ub300\uae30 \uc2dc\uac04\uc744 \ucd94\uac00\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture2.png\" alt=\"\ubaa8\ub4e0 \uc11c\ube44\uc2a4\ub294 \ub300\uae30 \uc2dc\uac04\uc744 \ucd94\uac00\" width=\"780\" height=\"222\" \/><\/p>\n<h6>\uadf8\ub9bc 2 : \ubaa8\ub4e0 \uc11c\ube44\uc2a4\uac00 \ub300\uae30 \uc2dc\uac04\uc744 \ucd94\uac00<\/h6>\n<p>\uc774\ub97c \uc5fc\ub450\uc5d0 \ub450\uace0 HTTP API\ub294 API Gateway \uc11c\ube44\uc2a4\uc758 \ub300\uae30 \uc2dc\uac04 \uc624\ubc84 \ud5e4\ub4dc\ub97c \uc904\uc774\uae30 \uc704\ud574 \uc694\uccad\uacfc \uc751\ub2f5\uc744 \uacb0\ud569\ud558\uc5ec \ubaa8\ub4e0 \uc694\uccad\uc758 99 % (p99)\ub294 HTTP API\uc5d0\uc11c 10ms \ubbf8\ub9cc\uc758 \ucd94\uac00 \ub300\uae30 \uc2dc\uac04\uc744 \uac16\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud2b9\ud788, \ube44\uc6a9 \ud6a8\uc728\uc801\uc778 \ubc29\uc2dd\uc73c\ub85c \uc791\uc5c5\ub97c \uc218\ud589\ud558\uace0 \ub192\uc740 \uac00\uc6a9\uc131\uc744 \ud655\ubcf4\ud558\uae30 \uc704\ud574 API Gateway\ub97c \uc6b4\uc601\ud55c \uacbd\ud5d8\uc744 \ubc14\ud0d5\uc73c\ub85c&nbsp; HTTP API\ub97c \uad6c\ucd95\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8740\" title=\"REST \/ HTTP API \uac00\uaca9 \ube44\uad50\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture3.png\" alt=\"REST \/ HTTP API \uac00\uaca9 \ube44\uad50\" width=\"780\" height=\"240\" \/><\/p>\n<h6>\uadf8\ub9bc 3 : REST \/ HTTP API \uac00\uaca9 \ube44\uad50<\/h6>\n<p><a href=\"https:\/\/aws.amazon.com\/api-gateway\/pricing\/\" target=\"_blank\" rel=\"noopener noreferrer\">us-east-1<\/a>&nbsp;\uc758&nbsp;<a href=\"https:\/\/aws.amazon.com\/api-gateway\/pricing\/\" target=\"_blank\" rel=\"noopener noreferrer\">\uc694\uae08 \ub0b4\uc5ed\uc744<\/a> \uae30\ubc18\uc73c\ub85c \ud55c \ub2ec\uc5d0 1 \uc5b5, 5 \uc5b5 \ubc0f 10 \uc5b5 \uc694\uccad\uc5d0 \ub300\ud55c \ube44\uc6a9 \ube44\uad50\ub97c \uc0b4\ud3b4 \ubcf4\uc558\uc744 \ub54c, \uc804\ubc18\uc801\uc73c\ub85c HTTP API\ub294 API Gateway REST API\uc5d0 \ube44\ud574 \ucd5c\uc18c 71 % \uc800\ub834\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub610\ud55c, HTTP API \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc11c \uae30\uc874 \ubcf4\ub2e4 \uc9c1\uad00\uc801\uc774\uace0 \uc0ac\uc6a9\ud558\uae30 \uc27d\uac8c \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/CORS\" target=\"_blank\" rel=\"noopener noreferrer\">CORS (Cross Origin Resource Scripting)<\/a>&nbsp;\uad6c\uc131\uc758 \uacbd\uc6b0,&nbsp; \uac01 \uc11c\ubc84\uc5d0 \ub300\ud55c \ub3c4\uba54\uc778 \uac04 \uc561\uc138\uc2a4\ub97c \uc81c\uc5b4\ud558\uc5ec \ubcf4\uc548\uc744 \uc81c\uacf5\ud558\uba70 \uc774\ud574 \ubc0f \uad6c\uc131\uc774 \uc5b4\ub824\uc6b8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>HTTP API\ub97c \uc0ac\uc6a9\ud558\uba74 \uac1c\ubc1c\uc790\uac00 \uc774\ud574\ud558\uae30 \uc26c\uc6b4 \ub2e8\uc21c UI\ub97c \uc0ac\uc6a9\ud558\uc5ec CORS \uc124\uc815\uc744 \ube60\ub974\uac8c \uad6c\uc131 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;UI \uc804\uccb4\uc5d0\uc11c \uc774\uc640 \ub3d9\uc77c\ud55c \uc811\uadfc \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uba74 API\ub97c \uc791\uc131\ud558\ub294 \uac15\ub825\ud558\uba74\uc11c\ub3c4 \uc26c\uc6b4 \uc811\uadfc \ubc29\uc2dd\uc774 \ub9cc\ub4e4\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8754\" title=\"CORS \uad6c\uc131\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Screen-Shot-2020-03-12-at-9.01.28-AM.png\" alt=\"CORS \uad6c\uc131\" width=\"780\" height=\"472\" \/><\/p>\n<h6>\uadf8\ub9bc 4 : CORS \uad6c\uc131<\/h6>\n<h3>HTTP API\uc758 \uc2e0\uaddc \uae30\ub2a5<\/h3>\n<p>\uc9c0\ub09c \ubbf8\ub9ac \ubcf4\uae30 \ucd9c\uc2dc\uc5d0\uc11c JWT \uad8c\ud55c \ubd80 \uc5ec\uc790, \uc790\ub3d9 \ubc30\ud3ec \ub2e8\uacc4 \ubc0f \uac04\ub2e8\ud55c \uacbd\ub85c \ud1b5\ud569\uacfc \uac19\uc740 \uac15\ub825\ud55c \uae30\ub2a5\uc744 \ubc1c\ud45c\ud558\uc600\uace0, \uace0\uac1d\uc758 \ud53c\ub4dc\ubc31\uc744 \ud1b5\ud574 \uba87 \uac00\uc9c0 \ucd94\uac00 \uae30\ub2a5\uc744 \ucd9c\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>VPC \ud1b5\ud569<\/strong><br \/> HTTP API\ub294 \uac1c\ubc1c\uc790\uc5d0\uac8c Amazon VPC\uc5d0\uc11c \ubcf4\ud638\ub41c \ub9ac\uc18c\uc2a4\uc640 \ud1b5\ud569 \ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.&nbsp;<a href=\"https:\/\/aws.amazon.com\/ecs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon ECS (Amazon Elastic Container Service)<\/a>&nbsp;\ub610\ub294&nbsp;<a href=\"https:\/\/aws.amazon.com\/eks\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon EKS (Amazon Elastic Kubernetes Service&nbsp;<\/a><a href=\"https:\/\/aws.amazon.com\/ecs\/\" target=\"_blank\" rel=\"noopener noreferrer\">)<\/a>&nbsp;\ub97c \ud1b5\ud55c \ucee8\ud14c\uc774\ub108\uc640 \uac19\uc740 \uae30\uc220\ub85c \uac1c\ubc1c\ud560 \ub54c\ub294&nbsp;\uae30\ubcf8&nbsp;<a href=\"https:\/\/aws.amazon.com\/ec2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon EC2<\/a>&nbsp;\ud074\ub7ec\uc2a4\ud130\uac00 VPC \ub0b4\uc5d0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.&nbsp;<a href=\"https:\/\/aws.amazon.com\/elasticloadbalancing\/\" target=\"_blank\" rel=\"noopener noreferrer\">Elastic Load Balancing\uc744<\/a>&nbsp;\ud1b5\ud574 \uc774\ub7ec\ud55c \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5&nbsp;\ud560 \uc218 \uc788\uc9c0\ub9cc \uac1c\ubc1c\uc790\ub294 HTTP API\ub97c \ud65c\uc6a9\ud558\uc5ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc9c0\uc6d0\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8742\" title=\"VPC \ub9c1\ud06c \uad6c\uc131\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture5.png\" alt=\"VPC \ub9c1\ud06c \uad6c\uc131\" width=\"780\" height=\"138\" \/><\/p>\n<h6>\uadf8\ub9bc 5 : VPC \ub9c1\ud06c \uad6c\uc131<\/h6>\n<p>\ud504\ub77c\uc774\ube57 \ub124\ud2b8\uc6cc\ud06c \ud1b5\ud569\uc744 \ud558\ub824\uba74&nbsp;<a href=\"https:\/\/docs.aws.amazon.com\/apigateway\/api-reference\/resource\/vpc-link\/\" target=\"_blank\" rel=\"noopener noreferrer\">VPC \ub9c1\ud06c<\/a>&nbsp;\uac00 \ud544\uc694\ud569\ub2c8\ub2e4&nbsp;.&nbsp;VPC \ub9c1\ud06c\ub294&nbsp;Network Load Balancer \ubc0f NAT \uac8c\uc774\ud2b8\uc6e8\uc774\uc5d0 \uc0ac\uc6a9\ub418\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\ub2a5 \uac00\uc0c1\ud654 \ud50c\ub7ab\ud3fc&nbsp;\uc778&nbsp;<a href=\"https:\/\/youtu.be\/dfEcd3zqPOA?t=4661\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Hyperplane<\/a>&nbsp;\uc744 \ud65c\uc6a9&nbsp;\ud569\ub2c8\ub2e4.&nbsp;\uc774 \uae30\uc220\uc744 \uc0ac\uc6a9\ud558\uba74 \uc5ec\ub7ec HTTP API\uac00 VPC\uc5d0 \ub300\ud55c \ub2e8\uc77c VPC \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;\ub9c8\ucc2c\uac00\uc9c0\ub85c \uc5ec\ub7ec REST API\uac00 REST API VPC \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8743\" title=\"\uac1c\uc778 \ud1b5\ud569 \uad6c\uc131\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture6.png\" alt=\"\uac1c\uc778 \ud1b5\ud569 \uad6c\uc131\" width=\"780\" height=\"138\" \/><\/p>\n<h6>\uadf8\ub9bc 6 : \uac1c\uc778 \ud1b5\ud569 \uad6c\uc131<\/h6>\n<p>VPC \ub9c1\ud06c\uac00 \uc874\uc7ac\ud558\uba74 NLB (Network Load Balancer), ALB (Application Load Balancer) \ub610\ub294 \ub9ac\uc18c\uc2a4 \uac80\uc0c9 \uc11c\ube44\uc2a4 \uc778&nbsp;<a href=\"https:\/\/aws.amazon.com\/cloud-map\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Cloud Map\uc744<\/a>&nbsp;\uc0ac\uc6a9\ud558\uc5ec HTTP API \ud504\ub77c\uc774\ube57 \ud1b5\ud569\uc744 \uad6c\uc131 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4&nbsp;.<\/p>\n<p><strong>\ub9de\ucda4\ud615 \ub3c4\uba54\uc778 \uc0c1\ud638 \ud638\ud658\uc131<\/strong><br \/> Amazon API Gateway\ub294 \uc774\uc81c REST API \ubc0f HTTP API\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uc815\uc758 \ub3c4\uba54\uc778\uc744 \uacf5\uc720 \ud560 \uc218\uc788\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.&nbsp;\uc774\ub7ec\ud55c \uc720\uc5f0\uc131 \ub355\ubd84\uc5d0 \uac1c\ubc1c\uc790\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95\ud558\ub294 \ub3d9\uc548 REST API\uc640 HTTP API\ub97c \ud63c\ud569\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8744\" title=\"\ub9de\ucda4 \ub3c4\uba54\uc778 \uc0c1\ud638 \ud638\ud658\uc131\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture7.png\" alt=\"\ub9de\ucda4 \ub3c4\uba54\uc778 \uc0c1\ud638 \ud638\ud658\uc131\" width=\"780\" height=\"258\" \/><\/p>\n<h6>\uadf8\ub9bc 7 : \uc0ac\uc6a9\uc790 \uc815\uc758 \ub3c4\uba54\uc778 \uc0c1\ud638 \ud638\ud658\uc131<\/h6>\n<p>\uc774\uc804\uc5d0\ub294 \ud558\ub098\uc758 \ub3c4\uba54\uc778 \uc774\ub984\uc774 \ud544\uc694\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95 \ud560 \ub54c \uac1c\ubc1c\uc790\ub294 \ub2e8\uc77c \uc720\ud615\uc758 API \ub9cc \uc0ac\uc6a9\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uc5b4\ub5a4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 REST\uc5d0\uc11c\ub9cc \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uae30\ub2a5\uc774 \ud544\uc694\ud558\uae30 \ub54c\ubb38\uc5d0 REST API\ub97c \uc120\ud0dd\ud560 \uc218 \ubc16\uc5d0 \uc5c6\uc73c\ub098, \uc624\ub298\ubd80\ud130 \uae30\ub2a5 \uc694\uad6c \uc0ac\ud56d\uc5d0 \ub530\ub77c HTTP API\uc640 REST API\uac04\uc5d0 \uc774\ub7ec\ud55c \uacbd\ub85c\ub97c \uc0c1\ud638 \ubc30\ud3ec \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2a4\ub85c\ud2c0\ub9c1(Throttling) \uc694\uccad<\/strong><br \/> HTTP API\ub294 \uac01 \ub2e8\uacc4 \ubc0f \uacbd\ub85c \uc218\uc900\uc5d0\uc11c \uc138\ubd80 \ud2b8\ub798\ud53d \uc870\uc808\uc744 \uc218\ud589 \ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.&nbsp;API \uc2a4\ub85c\ud2c0\ub9c1\uc740 API \ubc0f \ud574\ub2f9 \uc778\ud504\ub77c\uc758 \uc0c1\ud0dc\uc5d0 \uc790\uc8fc \uac04\uacfc\ub418\ub294 API \uae30\ub2a5\uc785\ub2c8\ub2e4.&nbsp;\uae30\ubcf8\uc801\uc73c\ub85c&nbsp;<a href=\"https:\/\/docs.aws.amazon.com\/apigateway\/latest\/developerguide\/api-gateway-request-throttling.html\" target=\"_blank\" rel=\"noopener noreferrer\">API Gateway<\/a>&nbsp;\ub294 \uc815\uc0c1 \uc694\uccad \uc18d\ub3c4\ub97c 5,000 \uc694\uccad \ubc84\uc2a4\ud2b8 \uc81c\ud55c\uc73c\ub85c \ucd08\ub2f9 10,000 \uc694\uccad (rps)\uc73c\ub85c \uc81c\ud55c\ud569\ub2c8\ub2e4.&nbsp;\uc774\ub294 \uc18c\ud504\ud2b8 \ud55c\ub3c4\uc774\uba70&nbsp;<a href=\"https:\/\/aws.amazon.com\/about-aws\/whats-new\/2019\/11\/manage-amazon-api-gateway-limits-with-aws-service-quotas\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS \uc11c\ube44\uc2a4 \ud560\ub2f9\ub7c9\uc744 \ud1b5\ud574 \uc62c\ub9b4<\/a>&nbsp;\uc218 \uc788\uc2b5\ub2c8\ub2e4&nbsp;.<\/p>\n<p>HTTP API\uc5d0\ub294 \ub2e4\uc591\ud55c \ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub2e8\uacc4(Stage) \uac1c\ub150\uc774 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \ub3d9\uc77c\ud55c API\uc5d0\uc11c \uac1c\ubc1c, \ubca0\ud0c0 \ubc0f \uc81c\ud488 \ub2e8\uacc4\ub97c \uac00\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;\ub610\ud55c \uc774\uc804 \ubc84\uc804\uacfc\uc758 \ud638\ud658\uc131\uc744 \uc704\ud574 \ub3d9\uc77c\ud55c API\uc758 \uc5ec\ub7ec \ud504\ub85c\ub355\uc158 \ub2e8\uacc4\ub97c \uad6c\uc131 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;\uac01 \ub2e8\uacc4\uc5d0\ub294 \uacc4\uc815 \ub808\ubca8 \uc124\uc815\uc744 10,000rps\ubcf4\ub2e4 \uc6b0\uc120\ud558\ub294 \ubc84\uc2a4\ud2b8 \ubc0f \uc18d\ub3c4 \uc81c\ud55c \uc124\uc815 \uc635\uc158\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8745\" title=\"\uc2a4\ud14c\uc774\uc9c0 \ub808\ubca8 \uc870\uc808\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture8.png\" alt=\"\uc2a4\ud14c\uc774\uc9c0 \ub808\ubca8 \uc870\uc808\" width=\"780\" height=\"228\" \/><\/p>\n<h6>\uadf8\ub9bc 8 : \uc2a4\ud14c\uc774\uc9c0 \ub808\ubca8 \uc870\uc808<\/h6>\n<p>\uacbd\ub85c \uc218\uc900\uc5d0\uc11c \uc81c\ud55c\uc744 \uc124\uc815\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;\uacbd\ub85c\ub294 \uacbd\ub85c\uc640 \ubc29\ubc95\uc758 \uc870\ud569\uc785\ub2c8\ub2e4.&nbsp;\uc608\ub97c \ub4e4\uc5b4 \ub8e8\ud2b8 \uacbd\ub85c (\/)\uc758 GET \uba54\uc18c\ub4dc\ub294 \uacb0\ud569\ud558\uc5ec \uacbd\ub85c\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.&nbsp;\uc774 \uae00\uc744 \uc4f0\ub294 \uc2dc\uc810\uc5d0\uc11c&nbsp;<a href=\"https:\/\/aws.amazon.com\/cli\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Command Line Interface (CLI)<\/a>&nbsp;\ub610\ub294&nbsp;<a href=\"https:\/\/aws.amazon.com\/tools\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS SDK\ub97c<\/a>&nbsp;\uc0ac\uc6a9\ud558\uc5ec \uacbd\ub85c \uc218\uc900 \uc870\uc808\uc744 \ub9cc\ub4e4\uc5b4\uc57c\ud569\ub2c8\ub2e4&nbsp;.&nbsp;<strong>$ default<\/strong>&nbsp;\uc2a4\ud14c\uc774\uc9c0&nbsp;\uc5d0\uc11c&nbsp;<strong>\/ [ANY]<\/strong>&nbsp;\ub77c\uc6b0\ud2b8\uc5d0 \uc81c\ud55c\uc744 \uc124\uc815\ud558\ub824\uba74&nbsp;\ub2e4\uc74c CLI \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<pre class=\" language-bash\"><code class=\" language-bash\">aws apigatewayv2 update<span class=\"token operator\">-<\/span>stage <span class=\"token operator\">--<\/span>api<span class=\"token operator\">-<\/span><span class=\"token function\">id<\/span> <span class=\"token operator\">&lt;<\/span>your API ID<span class=\"token operator\">&gt;<\/span> <span class=\"token operator\">--<\/span>stage<span class=\"token operator\">-<\/span>name <span class=\"token variable\">$default<\/span> <span class=\"token operator\">--<\/span>route<span class=\"token operator\">-<\/span>settings '<span class=\"token punctuation\">{<\/span><span class=\"token string\">&quot;ANY \/&quot;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token string\">&quot;ThrottlingBurstLimit&quot;<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">1000<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&quot;ThrottlingRateLimit&quot;<\/span><span class=\"token punctuation\">:<\/span><span class=\"token number\">2000<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">}<\/span>'<\/code><\/pre>\n<p><strong>\ub2e8\uacc4 \ubcc0\uc218(Stage Variables)<\/strong><br \/> HTTP API\ub294 \ub3d9\uc801 \ubcc0\uc218\ub97c \ubc31\uc5d4\ub4dc \ud1b5\ud569\uc73c\ub85c \uc804\ub2ec\ud558\uac70\ub098 \ud1b5\ud569 \uc790\uccb4\ub97c \uc815\uc758\ud558\uae30 \uc704\ud574 \uc2a4\ud14c\uc774\uc9c0 \ubcc0\uc218 \uc0ac\uc6a9\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.&nbsp;\uc2a4\ud14c\uc774\uc9c0\uac00 HTTP API\uc5d0 \uc815\uc758\ub418\uba74 \ubc31\uc5d4\ub4dc \ud1b5\ud569\uc5d0 \ub300\ud55c \uc0c8\ub85c\uc6b4 \uacbd\ub85c\uac00 \uc791\uc131\ub429\ub2c8\ub2e4.&nbsp;\ub2e4\uc74c \ud45c\ub294 \uc5ec\ub7ec \ub2e8\uacc4\uac00\uc788\ub294 \ub3c4\uba54\uc778\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n<table border=\"1\" width=\"780\" cellspacing=\"0\" cellpadding=\"5\">\n<tbody>\n<tr>\n<td><strong>\ub2e8\uacc4<\/strong><\/td>\n<td><strong>\ud1b5\ub85c<\/strong><\/td>\n<\/tr>\n<tr>\n<td>$ default<\/td>\n<td>www.mydomain.com<\/td>\n<\/tr>\n<tr>\n<td>dev<\/td>\n<td>www.mydomain.com\/dev<\/td>\n<\/tr>\n<tr>\n<td>\ubca0\ud0c0<\/td>\n<td>www.mydomain.com\/beta<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>dev \uc2a4\ud14c\uc774\uc9c0\uc758 \ub9c1\ud06c\uc5d0&nbsp; \uc811\uadfc\ud558\uba74 dev \uc2a4\ud14c\uc774\uc9c0 \ubcc0\uc218\uac00&nbsp;<strong>\uc774\ubca4\ud2b8<\/strong>&nbsp;\uc624\ube0c\uc81d\ud2b8 \ubc31\uc5d4\ub4dc \ud1b5\ud569\uc73c\ub85c \uc804\ub2ec\ub429\ub2c8\ub2e4&nbsp;.&nbsp;\ubc31\uc5d4\ub4dc\ub294 \uc694\uccad\uc744 \ucc98\ub9ac \ud560 \ub54c, \uc774 \uc815\ubcf4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uac1c\uc778 \uc815\ubcf4 \uac19\uc740 \ubbfc\uac10\ud55c \uc815\ubcf4\ub97c \uc804\ub2ec\ud558\ub294 \uac00\uc7a5 \uc88b\uc740 \ubc29\ubc95\uc740 \uc544\ub2c8\uc9c0\ub9cc, \ud658\uacbd \ubcc4 \uc5d4\ub4dc \ud3ec\uc778\ud2b8 \ub610\ub294 \uae30\ub2a5 \uc2a4\uc704\uce58\uc640 \uac19\uc740 \ubbfc\uac10\ud558\uc9c0 \uc54a\uc740 \ub370\uc774\ud130\ub97c \uc9c0\uc815\ud558\ub294 \ub370 \uc720\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<p>\ubc31\uc5d4\ub4dc \ud1b5\ud569\uc744 \ub3d9\uc801\uc73c\ub85c \uc815\uc758\ud558\ub294 \ub370 \uc2a4\ud14c\uc774\uc9c0 \ubcc0\uc218\ub3c4 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.&nbsp;\uc608\ub97c \ub4e4\uc5b4, \ud1b5\ud569&nbsp;\uc5d0\uc11c \ud504\ub85c\ub355\uc158\uc744 \uc704\ud574&nbsp;\ud558\ub098\uc758&nbsp;<a href=\"https:\/\/aws.amazon.com\/lambda\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Lambda \ud568\uc218<\/a>\ub97c \uc0ac\uc6a9\ud558\uace0 \ud14c\uc2a4\ud2b8\ub97c \uc704\ud574 \ub2e4\ub978 \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uc2a4\ud14c\uc774\uc9c0 \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc544\ub798\uc640 \uac19\uc774 \uc801\uc808\ud55c Lambda \ud568\uc218\ub85c \ub3d9\uc801\uc73c\ub85c \ub77c\uc6b0\ud305 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8746\" title=\"\ud1b5\ud569 \uc9c0\uc810\uc744 \ub3d9\uc801\uc73c\ub85c \uc120\ud0dd\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture9.png\" alt=\"\ud1b5\ud569 \uc9c0\uc810\uc744 \ub3d9\uc801\uc73c\ub85c \uc120\ud0dd\" width=\"780\" height=\"191\" \/><\/p>\n<h6>\uadf8\ub9bc 9 : \ud1b5\ud569 \uc9c0\uc810\uc744 \ub3d9\uc801\uc73c\ub85c \uc120\ud0dd<\/h6>\n<p>\ub3d9\uc801 \ud1b5\ud569(Dynamic Integration)\uc744 \uad6c\ucd95 \ud560 \ub54c, \uadf8\uc5d0 \ub530\ub978 \uad8c\ud55c\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \uac83\ub3c4 \uc911\uc694\ud569\ub2c8\ub2e4.&nbsp;\ud1b5\ud569\uc774 \ub2e8\uc77c Lambda \ud568\uc218\ub97c \uac00\ub9ac\ud0ac \ub54c HTTP API\ub294 \uc790\ub3d9\uc73c\ub85c \ud638\ucd9c \uad8c\ud55c\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.&nbsp;\uadf8\ub7ec\ub098 \uc5ec\ub7ec \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uc5ed\ud560\uc744 \uc218\ub3d9\uc73c\ub85c \uc791\uc131\ud558\uace0 \uad00\ub9ac\ud574\uc57c\ud569\ub2c8\ub2e4.&nbsp;Lambda \ud568\uc218\ub97c \ud638\ucd9c\ud558\uae30\uc704\ud55c API \uac8c\uc774\ud2b8\uc6e8\uc774 \uad8c\ud55c \ubd80\uc5ec \uc635\uc158\uc744 \ud574\uc81c\ud558\uace0 \uc801\uc808\ud55c \uad8c\ud55c\uc73c\ub85c \uc0ac\uc6a9\uc790 \uc815\uc758 \uc5ed\ud560\uc744 \uc785\ub825\ud558\uc5ec \uc774\ub97c \uc218\ud589\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8755\" title=\"\ud1b5\ud569 \uc0ac\uc6a9\uc790 \uc815\uc758 \uc5ed\ud560\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Screen-Shot-2020-03-12-at-9.04.42-AM.png\" alt=\"\ud1b5\ud569 \uc0ac\uc6a9\uc790 \uc815\uc758 \uc5ed\ud560\" width=\"780\" height=\"310\" \/><\/p>\n<h6>\uadf8\ub9bc 10 : \ud1b5\ud569 \uc0ac\uc6a9\uc790 \uc815\uc758 \uc5ed\ud560<\/h6>\n<p><strong>Lambda \ud398\uc774\ub85c\ub4dc \ubc84\uc804 2.0<\/strong><br \/> HTTP API\ub294 Lambda \ud568\uc218 \ud1b5\ud569\uc744 \uc704\ud574 \uc5c5\ub370\uc774\ud2b8 \ub41c \uc774\ubca4\ud2b8 \ud398\uc774\ub85c\ub4dc \ubc0f \uc751\ub2f5 \ud615\uc2dd\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.&nbsp;\ubc84\uc804 2.0 \ud398\uc774\ub85c\ub4dc\ub294 Lambda \ud568\uc218\ub85c \uc804\uc1a1\ub418\ub294 \uc774\ubca4\ud2b8 \uac1d\uccb4\uc758 \ud615\uc2dd\uc744 \ub2e8\uc21c\ud654\ud569\ub2c8\ub2e4.&nbsp;\ub2e4\uc74c\uc740 \ubc84\uc804 1.0 \ubc0f 2.0\uc5d0\uc11c Lambda \ud568\uc218\ub85c \uc804\uc1a1\ub418\ub294 \uc774\ubca4\ud2b8 \uac1d\uccb4\ub97c \ube44\uad50 \ud55c \uac83\uc785\ub2c8\ub2e4.<\/p>\n<h4>\ubc84\uc804 1.0<\/h4>\n<pre class=\" language-json\"><code class=\" language-json\"><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">&quot;version&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;1.0&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;resource&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;\/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;path&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;\/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;httpMethod&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;GET&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;headers&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;Content-Length&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;Host&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000.execute-api.us-east-1.amazonaws.com&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;User-Agent&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;TestClient&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Amzn-Trace-Id&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;Root=1-5e6ab926-933e1530e55773a0709dfaa6&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Forwarded-For&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;1.1.1.1&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Forwarded-Port&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;443&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Forwarded-Proto&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;https&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;accept&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;*\/*&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;accept-encoding&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;gzip, deflate, br&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;cache-control&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;no-cache&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;clientInformation&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;private&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;cookie&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;Cookie_2=value; Cookie_3=value; Cookie_4=value&quot;<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;multiValueHeaders&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;Content-Length&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;0&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;Host&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;0000000000.execute-api.us-east-1.amazonaws.com&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Amzn-Trace-Id&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;Root=1-5e6ab926-933e1530e55773a0709dfaa6&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Forwarded-For&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;1.1.1.1&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Forwarded-Port&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;443&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;X-Forwarded-Proto&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;https&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;accept&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;*\/*&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;accept-encoding&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;gzip, deflate, br&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;cache-control&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;no-cache&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;clientInformation&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;public&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token string\">&quot;private&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;cookie&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;Cookie_2=value; Cookie_3=value; Cookie_4=value&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;queryStringParameters&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;getValueFor&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;newClient&quot;<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;multiValueQueryStringParameters&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;getValueFor&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n            <span class=\"token string\">&quot;newClient&quot;<\/span>\n        <span class=\"token punctuation\">]<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;requestContext&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;accountId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;apiId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;domainName&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000.execute-api.us-east-1.amazonaws.com&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;domainPrefix&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;extendedRequestId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;JTHd9j2EoAMEPEA=&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;httpMethod&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;GET&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;identity&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n            <span class=\"token property\">&quot;accessKey&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;accountId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;caller&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;cognitoAuthenticationProvider&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;cognitoAuthenticationType&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;cognitoIdentityId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;cognitoIdentityPoolId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;principalOrgId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;sourceIp&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;1.1.1.1&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;user&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;userAgent&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;TestClient&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;userArn&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span>\n        <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;path&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;\/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;protocol&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;HTTP\/1.1&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;requestId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;JTHd9j2EoAMEPEA=&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;requestTime&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;12\/Mar\/2020:22:35:18 +0000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;requestTimeEpoch&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">1584052518094<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;resourceId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;resourcePath&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;\/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;stage&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;$default&quot;<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;pathParameters&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;stageVariables&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;body&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token null\">null<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;isBase64Encoded&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<h4>\ubc84\uc804 2.0<\/h4>\n<pre class=\" language-json\"><code class=\" language-json\"><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">&quot;version&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;2.0&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;routeKey&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;ANY \/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;rawPath&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;\/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;rawQueryString&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;getValueFor=newClient&quot;<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;cookies&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">[<\/span>\n        <span class=\"token string\">&quot;Cookie_2=value&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token string\">&quot;Cookie_3=value&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token string\">&quot;Cookie_4=value&quot;<\/span>\n    <span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;headers&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;accept&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;*\/*&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;accept-encoding&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;gzip, deflate, br&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;cache-control&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;no-cache&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;clientinformation&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;public,private&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;content-length&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;host&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000.execute-api.us-east-1.amazonaws.com&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;user-agent&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;TestClient&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;x-amzn-trace-id&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;Root=1-5e6ab967-cfe253ce6f8b90986a678c40&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;x-forwarded-for&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;1.1.1.1&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;x-forwarded-port&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;443&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;x-forwarded-proto&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;https&quot;<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;queryStringParameters&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;getValueFor&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;newClient&quot;<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;requestContext&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n        <span class=\"token property\">&quot;accountId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;apiId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;domainName&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000.execute-api.us-east-1.amazonaws.com&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;domainPrefix&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;0000000000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;http&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n            <span class=\"token property\">&quot;method&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;GET&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;path&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;\/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;protocol&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;HTTP\/1.1&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;sourceIp&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;1.1.1.1&quot;<\/span><span class=\"token punctuation\">,<\/span>\n            <span class=\"token property\">&quot;userAgent&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;TestClient&quot;<\/span>\n        <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;requestId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;JTHoQgr2oAMEPMg=&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;routeId&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;47matwk&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;routeKey&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;ANY \/Echo&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;stage&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;$default&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;time&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&quot;12\/Mar\/2020:22:36:23 +0000&quot;<\/span><span class=\"token punctuation\">,<\/span>\n        <span class=\"token property\">&quot;timeEpoch&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">1584052583903<\/span>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n    <span class=\"token property\">&quot;isBase64Encoded&quot;<\/span><span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>\ub610\ud55c \ubc84\uc804 2.0\uc744 \uc0ac\uc6a9\ud558\uba74 Lambda \ud568\uc218\uc758 \uc751\ub2f5 \uac1d\uccb4 \ud615\uc2dd\uc774 \ub354 \uc720\uc5f0 \ud574\uc9d1\ub2c8\ub2e4.&nbsp;\uc774\uc804\uc5d0\ub294 \uc751\ub2f5\uc758 \ud544\uc218 \ud615\uc2dd\uc774\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\" language-json\"><code class=\" language-json\"><span class=\"token punctuation\">{<\/span>\n  \u201cstatusCode\u201d<span class=\"token operator\">:<\/span> <span class=\"token number\">200<\/span><span class=\"token punctuation\">,<\/span>\n  \u201cbody\u201d<span class=\"token operator\">:<\/span>\n  <span class=\"token punctuation\">{<\/span>\n    \u201cName\u201d<span class=\"token operator\">:<\/span> \u201cEric Johnson\u201d<span class=\"token punctuation\">,<\/span>\n    \u201cTwitterHandle\u201d<span class=\"token operator\">:<\/span> \u201c@edjgeek\u201d\n  <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>\n  Headers<span class=\"token operator\">:<\/span> <span class=\"token punctuation\">{<\/span>\n    \u201cAccess-Control-Allow-Origin\u201d<span class=\"token operator\">:<\/span> \u201chttps<span class=\"token operator\">:<\/span>\/\/amazon.com\u201d\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>\ubc84\uc804 2.0\uc744 \uc0ac\uc6a9\ud560 \ub54c \uc751\ub2f5\uc774 \ub354 \uac04\ub2e8\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\" language-json\"><code class=\" language-json\"><span class=\"token punctuation\">{<\/span>\n  \u201cName\u201d<span class=\"token operator\">:<\/span> \u201cEric Johnson\u201d<span class=\"token punctuation\">,<\/span>\n  \u201cTwitterHandle\u201d<span class=\"token operator\">:<\/span> \u201c@edjgeek\u201d\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<p>HTTP API\uac00 \uc751\ub2f5\uc744 \uc218\uc2e0\ud558\uba74 CORS \uc124\uc815 \ubc0f \ud1b5\ud569 \uc751\ub2f5 \ucf54\ub4dc\uc640 \uac19\uc740 \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub204\ub77d \ub41c \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c \uc0c8\ub85c\uc6b4 Lambda \ud568\uc218 \ud1b5\ud569\uc740 \ubc84\uc804 2.0\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.&nbsp;Lambda \ud568\uc218 \ud1b5\ud569\uc5d0 \ub300\ud55c&nbsp;<strong>\uace0\uae09 \uc124\uc815<\/strong>&nbsp;\ud1a0\uae00\uc5d0\uc11c&nbsp;\uc774\ub97c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4&nbsp;.&nbsp;\uc774 \ubc84\uc804\uc740 \uc774\ubca4\ud2b8 \ubc0f \uc751\ub2f5 \ud398\uc774\ub85c\ub4dc \ubaa8\ub450\uc5d0 \uc801\uc6a9\ub429\ub2c8\ub2e4.&nbsp;\ubc84\uc804 1.0\uc744 \uc120\ud0dd\ud558\uba74 \uc774\uc804 \uc774\ubca4\ud2b8 \ud615\uc2dd\uc774 Lambda \ud568\uc218\ub85c \uc804\uc1a1\ub418\uace0 \uc804\uccb4 \uc751\ub2f5 \uc624\ube0c\uc81d\ud2b8\uac00 \ub9ac\ud134\ub418\uc5b4\uc57c\ud569\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8748\" title=\"Lambda \ud1b5\ud569 \uace0\uae09 \uc124\uc815\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/1b6453892473a467d07372d45eb05abc2031647a\/2020\/03\/12\/Picture11.png\" alt=\"Lambda \ud1b5\ud569 \uace0\uae09 \uc124\uc815\" width=\"780\" height=\"216\" \/><\/p>\n<h6>\uadf8\ub9bc 11 : Lambda \ud1b5\ud569 \uace0\uae09 \uc124\uc815<\/h6>\n<p><strong>OpenAPI \/ Swagger \uc9c0\uc6d0<\/strong><br \/> HTTP API\ub294 \uc774\uc81c&nbsp;<a href=\"https:\/\/swagger.io\/docs\/specification\/about\/\" target=\"_blank\" rel=\"noopener noreferrer\">Swagger \ub610\ub294 OpenAPI<\/a>&nbsp;\uad6c\uc131 \ud30c\uc77c&nbsp;\uac00\uc838 \uc624\uae30\ub97c \uc9c0\uc6d0&nbsp;\ud569\ub2c8\ub2e4.&nbsp;\ub530\ub77c\uc11c \ub2e4\ub978 API \uac8c\uc774\ud2b8\uc6e8\uc774 \uc11c\ube44\uc2a4\uc5d0\uc11c HTTP API\ub85c \uac04\ub2e8\ud558\uac8c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;\uad6c\uc131 \ud30c\uc77c\uc744 \uac00\uc838\uc62c \ub54c HTTP API\ub294 \uc9c0\uc6d0\ub418\ub294 \ubaa8\ub4e0 \uae30\ub2a5\uc744 \uad6c\ud604\ud558\uace0 \ud604\uc7ac \uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uae30\ub2a5\uc744 \ubcf4\uace0\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>AWS Serverless Application Model (SAM) \uc9c0\uc6d0<br \/> <\/strong><a href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Serverless Application Framework (SAM)<\/a>&nbsp;\ub294 re:Invent 2019\uc5d0\uc11c \ubca0\ud0c0\ub85c \ucd9c\uc2dc\ud55c \ub300\ubd80\ubd84\uc758 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc624\ub298 \ucd9c\uc2dc\ub41c \uae30\ub2a5\uc5d0 \ub300\ud55c AWS SAM \uc9c0\uc6d0\uc740 2020 \ub144 3 \uc6d4 20 \uc77c\uc5d0 \ucd9c\uc2dc\ub420 \uc608\uc815\uc785\ub2c8\ub2e4.<\/p>\n<p>\ub354 \uc790\uc138\ud55c \uac83\uc740 <a href=\"https:\/\/aws.amazon.com\/api-gateway\/\">\uc81c\ud488 \ud398\uc774\uc9c0<\/a> \ubc0f <a href=\"https:\/\/docs.aws.amazon.com\/ko_kr\/apigateway\/latest\/developerguide\/http-api.html\">\uae30\uc220 \ubb38\uc11c<\/a>\ub97c \ucc38\uace0\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<p>\u2013 Eric Johnson, AWS Serverless Developer Advocate<\/p>\n<p><em>\uc774 \uae00\uc740 AWS Compute \ube14\ub85c\uadf8\uc758 <a href=\"https:\/\/aws.amazon.com\/blogs\/compute\/building-better-apis-http-apis-now-generally-available\/\">Building faster, lower cost, better APIs \u2013 HTTP APIs now generally available<\/a> \ud55c\uad6d\uc5b4 \ud3b8\uc9d1\ubcf8\uc785\ub2c8\ub2e4.<\/em><\/p>\n<p>Source: <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/building-better-apis-http-apis-now-generally-available\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon API Gateway \uae30\ubc18 HTTP API \uc815\uc2dd \ucd9c\uc2dc (\uc11c\uc6b8 \ub9ac\uc804 \ud3ec\ud568)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Amazon API Gateway \uae30\ubc18 HTTP API \uc815\uc2dd \ucd9c\uc2dc (\uc11c\uc6b8 \ub9ac\uc804 \ud3ec\ud568) 2015 \ub144 7 \uc6d4 AWS\ub294&nbsp;Amazon API Gateway\ub97c&nbsp;\ubc1c\ud45c\ud558\uc5ec, \ub2e4\uc591\ud55c \uc720\ud615\uc758 \uc544\ud0a4\ud14d\ucc98 \uc55e\uc5d0\uc11c \uc548\uc804\ud558\uace0 \ud655\uc7a5 \uac00\ub2a5\ud55c API\ub97c \uc2e0\uc18d\ud558\uac8c \uad6c\ucd95 \ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.&nbsp;\uadf8 \uc774\ud6c4\ub85c API Gateway \ud300\uc740 \uace0\uac1d\uc744 \uc704\ud55c \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uacfc \uc11c\ube44\uc2a4\ub97c \uacc4\uc18d \uad6c\ucd95\ud574 \uc654\uc2b5\ub2c8\ub2e4. \uadf8\ub9bc 1 : \ud0c0\uc784 \ub77c\uc778\uc744 \uac15\uc870\ud558\ub294 API Gateway \uae30\ub2a5 2019 \ub144 \ucd08 API \uac8c\uc774\ud2b8\uc6e8\uc774 \uc11c\ube44\uc2a4\uc5d0 \ub300\ud55c \uace0\uac1d \ud53c\ub4dc\ubc31\uc744 \uae30\ubc18\uc73c\ub85c&nbsp; \uc0c8\ub85c\uc6b4 \uc5b8\uc5b4\uc640 \uae30\uc220\uc744 \ud504\ub85c\ud1a0 \ud0c0\uc785\ud654\ud558\uace0 REST \ubc0f WebSocket API\ub97c \uad6c\ucd95\ud558\uc600\uc2b5\ub2c8\ub2e4.&nbsp;\uadf8 \uacb0\uacfc \uc9c0\ub09c&nbsp; AWS re:Invent 2019\uc5d0\uc11c \ub354\uc6b1 \ube60\ub974\uace0 \ub0ae\uc740 \ube44\uc6a9\uc73c\ub85c\ub3c4 \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 \uc11c\ube44\uc2a4 \uc778&nbsp;Amazon API Gateway \uae30\ubc18 HTTP API&nbsp; \ubbf8\ub9ac \ubcf4\uae30\ub97c \ucd9c\uc2dc\ud588\uc73c\uba70, \uc624\ub298 \uc815\uc2dd \ucd9c\uc2dc \ud569\ub2c8\ub2e4. Amazon API Gateway \uae30\ubc18 HTTP API\uc758 \uc8fc\uc694 \uae30\ub2a5 \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0\uc5d0\uc11c HTTP API\ub294 \ub300\uae30 \uc2dc\uac04\uc744 \ucd5c\ub300 60 %\uae4c\uc9c0 \uc904\uc785\ub2c8\ub2e4.&nbsp;\uac1c\ubc1c\uc790\ub294 \ucd5c\uc18c \ub300\uae30 \uc2dc\uac04\uacfc \ucd5c\ub300 \uae30\ub2a5\uc73c\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95\ud558\ub824\uace0 \ub178\ub825\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9bc 2 : \ubaa8\ub4e0 \uc11c\ube44\uc2a4\uac00 \ub300\uae30 \uc2dc\uac04\uc744 \ucd94\uac00 \uc774\ub97c \uc5fc\ub450\uc5d0 \ub450\uace0 HTTP API\ub294 API Gateway \uc11c\ube44\uc2a4\uc758 <a class=\"mh-excerpt-more\" href=\"https:\/\/jirak.net\/wp\/amazon-api-gateway-%ea%b8%b0%eb%b0%98-http-api-%ec%a0%95%ec%8b%9d-%ec%b6%9c%ec%8b%9c-%ec%84%9c%ec%9a%b8-%eb%a6%ac%ec%a0%84-%ed%8f%ac%ed%95%a8\/\" title=\"Amazon API Gateway \uae30\ubc18 HTTP API \uc815\uc2dd \ucd9c\uc2dc (\uc11c\uc6b8 \ub9ac\uc804 \ud3ec\ud568)\">[ more&#8230; ]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":35853,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[169],"tags":[656],"class_list":["post-35852","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-aws"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/35852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/comments?post=35852"}],"version-history":[{"count":1,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/35852\/revisions"}],"predecessor-version":[{"id":35854,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/35852\/revisions\/35854"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media\/35853"}],"wp:attachment":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media?parent=35852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/categories?post=35852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/tags?post=35852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}