Network connectivity issues AWS SQL Express instance

Amazon is one of the premier cloud solutions providers out there and they offer development houses a number of solutions and features that cater to almost any requirement that a business can have. One of the most common setups I have seen is to have an EC2 (the equivalent of running your own virtual machine in the cloud) instance setup and then use RDS (Amazons own SQL Server installation where database server hardware resources are shared with other users) as the database backed for a hosted website. This works out better for small businesses because the routine administrative issues like backups and high availability are managed by Amazon allowing the business to focus mainly on development. However since an EC2 instance is technically a virtual machine you can also go ahead and have your own installation of SQL on your own EC2 instance. This might work out cheaper if you’re having your own licence or have very small database footprint or need complete control and flexibility over how everything is setup or configured.

I have a similar setup now and I want to be able to connect to my database over the internet instead of having to RDP to the instance and connect to the DB that way. While I know this is far less secure because my database is accessible over the internet I need to implement this as part of an experiment. I have installed SSMS on my laptop and installed SQL Server on the EC2 instance. Protocols are enabled and firewall is configured. But when I try to connect I get the below error.

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (Provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified) (Microsoft SQL Server, Error: -1)