AWS サービス固有 API のレート制限

問題

Infrastructure の Amazon インテグレーションを有効した後、サービス用のAPI でレート制限が発生しました。Infrastructure のインテグレーションを行うまで、この制限には引っかかったことがありません。これにより、AWS 監視ソフトウェアで以下のような、しばしば、503エラーと共に、メッセージが表示されました。

AWS::EC2::Errors::RequestLimitExceeded Request limit exceeded.

原因

New Relic Infrastructure Amazon インテグレーションは、データ収集のために、AWS 監視 API を利用しています。AWS は、New Relic Infrastructure インテグレーションで消費される AWS サービス固有の API の多くに厳しいレート制限を課しています。New Relic Amazon インテグレーションを追加すると、サービス固有 API の使用量が増加し、その影響で、レート制限に達する可能性があります。

これは、以下どちらかによって引き起こされる可能性があります。

  • 同じサービスの複数のプラグインで Amazon インテグレーションを有効にしている。
  • 誤った Role ARN を AWS インテグレーションに追加している。

対策

サービス固有のAPIの問題を解決するには、次の解決策を試してください。

  • Infrastructure アカウントに関連付けられている ARN が正しいことを確認してください。確認できていれば、誤ったアカウントのインベントリ情報を収集していないことが保証されます。
  • ARN が正しく設定されていても、問題が解決しない場合は、サービス固有の API の使用回数を減らす1つの方法は、AWS サービスの利用を無効にすることです。New Relic は、参照頻度を減らすように制限かけるために、使用量を監視し、ヒューリスティックな手法を適用します。参照頻度を減らす方法やコントロールはありません。
  • アカウントで多数の ELB や EC2 インスタンスを使っている場合、ELB や EC2 インスタンスに関連付けられた EBS ボリュームが収集した詳細情報を削除することで、イベントリデータ量を削減できます。そうするには、アカウントで一時的な回避策を実行できます。この方法については、New Relic Support に連絡してください。
  • New Relic Infrastructure Amazon インテグレーション API の使用状況を確認するには、Infrastructure > Integrations に移動して、アカウントステータスダッシュボードを選択します。過去1か月間の AWS API コールカウントのチャートと、(AWS リソースごとの) 昨日の CloudWatch API コールのチャートを含むInsight ダッシュボードに移動できます。この情報は、New Relic のみが利用した API の使用量であることに注意してください。他の AWS API や CloudWatch の使用量は含まれません。