Lambda 関数 での、"VPC での Lambda HyperPlane エラスティックネットワークインターフェイスの上限数を超えました" というエラーをトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon Virtual Private Cloud (Amazon VPC) に接続されている AWS Lambda 関数を更新したところ、次のエラーが表示されました。 "VPC での Lambda Hyperplane ENI の上限数を超えました。"

簡単な説明

Amazon VPC 内のリソースにアクセスするように Lambda 関数を設定すると、Lambda は Hyperplane エラスティックネットワークインターフェイスを作成します。Hyperplane ネットワークインターフェイスは、一意のサブネットとセキュリティグループの組み合わせを初めて定義したときに作成されます。

Amazon VPC では、ネットワークインターフェイスのデフォルトのクォータ制限は 500 です。ネットワークインターフェイスのクォータを超えると、制限超過エラーが発生します。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Amazon VPC での Hyperplane ネットワークインターフェイスの使用状況を確認する

Lambda が Amazon VPC で使用している Hyperplane ネットワークインターフェイスの総数を確認するには、describe-network-interfaces コマンドを実行します。

$ aws ec2 describe-network-interfaces --region us-east-1 \
  --filters 'Name=vpc-id,Values=VPC' 'Name=status,Values=in-use' \
  --query 'NetworkInterfaces[?InterfaceType==`lambda`].NetworkInterfaceId'

注: お使いのものでそれぞれ、VPC を Amazon VPC の ID に、region を AWS リージョンに置き換えます。

Lambda 関数に属するネットワークインターフェースを特定するには、GitHub のウェブサイトにある Lambda ENI finder スクリプトを実行します。

プライベートリソースにアクセスしない Lambda 関数の Amazon VPC 設定を削除する

Lambda 関数がプライベートリソースにのみアクセスするように Amazon VPC を設定するのがベストプラクティスです。関数を更新して Amazon VPC 設定を削除すると、Lambda はアタッチされている Hyperplane ネットワークインターフェイスを削除します。

注: Lambda が Hyperplane ネットワークインターフェイスを削除するのは、他の関数または公開バージョンがその Hyperplane ネットワークインターフェイスを使用していない場合のみです。

ネットワークインターフェイスを使用している関数を特定するには、「Lambda が作成した Elastic Network インターフェイスをデタッチまたは削除できない理由を知りたいです」を参照してください。

アクティブな Lambda 関数に使われていないバージョンを削除し、Hyperplane ネットワークインターフェイスを再利用する

Amazon VPC で設定された Lambda 関数に複数の公開バージョンがある場合は、使われていないバージョンを削除するのがベストプラクティスです。使われていない Lambda 関数バージョンを削除すると、使われていない Hyperplane ネットワークインターフェイスを解放することができます。

Lambda 関数が連続して何週間もアイドル状態になると、Lambda は使われていない Hyperplane ネットワークインターフェイスを回収し、関数の状態をアイドル状態に設定します。Lambda は、Lambda 関数により使用中の Hyperplane ネットワークインターフェイスは削除しません。

Lambda は、同じサブネットとセキュリティグループの組み合わせを使用するアカウント内の他の Amazon VPC で有効化された関数用に Hyperplane ネットワークインターフェイスを再利用します。同じセキュリティグループのサブネットペアを設定することで、複数の関数にわたりネットワークインターフェイスを再利用できます。

詳細については、「Hyperplane Elastic Network Interfaces (ENIs) について」を参照してください。

注: ネットワークインターフェースを共有して、できる限り必要なインターフェイスの数を減らすのがベストプラクティスです。

Service Quotas ダッシュボードでクォータ増加のケースを開始する

ユースケースで Hyperplane ネットワークインターフェイスがより多くのサービスクォータを必要とすると判断した場合は、サービスクォータの増加をリクエストしてください。詳細については、「クォータ増加をリクエストする」を参照してください。

関連情報

Lambda 関数の同時実行制限の増加をリクエストする方法を教えてください

AWS公式
AWS公式更新しました 5ヶ月前
コメントはありません