Чтобы сохранить изменения инфраструктуры в управлении исходным кодом, вы должны определить свою инфраструктуру в коде.Для этого есть несколько решений.
CloudFormation AWS предоставляет сценарии CloudFormation, где вы можете определить свою инфраструктуру, определенную с помощью JSON или YAML.Это также поддерживает отслеживание изменений, при этом если вы вносите изменения в CloudFormation и обновляете изменения, AWS пытается обновить только новые изменения, сделанные в CloudFormation, сохраняя остальную часть ресурсов без изменений, если это возможно.
Для получения дополнительной информации см. Шаблоны рассылки AWS CloudFormation CloudFront . AWS CLI Другой вариант - использовать сценарии AWS CLI, это более просто, поскольку в основном это будут несколько сценариев оболочки, которые включают команды для создания инфраструктуры.
Для получения дополнительной информации см. Команды AWS CLI CloudFormation .
AWS SDK: создание фрагмента кода Также можно написать фрагмент кода с помощью AWS SDK для предоставления CloudFront и ресурсов на языке, который вы предпочитаете,
Для получения дополнительной информации см. AWS SDK для NodeJS CloudFront API Reference (Или вы можете найти SDK и для других языков).
Приведенные выше подходы позволяют зафиксировать изменения инфраструктуры вконтроль источника и отслеживать его.Однако одним из ограничений этого является то, что нет способа узнать, что именно произойдет, когда вы примените изменение к инфраструктуре (нет поддержки для пробных прогонов).
Terraform Это гдеТакие инструменты, как Terraform, помогают вам написать свою инфраструктуру, используя сторонний язык, поддерживаемый Terraform, который также отслеживает то, что было предоставлено в AWS.Кроме того, он покажет вам, что произойдет, если вы внесете изменение.
Для получения дополнительной информации см. Модуль распространения Terraform AWS CloudFront .
Без сервераКомпоненты Framework Еще один инструмент с открытым исходным кодом использует Serverless Framework и Components.Это проще для начала, но все еще на ранней стадии (Serverless Framework является зрелым, но недавно они представили Компоненты).
Для получения дополнительной информации см. Компонент AWS CloudFront AWS CloudFront .