Мой пример использования довольно прост: я хочу развернуть веб-интерфейс для производства, использующего бэкэнд Amplify, без предоставления конфиденциальной конфигурации, такой как ключ API.
У меня есть веб-интерфейс, который использует Github Actions для CI и CD и развертывается в Zeit Now (так как это проект Next. js и нуждается в поддержке SSR, которую в настоящее время Amplify не предоставляет). На данный момент к нему не подключен бэкэнд, поэтому он без проблем разворачивается на производстве.
В том же проекте я настроил AWS Усиление для бэкэнда и подключил его к веб-интерфейсу. Все это работает успешно, как и ожидалось от локальной среды.
Теперь я хочу развернуть интерфейс в производство, однако конфигурация AWS для подключения его к серверу сохраняется в автоматически сгенерированном файле с именем aws-exports.js
который содержит среди прочего конечную точку GraphQL и его ключ API. Этот файл был добавлен в .gitignore
с помощью Amplify CLI
.
Если я удаляю файлы aws-exports.js
из .gitignore
и фиксирую его в хранилище, я думаю, что он, вероятно, будет работать после развертывания в производство, однако я предполагаю, что это не очень хорошая идея, поскольку я буду показывать конфиденциальные данные конфигурации.
Я не хочу использовать AWS для развертывания моего интерфейса, что и предлагается в качестве решения в документацию, которую я прочитал об этом. Есть ли какой-нибудь рекомендуемый способ сделать это, разделяя среду интерфейса и бэкэнда? (имеется в виду, что внешний интерфейс все еще развернут в Zeit Now, который будет использовать внутренний интерфейс, развернутый в AWS).