1

Amazon AWS に 2 つのサーバーをセットアップしています。一方のサーバーは PHP を実行し、もう一方のサーバーは MySQL を実行しています。端末と MySQL Query Browser を介して MySQL データベースに接続できます。

PHP と MySQL サーバー間の接続を取得しようとしています。

これが私が使用しているPHPコードです(「localhost」データベースで機能します)

$dbbase = 'mydb';               
$dbuser = 'myuser';         // Your MySQL username
$dbpass = 'mypassword';     // ...and password
$dbhost = 'localhost:3306';  // Internal IP for MYSQL Server

// connect to database
$dblink = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die ("System Down");

mysql_select_db($dbbase, $dblink) 
    or die ("Database Down");

これを内部 AWS トラフィックにルーティングできるはずだと私は理解していますが、現時点では、機能するものはすべて取得してそこから構築します。

これが私がやったことです:

  • PHP サーバーの IP を MySQL(3306) アクセス許可のセキュリティ グループに追加しました。

  • MySQL サーバーの内部、外部、およびプライベート IP/DNS を $dbhost 変数として使用しようとしました

  • MySQL サーバーに myuser@% (ワイルドカード) を作成しました

アイデアやヒントをいただければ幸いです。

4

2 に答える 2

1

私はこれを機能させました。

大きなトリックは、次のルールをセキュリティ グループに追加することだったと思います。

タイプ: MySQL

ソース: 10.0.0.0/8

私の理解では、10.0.0.0/8 はすべての内部 Amazon IP をカバーしています。これを強化できると思いますが、サーバーの内部 IP が変更される可能性があるため、管理する必要があります。

次に、PHP スクリプトで、MySQL サーバーのプライベート DNS を使用しました。次のようになります。ip-10-10-100-100.ec2.internal:3306

結局、それが私がしたすべてだと思います。

于 2012-08-19T23:26:28.483 に答える