2017-04-08 18 views
0

私はAWSを初めて使用し、mysql RDSインスタンスを設定しました。AWS RDSがPHPからmysqlに接続できません

私はMySQLWorkbenchを使用して私のラップトップから接続することができるが、私は私のサーバーのいずれかから、次のコード(ないAWSサーバー)に接続しようとしたとき、私は次のエラーを取得する:

Warning: mysqli::mysqli(): (HY000/2002): Connection timed out in /home/asmserverco/public_html/sms/login.php on line 28 Connection failed: Connection timed out

ここれますPHPの接続コード:

$servername = "****.us-west-2.rds.amazonaws.com"; 
$username = "awsasm"; 
$password = "****"; 
$dbname = "sms"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

私は、任意のIPから許可されるインスタンスのセキュリティグループのすべてのトラフィックを設定しています。

私はノートパソコンから接続できますが、ウェブサーバーは接続できません。

+0

Mattは、セキュリティグループが特定のIPに設定されているか、すべて公開されていますか(0.0.0.0/0)ですか? SELinuxを有効にしてCentOSで動作していますか? – rock3t

+0

回答いただきありがとうございます。上記のように、セキュリティグループはallに設定されています。サーバーがCENTOS 6.8を実行していて、SELinuxが有効になっている – MattBlack

答えて

1

NACLを変更しなかったと仮定して、RDSがサーバーのIPからポート3306に接続できることを確認します。それをすべて開くには、0.0.0.0/0にする必要があります。

また、[Publicly Accessible]が[yes]に設定されていることを確認してください。

0

SELinuxを有効にしてCentOSを実行している場合、監査ファイルをチェックすることをお勧めします。

/var/log/audit/audit.log 

私は、この問題はネットワークフラグが欠落していると確信しています。ルートとして以下を実行してください。

setsebool -P httpd_can_network_connect 1 

もう一度アクセスしてください。

関連する問題