Package Exports
- serverless-plugin-dynamo-autoscaling
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-plugin-dynamo-autoscaling) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
⚡️ Serverless Plugin for DynamoDB Auto Scaling
Serverless Plugin to enable autoscaling for dynamodb tables and its GSI.
Installation
# Via yarn
$ yarn add serverless-plugin-dynamo-autoscaling
# Via npm
$ npm install serverless-plugin-dynamo-autoscaling
Add the plugin to your serverless.yml
:
plugins:
- serverless-plugin-dynamo-autoscaling
Configuration
custom:
autoscaling:
- table: CustomTable # DynamoDB Resource
index: # List or single index name - Optional
- custom-index-name
roleArn: # Arn of the role to be associated - Optional
read:
minimum: 5 # Minimum read capacity
maximum: 1000 # Maximum read capacity
targetUsage: 75 # Targeted usage percentage
write:
minimum: 40 # Minimum write capacity
maximum: 200 # Maximum write capacity
targetUsage: 50 # Targeted usage percentage
Defaults
maximum: 200
minimum: 5
targetUsage: 75
If no roleArn
is specified, plugin will automatically create one and use it.
Index Only
If you only want to enable Auto Scaling for the index, use indexOnly: true
to skip Auto Scaling for the general DynamoDB table.
DynamoDB
The example serverless configuration above works fine for a DynamoDB table CloudFormation resource like this:
resources:
Resources:
CustomTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: custom-table
AttributeDefinitions:
- AttributeName: key
AttributeType: S
KeySchema:
- AttributeName: key
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
GlobalSecondaryIndexes:
- IndexName: custom-index-name
KeySchema:
- AttributeName: key
KeyType: HASH
Projection:
ProjectionType: ALL
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
Thanks
- Sebastian Müller This repo is rewrite of Sebastian's serverless plugin.
License
Feel free to use the code, it's released using the MIT license.