4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DynamoDBがAuto Scalingに対応したと聞いて(試してみた

Posted at

はじめに

「対応した!」というのは知識として抑えていたのですが、なかなか自分で触る機会がなかったので、気になる所を触ってみてのメモ書きです。

2017年の発表。 大分、ネタとしては寝かせてますね。。。

単純にGUIの画面で作ってみて終わり!という、やってみた系が多いのですが、、、スケジュール(cron式)でのスケーリング定義をやっていきたいと思います。

テーブル作成

テーブル作成時に「Auto Scaling」を有効にして作成します。

image.png

アラートが生成(上記のテーブル作成時に自動で)

image.png

キャパシティ 観点 監視観点
Read AlarmHigh 実績値の上限
Read AlarmLow 実績値の下限
Read ProvisionedCapacityHigh 設定閾値の上限
Read ProvisionedCapacityLow 設定閾値の下限
Write AlarmHigh 実績値の上限
Write AlarmLow 実績値の下限
Write ProvisionedCapacityHigh 設定閾値の上限
Write ProvisionedCapacityLow 設定閾値の下限

と、Read用×4つ、Write用×4つの、計8個がCloudWatchのアラートとして追加されます。

注意
今回は、あくまでもスケジュールによるキャパシティの変動予約をやりたいので全部無効にします。

テーブル削除の時にアラートも消えるの?(寄り道)

image.png

削除の時に、一緒に「消す」/「消さない」の選択ができます。

image.png

無効にしてあるアラートも、一緒に削除される事が確認できました。

AWS Auto ScalingのGUI管理画面は非対応(2024/07/30:現在)

image.png

設定が施してあっても、一覧も定義は見えません。

スケジュールされた実行に必要なコマンドたち

概要

リファレンスTop

スケジュール実行の作成

aws application-autoscaling put-scheduled-action  \
--service-namespace dynamodb  \
--scalable-dimension dynamodb:table:ReadCapacityUnits \
--resource-id table/AutoScalingTest  \
--scheduled-action-name read-capacity-middle  \
--schedule "cron(50 12 ? * MON-FRI *)" \
--timezone "Asia/Tokyo"  \
--scalable-target-action MinCapacity=2,MaxCapacity=2

上記のCLIからCRON式を使ってスケジュール実行の登録が可能です。
「service-namespace」や「scalable-dimension」、「resource-id」は、リファレンスを確認すると記載されている。

登録したスケジュール実行の確認

aws application-autoscaling describe-scheduled-actions  \
--service-namespace dynamodb \
--resource-id table/AutoScalingTest

「service-namespace」や「resource-id」は、リファレンスを確認すると記載されている。

実行履歴の確認

aws application-autoscaling describe-scaling-activities \
--service-namespace dynamodb \
--resource-id table/AutoScalingTest

「service-namespace」や「resource-id」は、リファレンスを確認すると記載されている。

登録したスケジュール設定の削除

aws application-autoscaling delete-scheduled-action \
--service-namespace dynamodb  \
--scalable-dimension dynamodb:table:ReadCapacityUnits  \
--resource-id table/AutoScalingTest    \
--scheduled-action-name read-capacity-middle

「service-namespace」や「scalable-dimension」、「resource-id」は、リファレンスを確認すると記載されている。

AWSの相談・お困りごとありましたら、、、

AWSの活用方法や、お困りごとの相談、随時、お仕事の受付しております。
AWSのLambda開発関連で、ライトな開発や、ちょっと、こんな事を自動化したい!等も、お気軽に問い合わせください。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?