I'm setting up a new AWS Fargate task to query Dynamodb. The task is not public, so it doesn't have a public IP address and the subnet in which the task is placed doesn't have the access to the Internet. The Dynamodb table I'm trying to query uses the KMS encryption type.
I created:
- a VPC endpoint gateway to allow the subnet to connect to Amazon Dynamodb
- a VPC endpoint interface to allow the subnet to connect to AWS Secret Manager
I also updated the task's IAM role to be able to access the Dynamodb and the AWS Secret services.
The route tables associated with my VPC is:
and unfortunately, I can't update the table. If I click on Edit routes
and Add route
, it says: "No results found".
I'm trying to execute these lines of code:
session = boto3.Session()
dynamodb_client = session.client(service_name='dynamodb', region_name='us-east-1')
dynamodb_client.get_item(
TableName='table_name', ConsistentRead=True, Key={'key': {'S': 'key'}}))
I expect that the output is a dictionary containing the information fetched from Dynamodb. I can't fetch any type of data from Dynamodb because when I execute the query, the task is interrupted and AWS Fargate starts a new one. I tried to download something from my S3 bucket and it's working (I also create the VPC endpoint gateway to allow the subnet to connect to AWS S3 and I updated the task's IAM role). I think that it's a problem of VPC endpoints but I don't know which other endpoints I need.
What am I doing wrong?