#多分日刊IT問題
— 𝔈𝔩𝔞𝔰𝔱𝔦𝔠 𝔎𝔞𝔧𝔦 𝔖𝔢𝔯𝔳𝔦𝔠𝔢@魔人ママチャリライダー (@Anorlondo448) 2018年6月21日
皆大好きDynamoDBの説明で、誤っているものはどれか?! pic.twitter.com/em3vtRfLTv
— 𝔈𝔩𝔞𝔰𝔱𝔦𝔠 𝔎𝔞𝔧𝔦 𝔖𝔢𝔯𝔳𝔦𝔠𝔢@魔人ママチャリライダー (@Anorlondo448) 2018年6月21日
#多分日刊IT問題
— 𝔈𝔩𝔞𝔰𝔱𝔦𝔠 𝔎𝔞𝔧𝔦 𝔖𝔢𝔯𝔳𝔦𝔠𝔢@魔人ママチャリライダー (@Anorlondo448) 2018年6月22日
ご回答ありがとうございました!
誤っているものは「1.読込/書込キャパシティの変更は無制限にできる」でした! https://t.co/J3EKT2MmDe
問題
- 皆大好きDynamoDBの説明で、誤っているものはどれか?!
選択肢
- 読込/書込キャパシティの変更は無制限にできる
- AutoScaleを使ってScaleUpした後、リクエストがないとScaleDownしないまま同じキャパシティを保った状態になる
- 読込/書込キャパシティ/ストレージ容量/データ転送量で課金される
- 開発用のローカルバージョンがある
解答
- 誤っているものは「1.読込/書込キャパシティの変更は無制限にできる」でした!
解説
1. 読込/書込キャパシティの「減少」には制限があります
- なんと、増加は無制限なのですが、減少は1日に実行できる回数が決まっているんですよね・・・
- 参考
- AutoScalingを設定しているときも同じ制限が適用されるようです。
- AutoScaleするから安心!とか思っていると、減少の制限に引っかかってキャパシティが下がらないまま!というのがあり得るよ!
- キャパシティ管理は別途CloudWatch Alertを設定しておいたほうが良いかと思います。
2. AutoScaleを使ってScaleUpした後、リクエストがないとScaleDownしないまま同じキャパシティを保った状態になる
- これも注意ポイントなのですが、ScaleInは、リクエストがトリガーとなって行われます。
- つまり、ScaleUpしたあと、全然アクセスがないとUpしたキャパシティを維持し続けるので料金やべぇ!ってなるわけです。
- Lambdaなどを使って定期的にping/pongさせてキャパシティをDownさせる仕組みが必要かも・・・
3. 読込/書込キャパシティ/ストレージ容量/データ転送量で課金される
- 「キャパシティだけに料金がかかる」とずっと思っていましたが、テーブルが使用するディスク容量でも課金されるようです。(知らなかった)
- 東京リージョンだと月額「1 GB あたり最低 0.25 USD」のため、そこまで気にしなくてもよいかもしれません。
4. 開発用のローカルバージョンがある
- ローカル開発用のものがあります!
- これを使えば、開発時の課金を気にしなくて済みますね!
- ちなみに俺はローカル環境は常に読込/書込キャパシティを10000(MAX)にしていましたが、ローカルのキャパシティは設定しても無意味っぽいです。(速度は変わらず)
まとめ
- 今回はDynamoDBでハマったポイントについて出題してみました!
- マネージドサービスで便利は便利なのですが、いろいろと制限があるので、利用用途によっては使えなくなる可能性があります。
- 用法・容量を守って使いましょう。