Primeiros passos com Connectors
Crie um connector para uma segunda origem, envie um caminho da sua aplicação para ele com uma regra e confira a resposta pelo seu workload.
Este guia orienta você a enviar o seu primeiro caminho para uma segunda origem com um connector.
- Crie um connector do tipo
httpque alcança uma segunda origem por HTTPS e envia o próprio headerHostdessa origem. - Adicione uma regra que aponta um caminho da sua aplicação para o connector com o behavior Set Connector.
- Envie uma requisição para esse caminho pelo seu workload e receba a resposta da segunda origem.
Quatro partes formam a cadeia, listadas na ordem em que este guia as usa:
- O connector guarda o endereço da segunda origem, o header
Hostque ele envia e o protocolo que ele usa para se conectar. - A regra na sua aplicação corresponde a um caminho na fase de requisição. O behavior Set Connector dela nomeia o connector.
- O workload que já atende a sua aplicação recebe a requisição. O deployment dele não precisa de nenhuma mudança.
- A requisição para esse caminho encontra a regra, e o connector a envia para a segunda origem. Todos os outros caminhos continuam chegando à origem do seu primeiro connector.
Um connector não recebe tráfego até que uma regra o nomeie. Este guia usa httpbin.org como segunda origem, um serviço público que responde a toda requisição sob /anything com uma cópia em JSON da requisição que recebeu. Por isso, a resposta que você verifica no fim mostra o que o connector enviou. Para usar a sua própria origem, substitua httpbin.org pelo hostname dela e /anything pelo caminho dela, como /api/.
O connector que este guia deixa pronto é o ponto de partida dos produtos de Connectors. Load Balancer distribui as requisições entre até 15 endereços de um connector. Origin Shield protege a origem com um Origin IP ACL e com assinatura HMAC. Live Ingest recebe uma transmissão ao vivo por um connector do tipo live_ingest.
Os pré-requisitos e as três etapas mostram os passos de uma interface por vez. Selecione a sua:
Pré-requisitos
- Uma aplicação atendida por um workload, com uma regra que envia toda requisição para um primeiro connector. Para criar os três, consulte Primeiros passos com Applications.
- O workload domain desse workload, no formato
<id>.map.azionedge.net. Este guia o escreve como<workload-domain>. curl, para requisitar o caminho pelo seu workload.
- Acesso ao Azion Console.
Crie um connector para a sua segunda origem
Um connector do tipo http guarda o endereço de uma origem e as configurações que a Azion usa para alcançá-la. Você o cria à parte, fora de qualquer aplicação. Este connector tem um endereço, httpbin.org, e se conecta a ele somente por HTTPS.
O header Host informa à origem para qual site é uma requisição. Por padrão, um connector envia o host que o cliente requisitou, que é o seu workload domain. Este connector envia httpbin.org no lugar, então a origem recebe o próprio nome. Para mais informações, consulte Header Host.
O connector mantém o caminho de cada requisição como o cliente o enviou. Para adicionar um diretório da origem na frente de todo caminho, consulte Prefixo de caminho. Para servir os objetos de um bucket no lugar de uma origem HTTP, consulte Use um bucket como origem de uma aplicação.
Para criar o connector com a Azion CLI, coloque-o primeiro em um arquivo JSON. Salve este corpo como connector.json:
addresses lista os servidores de origem, e connection_options.host é o header Host que o connector envia. force_https faz toda conexão com a origem usar HTTPS.
Crie o connector a partir do arquivo. O comando precisa de --type, mesmo que o arquivo nomeie o tipo:
A saída traz o ID do connector novo:
Leia o connector de volta em JSON. Substitua <connector-id> pelo ID do comando anterior:
Este trecho da saída mostra as opções de conexão, com um valor para cada opção que o arquivo deixou de fora:
path_prefix está vazio, então o caminho chega à origem sem mudança. Anote o id: a regra o passa como <connector-id>. O connector existe na sua conta.
Envie um caminho para o connector
Uma regra no Rules Engine para Applications combina critérios com behaviors. Esta regra roda na fase de requisição da sua aplicação. O critério dela, ${uri} começando com /anything, corresponde a toda requisição sob esse caminho. O behavior dela, Set Connector, envia cada requisição correspondente para o connector novo. Para mais informações, consulte Set Connector.
A regra dos primeiros passos com Applications corresponde a todo caminho, inclusive /anything. Quando várias regras correspondentes carregam Set Connector, somente a última roda. Mantenha esta regra depois da regra que corresponde a tudo, para que ela decida o connector de /anything. Na API, uma regra nova vai depois das regras que a aplicação já tem: a segunda regra de uma aplicação é armazenada com order definido como 1.
Para criar a regra com a Azion CLI, mantenha a regra em um arquivo: em uma linha de comando, o shell expandiria ${uri}. Salve este corpo como rule.json e substitua <connector-id> pelo ID do connector novo:
Crie a regra na fase de requisição da sua aplicação. Substitua <application-id> pelo ID da sua aplicação:
A saída traz o ID da regra nova:
A regra está ativa na sua aplicação e envia toda requisição sob /anything para o connector.
Verifique a resposta
A verificação é a mesma, qualquer que seja a interface que criou o connector e a regra. No comando, substitua <workload-domain> pelo workload domain do seu workload.
Um connector novo e uma regra nova levam vários minutos para chegar à infraestrutura distribuída da Azion, e os data centers os aplicam em momentos diferentes. Até lá, uma requisição para /anything ainda pode chegar à origem do seu primeiro connector. Repita a requisição até a segunda origem responder. Para mais informações, consulte Propagação.
Envie uma requisição para o caminho a que a regra corresponde:
httpbin.org responde com uma cópia em JSON da requisição que recebeu. Este trecho mantém o header Host e a URL:
Host é httpbin.org, o valor que o connector envia, e não o seu workload domain. url mostra que o caminho chegou à origem sem mudança. Uma requisição para qualquer outro caminho, como /, continua chegando à origem do seu primeiro connector. A sua aplicação envia um caminho para uma segunda origem por um connector próprio.