«Первое имя хоста», которое вы хотите установить, называется «REST API id» и генерируется API Gateway при создании API. API , используемый для создания API в API Gateway, не дает возможности указать идентификатор REST API, поэтому нет способа указать идентификатор.
Причина этогоВероятно, эти идентификаторы используются как часть публичного имени домена. Поскольку это доменное имя не содержит идентификатора учетной записи AWS, которой оно принадлежит, идентификаторы должны быть глобально уникальными, поэтому AWS генерирует их, чтобы избежать коллизий. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *id} - это значение API id , сгенерированное API Gateway . Вы можете назначить пользовательское имя домена (например, apis.example.com) в качестве имени хоста API и вызвать API с базовым URL-адресом формата https://apis.example.com/myApi
.
Чтобы создать собственное доменное имя, вы должны учитывать, что с ним связано еще больше сложностей, поскольку вы также должны предоставить соответствующий SSL-сертификат для домена. Хотя для этого вы можете использовать ACM , в настоящее время существует ограничение на то, что SSL-сертификаты для дистрибутивов CloudFront (которые используют API-интерфейсы API Gateway с оптимизацией границ) * должны быть выпущены на востоке США. -1 .
Опция, которую вы уже упомянули для экспорта конечной точки API в стеке CloudFormation в качестве выходного значения и использования этого экспортированного значения в вашем другом стеке, будет работать хорошо. Как вы заметили, это создаст зависимость между двумя стеками, поэтому после развертывания проекта 2, который использует выходное значение из проекта 1, вы можете удалить стек CloudFormation для проекта 1 только после того, как стек проекта 2 будет удален или обновлен. больше не использовать экспортируемое значение. Это может быть особенностью, но из вашего описания это звучит так, как будто это не подходит для вашего случая использования.
Что-то похожее на экспортированные выходные значения стека будет заключаться в использовании некоторого общего хранилища вместо использования экспортированного вывода CloudFormation. ценит особенности. Здесь на ум приходит SSM Parameter Store , который предлагает некоторую интеграцию в CloudFormation . Интеграция упрощает чтение параметра из хранилища параметров SSM в стеке проекта 2. Для записи значения в хранилище параметров в проекте 1 вам потребуется использовать пользовательский ресурс в CloudFormation. шаблон. Для Github существует как минимум один пример реализации .
Как видите, для решения вашей проблемы доступно несколько вариантов. Какой из них выбрать, зависит от потребностей ваших проектов.