it-swarm-ja.com

インスタンスレベルのパブリックIP(ILPIP)をAzureに割り当てる方法VM in ARM(Resouce Manager)

Azureで実行されているWSO2CEP VMこれは複雑なイベントエンジンであり、単純なHTTP POSTを使用してそのpulisherによって通知を送信します。ただし、AWS EC2では正常に機能しますが、AzureVMでは機能しません。 。いつか例外以下をスローします。

ID: [-1] [] [2016-10-07 16:05:00,043] ERROR {org.wso2.carbon.event.output.adapter.core.OutputEventAdapter} -  Event dropped at Output Adapter '57f629ee23a74a1688b9e7c1_PUBLISHER' for tenant id '-1234', Read timed out 
Java.net.SocketTimeoutException: Read timed out
    at Java.net.SocketInputStream.socketRead0(Native Method)
    at Java.net.SocketInputStream.socketRead(SocketInputStream.Java:116)
    at Java.net.SocketInputStream.read(SocketInputStream.Java:170)
    at Java.net.SocketInputStream.read(SocketInputStream.Java:141)
    at Java.io.BufferedInputStream.fill(BufferedInputStream.Java:246)
    at Java.io.BufferedInputStream.read(BufferedInputStream.Java:265)
    at org.Apache.commons.httpclient.HttpParser.readRawLine(HttpParser.Java:78)
    at org.Apache.commons.httpclient.HttpParser.readLine(HttpParser.Java:106)
    at org.Apache.commons.httpclient.HttpConnection.readLine(HttpConnection.Java:1116)
    at org.Apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.Java:1413)
    at org.Apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.Java:1973)
    at org.Apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.Java:1735)
    at org.Apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.Java:1098)
    at org.Apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.Java:398)
    at org.Apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.Java:171)
    at org.Apache.commons.httpclient.HttpClient.executeMethod(HttpClient.Java:397)
    at org.Apache.commons.httpclient.HttpClient.executeMethod(HttpClient.Java:346)
    at org.wso2.carbon.event.output.adapter.http.HTTPEventAdapter$HTTPSender.run(HTTPEventAdapter.Java:317)
    at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:511)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:266)
    at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
    at Java.lang.Thread.run(Thread.Java:745)

私はそれが議論された問題によっておそらく引き起こされたけれども ここ そして ここ 。回避策は、インスタンスレベルのパブリックIP(ILPIP)をVMに割り当てることです。ただし、現在はAzure Resource Managerモデルを使用しており、関連するすべてのILPIP記事では、クラシックモード(Azure Service Manager)について説明しているようです。

現在、動的パブリックIPアドレスネットワークインターフェイスに割り当てています。 仮想マシン

ARMにはまだILPIPがありますか?どのように設定できますか?

1
Bruce

簡単に言うと、私の知る限り、ILPIPをARM VMに割り当てる方法はありません。

ARMにはILPIPの概念がないためです。 ARMはネットワークアーキテクチャを変更します。

パブリックIPをVM in ARM(実際には、VMに接続されたvNICに割り当てられます)に割り当てると、このIPはによって共有されませんASMとは異なる他のVM。ASMでは、パブリックIPアドレスはクラウドサービスによって所有されます。同じクラウドサービスに属するすべてのVMはパブリックIPアドレスを共有します。これが、ILPIPが必要な理由です。ただし、ARMでは= VMには独自のパブリックIPアドレスがあります。

だから、あなたの問題が上記のリンクと同じであるかどうかは疑わしいでしょう。 VMでネットワークキャプチャを実行して、ネットワークの動作を正確に確認してください。これは、ネットワークのトラブルシューティングに非常に役立ちます。

1