Amazon Keyspaces 自動スケーリングでスループットキャパシティを自動的に管理する - Amazon Keyspaces (Apache Cassandra 向け)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Keyspaces 自動スケーリングでスループットキャパシティを自動的に管理する

多くのデータベースワークロードは本質的に循環的なものであり、そうでない場合は前もって予測することは困難です。例えば、日中の時間帯に大部分のユーザーがアクティブなソーシャルネットワーキングアプリがあるとします。データベースは日中のアクティビティを処理できる必要がありますが、夜間のスループットに同じレベルは必要ありません。

別の例としては、急速に導入された新しいモバイルゲームアプリが挙げられます。ゲームの人気があまりに高まると、利用可能なデータベースリソースを超過し、パフォーマンスが低下して顧客が不満を感じるようになります。この種のワークロードでは多くの場合、手動介入によってデータベースリソースを使用レベルに応じて上下させる必要があります。

Amazon Keyspaces (Apache Cassandra 向け) は、実際のアプリケーショントラフィックに応じてスループットキャパシティを自動的に調整するので、可変ワークロードに対するスループットキャパシティの効率的なプロビジョニングに役立ちます。Amazon Keyspaces では、Applicatino Auto Scaling サービスを使用して、ユーザーに代わってテーブルの読み取りキャパシティと書き込みキャパシティの増減を行います。アプリケーションオートスケーリングの詳細については、「Application Auto Scaling User Guide」(アプリケーションオートスケーリングユーザーガイド) を参照してください。

注記

Amazon Keyspaces のオートスケーリングの簡単な使用方法については「Amazon Keyspaces の自動スケーリングポリシーを設定および更新する」を参照してください。

Amazon Keyspaces オートスケーリングの仕組み

次の図は、Amazon Keyspaces オートスケーリングによるテーブルのスループットキャパシティ管理の管理方法について、高レベルの概要を示しています。

ユーザーが Amazon Keyspaces のテーブルに変更を加えたときに関係するさまざまなサービスを示した図。該当するサービスは Amazon CloudWatch、Amazon SNS、Application Auto Scaling です。Application Auto Scaling が ALTER TABLE ステートメントを発行して、ユーザーの読み取りまたは書き込みの使用量に基づいてキャパシティを変更します。

テーブルのオートスケーリングを有効にするには、スケーリングポリシーを作成します。スケーリングポリシーは、テーブルの読み込みキャパシティと書き込みキャパシティ (またはそのいずれか) およびプロビジョンドキャパシティユニット設定をスケーリングするかどうかを指定するものです。

スケーリングポリシーによりターゲット使用率も定義されます。ターゲット使用率は、プロビジョンドキャパシティユニットに対する消費キャパシティユニットの割合をパーセンテージで示したものです。オートスケーリングでは、ターゲット追跡アルゴリズムを使用して、実際のワークロードに応じてテーブルのプロビジョンドスループットを上下に調整します。これにより実際のキャパシティ使用率が、ターゲット使用率またはその付近で維持されます。

読み取りおよび書き込みキャパシティに対して、オートスケーリングのターゲット使用率の値を 20%~90% の範囲で設定できます。ターゲット使用率のデフォルト値は 70% です。トラフィックが急速に変化し、キャパシティのスケールアップをすばやく開始したい場合は、ターゲット使用率の値を低く設定できます。アプリケーショントラフィックの変化が遅く、スループットのコストを削減したい場合は、ターゲット使用率の値を高く設定することもできます。

自動スケーリングポリシーの詳細については、「Application Auto Scaling ユーザーガイド」の「Target tracking scaling policies for Application Auto Scaling」を参照してください。

スケーリングポリシーを作成すると、Amazon Keyspaces が自動的に Amazon CloudWatch アラームのペアを 2 つ作成します。各ペアは、プロビジョンドスループット設定と消費スループット設定の上下の境界を示します。CloudWatch アラームは、テーブルの実際の使用率が一定期間ターゲット使用率を逸脱したときにトリガーされます。Amazon CloudWatch の詳細については、「Amazon CloudWatch ユーザーガイド」を参照してください。

いずれかの CloudWatch アラームがトリガーされると、Amazon Simple Notification Service (Amazon SNS) により通知が送信されます (有効にしている場合)。次に、CloudWatch アラームにより アプリケーションオートスケーリングが呼び出されてスケーリングポリシーが評価されます。これにより、Amazon Keyspaces に Alter Table リクエストが発行されて、テーブルのプロビジョンドキャパシティが必要に応じて調整されます。Amazon SNS 通知の詳細については、「Setting up Amazon SNS notifications」(Amazon SNS 通知の設定) を参照してください。

