{"id":24017443,"url":"https://github.com/mattyboy84/aws-serverless-multi-region-api","last_synced_at":"2026-06-19T05:31:32.964Z","repository":{"id":230281204,"uuid":"778981424","full_name":"mattyboy84/AWS-serverless-multi-region-api","owner":"mattyboy84","description":"proof of concept for a global AWS API built using the Serverless Framework","archived":false,"fork":false,"pushed_at":"2024-03-28T19:55:39.000Z","size":204,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T20:32:27.886Z","etag":null,"topics":["api","appsync","aws","portfolio","serverless"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattyboy84.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-28T19:50:04.000Z","updated_at":"2024-03-28T22:02:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"5b6715d2-a50d-4e4d-945a-7914534955a9","html_url":"https://github.com/mattyboy84/AWS-serverless-multi-region-api","commit_stats":null,"previous_names":["mattyboy84/aws-serverless-multi-region-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mattyboy84/AWS-serverless-multi-region-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattyboy84%2FAWS-serverless-multi-region-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattyboy84%2FAWS-serverless-multi-region-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattyboy84%2FAWS-serverless-multi-region-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattyboy84%2FAWS-serverless-multi-region-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattyboy84","download_url":"https://codeload.github.com/mattyboy84/AWS-serverless-multi-region-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattyboy84%2FAWS-serverless-multi-region-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34519048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","appsync","aws","portfolio","serverless"],"created_at":"2025-01-08T09:18:14.483Z","updated_at":"2026-06-19T05:31:32.956Z","avatar_url":"https://github.com/mattyboy84.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS-Serverless-Multi-Region-API\n\nThis is a proof of concept global AWS API using the Serverless framwork.\nIt includes a base `api` stack made up of a global dynamo table \u0026 it's replicas, A KMS key and many SSM parameters to pass relevant Ids \u0026 Arns to the `node` stacks.\n\nThe `node` stacks create a GraphQL API with a HTTP Proxy fronted by a Latency Route53 record with Cloudwatch metric or Lambda health checks for regional failover. The `node` stacks are designed to be region agnostic and can be deployed into any region that already has a global table replica in. The GraphQL API communicates with the replica in its own region to provide the lowest possible latency to access data across the globe.\n\nThe base `api` stack also includes a KMS key that's replicated in each `node` stack. The intention of this was to be used by the Lambda Authorizer for the region specific GraphQL API to authorize encrypted credentials stored in the global table as a 'global' authentication mechanism. This was preferable compared to AWS managed regional API keys (would fail if requests were routed to the region that the key wasn't created in) or cognito authorization which are inherently non-global\n\n![](/images/diagram.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattyboy84%2Faws-serverless-multi-region-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattyboy84%2Faws-serverless-multi-region-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattyboy84%2Faws-serverless-multi-region-api/lists"}