2 votes

Comment assigner une adresse IP publique au niveau de l'instance (ILPIP) à une machine virtuelle Azure dans ARM (Gestionnaire de ressources) ?

Nous avons WSO2CEP fonctionnant sur Azure VM, qui est un moteur d'événements complexes et enverra la notification par son éditeur en utilisant une simple requête HTTP POST. Cependant, cela fonctionnera bien sur AWS EC2 mais pas sur Azure VM. Il lancera parfois l'exception ci-dessous.

ID: [-1] [] [2016-10-07 16:05:00,043] ERREUR {org.wso2.carbon.event.output.adapter.core.OutputEventAdapter} -  Événement abandonné au adaptateur de sortie '57f629ee23a74a1688b9e7c1_PUBLISHER' pour l'identifiant du locataire '-1234', Délai d'attente de lecture dépassé 
java.net.SocketTimeoutException: Délai de lecture dépassé
    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)

J'ai pensé que cela pourrait être dû au problème discuté ici et ici. La solution de contournement consiste à attribuer l'adresse IP publique au niveau de l'instance (ILPIP) à la VM. Cependant, nous utilisons maintenant le modèle Azure Resource Manager et tous les articles liés à ILPIP semblent parler du mode classique (Azure Service Manager).

Actuellement, nous avons une adresse IP publique dynamique attribuée à l'interface réseau de la machine virtuelle.

L'ARM a-t-il toujours ILPIP? et comment pouvons-nous le configurer?

2voto

Steven Lee - MSFT Points 905

En bref, à ma connaissance, il n'y a aucun moyen d'attribuer un ILPIP à une machine virtuelle ARM.

Parce qu'il n'y a pas de concept d'ILPIP en ARM. ARM modifie l'architecture réseau.

Lorsque vous attribuez une IP publique à une machine virtuelle en ARM (en réalité, elle est attribuée à la vNIC connectée à la machine virtuelle), cette IP ne sera pas partagée par d'autres machines virtuelles, ce qui est différent avec ASM. En ASM, l'adresse IP publique est possédée par le service cloud. Toutes les machines virtuelles appartenant au même service cloud partageront l'adresse IP publique. C'est la raison pour laquelle nous avons besoin d'ILPIP. Mais en ARM, la machine virtuelle a sa propre adresse IP publique.

Donc, je doute que votre problème soit le même que celui mentionné ci-dessus. Veuillez essayer d'effectuer une capture réseau sur la machine virtuelle pour vérifier le comportement exact du réseau, ce qui est très utile pour le dépannage réseau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X