Amazon Keyspaces は Alter Table リクエストを処理してテーブルのプロビジョンドスループット性能を動的に増減し、ターゲット使用率に近づけます。

注記

Amazon Keyspaces の自動スケーリングは、プロビジョニング済みスループットの設定を、実際のワークロードが上回った (または下回った) 状態が数分間続いた場合にのみ変更します。 ターゲットトラッキングアルゴリズムはターゲット使用率を選択した値の付近に長期に渡って維持しようとします。アクティビティの急激かつ短時間の上昇は、テーブルに組み込まれたバーストキャパシティで対応されます。

マルチリージョンテーブルに対する自動スケーリングの仕組み

プロビジョンドキャパシティモードのすべての AWS リージョン マルチリージョンテーブルで、すべてのテーブルレプリカに十分な読み取りおよび書き込みキャパシティを常に確保するには、Amazon Keyspaces の自動スケーリングを設定することをお勧めします。

プロビジョンドモードのマルチリージョンテーブルで自動スケーリングを使用する場合、テーブルレプリカ単体の自動スケーリングを無効にすることはできません。ただし、テーブルの読み取りの自動スケーリング設定はリージョンごとに調整できます。例えば、テーブルのレプリケート先のリージョンごとに、読み取りキャパシティと読み取り自動スケーリングの設定を変えることができます。

指定したリージョンのテーブルレプリカに対して設定した読み取り自動スケーリング設定は、テーブル全般の自動スケーリング設定よりも優先されます。一方で、書き込みキャパシティは、すべてのリージョンで書き込みをレプリケートするのに十分なキャパシティを確保するため、すべてのテーブルレプリカ間で同期させておく必要があります。

Amazon Keyspaces の自動スケーリングでは、各 AWS リージョン のテーブルにプロビジョニングされたキャパシティを、そのリージョンの使用実績に応じて個別に更新します。その結果、自動スケーリングが有効になっている場合は、マルチリージョンテーブルのリージョンごとに、プロビジョニング済みキャパシティが異なる可能性があります。

マルチリージョンテーブルとそのレプリカの自動スケーリング設定は、Amazon Keyspaces コンソール、API AWS CLI、または CQL を使用して設定できます。マルチリージョンテーブルの自動スケーリング設定を作成および更新する方法については、「Amazon Keyspaces でマルチリージョンテーブルのプロビジョンドキャパシティと自動スケーリングの設定を更新する」を参照してください。

注記

マルチリージョンテーブルで自動スケーリングを使用する場合は、常に Amazon Keyspaces API オペレーションを使用して自動スケーリングを設定する必要があります。Application Auto Scaling API オペレーションを直接使用して自動スケーリング設定を構成する場合、マルチリージョンテーブル AWS リージョン の を指定することはできません。そのため、サポート対象外の設定になってしまうおそれがあります。

使用に関する注意事項

Amazon Keyspaces オートスケーリングの使用を開始する前に、以下を確認する必要があります。

  • Amazon Keyspaces オートスケーリングでは、スケーリングポリシーに従って、読み込みキャパシティや書き込みキャパシティを必要に応じて増加させることができます。Amazon Keyspaces (Apache Cassandra 向け) のクォータ で説明されているように、すべての Amazon Keyspaces クォータは有効です。

  • Amazon Keyspaces オートスケーリングにより、プロビジョンドスループット設定を手動で変更できなくなることはありません。これらの手動調整は、スケーリングポリシーにアタッチされている既存の CloudWatch アラームに影響しません。

  • コンソールを使用してプロビジョンドスループット性能でテーブルを作成する場合、Amazon Keyspaces オートスケーリングはデフォルトで有効になります。オートスケーリングの設定はいつでも変更できます。詳細については、「テーブルの Amazon Keyspaces 自動スケーリングを無効にする」を参照してください。

  • AWS CloudFormation を使用してスケーリングポリシーを作成する場合は、スタックがスタックテンプレートと同期 AWS CloudFormation するように、 からスケーリングポリシーを管理する必要があります。Amazon Keyspaces からスケーリングポリシーを変更すると、 AWS CloudFormation スタックがリセットされると、スタックテンプレートの元の値で上書きされます。

  • CloudTrail を使用して Amazon Keyspaces のオートスケーリングを監視する場合、設定検証プロセスの一部として、アプリケーションオートスケーリングによって行われたコールのアラートが表示されることがあります。検証チェックのための application-autoscaling.amazonaws.com が含まれている invokedBy フィールドを使用すれば、これらのアラートを除外できます。