À 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!
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
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
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
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.