2012-04-12 18 views
2

私は、それぞれポート11211と11300で外部IPをリッスンしているmemcachedとBeanstalkdを喜んで実行していたエラスティックIPアドレスを持つ実行中のEC2サーバを持っていました。私はサイズをアップグレードするためにサーバーのAMIをとり、サーバーが再起動したときにmemcachedもBeanstalkdも実行されていませんでした。 memcachedはinit.dで再起動しましたが、beanstalkdはコマンドラインからデーモンとして実行されました。EC2インスタンス上の外部IPへのmemcachedとbeanstalkのバインド

しかし、数時間後、私はそれらを起動して再度実行する方法を理解できないようです。 memcachedの設定ファイルについては

読み取り:

# Default connection port is 11211 
-p 11211 

# Specify which IP address to listen on. The default is to listen on all IP addresses 
-l <EXTERNAL IP ADDRESS> 

私がしようとすると、コマンドラインからrootとしてmemcachedを実行する場合:

memcached -d -m 1024 -u root -l <EXTERNAL IP ADDRESS> -v -p 11211 

私が手:

bind(): Cannot assign requested address 
failed to listen on TCP port 11211: Cannot assign requested address 

しかし、私はnetstatを見て、何も既にそのポートにバインドされていません:

netstat -ant | grep LIST 
tcp  0  0 0.0.0.0:3306   0.0.0.0:*    LISTEN  
tcp  0  0 0.0.0.0:6379   0.0.0.0:*    LISTEN  
tcp  0  0 0.0.0.0:80    0.0.0.0:*    LISTEN  
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  
tcp  0  0 0.0.0.0:23    0.0.0.0:*    LISTEN  
tcp6  0  0 :::22     :::*     LISTEN 

そして、私はPROCESSLISTをgrepする場合は、他のmemcachedのランニングはありません。

iptablesのは、次のように報告されます

Chain INPUT (policy ACCEPT) 
target  prot opt source    destination   
ACCEPT  tcp -- anywhere    anywhere   tcp spt:11300 state ESTABLISHED 
ACCEPT  tcp -- anywhere    anywhere   tcp spt:11211 state ESTABLISHED 

Chain FORWARD (policy ACCEPT) 
target  prot opt source    destination   

Chain OUTPUT (policy ACCEPT) 
target  prot opt source    destination 

EC2インスタンスは、元のサーバーと同じセキュリティグループを使用しているので、必要なポートが開いています。

最後に、ifconfig IPアドレスが弾性IPアドレスと異なることを示唆しているかもしれません。どちらかを聞いてみると:Bcast:memcachedサービスが動いてバインドしますが、弾性IP経由でmemcachedにアクセスできないようです。

私は何かばかげてあなたに明白でなければなりません。ご協力いただきありがとうございます。

答えて

7

公開する必要がある0.0.0.0にバインドします。

関連する問題