AWS API GATEWAY DECEMBER 15, 2016 MUHAMMED YALÇIN
AWS API GATEWAY
D E C E M B E R 1 5 , 2 0 1 6M U H A M M E D YA L Ç I N
CONTENT
• WHAT IS API GATEWAY?• BENEFITS• RESOURCES AND METHODS• CREATE NEW API• CREATE RESOURCE• CREATE METHOD• DEPLOY API• PRICING « US WEST (OREGON) »
WHAT IS API GATEWAY?
• Amazon API Gateway helps developers to create and manage APIs to back-end systems running on Amazon EC2, AWS Lambda or any pubicly addressable web service.
• With Amazon API Gateway, you can generate custom client SDKs for your APIs, to connect your back-end systems to mobile, web and server applications or services.
• The API you create in API Gateway consists of a set of resources and methods.
BENEFITS
• Low-cost and efficient• Performance at any scale• Easily monitor API Activity• Streamline API Development• Flexible Security Controls• Create RESTful Endpoints for Existing Services• Run Your APIs Without Servers
RESOURCES AND METHODS
• A resource is a logical entity that can be accessed through a resource path using the API.• A resource can have one or more operations that are defined by appropriate HTTP verbs such as
GET, POST, and DELETE.• A combination of a resource path and an operation identify a method in the API.• Each method corresponds to a REST API request submitted by the user of your API and the
corresponding response returned to the user.• API Gateway integrates the method with a targeted back end by mapping the method request to
an integration request acceptable by the back end and then mapping the integration response from the back end to the method response returned to the user.
• As an API developer, you can configure how methods are mapped to integrations and vice versa by stipulating what parameters to use and specifying mapping templates to transform payloads of given data models.
CREATE NEW API
CREATE RESOURCE
• Resources in API Gateway is a API controller mechanism. • Click Actions and select Create Resource.
CREATE METHOD
• Click Actions and select Create Method.
CON’T
• Methods can be GET, DELETE, UPDATE, POST etc.
• Select an integration type. We will choose Lambda Function.
• Select a lambda region. (us-west-2 etc.)
• Enter an existing lambda function from auto-complete textbox.
CON’T
CON’T
• Click Integration Request. Click Body Mapping Templates. Add mapping templates. GET method can have a parameters like a query string. Besides POST requests send data from body part likewise.
• GET POST
DEPLOY API
• Click Action and select Deploy API. Click [New Stage]. Deploy new stage.
CON’T
• You can see get user url. Go and run it.
PRICING « US WEST (OREGON) »• API Calls
– $3.50 per million API calls received, plus the cost of data transfer out, in gigabytes.
• Data Transfer Costs– $0.09/GB for the first 10 TB– $0.085/GB for the next 40 TB– $0.07/GB for the next 100 TB– $0.05/GB for the next 350 TB
CON’T
• Caching
CON’T
• Pricing Example:– An API that receives five million API calls per month, with each API call
returning responses of 3 kilobytes (KB) in size with no caching.– Example below reflects pricing for US East, US West, EU (Ireland)
Amazon API Gateway API call charges
5 million * $3.50/million = $17.50
Total size of data transfers 3 KB * 5 million= 15 million/KB = 14.3 GB
Amazon API Gateway data transfer charges
14.3 GB * $0.09 = $1.29
Total Amazon API Gateway charges $17.50 + $1.29 = $18.79
CON’T
• Pricing Example with Caching Required (US East, US West, EU (Ireland))– If your API needs 1.5 GB of cache for its data, you can provision a 1.6 GB cache
at $0.038/hr.– $0.038 * 24 = $0.912/day
REFERENCES
• https://aws.amazon.com/api-gateway/• https://aws.amazon.com/api-gateway/pricing/• http://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.ht
ml• https://aws.amazon.com/blogs/aws/amazon-api-gateway-build-and-run-scal
able-application-backends/