Amazon API Gateway Documentation
Amazon API Gateway is a managed service that makes it easier for developers to publish, maintain, monitor, secure, and operate APIs at scale. It's a pay-as-you-go service that helps with the undifferentiated heavy lifting involved in securely and reliably running APIs at scale.
Support for RESTful APIs and WebSocket APIs
With API Gateway, you can create RESTful APIs using either HTTP APIs or REST APIs.
Private integrations with AWS ELB & AWS Cloud Map
With API Gateway, you can route requests to private resources in your VPC. Using HTTP APIs, you can build APIs for services behind private ALBs, private NLBs, and IP-based services registered in AWS Cloud Map, such as ECS tasks.
Resiliency
API Gateway helps you manage traffic to your backend systems by allowing you to set throttling rules based on the number of requests per second for each HTTP method in your APIs. If you’re using REST APIs, you can also set up a cache with customizable keys and time-to-live in seconds for your API data to help avoid hitting your backend services for each request.
API Creation and Deployment
With API Gateway, you can create a custom API to your code running in AWS Lambda and then call the Lambda code from your API. API Gateway can execute EC2, or web services outside of AWS with publicly accessible HTTP endpoints. Using the API Gateway console, you can define your REST API and its associated resources and methods, manage your API lifecycle, generate your client SDKs, and view API metrics.
API Operations Monitoring
After an API is deployed and in use, API Gateway provides you with a dashboard to visually monitor calls to the services. The API Gateway console is integrated with Amazon CloudWatch, so you get backend performance metrics such as API calls, latency, and error rates. API Gateway can also log API execution errors to CloudWatch Logs to make debugging easier.
AWS Authorization
To authorize and verify API requests to AWS services, API Gateway can help you leverage signature version 4 for REST APIs and WebSocket APIs. Using signature version 4 authentication, you can use AWS Identity and Access Management (IAM) and access policies to authorize access to your APIs and all your other AWS resources. You can also use AWS Lambda functions to verify and authorize bearer tokens such as JWT tokens or SAML assertions.
API Keys for Third-Party Developers
If you’re using REST APIs, API Gateway helps you manage the ecosystem of third-party developers accessing your APIs. You can create API keys on API Gateway, set fine-grained access permissions on each API key, and distribute them to third-party developers to access your APIs. You can also define plans that set throttling and request quota limits for each individual API key. The use of API keys is completely optional and must be enabled on a per-method level.
SDK Generation
If you’re using REST APIs, API Gateway can generate client SDKs for a number of platforms which you can use to test new APIs from your applications and distribute SDKs to third-party developers. The generated SDKs handle API keys and sign requests using AWS credentials. API Gateway can generate client SDKs Java for Android, Objective-C or Swift for iOS, and Ruby.
API Lifecycle Management
If you're using REST APIs, API Gateway lets you run multiple versions of the same API simultaneously so that applications can continue to call previous API versions even after the latest versions are published. API Gateway also helps you manage multiple release stages for each API version, such as alpha, beta, and production. Each API stage can be configured to interact with different backend endpoints based on your API setup.
Additional Information
For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.