Question: I have a security group assigned to an RDS instance which allows port 5432 traffic from our EC2 instances.

However, this security group has all outbound traffic enabled for all traffic for all IP's.

Is this a security risk? What should be the ideal outbound security rule?
In my perspective, the outbound traffic for the RDS security group should be limited to port 5432 to our EC2 instances, is this right?

Answer: 
> 
> What should be the ideal outbound security rule? In my perspective, the outbound traffic for the RDS security group should be limited to port 5432 to our EC2 instances, is this right?
> 
> 
> 

It is a good idea to have a clear control over outbound connections as well.

In your RDS group: delete all outbound rules (by default, there is rule that allows outbound connections to all ports and IP's -> just delete this "all-anywhere" rule).

Your DB will receive inbound requests through port 5432 from your EC2 instance, and RDS will respond back to your EC2 instance through the very same connection, no outbound rules need to be defined in this case at all.
When using **Security Goups** (as opposed to **ACL rules**) all inbound traffic is automatically allowed in outbound traffic so outbound rules may be empty in your case.

> 
> Is this a security risk? What should be the ideal outbound security
>  rule? In my perspective, the outbound traffic for the RDS security
>  group should be limited to port 5432 to our EC2 instances, is this
>  right?
> 
> 
> 

It's a risk only if you RDS is in a **public** subnet inside your VPC. 

Best practices recommend in your scenario to have a public subnet within your web server and a private subnet for all private resources (RDS, other private services, etc).

[![enter image description here](https://i.stack.imgur.com/A8Wny.png)](https://i.stack.imgur.com/A8Wny.png)

As you can see in the image, hosting your RDS inside a **private** subnet there is no way to access it from outside your VPC