Busca


imprimir pdf
IP Loadbalancing

DESCRIÇÃO


O endereço IP Loadbalancing é um endereço IP configurado na rede OVH que reparte a carga entre os endereços IP dos seus diferentes serviços nos nossos PoPs?. Este tipo de endereço permite-lhe obter melhoria de performances, melhor tolerância a falhas, um SLA mais elevado e tempos de resposta otimizados tendo em conta a localização dos utilizadores graças à tecnologia Anycast.

Através da API


Ip backend


Para adicionar um "IP backend" atrás do IP loadbalancing é necessário num primeiro tempo obter o nome do seu serviço Ip Loadbalancing. Para levar a cabo essa tarefa utilize a função:


GET /ip/loadBalancing



eis um exemplo de um retorno da função:


[

"ip-91.121.59.140",
"ip-37.187.86.25"

]


No nosso exemplo, há 2 endereços IP Loadbalancing.



Adicionar um IP backend

Agora, entre a nossa lista de endereços IP vamos ver quais é que podemos adicionar como backend ao serviço IP Loadbalancing:
Para saber quais os IPs, utilize a seguinte função:

GET /ip/loadBalancing/{serviceName}/allowedBackends


eis um exemplo do que é retornado pela referida função :


[
- {
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"
}


]


Aqui pode constatar que podemos adicionar endereços IP de um servidor dedicado, endereços IP de um servidor VPS e de um Dedicated Cloud (pCC).

Vamos agora adicionar o seguinte endereço IP: 91.121.23.123 (uma vez que essa ação é autorizada).

Utilize para tal a função:


POST /ip/loadBalancing/{serviceName}/backend


com os parâmetros:

serviceName : nome do serviço IP Loadbalancing (este nome foi obtido na primeira etapa aqui demonstrada).
IpBackend : Endereço IP que deseja adicionar ao backend.
probe : verificações a efetuar para saber se o seu servidor pode receber pedidos.


Os valores possíveis são:

-http ( o servidor http está acessível através de uma ligação TCP à porta 80. Com um pedido GET / se o resultado for 200, então o servidor pode receber pedidos)
-icmp ( o servidor responde aos pedidos icmp )
-none ( nenhuma verificação )
-oco (verificação feita através da sonda oco ).



eis um exemplo do retorno dado pela função:


{

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

}


Remover um endereço IP

Utilize a seguinte função para obter uma lista dos IP já adicionados como backend:


GET /ip/loadBalancing/{serviceName}/backend


com os seguintes parâmetros:

serviceName : nome do serviço IP Loadbalancing (obtido na primeira etapa).

eis um exemplo do retorno dado:


[

"91.121.23.123"

]


Podemos remover o endereço IP 91.121.23.123 (convém ter em consideração que ter apenas 1 único endereço IP como backend não tem qualquer utilidade)

Para remover o endereço IP, utilize a seguinte função:

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


com os seguintes parâmetros:


serviceName : nome do serviço IP Loadbalancing (obtido na primeira etapa)
ipBackend : IP que deseja remover do backend.


eis um exemplo do retorno:


null




Certificado SSL


Pode encomendar um certificado SSL para um dos seus nomes de domínio ou importar para o seu serviço IP Loadbalancing um certificado SSL já existente.

/!\ Nota :

Assim que encomendar um certificado e, consequentemente, tenha ativado SSL no endereço IP Loadbalancing, todos os pedidos serão redirecionados para a porta 80 dos seus servidores "backend" e não para a porta 443.


Encomendar certificado SSL

Pode encomenda um certificado SSL para o nome de domínio que pretende associar ao seu endereço IP Loadbalancing e o mesmo será automaticamente configurado no seu serviço IP Loadbalancing.

Para encomendar o certificado utilize a seguinte função:

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


com os seguintes parâmetros:

serviceName : nome do serviço IP Loadbalancing (obtido na primeira etapa com a função GET /ip/loadBalancing)
domain : O nome de domínio ao qual deseja associar o certificado SSL.


Importante :
Um email DCV irá ser enviado para . Certifique-se que este endereço existe e está funcional antes de efetuar a encomenda e o pagamento da mesma.


Eis um exemplo do retorno obtido:


{
{

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


}


No retorno obtido encontrará um URL que lhe permitirá aceder à nota de encomenda e pagar a mesma. O URL é "clicável".

Após a validação do pagamento, receberá um email (na conta associada ao nome de domínio ao qual será associado o certificado) para a validação da criação do certificado SSL.


Importar o seu certificado SSL

/!\ Importante :

Para instalar o seu próprio certificado SSL é necessário ter previamente ativado o certificado fornecido pela OVH. Para levar a cabo essa ação, consulte por favor a secção anterior deste guia de exemplo. A ativação do certificado fornecido pela OVH fará com que o seu IP Loadbalancing redirija os pedidos HTTPS para a porta 80 dos seus servidores "backend".


Para instalar o seu certificado SSL utilize a seguinte função :

POST /ip/loadBalancing/{serviceName}/importCustomSsl


com os seguintes parâmetros:

serviceName : nome do serviço IP Loadbalancing (obtido na primeira etapa com a função GET /ip/loadBalancing).
certificate : Conteúdo do ficheiro do seu certificado.
chain : Conteúdo do ficheiro da sua cadeia de certificação.
key : Conteúdo do ficheiro da sua chave privada (não encriptado).



Nota :

Pode utilizar o seguinte comando em GNU/Linux para desencriptar a sua chave privada:
openssl rsa -in private.key > www.seu-dominio.tld.key



Configurar os seus servidores


Nos servidores que foram definidos como backend, basta configurar os seus domínios no endereço IP que declarou como backend. Faça-o em todos os servidores que supostamente deverão ser usados para a repartição de carga.

Portanto, no seu servidor web:

no servidor A configure o domínio no endereço IP A
no servidor B, deverá declarar o mesmo domínio no endereço IP B

Quanto aos logs do seu serviço web, poderá mudar a gestão dos logs ao modificar a configuração do seu servidor web. Deverá, como exemplo, adicionar algo como:


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


De seguida, no VirtualHost do domínio coloque:

CustomLog /caminho/ficheiro.log loadbalancing


Após esta manipulação passará a ver nos seus ficheiros de log :

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 é o IP de ligação do cliente no nosso exemplo;
10.71.9.110 é o IP NAT do IP Loadbalancing no nosso exemplo.

Poderá instalar o módulo 'rpaf' para apache se desejar obter o endereço IP do cliente na variável REMOTE_ADDR ao invés de obter o IP NAT do IP Loadbalancing.
De qualquer das formas, o endereço IP é fornecido no cabeçalho do pedido no campo X-Forwarded-For.

Para conhecer os IPs NAT do IP Loadbalancing utilize a seguinte função:

GET /ip/loadBalancing/{serviceName}/internalNatIp


com os seguintes parâmetros:


serviceName :Nome do serviço IP Loadbalancing
Zone :Zona onde é anunciado o endereço IP Loadbalancing.


Exemplo de retorno:

"10.71.9.104/29"