2016-10-01 2 views
0

Для того, для данного пользователя в систему, используя Cognito, используя AWS-SDK Мне нужно выполнить запрос к конкретному региону, т.е.Cognito и API шлюза ближайший регион

AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
    IdentityPoolId: 'eu-west-1:id', 
    Logins: { 
    'accounts.google.com': idToken 
    } 
}); 

Пусть говорят, что у меня есть 2 Бассейны Cognito: один в США и один в ЕС. То, что я хотел бы сделать, - отправить этот запрос в ближайший регион Cognito.

У меня такая же проблема при отправке запросов в API Gateway. Подписанная подпись должна быть создана с использованием региона. (Я на самом деле с помощью API автоматически сгенерированный SDK, который делает это для меня)

const api = apigClientFactory.newClient({ 
    accessKey: AWS.config.credentials.accessKeyId, 
    secretKey: AWS.config.credentials.secretAccessKey, 
    sessionToken: AWS.config.credentials.sessionToken, 
    region: AWS.config.region 
}); 

Это выглядит как AWS заставляет меня знать регион, я хочу, чтобы подключить на внешний интерфейс. Поскольку интерфейс - это только один дистрибутив с CloudFront, что лучший способ сделать все это?

Единственное решение, я придумал, чтобы иметь:

  • Один s3 ведра в регион, который включает в себя развернутую версию приложения с информацией региона
  • Одно распределения CloudFront на s3 ведро
  • Переадресация на ближайшее облачное распределение с использованием латентности или гео-маршрутизации с помощью Route53.

ответ

0

Для API Gateway в настоящее время невозможно настроить любую автоматическую маршрутизацию в ближайший регион. Это обычно запрашиваемая функция, и в конечном итоге она будет реализована в нашем отставании. На данный момент вы можете либо построить логику выбора региона в клиентское приложение, либо распределить различные версии своего клиента в разных регионах.

Смежные вопросы