web-dev-qa-db-fra.com

Créer un cluster sans serveur Aurora à partir de cloudformation?

À partir du document d'Aurora Serverless, il existe 3 façons de créer un cluster de base de données Aurora sans serveur: console de gestion AWS, CLI et API RDS. ( https://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.create.html )

D'après ma compréhension, on utiliserait EngineMode dans l'API RDS pour créer Aurora Serverless, mais cette propriété n'est pas disponible dans AWS::RDS::DBCluster pourtant ( https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html ).

Serait-il possible de créer un cluster sans serveur Aurora à partir de cloudformation? Tout avis sera le bienvenu!

15
howard.h

Merci pour la mise à jour de Chris. À titre d'exemple, voici mon modèle cloudFormation pour aurora sans serveur. Nous n'avons plus besoin du DBInstance.

  RDSCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      MasterUsername: 
        Ref: DBUsername
      MasterUserPassword: 
        Ref: DBPassword
      DatabaseName: RANDOMNAME
      Engine: aurora
      EngineMode: serverless
      ScalingConfiguration:
        AutoPause: true
        MaxCapacity: 16
        MinCapacity: 2
        SecondsUntilAutoPause: 300
      DBSubnetGroupName:
        Ref: DBSubnetGroup

Exemple plus complet de toutes les options disponibles pour RDS (y compris Aurora): https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html

19
howard.h

Il est désormais possible de créer un AWS::RDS::DBCluster avec un EngineMode réglé sur serverless. Voir plus ici: https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode

9
Chris Paton

Réponse simple - Non. Pas avant qu'ils ne soient disponibles dans CFN. Il y a 1-2 jours, les propriétés EngineMode et ScalingConfiguration n'étaient pas encore disponibles dans l'API RDS, car mon appel d'API a provoqué cette erreur. Ils mettront d'abord à disposition les API/cli. Une fois que cela fonctionne, créez un CFN Custom Resource pour appeler l'API RDS à partir d'un lambda. Il faudra peut-être un certain temps avant qu'il ne soit rendu directement disponible dans CFN.

2018-08-15T16: 12: 09.648Z f57erb2b-g3a5-11e8-8f64-81912181e535 {MultipleValidationErrors: 2 erreurs de validation: * Paramètre inattendu: clé inattendue 'EngineMode' trouvée dans les paramètres * Paramètre inattendu: clé inattendue 'ScalingConfiguration' trouvée dans les paramètres

Et je sais que le rôle/l'autorisation n'est pas un problème car je pourrais lancer le cluster normal Aurora à partir du même.

PS: les API RDS fonctionnent désormais sans serveur

Edit : quelque temps en octobre 18, EngineMode ajouté à CFN, maintenant c'est possible -> https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode

4
ASR

J'ai trouvé un article qui indiquait que le Go SDK avait été mis à jour avec le paramètre EngineMode, et lorsque j'ai parcouru le journal des modifications AWS SDK, j'ai trouvé des mises à jour RDS dans les versions les plus récentes. J'ai dû mettre à jour manuellement mon AWS CLI vers la dernière version pour que mes scripts Shell fonctionnent avec cette option.

https://github.com/aws/aws-cli/releases

https://github.com/aws/aws-cli/blob/develop/CHANGELOG.rst

https://github.com/terraform-providers/terraform-provider-aws/issues/55

Pas de nouvelles du côté de CloudFormation cependant.

1
Glenak1911