Восстановить RDS Snapshot из консоли или CLI намного быстрее, чем облачная информация? - PullRequest
1 голос
/ 09 июля 2019

Я пишу некоторую автоматизацию для создания дубликата моей производственной среды 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 ГБ.

...