API de gateway da AWS: implantação de várias regiões do mesmo domínio

7

Eu tenho um gateway de API suportado por lambda que implantei em duas regiões. Essas duas APIs são totalmente idênticas. Eu tenho dois URLs diferentes como

*. execute-api.us-east-1.amazonaws.com * .execute-api.eu-west-1.amazonaws.com

Minha ideia era definir os mesmos domínios personalizados em duas regiões e usar o recurso de geolocalização do Route53, servindo a API da região mais próxima ao usuário. Mas, depois de definir o URL personalizado em uma região, quando tento definir na segunda região, recebo um erro dizendo que esse domínio já está definido em outra distribuição do cloudfront.

Isso é um bug ou qual estratégia posso seguir para a implantação de várias regiões do API Gateway?

Obrigado.

    
por Çağatay Gürtürk 23.10.2015 / 21:10

3 respostas

1

Infelizmente, isso não é possível no momento . O bloqueador principal aqui é o CloudFront. MikeD @ AWS fornece as informações em seus fóruns:

When you create a custom domain name it creates an associated CloudFront distribution for the domain name and CloudFront enforces global uniqueness on the domain name.

If a CloudFront distribution with the domain name already exists, then the CreateCloudFrontDistribution will fail and API Gateway will return an error without saving the domain name or allowing you to define it's associated API(s).

Thus, there is currently (Jun 29, 2016) no way to get API Gateway in multiple regions to handle the same domain name.

A AWS não tem atualizações sobre como fornecer as informações necessárias desde a confirmação da existência de uma solicitação de recurso aberto em 4 de julho de 2016. Tópico de formulário do AWS para atualizações

    
por 30.04.2017 / 21:08
0

A maneira como resolvemos isso é, na verdade, encabeçá-lo pela nuvem. Em seguida, no cloudfront, você adiciona os dois pontos finais como origens.

    
por 22.09.2016 / 16:46
0

Eu tenho algumas ideias.

CloudFront, como já foi dito, não é possível balancear a carga com o CloudFront. Então, suas opções parecem ser

  1. Use uma origem única com o CloudFront. Latência de 85ms entre os EUA As costas leste e oeste não são tão ruins. Comparado com a latência entre onde eu moro (Nova Zelândia) e os EUA de até 250ms é relativamente pequeno.
  2. Remova o CloudFront, use o roteamento baseado em latência do Route 53 para acessar diretamente o gateway da API. Com isso, você pode usar quantas regiões desejar - adicione uma em Sydney / Ásia se tiver clientes lá em baixo.
por 30.04.2017 / 21:16