Amazon EC2で基本的なタマネギのルーティングサービスを実装しようとしています。 私のネットワークの背後にある基本的な考え方は次のとおりです。私は、ディレクトリノード、チェーンノード、および発信者(クライアント)を持っています。チェーンノードはディレクトリノードに登録され、ディレクトリノードはトラフィックのルートを決定します。私は私のマシン上でローカルにそれを実行したときに到着したリクエストのAWS起源(IP)
すべてが、細かい動作します。個々のEC2インスタンスからすべてのコンポーネントを実行すると、動作しません。これは、ディレクトリノードがチェーンノードの「本当の」場所を認識しないため、登録すると他のIPを持っていると考えられるためです。自分のマシン上で実行されていたチェーンノードを登録し、EC2インスタンス上で実行されているディレクトリノードを登録するときに、この動作に気付きました。ディレクトリノードは、登録要求をアマゾンネットワーク内からのものとして見た。ノードがお互いに通信する方法は、REST経由です。ディレクトリノードは、リクエストヘッダからチェーンノードのアドレスを取得します。リクエストヘッダは、要求の真の起点を指す代わりに、AWSネットワーク内のどこかを常に指しているようです。
私は、クラウドコンピューティングに新しいですし、これは私がオンラインに私の問題の答えを見つけることができませんでした私の能力のAWS.To最善と私の最初の相互作用であるので、私はここに頼むことにしました。おそらく、私がElastic IPについて読んだことに言及する価値はあるかもしれませんが、私が理解する限り、インスタンスに到達するために使用される「静的な」IPの一種です。これは、ノードの数に応じてチェーンノードが最終的にはそれぞれのVM内で動的に生成されるべきであるため、私を助けません。この場合、ディレクトリノードは新しいチェーンノードのIPを知りません。Elasticであるかどうかはわかりません。
私には助言がありますか? ありがとうございます!
なぜあなたは、通信するリクエストヘッダにIPを使用することはできませんか? – helloV
以下のシナリオのため:ディレクトリノードがEC2にあります。チェーンノードが私のPCにあり、登録しようとしています。ディレクトリノードには、<ローカルマシンのIP>の代わりにから受信した登録要求が表示されます。そして、それがルートトラフィックの一部をする必要があり、そのノードに伝えるためにしようとすると、それはに話をしようとすると、それが<私のローカルマシンのIP>に位置されるチェーン・ノードは、それが何かをしなければならない考えを持っていません。 –
Syn
PC上のソフトウェアはどのようにEC2のディレクトリノードに到達しますか?あなたのネットワーク構成は何ですか? –