Amazon Keyspaces の HTTP 5xx エラーを解決するにはどうすればよいですか?

所要時間1分
0

Amazon Keyspaces (Apache Cassandra 向け) の HTTP 5xx エラーをトラブルシューティングしたいと考えています。

解決策

ネットワークの停止やバックエンドハードウェアの障害などの一時的な問題が発生したときに Amazon Keyspaces でテーブル操作を実行すると、5xx エラーが発生します。

Service Unavailable」というエラーが発生した場合は、AWS Health Dashboard を確認してください。対象の AWS リージョンの AWS アカウントに影響するイベントがないことを確認してください。Amazon Keyspaces の AWS サポートに連絡して、サービスが正常であり、アクセス可能であることを確認することもできます。

システムエラーが原因で発生した Amazon Keyspaces API の障害をトラブルシューティングするには、AWS CloudTrail のログを参照してください。コントロールプレーンの操作を再試行します。

データを移行する場合や、書き込みアクティビティが多数ある場合は、InternalServerError の例外が発生することがあります。Amazon Keyspaces は、テーブルの基盤となるストレージパーティションを自動で調整します。パーティションの数は、アプリケーショントラフィックまたはプロビジョニング済み容量の変化に応じてスケールアップします。テーブルトラフィックの全体的な負荷または個々のパーティションの負荷の変化によって、パーティション分割が発生する可能性があります。パーティションが分割される際に、読み取りまたは書き込み操作がそのパーティションにアクセスしようとすると、システムエラーが発生することがあります。このエラーをトラブルシューティングするには、テーブルの SystemErrors メトリクスを構成します。統計Sum期間1 分にします。詳細については、「Amazon Keyspaces のメトリクスとディメンション」を参照してください。

読み取りと書き込みに関連するシステムエラーのトラブルシューティングを行うには、アプリケーション側またはクライアント側のロギングメカニズムを有効にします。エクスポネンシャルバックオフを使用するアルゴリズムで、エラーコード 5xx で失敗するリクエストに対する再試行戦略を実装します。

  • Java アプリケーションに Apache Cassandra ドライバーを使用している場合は、ドライバー設定に advanced.retry-policy を追加して再試行を有効にします。この再試行ポリシーは application.conf ファイルに追加できます。
  • アプリケーションが Python で実行されている場合は、KeySpacesRetryPolicy をソリューションに組み込んで、サーバー側の各エラーを再試行できます。詳細については、GitHub の AWS サンプルリポジトリにある amazon-keyspaces-examples を参照してください。

通常、内部サーバーエラーは一時的なもので、しばらくすると Amazon Keyspaces サービスによって対応されます。ただし、成功したリクエストの数よりも多くの InternalServerError 例外が発生する場合は、以下の情報を添えて AWS サポートに連絡してください:

  • キースペース名
  • テーブル名
  • リージョン
  • 問題が発生した時間
  • 問題が定期的に発生するか断続的に発生するかの情報
  • クライアントのドライバーとアプリケーションのログ
AWS公式
AWS公式更新しました 7ヶ月前
コメントはありません