Recherche


imprimer pdf
IP Loadbalancing

DESCRIPTIF


L’IP Load balancing est une adresse IP portée par le réseau OVH qui répartit la charge entre les adresses IP de vos différents services, dans nos POPs. Elle vous apporte de meilleures performances, une tolérance aux pannes et un SLA plus élevé et des temps de réponse optimisés au plus près des utilisateurs grâce à la technologie Anycast.

Via l'API


Ip backend


Pour ajouter une ip d'un backend derrière l'ip loadblancing vous devez dans un premier temps , récupérer le nom de votre service ip loadlancing. Pour ceci utilisez la fonction :


GET /ip/loadBalancing



voici un exemple de retour :


[

"ip-91.121.59.140",
"ip-37.187.86.25"

]


Nous avons dans notre exemple 2 Ips loadbalancing.



Ajouter une ip

Maintenant recherchons les Ips de backend que nous pouvons rajouter :

Pour ceci utilisez la fonction :

GET /ip/loadBalancing/{serviceName}/allowedBackends


Voici un exemple de retour :


[
- {
ip: "94.23.239.28/32"
type: "dedicated"
}
- {
ip: "91.121.23.123/32"
type: "dedicated"
}
- {
ip: "46.105.10.113/32"
type: "vps"
}
- {
ip: "46.105.55.31/32"
type: "dedicated"
}
- {
ip: "176.31.231.216/32"
type: "dedicated"
}
- {
ip: "178.33.26.208/28"
type: "pcc"
}


]


Ici vous pouvez constater que nous pouvons mettre des ips d'un serveur dédié, des ips d'un vps et d'un dedicated cloud (pcc).

Maintenant nous allons ajouter l'ip : 91.121.23.123 qui est autorisée.

Utilisez la fonction :


POST /ip/loadBalancing/{serviceName}/backend


avec pour paramètres :

serviceName : nom du service Ip loadbalancing récupéré à la première étape.
IpBackend : Ip que vous souhaitez mettre en backend.
probe : vérification faites pour que votre serveur puisse recevoir les requêtes.


Les valeurs possibles sont :

-http ( le serveur http est accessible via une connexion tcp sur le port 80 avec pour requête un GET / si le retour est 200 alors le serveur reçoit les requètes)
-icmp ( le serveur répond au requête icmp )
-none ( aucune vérification )
-oco (vérification faite via la sonde oco ).



voici un exemple de retour :


{

zone: "rbx"
backend: "91.121.23.123"
probe: "http"

}


Enlever une Ip

Utilisez la fonction suivante pour récupérer la liste des Ips backend:


GET /ip/loadBalancing/{serviceName}/backend


Avec pour paramètres:

serviceName : nom du service Ip loadbalancing récupéré à la première étape.

voici un exemple de retour :


[

"91.121.23.123"

]


Nous pouvons enlever l'ip 91.121.23.123 (notez qu'une seul ip de backend ne sert pas à grand chose .)

Pour ceci utilisez la fonction :

DELETE /ip/loadBalancing/{serviceName}/backend/{backend}


Avec pour paramètres :


serviceName : nom du service Ip loadbalancing récupéré à la première étape.
ipBackend : Ip que vous souhaitez mettre en backend.


Voici un exemple de retour :


null




Certificat SSL


Vous pouvez soit commander un certificat SSL pour un de vos domaines , soit importer votre certificat SSL de votre domaine après avoir commandé celui fournit par OVH.

Note :

Lorsque vous aurez commandé le certificat et donc activer le SSL sur l'ip loabalancing , toutes les requêtes seront redirigées vers le port 80 et non 443 de vos serveurs dédiés.



Commander

Vous pouvez commander un certificat ssl pour votre domaine associé à votre Iploadbalancing, celui ci sera automatiquement configuré sur l'Iploadbalancing.

Pour commander le certificat utilisez la fonction :

POST /order/ip/loadBalancing/{serviceName}/ssl


Avec pour paramètres :

serviceName : nom du service de votre IP loadbalancing (récupérable avec la fonction : GET /ip/loadBalancing)
domain : Le domaine pour lequel vous voulez une option de SSL.


Important :

Un email de confirmation de création pour le certification sera envoyé sur l'adresse email postmaster@yourdomain.tld, il donc impératif de s'assurer que cette adresse email existe avant le règlement de la commande.



Voici un exemple de retour :


{
{

orderId: YYYYYY
url: https://www.ovh.com/cgi-bin/order/displayOrder.cgi?orderId=YYYYYYYY&orderPassword=XXXX
-
details: [
+
{ … }
+
{ … }
]
+
contracts: [ … ]
+
prices: { … }


}



Dans le retour vous avez le lien du bon de commande à régler, celui ci est directement cliquable.

Par la suite vous allez recevoir un email pour valider la création du certificat SSL.


Importer votre certificat SSL

Important :

Pour installer votre propre certificat il vous faut avoir activé au préalable le certificat fournit par ovh. Pour ceci je vous invite à lire la section précédente. Cette création a pour conséquence d'activer l'option ssl pour l'ip Loadbalancing.


Pour installer votre certificat utilisez la fonction :

POST /ip/loadBalancing/{serviceName}/importCustomSsl


Avec pour paramètres :

serviceName : Nom du service de votre IP loadbalancing (récupérable avec la fonction : GET /ip/loadBalancing).
certificate : Contenu du fichier de votre certificat.
chain : Contenu du fichier de votre chaine de certification.
key : Contenu du fichier de votre clef privé (déprotégée).



Note :

Vous pouvez utiliser la commande suivante sous linux pour déprotéger votre clef privée :
openssl rsa -in private.key > www.mon-domaine.com.key



Configurer Mes serveurs


Sur votre serveur , il vous suffit de configurer vos domaines sur l'ip que vous avez déclarée en backend pour chaque serveur.

donc dans votre serveur web :

sur le serveur A vous déclarez le domaine sur l'Ip A
sur le serveur B vous devez déclarer sur l'IP B

Dans le logs de votre serveur vous pouvez modifier la gestion de logs, modifiez la configuration de votre serveur web pour rajouter :


LogFormat "%{X-Forwarded-For}i-%h- %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" loadbalancing


Ensuite dans le VirtualHost du domaine mettez :

CustomLog /chemin/fichier.log loadbalancing


Ensuite dans les logs de vos domaines vous aurez ceci :

213.186.50.98-10.71.9.110- - - [26/Dec/2013:15:49:34 +0100] "GET / HTTP/1.1" 200 302 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"


213.186.50.98 est l'ip client dans cet exemple.
10.71.9.110 Ip Nat de l'ip loadbalancing dans notre exemple.

Pour vos site vous pouvez installer le module rpaf pour apache si vous souhaitez récupérer l'ip du client dans la variable REMOTE_ADDR à la place de l'ip Nat de l'ip loadbalancing. Sinon l'ip est fournie dans l’entête de la requête avec X-Forwarded-For.

Pour connaître les ips Nat de l'ip loabalancing utilisez la fonction :

GET /ip/loadBalancing/{serviceName}/internalNatIp


Avec en paramètres :


serviceName :Référence de l'ip loadbalancing
Zone :Zone où est annoncé l'ip loadbalancing.


Exemple de retour :

"10.71.9.104/29"