DynamoDB 를 VPC 내의 Private망으로 연결하기 위해서는 NAT Gateway 연결 필요없이 Endpoint만 설정하면 된다.

 보통 Endpoint만 생성하고 안된다고 하는 경우가 많은데, Security Group (Outbound)과 Network ACL (Outbound) 설정도 추가해야된다.

  

 https://aws.amazon.com/blogs/database/how-to-configure-a-private-network-environment-for-amazon-dynamodb-using-vpc-endpoints/

 위 링크에[서 처럼 보통 Security Group 생성까지만 가이드가 나오지만, Network ACL 을 default 나 ALL이 아닌 직접 통제한다면,

 Network ACL에 대한 추가 설정도 필요한다.

 

1. Endpoint 생성한다.

2. Security Group Outbound 추가.(subnet에서 pl-xxxxx 확인.)
All 또는 443 포트에 대한 Outbound Rule로 추가하며, Destination 은 pl-xxxxxxxx으로 설정한다.
ex. All traffic / All / All / pl-xxxxxxxx
 
3. Network ACL 에 443 Outbound추가.(Network ACL 은 20줄만 가능하기에, 모든 IP 대역으로 하고 Security Group에서 막아도 됨.)
Route Table에서 DyanmoDB Endpoint(pl-xxxxx) IP 대역을 확인하여, Destination으로 입력한다.
ex. pl-xxxxxxxx (com.amazonaws.ap-northeast-2.dynamodb, xx.zz.xxx.0/24)
 
 
443 포트가 필요한이유는, AWS Serverless 서비스의 URL은 https로 호출되기 때문이다.
 
완전히 VPC 내부 통신이 아닌, 자신의 VPC에서 나가야되기에 Network ACL Outbound가 필요한 것이다.
자신의 VPC 에서 나가서 Router를 통해 AWS 내부 통신으로 DynamoDB에 붙는 것이다.