The AWS Lambda Plugin for Gloo brings the power of AWS Lambda to the Envoy Proxy. This plugin allows HTTP requests routed by Envoy to become AWS Lambda invocations, automatically signed by AWS' API Signature signing process.
This allows clients to make regular HTTP requests (including GET requests - even from a browser) through Gloo that
automatically route to AWS Lambda invocations. Clients are abstracted from the AWS API without having to specify
any AWS-specific headers or signature in their requests. POSTs containing a JSON body will become the payload
for the Lambda function.
To jump right in, follow the AWS Lambda Getting Started Guide.
The Upstream Type for AWS Lambda upstreams is aws.
The upstream spec for AWS Lambda Upstreams has the following structure:
region: string
secret_ref: string| Field | Type | Description |
|---|---|---|
| region | string | The AWS Region this upstream points to. The credentials specified in the secret must be valid for this region. required |
| secret_ref | string | The AWS Credentials this upstream points to. The credentials specified in the secret must be valid for this region. required |
The secret_ref must be the name of a secret in Gloo's secret storage backend.
The content of the secret must follow the format:
access_key: <aws-access-key-id>
secret_key: <aws-secret-access-key>The AWS Lambda Upstream Type supports functions (and is in fact useless without them). The function spec has the following stucture:
function_name: string
qualifier: string| Field | Type | Label | Description |
|---|---|---|---|
| function_name | string | The Lambda Function Name used to invoke the function. required | |
| qualifier | string | The Lambda Function Qualifier (Version) used to invoke the function. If empty, the $LATEST version will be used. |
The following is an example of a valid Lambda Upstream:
name: my-lambda-upstream
spec:
region: "us-east-1"
secret_ref: "my-aws-secrets"
type: aws
functions:
- name: func1
spec:
function_name: func1
- name: func2
spec:
function_name: func2
qualifier: v1
The Gloo Function Discovery Service will automatically discover functions for Lambda upstreams if it is running. Simply create a Lambda upstream for Gloo to track, and the function discovery service will auomatically populate it with your available lambda functions and keep it up to date with your AWS account.