[アップデート] Amazon DynamoDB の一部クォータ引き上げリクエストが数分以内に自動承認されるようになったので、どのクォータ項目が対象なのか調べてみた
いわさです。
Amazon DynamoDB は高いパフォーマンスを実現できるサーバーレス NoSQL データベースですが、スループットに上限が設定されており必要に応じて事前に上限緩和を行う必要があります。
まず、オンデマンドとプロビジョンドのキャパシティモードどちらもテーブルごとの上限があります。さらにプロにジョンドに関しては AWS アカウント全体での合計上限があります。
これらの上限緩和の多くは AWS マネジメントコンソール上で Service Quotas を使ったリクエストが可能だったのですが、Service Quotas からリクエスト送信後に自動でサポートケースが起票されサポートチームによって承認されるまでリードタイムが必要でした。
先日のアップデートで Amazon DynamoDB のスループットに関するクォータ値が自動承認されるようになるというアップデートがありました。
具体的にどの項目なのか明確にしたかったので実際に上限緩和させてみました。
Service Quotas 上で確認できる DynamoDB のスループット関係のクォータ項目
マネジメントコンソール上で「Service Quotas」メニューを起動し、AWS のサービスで「Amazon DynamoDB」を探します。Service Quotas は AWS サービスごとに項目が管理されています。
いくつかクォータ項目があって、調整可能なものから不可能なもの、リソースレベルなのかアカウントレベルなのかなどスコープが決まっていたりと様々なのですが、DynamoDB でスループットに関する項目でいうと以下が該当しそうです。
なるほど。まず前述のとおりテーブルごととアカウントごとに上限が設定されています。
さらにそれぞれの項目で読み取りと書き込みが別で管理されています。
さらに、DynamoDB Streams に関してもスループットの概念が別で存在します。
このあたりが対象な気がしますが、実際にこれらについてすぐに自動承認されるのかを確認してみました。
Table-level read throughput limit で数分以内の承認を確認してみる
まずこの中から Table-level read throughput limit を使って自動承認をさせてみます。
デフォルトのクォータ値が 40,000 なので 41,000 に変更してみます。
引き上げをリクエストしたところ、サポートケースが作成されずにステータスが「保留中」となりました。
通常サポートケースが作成される場合はここでサポートケース起票中みたいなステータスになっていたと思います。
そして 30秒 ~ 1分程度まってみると、次のようにステータスが「承認済み」となりました。
なお、「一部のサービスでは、小さな増額は自動的に承認され、大きいリクエストはAWSサポートに送信されます」と記載されていたので気になって試してみたのですが、6倍ほどの大幅な増加リクエストについても自動で同じ程度の時間で承認されていました。
自動承認されないもの、されるもの
先ほどはテーブルごとの読み取りスループットでしたが書き込みも試してみます。
Table-level write throughput limit で確認してみたところ、こちらも同じようにサポートケースは起票されずに1分以内に自動承認されました。
またプロビジョンドモード用の「Account-level read throughput limit (Provisioned mode)」についても試してみましたがこちらも自動承認されました。
一方で、「Write throughput limit for DynamoDB Streams (Provisioned mode)」については自動承認の対象ではないようでした。サポートケースが作成されました。
Service Quotas がサービスロールを使って該当アカウント上でサポートケースを起票します。
ケース内容も、Serivce Quotas コンソールで入力したリクエスト値に従って自動で送信されています。
なお、上記スループット以外のクォータ値に関しても従来どおりサポートケースが自動作成され、自動承認の対象ではありません。
まとめると、以下が今回のアップデートの対象であることが確認できました。
さいごに
本日は Amazon DynamoDB の一部クォータ引き上げリクエストが数分以内に自動承認されるようになったので、どのクォータ項目が対象なのか調べてみました。
読み取りも書き込みも、プロビジョンドもオンデマンドも私の検証時は 1 分以内で自動承認されることが確認出来ましたが、DynamoDB Streams については対象外でした。
上限緩和系は必要になったタイミングで承認までのリードタイムを知って慌てることが結構多いのですが、自動承認されると急に必要になったときも対応しやすくなって良いですね。
ただ、余裕を持って計画的なクォータの管理を行うのは AWS 運用上必要なこと(AWS Well-Architected Framework などでも言及されている[1])なので、自動承認に甘えずにちゃんと管理はしましょう。