[{"data":1,"prerenderedAt":301},["ShallowReactive",2],{"content-svc-api-gateway-paved-path-building-an-api-platform-on-aws-scale":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":27,"menu":28,"menuType":296,"isCollapseableMenu":31,"nextDocItem":219,"previousDocItem":183,"contributorPaths":297,"contentName":300,"slug":215,"readingTime":47},"\u003Cp>Amazon API Gateway is a managed service that scales for you automatically. You still need to be aware of the \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Flimits.html\">service quotas\u003C\u002Fa> and request increase if you plan to go above your current ones.\u003C\u002Fp>\n\u003Cp>It is important to keep in mind the entire application stack while you plan your scaling. It is no use having tens of thousands requests per second quota on API Gateway, if your backend integration cannot handle such load. Monitor your resource usage and quotas across the entire stack (e.g. AWS Lambda concurrency, Amazon DynamoDB provisioned capacity, etc.). We will talk about API Gateway monitoring in the \u003Ca href=\".\u002Fmonitor\u002F\">Monitor\u003C\u002Fa> lesson.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> \u003Cem>\u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fservicequotas\u002Flatest\u002Fuserguide\u002Fautomatic-management.html\">Automatic quota management\u003C\u002Fa> is available for AWS Service Quotas. This feature can adjust values of AWS services’ quotas automatically and safely based on customer’s usage\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>As your service scales globally, consider \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fapi-gateway-api-endpoint-types.html#api-gateway-api-endpoint-types-edge-optimized\">edge-optimized API Gateway endpoints\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Frepost.aws\u002Fknowledge-center\u002Fapi-gateway-cloudfront-distribution\">self-managed Amazon CloudFront distribution\u003C\u002Fa> to improve client connection time. Also consider caching responses to the common data requests that do not change that often.\u003C\u002Fp>\n\u003Cp>In addition, look at \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Freducing-scope-of-impact-with-cell-based-architecture\u002Fwhat-is-a-cell-based-architecture.html\">cell-based architectures\u003C\u002Fa> and multi-account approaches for easier blast radius control and quota management. Use \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fbuilders-library\u002Fusing-load-shedding-to-avoid-overload\u002F\">load shedding\u003C\u002Fa> to avoid overload, including API Gateway request validation.\u003C\u002Fp>\n",{"title":6,"order":7,"resources":8},"Scale",7,[9,13,17,20,23],{"link":10,"text":11,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-a-multi-region-serverless-application-with-amazon-api-gateway-and-aws-lambda\u002F","Building a Multi-region Serverless Application with Amazon API Gateway and AWS Lambda","Blog",{"link":14,"text":15,"type":16},"https:\u002F\u002Frepost.aws\u002Fquestions\u002FQUSs8ODCyJSRWR7mawaUIl4g\u002Fmulti-region-strategy-for-api-gateway","Multi Region strategy for API Gateway","re:Post",{"link":18,"text":19,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-resilient-private-apis-using-amazon-api-gateway\u002F","Building resilient private APIs using Amazon API Gateway",{"link":21,"text":22,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Farchitecting-for-scale-with-amazon-api-gateway-private-integrations\u002F","Architecting for scale with Amazon API Gateway private integrations",{"link":24,"text":25,"type":26},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=GvyyJQ5m7x0","Scaling and securing private workloads using Amazon API Gateway","Video","Amazon API Gateway is a managed service that scales for you automatically. You still need to be aware of the [service quotas](https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Flimits.html) and request increase if you plan to go above your current ones.\n\n\nIt is important to keep in mind the entire application stack while you plan your scaling. It is no use having tens of thousands requests per second quota on API Gateway, if your backend integration cannot handle such load. Monitor your resource usage and quotas across the entire stack (e.g. AWS Lambda concurrency, Amazon DynamoDB provisioned capacity, etc.). We will talk about API Gateway monitoring in the [Monitor](.\u002Fmonitor\u002F) lesson.\n\n**Note:** *[Automatic quota management](https:\u002F\u002Fdocs.aws.amazon.com\u002Fservicequotas\u002Flatest\u002Fuserguide\u002Fautomatic-management.html) is available for AWS Service Quotas. This feature can adjust values of AWS services’ quotas automatically and safely based on customer’s usage*\n\nAs your service scales globally, consider [edge-optimized API Gateway endpoints](https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fapi-gateway-api-endpoint-types.html#api-gateway-api-endpoint-types-edge-optimized) or [self-managed Amazon CloudFront distribution](https:\u002F\u002Frepost.aws\u002Fknowledge-center\u002Fapi-gateway-cloudfront-distribution) to improve client connection time. Also consider caching responses to the common data requests that do not change that often.\n\n\nIn addition, look at [cell-based architectures](https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Freducing-scope-of-impact-with-cell-based-architecture\u002Fwhat-is-a-cell-based-architecture.html) and multi-account approaches for easier blast radius control and quota management. Use [load shedding](https:\u002F\u002Faws.amazon.com\u002Fbuilders-library\u002Fusing-load-shedding-to-avoid-overload\u002F) to avoid overload, including API Gateway request validation.",[29,51,59,91,133,180,204,216,240,262,275],{"title":30,"collapsible":31,"isCollapsed":32,"content":33},"Introduction",false,true,[34],{"title":30,"order":35,"learningGoals":36,"prerequisite":39,"resources":42,"time":47,"path":48,"id":49,"link":50},1,[37,38],"Understand API lifecycle and an AWS point of view on building an API platform using Amazon API Gateway.","Learn AWS options and partner solutions to build an API platform with Amazon API Gateway.",[40,41],"Understanding of API management","Understanding of Amazon API Gateway",[43],{"link":44,"text":45,"type":46},"https:\u002F\u002Faws.amazon.com\u002Fapi-gateway\u002F","Learn more about Amazon API Gateway","text","1 min","introduction","introduction.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fintroduction",{"title":52,"collapsible":31,"isCollapsed":32,"content":53},"API Lifecycle",[54],{"title":52,"order":55,"time":47,"path":56,"id":57,"link":58},2,"api_lifecycle","api_lifecycle.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fapi_lifecycle",{"title":60,"collapsible":31,"isCollapsed":32,"content":61},"Plan",[62],{"title":60,"order":63,"resources":64,"time":87,"path":88,"id":89,"link":90},3,[65,68,72,75,78,81,84],{"link":66,"text":67,"type":26},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=U6Zz_Bj6yEY","Building APIs: Choosing the best API solution & strategy for workloads",{"link":69,"text":70,"type":71},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fwhitepapers\u002Flatest\u002Fbest-practices-api-gateway-private-apis-integration\u002Fbest-practices-api-gateway-private-apis-integration.html","Best Practices for Designing Amazon API Gateway Private APIs and Private Integration","Whitepaper",{"link":73,"text":74,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fimplementing-multi-region-failover-for-amazon-api-gateway\u002F","Implementing multi-Region failover for Amazon API Gateway",{"link":76,"text":77,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Farchitecting-multiple-microservices-behind-a-single-domain-with-amazon-api-gateway\u002F","Architecting multiple microservices behind a single domain with Amazon API Gateway",{"link":79,"text":80,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fdynamically-routing-requests-with-amazon-api-gateway-routing-rules\u002F","Dynamically routing requests with Amazon API Gateway routing rules",{"link":82,"text":83,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fusing-multiple-segments-in-amazon-api-gateway-base-path-mapping\u002F","Using multiple segments in Amazon API Gateway base path mapping",{"link":85,"text":86,"type":26},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=JDbkoICzQro","Building well architected API Gateway APIs | Serverless Office Hours","2 min","plan","plan.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fplan",{"title":92,"collapsible":31,"isCollapsed":32,"content":93},"Develop\u002FTest",[94],{"title":92,"order":95,"resources":96,"time":129,"path":130,"id":131,"link":132},4,[97,100,103,106,109,112,115,119,122,126],{"link":98,"text":99,"type":26},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=yfJZc3sJZ8E","I didn’t know Amazon API Gateway did that",{"link":101,"text":102,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-responsive-apis-with-amazon-api-gateway-response-streaming\u002F","Building responsive APIs with Amazon API Gateway response streaming",{"link":104,"text":105,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fimplementing-custom-domain-names-for-private-endpoints-with-amazon-api-gateway\u002F","Implementing custom domain names for private endpoints with Amazon API Gateway",{"link":107,"text":108,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuild-scalable-rest-apis-using-amazon-api-gateway-private-integration-with-application-load-balancer\u002F","Build scalable REST APIs using Amazon API Gateway private integration with Application Load Balancer",{"link":110,"text":111,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fopensource\u002Fcreate-restful-apis-on-aws-with-openapi-specification-with-no-coding\u002F","Create RESTful APIs on AWS with OpenAPI Specification (With No Coding)",{"link":113,"text":114,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fautomating-event-validation-with-amazon-eventbridge-schema-discovery\u002F","Automating event validation with Amazon EventBridge Schema Discovery",{"link":116,"text":117,"type":118},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-samples\u002Ftree\u002Fmain\u002Fserverless-rest-api","Sample REST API implementations","Example",{"link":120,"text":121,"type":118},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-samples\u002Ftree\u002Fmain\u002Fapigw-ai-agents","API developer experience customization and centralized guidance using AI Agents",{"link":123,"text":124,"type":125},"https:\u002F\u002Fcatalog.workshops.aws\u002Fapigateway","The Amazon API Gateway Workshop","Workshop",{"link":127,"text":128,"type":125},"https:\u002F\u002Fcatalog.workshops.aws\u002Fserverless-patterns\u002Fen-US","Serverless Patterns","3 min","develop","develop.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fdevelop",{"title":134,"collapsible":31,"isCollapsed":32,"content":135},"Secure",[136],{"title":134,"order":137,"resources":138,"time":129,"path":177,"id":178,"link":179},5,[139,143,146,150,153,156,159,162,165,168,171,172,175,176],{"link":140,"text":141,"type":142},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fsecurity.html","Security in Amazon API Gateway","Documentation",{"link":144,"text":145,"type":71},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fwhitepapers\u002Flatest\u002Fsecurity-overview-amazon-api-gateway\u002Fabstract-and-introduction.html","Security Overview of Amazon API Gateway",{"link":147,"text":148,"type":149},"https:\u002F\u002Fserverlessland.com\u002Fcontent\u002Fguides\u002Fapi-gateway-governance\u002Fintroduction","Amazon API Gateway governance in depth","Guide",{"link":151,"text":152,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fenhancing-api-security-with-amazon-api-gateway-tls-security-policies\u002F","Enhancing API security with Amazon API Gateway TLS security policies",{"link":154,"text":155,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Faccessing-private-amazon-api-gateway-endpoints-through-custom-amazon-cloudfront-distribution-using-vpc-origins\u002F","Accessing private Amazon API Gateway endpoints through custom Amazon CloudFront distribution using VPC Origins",{"link":157,"text":158,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fabout-aws\u002Fwhats-new\u002F2024\u002F04\u002Famazon-cognito-customers-access-apis-verified-permissions\u002F","Amazon Cognito customers can secure access to APIs using Amazon Verified Permissions",{"link":160,"text":161,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fmt\u002Fconfiguring-machine-to-machine-authentication-with-amazon-cognito-and-amazon-api-gateway-part-1\u002F","Configuring machine to machine Authentication with Amazon Cognito and Amazon API Gateway – Part 1",{"link":163,"text":164,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fmt\u002Fconfiguring-machine-to-machine-authentication-with-amazon-cognito-and-amazon-api-gateway-part-2\u002F","Configuring machine to machine Authentication with Amazon Cognito and Amazon API Gateway – Part 2",{"link":166,"text":167,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fconsuming-private-amazon-api-gateway-apis-using-mutual-tls\u002F","Consuming private Amazon API Gateway APIs using mutual TLS",{"link":169,"text":170,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Farchitecture\u002Fhow-seatgeek-uses-aws-to-control-authorization-authentication-and-rate-limiting-in-a-multi-tenant-saas-application\u002F","How SeatGeek uses AWS Serverless to control authorization, authentication, and rate-limiting in a multi-tenant SaaS application",{"link":24,"text":25,"type":26},{"link":173,"text":174,"type":26},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=H4hCygngTrU","API Gateway private integrations | Serverless Office Hours",{"link":123,"text":124,"type":125},{"link":127,"text":128,"type":125},"secure","secure.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fsecure",{"title":181,"collapsible":31,"isCollapsed":32,"content":182},"Deploy\u002FPublish",[183],{"title":181,"order":184,"resources":185,"time":47,"path":201,"id":202,"link":203},6,[186,189,192,195,197,200],{"link":187,"text":188,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fzero-downtime-blue-green-deployments-with-amazon-api-gateway\u002F","Zero downtime blue\u002Fgreen deployments with Amazon API Gateway",{"link":190,"text":191,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fperforming-canary-deployments-for-service-integrations-with-amazon-api-gateway\u002F","Performing canary deployments for service integrations with Amazon API Gateway",{"link":193,"text":194,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdevops\u002Fautomating-your-api-testing-with-aws-codebuild-aws-codepipeline-and-postman\u002F","Automating your API testing with AWS CodeBuild, AWS CodePipeline, and Postman",{"link":116,"text":196,"type":118},"Sample REST API implementations with CI\u002FCD pipelines",{"link":198,"text":199,"type":125},"https:\u002F\u002Fcatalog.workshops.aws\u002Fcomplete-aws-sam\u002Fen-US","The Complete AWS SAM Workshop",{"link":127,"text":128,"type":125},"deploy","deploy.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fdeploy",{"title":6,"collapsible":31,"isCollapsed":31,"content":205},[206],{"title":6,"order":7,"resources":207,"time":47,"path":213,"id":214,"link":215},[208,209,210,211,212],{"link":10,"text":11,"type":12},{"link":14,"text":15,"type":16},{"link":18,"text":19,"type":12},{"link":21,"text":22,"type":12},{"link":24,"text":25,"type":26},"scale","scale.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fscale",{"title":217,"collapsible":31,"isCollapsed":32,"content":218},"Monitor",[219],{"title":217,"order":220,"resources":221,"time":236,"path":237,"id":238,"link":239},8,[222,225,228,231,233],{"link":223,"text":224,"type":142},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Frest-api-monitor.html","Monitoring REST APIs",{"link":226,"text":227,"type":142},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fhttp-api-monitor.html","Monitoring your HTTP API",{"link":229,"text":230,"type":142},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fwebsocket-api-monitor.html","Monitoring WebSocket APIs",{"link":116,"text":232,"type":118},"Sample REST API implementations with business specific metrics, dashboards and alerts in IaC templates",{"link":234,"text":235,"type":125},"https:\u002F\u002Fcatalog.workshops.aws\u002Fserverless-observability","AWS Serverless Observability Workshop","5 min","monitor","monitor.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fmonitor",{"title":241,"collapsible":31,"isCollapsed":32,"content":242},"Insights",[243],{"title":241,"order":244,"resources":245,"time":87,"path":259,"id":260,"link":261},9,[246,249,252,255,258],{"link":247,"text":248,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fvisualizing-amazon-api-gateway-usage-plans-using-amazon-quicksight\u002F","Visualizing Amazon API Gateway usage plans using Amazon QuickSight",{"link":250,"text":251,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fbig-data\u002Flog-analytics-the-easy-way-with-amazon-opensearch-serverless\u002F","Log analytics the easy way with Amazon OpenSearch Serverless",{"link":253,"text":254,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fawsmarketplace\u002Fhow-to-gain-api-observability-with-amazon-api-gateway-and-moesif-in-minutes\u002F","How to gain API observability with Amazon API Gateway and Moesif in minutes",{"link":256,"text":257,"type":118},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-samples\u002Ftree\u002Fmain\u002Fapigw-log-analytic","Logging API Gateway access logs, analyzing and visualizing them using Amazon QuickSight",{"link":234,"text":235,"type":125},"insights","insights.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Finsights",{"title":263,"collapsible":31,"isCollapsed":32,"content":264},"Monetize",[265],{"title":263,"order":266,"resources":267,"time":87,"path":272,"id":273,"link":274},10,[268,269],{"link":247,"text":248,"type":12},{"link":270,"text":271,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fmonetize-your-apis-in-aws-marketplace-using-api-gateway\u002F","Monetize your APIs in AWS Marketplace using API Gateway","monetize","monetize.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fmonetize",{"title":276,"collapsible":31,"isCollapsed":32,"content":277},"Discover",[278],{"title":276,"order":279,"resources":280,"time":87,"path":293,"id":294,"link":295},11,[281,284,287,290],{"link":282,"text":283,"type":142},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fportals.html","API Gateway developer portals",{"link":285,"text":286,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fimprove-api-discoverability-with-the-new-amazon-api-gateway-portal\u002F","Improve API discoverability with the new Amazon API Gateway Portal",{"link":288,"text":289,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fapn\u002Fintegrating-readme-with-amazon-api-gateway-to-keep-your-developer-hub-up-to-date\u002F","Integrating ReadMe with Amazon API Gateway to Keep Your Developer Hub Up to Date",{"link":291,"text":292,"type":12},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fapn\u002Fhow-to-streamline-api-development-on-amazon-api-gateway-using-smartbear-swaggerhub\u002F","How to Streamline API Development on Amazon API Gateway Using SmartBear’s API Hub","discover","discover.md","\u002Fcontent\u002Fservice\u002Fapi-gateway\u002Fpaved-path\u002Fbuilding-an-api-platform-on-aws\u002Fdiscover","LESSON",[298,299],"content\u002Fcontributors\u002Farthi-jaganathan.json","content\u002Fcontributors\u002Fgiedrius-praspaliauskas.json","Building an API platform on AWS",1792578866653]