全局辅助索引与应用它们的表分别提供了容量。如果为GSI分配的写容量不足,那么对表的写入是节流的。。因此,如果触发了对表的写入的自动标度,那么应该期望GSI的写入容量需要进行响应管理。
表读/写的自动标度可以通过AWS管理控制台、通过CLI或使用CloudFormation进行配置。文档发布了示例JSON/YAML来完成表配置。但是,当我试图在自动标度表上创建一个新的GSI时,我看不到任何选项来反映表的设置。我也无法在文档中找到关于如何显式处理索引和自动缩放的CLI或CloudFormation示例。
那么,如何管理GSI的写入能力呢?我对事情应该如何运作的理解是否正确?或者AWS“做正确的事情”(至少在他们看来),并与底层表并行地自动定义GSI吗?
发布于 2017-07-24 10:33:28
可以为全局辅助索引应用相同的自动标度设置。根据AWS博士
如果对具有一个或多个全局辅助索引的表启用DynamoDB自动缩放,我们强烈建议您也将自动缩放统一应用于这些索引。您可以通过选择将相同的设置应用于AWS管理控制台中的全局辅助索引来做到这一点。
发布于 2018-06-01 10:03:34
现在有可能将二级索引定义为自动标度目标。和普通的桌子差不多。您只需更改resourceId
和ScalableDimension
的AWS::ApplicationAutoScaling::ScalableTarget
即可。
SecIndexWriteCapacity:
Type: AWS::ApplicationAutoScaling::ScalableTarget
Properties:
MaxCapacity: 1000
MinCapacity: 15
ResourceId: !Sub "table/${MY_MAIN_TABLE}/index/${MY_SECONDARY_INDEX_NAME}"
RoleARN: !GetAtt ScalingRole.Arn
ScalableDimension: dynamodb:index:WriteCapacityUnits
ServiceNamespace: dynamodb
SecIndexReadCapacity:
Type: AWS::ApplicationAutoScaling::ScalableTarget
Properties:
MaxCapacity: 1000
MinCapacity: 15
ResourceId: !Sub "table/${MY_MAIN_TABLE}/index/MY_SECONDARY_INDEX_NAME"
RoleARN: !GetAtt ScalingRole.Arn
ScalableDimension: dynamodb:index:ReadCapacityUnits
ServiceNamespace: dynamodb
SecIndexWriteScalingPolicy:
Type: AWS::ApplicationAutoScaling::ScalingPolicy
Properties:
PolicyName: SecIndexWriteScalingPolicy
PolicyType: TargetTrackingScaling
ScalingTargetId: !Ref SecIndexWriteCapacity
TargetTrackingScalingPolicyConfiguration:
TargetValue: 50.0
ScaleInCooldown: 30
ScaleOutCooldown: 1
PredefinedMetricSpecification:
PredefinedMetricType: DynamoDBWriteCapacityUtilization
SecIndexReadScalingPolicy:
Type: AWS::ApplicationAutoScaling::ScalingPolicy
Properties:
PolicyName: SecIndexReadScalingPolicy
PolicyType: TargetTrackingScaling
ScalingTargetId: !Ref SecIndexReadCapacity
TargetTrackingScalingPolicyConfiguration:
TargetValue: 50.0
ScaleInCooldown: 30
ScaleOutCooldown: 0
PredefinedMetricSpecification:
PredefinedMetricType: DynamoDBReadCapacityUtilization
https://stackoverflow.com/questions/45239670
复制相似问题