📦
【AWS CDK v1/v2】DynamoDB(GSI含む)のキャパシティ戦略をProvisioned Auto Scalingにする
CDKのインターフェースが分かりづらく、ググってもなかなか見つからなかったためシェアします。
CDK v1/v2の両方で動きます。
コード
const bookTable = new dynamodb.Table(this, 'BookTable', {
partitionKey: {
name: 'PK',
type: dynamodb.AttributeType.STRING
},
sortKey: {
name: 'SK',
type: dynamodb.AttributeType.STRING
},
stream: dynamodb.StreamViewType.NEW_IMAGE
})
const bookTableReadCapacity = bookTable.autoScaleReadCapacity({
minCapacity: 1,
maxCapacity: 3
})
bookTableReadCapacity.scaleOnUtilization({
targetUtilizationPercent: 80
})
const bookTableWriteCapacity = bookTable.autoScaleWriteCapacity({
minCapacity: 1,
maxCapacity: 3
})
bookTableWriteCapacity.scaleOnUtilization({
targetUtilizationPercent: 80
})
bookTable.addGlobalSecondaryIndex({
indexName: 'bookId_index',
partitionKey: {
name: 'BookId',
type: dynamodb.AttributeType.STRING
},
sortKey: {
name: 'SK',
type: dynamodb.AttributeType.STRING
}
})
bookTable.autoScaleGlobalSecondaryIndexReadCapacity('bookId_index', {
minCapacity: 1,
maxCapacity: 3
}).scaleOnUtilization({
targetUtilizationPercent: 80
})
bookTable.autoScaleGlobalSecondaryIndexWriteCapacity('bookId_index', {
minCapacity: 1,
maxCapacity: 3
}).scaleOnUtilization({
targetUtilizationPercent: 80
})
追伸1
こちらの記事の流れで実施したのですが、DynamoDBの詳細は本旨でなかったため、別記事にしました。
追伸2
この記事はMagicodeから移転しました。
2022年9月あたりの記事となります。
よければTwitterもフォローお願いします!
@sumiren_t
Discussion