Amazon EMR クラスターをモニタリングするために、API 呼び出しを行うスクリプトを実行しています。スクリプトは、次のようなエラーを返します。
「レート超過 (サービス: AmazonElasticMapReduce; ステータスコード: 400; エラーコード: ThrottlingException; リクエスト ID: e2b6191c-gkl5-269r-u735-cryyz251a837)」
「レート超過」エラーの発生を防ぐにはどうしたらいいですか?
簡単な説明
Amazon EMR はシステムの安定性を保つために、API 呼び出しをスロットリングします。調整の例外は、通常、監視スクリプトを定期的に実行して、クラスターでパラメータをチェックする場合に発生します。例を次に示します。60 秒ごとに DescribeCluster を呼び出して、クラスターが WAITING 状態に達したかどうかを確認します。手持ちのクラスターの数と実行するモニタリングスクリプトの数が増えれば増えるほど、スロットリングエラーが生じる頻度も増大します。
解決方法
スロットリングエラーを回避するには:
スロットリングエラーの原因を把握するには、AWS CloudTrail を使用してイベント履歴を追跡してください。CloudTrail は、次のようなイベントの詳細を特定するのに役立ちます。
- 頻繁な API 呼び出し
- 超過エラーとそれに関連する API 呼び出しをレートする
- API 呼び出しがユーザーによってトリガーされるのか、オートメーションによってトリガーされるのか
関連情報
一般的なエラー
ワークロードの API スロットリングの管理とモニタリング
CloudTrail の詳細