Amazon EMR クラスターでのスロットリングエラー - Amazon EMR

Amazon EMR クラスターでのスロットリングエラー

エラー「Throttled from Amazon EC2 while launching cluster」と「Failed to provision instances due to throttling from Amazon EC2」は、別のサービスがアクティビティをスロットリングしたために、Amazon EMR がリクエストを完了できないときに発生します。スロットリングエラーの最も一般的な原因は Amazon EC2 ですが、他のサービスがスロットリングエラーの原因である可能性もあります。パフォーマンスを向上させるためにリージョンごとに AWS サービスの制限が適用されていて、スロットリングエラーは、そのリージョンでアカウントのサービス制限を超えたことを示します。

考えられる原因

Amazon EC2 スロットリングエラーの最も一般的な原因は、多数のクラスターインスタンスが起動されているために、EC2 インスタンスのサービス制限を超えたことです。クラスターインスタンスは以下の理由で作成される可能性があります。

Amazon EC2 に対して発行された API リクエストの頻度またはタイプにより、スロットリングエラーが発生することもあります。Amazon EC2 が API リクエストをスロットリングする方法の詳細については、「Amazon EC2 API リファレンス」の「クエリ API リクエスト率」を参照してください。

解決方法

以下の解決方法を検討してください。

  • サービス制限の引き上げをリクエストするには、「Amazon Web Services 全般のリファレンス」の「AWS サービスクォータ」の手順に従ってください。一部の API では、CloudWatch イベントをセットアップする方が制限を引き上げるよりも良好な結果になる場合があります。詳細については、「CloudWatch で EMR イベントを設定するとき」を参照してください。

  • 同じスケジュールで起動するクラスターがある場合 (特定時間の 0 分など)、開始時間をずらすことを検討してください。

  • インスタンス容量のピーク需要に合わせたサイズのクラスターがあり、インスタンス容量の需要が定期的に変動する場合は、インスタンスをオンデマンドで追加および削除するように Auto Scaling を指定することを検討してください。この方法では、インスタンスがより効率的に使用され、需要プロファイルに応じて、アカウント全体で同時にリクエストされるインスタンスが少なくなります。詳細については、「カスタムポリシーによる自動スケーリングを Amazon EMR のインスタンスグループに使用する」を参照してください。