Amazon VPC で Lambda 関数を設定する際に発生する「You have exceeded the maximum limit for Lambda HyperPlane elastic network interfaces for your VPC」(VPC について Lambda HyperPlane Elastic Network Interface の上限を超えました) というエラーをトラブルシューティングするにはどうすればよいですか?

所要時間2分
0

Amazon Virtual Private Cloud (Amazon VPC) に接続されている AWS Lambda 関数を作成または更新しました。「You have exceeded the maximum limit for Lambda HyperPlane ENIs for your VPC」(VPC について Lambda HyperPlane ENI の上限を超えました) というエラーが表示されました。

簡単な説明

Amazon VPC 内のリソースにアクセスするように Lambda 関数を設定すると、Lambda は Hyperplane Elastic Network Interface (ENI) を作成します。Hyperplane Elastic Network Interface は、一意のサブネットとセキュリティグループの組み合わせが定義されたときに初めて作成されます。

Amazon VPC あたりの Elastic Network Interface のデフォルトのクォータ制限は 250 です。Elastic Network Interface のクォータを超えると、制限超過エラーが発生します。

詳細については、「VPC 内のリソースにアクセスするように Lambda 関数を設定する」を参照してください。

解決方法

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください

Amazon VPC での Hyperplane Elastic Network Interface の使用状況を確認する

AWS CLI コマンド describe-network-interfaces を実行して、Lambda が Amazon VPC 用に使用している Hyperplane ENI の総数を確認します。

注: VPC を Amazon VPC ID に、region を自分の AWS リージョンに置き換えてください。

$ 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'

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

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

注: Lambda が Hyperplane Elastic Network Interface を削除するのは、他の関数や発行済みのバージョンがその Hyperplane Elastic Network Interface を使用していない場合のみです。

Elastic Network Interface を使用して関数を識別するには、「Lambda が作成した Elastic Network Interface のデタッチまたは削除ができないのはなぜですか?」を参照してください。

アクティブな Lambda 関数の未使用バージョンを削除し、Hyperplane Elastic Network Interface を再利用する

Amazon VPC を使用して設定された Lambda 関数に複数の発行済みバージョンがある場合は、未使用のバージョンを削除するのがベストプラクティスです。未使用の Lambda 関数バージョンを削除すると、未使用の Hyperplane Elastic Network Interface を解放するのに役立ちます。

Lambda 関数が何週間も連続してアイドル状態のままである場合、Lambda は未使用の Hyperplane Elastic Network Interface を再利用し、関数の状態をアイドル状態に設定します。Lambda は、Lambda 関数が使用している Hyperplane Elastic Network Interface を削除しません。

Lambda は、Hyperplane Elastic Network Interface を、同じサブネットとセキュリティグループの組み合わせを使用する、Amazon VPC によってアクティブ化されたアカウント内の他の機能のために再利用します。ユースケースによっては、同じセキュリティグループのサブネットのペアリングを設定して、複数の機能で Elastic Network Interface の再利用を試みることができます。

詳細については、「Elastic Network Interface の作成」を参照してください。

複数の Amazon VPC をまたいで Lambda 関数を作成する

Amazon VPC あたりの Hyperplane Elastic Network Interface は 250 個に制限されています。ユースケースによっては、Hyperplane Elastic Network Interface の制限に達しないように、異なる Amazon VPC にまたがって Lambda 関数を作成できます。

Service Quotas ダッシュボードでクォータ引き上げのケースを開く

ユースケースのために Hyperplane Elastic Network Interface についてより高いサービスクォータが必要であると判断した場合は、サービスクォータの引き上げをリクエストできます。

1.    Service Quotas ダッシュボードを開きます。

2.    AWS Lambda カードを選択します。Lambda の [Service quotas] (サービスクォータ) ページが開きます。

3.    [Elastic network interfaces per VPC] (VPC ごとの Elastic Network Interface) を選択し、[Request quota increase] (クォータの引き上げをリクエスト) を選択します。

4.    [Change quota value] (クォータ値の変更) でクォータの量を入力し、[Request] (リクエスト) を選択します。

注: リクエストの初期ステータスは [Pending] (保留中) です。ステータスが [Quota requested] (クォータがリクエストされました) に変わったら、AWS サポートのケース番号が表示されます。

5.    ケース番号を選択して、リクエストのチケットを開きます。

6.    チケットのコメントスレッドで、Lambda 関数のユースケースの説明を追加します。

注: AWS サポートから、リクエストを承認または拒否するステータス更新 E メールが届きます。

詳細については、「Requesting a quota increase」(クォータの引き上げリクエスト) を参照してください。


関連情報

Lambda 関数の同時実行数の制限の引き上げをリクエストするにはどうすればよいですか?

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