Choose REST APIs if you need features such as API keys, per-client throttling, request validation, AWS WAF integration, or private API endpoints. Choose HTTP APIs if you don't need the features included with REST APIs
- Create new resource: method is ANY resource with
{proxy+}
as path - In method details, choose HTTP
- in http method: ANY
- in Endpoint URL:
https://yourapi.example.com/path/{proxy}
note that you cannot use root path here/
, it has to be some subpath - ensure "HTTP proxy integration" is checked
- click Save
- Deploy the API, create a new stage called "prod"
- Go to "Usage plans" in the sidebar
- create a new plan called "Free". enter the Rate, Burst, Requests to your liking
- Click the new plan you created, and go to "Associated Stages" tab, add the "prod" stage you created earlier
- Go back to your API, and edit
/{proxy+}/ANY
method request. Ensure API key required is checked - Go to "Api Keys" in the sidebar. click "Create API Key"
- For your new API key, click "Add to Usage Plan", choose the "Free" Plan
- https://docs.aws.amazon.com/apigateway/latest/developerguide/setup-http-integrations.html
- https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html
- https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html#generate-client-certificate?cmpid=docs_apigateway_console
- https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html