douke3442 2014-09-12 11:13
浏览 107
已采纳

AWS从PHP访问VPC中的RDS

I am on AWS with a lamp stack connecting to RDS.
I am able to connect from MySQL Workbench using SSH to RDS through amazons security groups.
But ... now that i need to connect from the outside world using PHP, I seem to be having some issues.

Normally i would connect to RDS using sqli like this:

$dbName = "mydb.xxxxxxxxxx.us-xxxx-1.rds.amazonaws.com";
$dbTable = "mytable";
$dbUser = "myusername";
$dbPass = "xxxxxxx";

But since the new instance is on a VPC on RDS public accessibility is not available.

I changed $dbName = 'xx.xxx.xx.xxx:3306' which is the public ip of my EC2 instance, but i get an error: mysqli_real_connect(): (HY000/2005): Unknown MySQL server host 'xx.xxx.xx.xxx:3306'

I am following this guide but seem to be unsuccessful at connecting.

I think I am not doing this part correctly

Create a second VPC security group (for example, "sg-dbsrv1") and create a new rule by specifying the VPC security group you created in step 1 ("sg-appsrv1") as the source.

Any help would be very appreciated, thank you.

  • 写回答

1条回答 默认 最新

  • dongxiezhi0590 2014-09-12 11:37
    关注

    In the AWS console you have to either append your IP to the existing security group or create another security group with your IP and add that group to your instance.

    RDS instances are not accessible except by hostname (especially if you're running Multi-AZ).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?