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

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

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

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

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

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 です。これにより、 ALTERTABLEステートメントが発行され、ユーザーの読み取りまたは書き込みの使用状況に基づいて容量が変更されます。

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

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

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

スケーリングポリシーの詳細については、Application Auto Scaling ユーザーガイドの「Application Auto Scaling のターゲット追跡スケーリングポリシーAuto Scaling」を参照してください。

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

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

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

注記

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

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

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

自動スケーリングでプロビジョニングモードでマルチリージョンテーブルを使用する場合、単一のテーブルレプリカで自動スケーリングを無効にすることはできません。ただし、テーブルの読み取り自動スケーリング設定は、リージョンごとに調整できます。例えば、テーブルがレプリケートされるリージョンごとに異なる読み込み容量と読み込み自動スケーリング設定を指定できます。

指定したリージョンのテーブルレプリカに対して設定した読み取り自動スケーリング設定は、テーブルの一般的な自動スケーリング設定を上書きします。ただし、書き込み容量は、すべてのリージョンで書き込みをレプリケートするのに十分な容量を確保するために、すべてのテーブルレプリカで同期されたままにする必要があります。

Amazon Keyspaces Auto Scaling は、各 のテーブルのプロビジョニングされた容量を個別に更新します。 AWS リージョン は、そのリージョンでの使用状況に基づきます。その結果、自動スケーリングがアクティブな場合、マルチリージョンテーブルのリージョンごとにプロビジョニングされた容量が異なる場合があります。

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

注記

マルチリージョンテーブルに自動スケーリングを使用する場合は、常に Amazon Keyspaces APIオペレーションを使用して自動スケーリング設定を構成する必要があります。Application Auto Scaling APIオペレーションを直接使用して Auto Scaling 設定を構成する場合、 AWS リージョン マルチリージョンテーブルの 。これにより、サポートされていない設定が発生する可能性があります。

使用に関する注意事項

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

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

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

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

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

  • CloudTrail を使用して Amazon Keyspaces の自動スケーリングをモニタリングすると、設定検証プロセスの一環として Application Auto Scaling によって行われた呼び出しに関するアラートが表示されることがあります。検証チェックのための application-autoscaling.amazonaws.com が含まれている invokedBy フィールドを使用すれば、これらのアラートを除外できます。