EDIT: I figured out the answer to this, see below.
I need to set up a Server which accepts HTTP and FTP requests as part of a class. I have the HTTP part set up just fine, and without any changes from me I can use Remote Desktop to access the server itself as well. However, using pretty much any other means of connection is not able to get a response from the server. I have an FTP site installed and set up, and have no issues connecting it from within the server, IE using ftp localhost. However, using the server's IP and public DNS address (from Amazon) causes a connection timeout. I don't think the issue is the FTP settings anyway, because using just about any program to try to connect fails. Initially I tried using telnet, which failed. I then tried ping and tracert, the latter timed out after 15 jumps, presumably on the last jump to actually access the server. Even using a browser connecting through a specific port does not work (as mentioned, nonspecific HTTP requests work fine).
I initially added the Windows Services application through the firewall, then allowed incoming connections on port 21, and finally turned the firewall off altogether, with no change. I have also restarted both the server OS and the EC2 instance.