Access S3 bucket via VPC endpoint from EC2 instance in private subnet using boto3

0

I have a flask application that is running on an EC2 instance in a private subnet. The flask application needs to be isolated with no internet connection and still able to access an S3 bucket - to do so, I have set-up a gateway VPC endpoint for S3. However, the flask application is never able to establish a connection to S3 (via boto3) and ends up timing out. Any ideas as to why this is happening?

Somethings to note:

  • I have a few other VPC endpoints configured (all of which are of type interface) which work perfectly fine with the Flask application in this deployment.
  • When I SSH on to the EC2 instance and perform the command: aws s3 ls, it works and I get a list of all of the available S3 buckets - which suggests to me that the S3 VPC endpoint does in fact work.
  • If was to deploy my EC2 on a public subnet with a public IP the flask application works perfectly and is able to access all aws resources that it is dependent on with no issues.
已提問 2 年前檢視次數 1306 次
2 個答案
1

Hello,

Have you looked at this Knowledge center article:

Why can’t I connect to an S3 bucket using a gateway VPC endpoint?

profile pictureAWS
專家
已回答 2 年前
profile pictureAWS
專家
Toni_S
已審閱 2 年前
1

Gateway endpoints are slightly different than other endpoints in that you'll need to update the routing tables associated with your VPC from which you want to leverage the gateway endpoint for accessing S3. Did you update your routing tables?

AWS
已回答 2 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南