Я пишу некоторую автоматизацию для создания дубликата моей производственной среды AWS для тестирования разработчиками и QA.Я использую bash-скрипт для вызова AWS cli с шаблонами AWS Cloudformation.
Когда я делаю это с Cloudformation, он создает БД, а затем RDS тратит 7 часов, модифицируя ее с помощью журнала «Применение модификации к выделенному хранилищу».до тех пор, пока CloudFormation не завершится с «DBInstance testaedb не стабилизировался» и не начнет откат, что также не удается.
Если я создаю тот же экземпляр RDS из консоли, используя те же аргументы, для создания требуется ~ 7 минутэкземпляр RDS и стать активным.Я только что провел тест сегодня утром, и то же самое верно, если я создаю его с помощью инструментов CLI.
Вот фрагмент шаблона CloudFormation:
AccountsRds:
Type: 'AWS::RDS::DBInstance'
Properties:
DBInstanceIdentifier: !Sub '${EnvName}aedb'
DBSnapshotIdentifier: !Sub '${AccountsSnapshot}'
DBInstanceClass: 'db.t3.xlarge'
DBSubnetGroupName:
Fn::ImportValue:
!Sub '${NetworkStackName}-RdsSubnetGroupId'
AutoMinorVersionUpgrade: 'true'
PubliclyAccessible: 'false'
VPCSecurityGroups:
- !GetAtt AccountsRdsSecurityGroup.GroupId
, а вот фрагмент кода CLI:
aws rds restore-db-instance-from-db-snapshot \
--region ${AE_REGION} \
--db-instance-identifier "${AE_ENV_NAME}"aedb \
--db-snapshot-identifier ${AE_DB_SNAPSHOT_ID} \
--db-instance-class db.t3.xlarge \
--db-subnet-group-name ${AE_DB_SUBNET_GROUP_NAME} \
--no-publicly-accessible \
--auto-minor-version-upgrade \
--vpc-security-group-ids ${AE_DB_SECURITY_GROUP}
Я ожидал, что CloudFormtation и CLI займут одинаковое количество времени.Есть идеи, почему Cloudformation займет 7 часов?Моя база данных не такая большая, 250 ГБ.