- Newest
- Most votes
- Most comments
Hi Ajay,
To address the timeout issue when using Amazon Textract with a Lambda function within a VPC, you can try the following steps:
-
Increase the Lambda Function Timeout: You have already increased the timeout to 2 minutes, but it might be necessary to increase it further depending on the size of the document you are processing. Consider increasing the timeout to a higher value, such as 5 minutes (300 seconds).
-
Configure the Lambda Function to Access Amazon Textract: Ensure your Lambda function is configured correctly to access Amazon Textract. This includes:
- Configuring the IAM role with the necessary permissions to call Textract.
- Ensuring that the Lambda has internet access if Textract is outside the VPC (e.g., using a NAT Gateway).
-
Subnets and Security Groups: Make sure your Lambda function is associated with subnets that have routes to a NAT Gateway or Internet Gateway, allowing external communication. Also, configure the security groups to allow the necessary outbound traffic.
-
Check the Regional Endpoint for Textract: If you are using VPC endpoints for AWS services, ensure that the endpoint for Amazon Textract is correctly configured. Add a VPC endpoint for Textract if needed.
-
Divide the Document: If the document is very large, consider splitting the document into smaller parts and processing them separately.
-
Logs and Metrics: Use CloudWatch Logs to get more information about the timeout error. Check the Lambda function's metrics in CloudWatch to see the average execution time and adjust accordingly.
If these solutions do not resolve the issue, please share some logs with us for further investigation.
Bests.
In the middle of the other answer is the thing that I would rate as the most likely:
Make sure that you add a VPC endpoint for the Textract service. If you have not done this then the Lambda function (most probably) cannot reach the Textract API endpoint.
Note that you can also use a NAT Gateway/Internet Gateway combination - so what you do here depends on the routing and other networking within your VPC.
For references, here's a list of the services that can be reached via VPC endpoints: https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html
Relevant content
- Accepted Answerasked a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago