1.0.1 • Published 6 years ago
serverless-plugin-dynamo-autoscaling v1.0.1
⚡️ 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.