Como anexar um IP Elastic a um aplicativo Elastic Beanstalk?

9

Eu posso dar a uma única instância um IP elástico. Sem problemas.

Mas eu tenho um aplicativo Elastic Beanstalk. Ele pode criar e remover instâncias, conforme necessário. Possui um balanceador de carga. Como faço para que esses recursos (Elastic IP e Elastic Beanstalk) funcionem juntos?

Por fim, tudo o que quero fazer é fazer chamadas para o meu servidor através do meu domínio, como este: meudomínio.com/algumApiCall e não quero me preocupar com meu IP elástico se tornando "desanexado".

Geoff Noble
fonte

Respostas:

8

Atualmente, isso não é possível e, na verdade, é uma limitação do Elastic Load Balancing (ELB) em uso, consulte, por exemplo, Por que a Amazon não permite atribuir um IP Elastic a um Elastic Load Balancer? :

O balanceador de carga elástico é simplesmente uma coleção de balanceadores de carga de software individuais hospedados no EC2, com o tráfego de balanceamento de carga DNS entre eles. O pool pode conter muitos IPs, pelo menos um por zona de disponibilidade e dependendo dos níveis de tráfego.

A resposta da D.Svanlunds aos balanceadores de carga e IP elástico fornece um bom resumo do motivo pelo qual o ELB foi projetado dessa maneira, e o “Elastic” do “Elastic” no “Balanceamento Elástico de Carga” da Shlomo Swidler : Elasticidade do ELB e Como Testar fornece um início, mas em profundidade análise da arquitetura ELB e as implicações para testar um aplicativo da Web nesse contexto.


Atualizar

Sobre o seu comentário: Você está se comunicando com o aplicativo AWS Elastic Beanstalk por meio do nome DNS mapeado para o Elastic Load Balancer , para o qual é possível mapear um registro CNAME por sua vez, como de costume, consulte Visão geral do Elastic Load Balancing :

O Elastic Load Balancing gera automaticamente um nome DNS para cada balanceador de carga. Você pode mapear qualquer outro nome de domínio (como www.example.com) para o nome DNS gerado automaticamente usando CNAME ou usar um alias do Amazon Route 53 para o nome DNS do balanceador de carga.

Detalhes adicionais podem ser encontrados em Usando nomes de domínio com o Elastic Load Balancing , que descreve como associar sua instância do Elastic Load Balancing a um nome de domínio personalizado - incluindo nomes de subdomínios e o ápice da zona .

Steffen Opel
fonte
Como posso criar uma API com Beanstalk se não consigo direcionar solicitações por meio do balanceador de carga? Como me comunico corretamente com meu aplicativo Beanstalk?
Geoff Noble
1
@ GeoffNoble: Não sei se posso acompanhar, por que uma chamada para example.com/resource fornecida por uma API hospedada no Elastic Beanstalk não deve funcionar como o esperado? Expandi minha resposta sobre o uso de nomes de domínio com o Elastic Load Balancing para esclarecer o conceito subjacente - boa sorte!
Steffen Opel
1

Mas eu tenho um aplicativo Elastic Beanstalk. Ele pode criar e remover instâncias, conforme necessário. Possui um balanceador de carga. Como faço para que esses recursos (Elastic IP e Elastic Beanstalk) funcionem juntos?

A partir de setembro de 2017, você pode usar o balanceador de carga de rede no beanstalk. Ele suporta endereços IP estáticos para o balanceador de carga. Você também pode atribuir um endereço IP elástico por sub-rede ativada para o balanceador de carga.

ALex_hha
fonte
0

Se você acessar seu aplicativo por meio de meudomínio.com.br/algumApiCall, o IP Elastic não estará na imagem. O ElasticBeanstalk fornece um URL parecido com este:

http://myapp.elasticbeanstalk.com

você pode apenas encaminhar seu domínio para myapp.elasticbeanstalk.com

Dexin Wang
fonte