Last active
October 14, 2017 16:34
-
-
Save rgodishela/f472e68dba839513a3081a2769040a3b to your computer and use it in GitHub Desktop.
powershell script to Autoscale dynamodb table
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#####IMPORTANT INSTRUCTIONS to execute these instrcutions | |
#1. U should have role and policy created and attach them to each other | |
#2. U should have dynamodb table | |
#3. u should have AWS Tools for powershell 3.3.169 | |
#First Get the Role Arn | |
$DDBRole = Get-IAMRole -RoleName ddb-role | |
$DDBRoleArn = $DDBRole.Arn | |
#Get the Table Name | |
Get-DDBTable -TableName AWS-Accounts -Region us-east-1 | |
$DDBTable = Get-DDBTable -TableName AWS-Accounts -Region us-east-1 | |
$DDBTableName = $DDBTable.TableName | |
#Register the Scalabale Target for WriteCapacityUnits | |
Add-AASScalableTarget -ServiceNamespace 'dynamodb' -MaxCapacity 20 -MinCapacity 5 -ResourceId table/$DDBTableName -RoleARN $DDBRoleArn -ScalableDimension 'dynamodb:table:WriteCapacityUnits' -Region us-east-1 | |
#Put Scaling Policy for WriteCapacityUnits | |
Write-AASScalingPolicy -ServiceNamespace 'dynamodb' -PolicyName 'MyScalingPolicy' -PolicyType 'TargetTrackingScaling' -ScalableDimension 'dynamodb:table:WriteCapacityUnits' -PredefinedMetricSpecification_PredefinedMetricType 'DynamoDBWriteCapacityUtilization' -ResourceId table/$DDBTableName -TargetTrackingScalingPolicyConfiguration_ScaleInCooldown 60 -TargetTrackingScalingPolicyConfiguration_ScaleOutCooldown 60 -TargetTrackingScalingPolicyConfiguration_TargetValue 70.0 | |
#Register the Scalabale Target for ReadCapacityUnits | |
Add-AASScalableTarget -ServiceNamespace 'dynamodb' -MaxCapacity 20 -MinCapacity 5 -ResourceId table/$DDBTableName -RoleARN $DDBRoleArn -ScalableDimension 'dynamodb:table:ReadCapacityUnits' -Region us-east-1 | |
#Put Scaling Policy for ReadCapacityUnits | |
Write-AASScalingPolicy -ServiceNamespace 'dynamodb' -PolicyName 'MyScalingPolicy' -PolicyType 'TargetTrackingScaling' -ScalableDimension 'dynamodb:table:ReadCapacityUnits' -PredefinedMetricSpecification_PredefinedMetricType 'DynamoDBReadCapacityUtilization' -ResourceId table/$DDBTableName -TargetTrackingScalingPolicyConfiguration_ScaleInCooldown 60 -TargetTrackingScalingPolicyConfiguration_ScaleOutCooldown 60 -TargetTrackingScalingPolicyConfiguration_TargetValue 70.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment