VPCでDockerを実行し、別のVPCマシンからコンテナーにアクセスする


10

AWS VPCでdockerを実行中に問題が発生します。

これが私のセットアップです:VPCで2つのマシンを実行しています:

  • 10.0.100.150
  • 10.0.100.151

どちらにもエラスティックIPが割り当てられており、どちらも同じインターネット対応サブネットで実行されています。

10.0.100.150マシンのコンテナのコンテナで静的ファイルを提供するWebサーバーを実行しているとしましょう。

  • IP:172.17.0.2
  • ポート8111は、マシンの8111ポートで転送されます。

ローカルマシン(または別の非VPCマシンもVPCで実行されていないEC2インスタンスを試しました)から静的ファイルにアクセスしようとしていますが、問題なく動作します。

他のマシン(10.0.100.151)からファイルにアクセスしようとすると、ハングします。私はwgetを使用してファイルをプルしています。

tcpdumpとngrepを使用してデバッグしようとしたところ、リクエストがコンテナに到達したことがわかりました。ホストマシンでngrepを実行すると、リクエストは送信されますが、応答が返されません。コンテナーでngrepを実行すると、要求が送信され、応答が返されます。

複数のiptablesセットアップ(ポストルーティングを有効にし、ポートを手動で転送するなど)を試しましたが、成功しませんでした。

どんな方法でも助けてください-デバッグの指示でさえ大歓迎です。

ありがとう!



DockerコンテナーをVPCネットワークに公開して投稿を二重に読みますが、それはまったく異なります。
ボグダンガザ2014

それは...ですか?10.0.100.150ですでに送信元/宛先IPチェックが無効になっていますか?
マイケル-sqlbot 14

うん、私はそれを無効にし、別のデフォルト以外のVPC、同じバグでテストしました。
ボグダンガザ

EC2インスタンスのセキュリティグループを一覧表示できますか?これは、インスタンスがデフォルトのセキュリティグループ内にないため、そのセキュリティグループ内の他のインスタンス間のトラフィックを許可しているようです。
Andy Shinn 14年

回答:



0

EC2インスタンスは、ポート8111が相互にアクセスできるセキュリティグループに属していないため、相互に通信できないようです。セキュリティグループが自身へのアクセスを許可している(および両方のEC2インスタンスをセキュリティグループに追加している)か、またはポート8111へのVPCサブネットを許可していることを確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.