Ajout d'une base de données à votre environnement Elastic Beanstalk - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout d'une base de données à votre environnement Elastic Beanstalk

Elastic Beanstalk offre une intégration à Amazon Relational Database Service (Amazon RDS). Vous pouvez utiliser Elastic Beanstalk pour ajouter une base de données MySQL, PostgreSQL, Oracle ou SQL Server à un environnement existant ou à un nouvel environnement, lorsque vous le créez. Lorsque vous ajoutez une instance de base de données, Elastic Beanstalk fournit les informations de connexion à votre application. Pour ce faire, définissez les propriétés d'environnement pour le nom d'hôte de la base de données, le port, le nom d'utilisateur, le mot de passe et le nom de la base de données.

Si vous n'avez encore jamais utilisé d'instance de base de données avec votre application, nous vous recommandons d'abord d'utiliser le processus décrit dans cette rubrique pour ajouter une base de données à un environnement de test à l'aide du service Elastic Beanstalk. Cette opération vous permet de vérifier que votre application peut lire les propriétés de l'environnement, créer une chaîne de connexion et se connecter à une instance de base de données sans le travail de configuration supplémentaire requis pour une base de données externe à Elastic Beanstalk.

Après avoir vérifié que votre application fonctionne correctement avec la base de données, vous pouvez envisager de passer à un environnement de production. À ce stade, vous avez la possibilité de découpler la base de données de votre environnement Elastic Beanstalk pour passer à une configuration offrant une plus grande flexibilité. La base de données découplée peut demeurer opérationnelle en tant qu'instance de base de données Amazon RDS externe. L'état de l'environnement n'est pas affecté par le découplage de la base de données. Si vous devez résilier l'environnement, vous pouvez le faire et choisir l'option permettant de maintenir la base de données disponible et opérationnelle en dehors d'Elastic Beanstalk.

L'utilisation d'une base de données externe présente plusieurs avantages. Vous pouvez vous connecter à la base de données externe à partir de plusieurs environnements, utiliser des types de base de données non pris en charge par les bases de données intégrées et effectuer des déploiements bleu/vert. Au lieu d'utiliser une base de données découplée créée par Elastic Beanstalk, vous pouvez également créer une instance de base de données en dehors de votre environnement Elastic Beanstalk. Quelle que soit l'option privilégiée, l'instance de base de données externe à votre environnement Elastic Beanstalk générée nécessite une configuration supplémentaire pour le groupe de sécurité et la chaîne de connexion. Pour de plus amples informations, veuillez consulter Utilisation d'Elastic Beanstalk avec Amazon RDS.

Cycle de vie de base de données

Vous pouvez déterminer que faire de la base de données une fois que vous l'avez découplée de votre environnement Elastic Beanstalk. Les options parmi lesquelles vous pouvez choisir sont collectivement appelées stratégies de suppression. Les stratégies de suppression suivantes s'appliquent à une base de données après que vous l'ayez découplée d'un environnement Elastic Beanstalk ou que vous ayez résilié l'environnement Elastic Beanstalk.

  • Instantané : avant qu'Elastic Beanstalk résilie la base de données, il enregistre un instantané de celle-ci. Vous pouvez restaurer une base de données à partir d'un instantané lorsque vous ajoutez une instance de base de données à un environnement Elastic Beanstalk ou lorsque vous créez une base de données autonome. Pour plus d'informations sur la création d'une nouvelle instance de base de données autonome à partir d'un instantané, consultez Restauration à partir d'un instantané de base de données dans le Guide de l'utilisateur Amazon RDS. Le stockage des instantanés de base de données peut entraîner des frais. Pour de plus amples informations, veuillez consulter la section Stockage de sauvegarde dans Tarification d'Amazon RDS.

  • Supprimer  : Elastic Beanstalk résilie la base de données. Une fois la base de données résiliée, l'instance de base de données n'est plus disponible pour aucune opération.

  • Conserver  : l'instance de base de données n'est pas résiliée. Elle reste disponible et opérationnelle, bien qu'elle ait été découplée d'Elastic Beanstalk. Vous pouvez ensuite configurer un ou plusieurs environnements pour connexion à la base de données en tant qu'instance de base de données Amazon RDS externe. Pour de plus amples informations, veuillez consulter Utilisation d'Elastic Beanstalk avec Amazon RDS.

Ajout d'une instance de base de données Amazon RDS à votre environnement à l'aide de la console

Vous pouvez ajouter une instance de base de données à votre environnement à l'aide de la console Elastic Beanstalk.

Pour ajouter une instance DB à votre environnement
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Database (Base de données), choisissez Edit (Modifier).

  5. Choisissez un moteur de base de données, puis saisissez un nom d'utilisateur et un mot de passe.

  6. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

Vous pouvez configurer les options suivantes :

  • Instantané – Choisissez un instantané existant de la base de données. Elastic Beanstalk restaure l'instantané et l'ajoute à votre environnement. La valeur par défaut est Aucune. Lorsque la valeur par défaut est None (Aucun), vous pouvez configurer la nouvelle base de données en utilisant les autres paramètres sur cette page.

  • Moteur – Choisissez un moteur de base de données.

  • Version du moteur – Choisissez une version spécifique du moteur de base de données.

  • Classe d'instance – Choisissez la classe d'instance de base de données. Pour de plus amples informations sur les classes d'instance de base de données, consultez http://aws.amazon.com/rds/.

  • Stockage – Choisissez la quantité de stockage à allouer à votre base de données. Vous pouvez augmenter le stockage alloué ultérieurement, mais vous ne pouvez pas le réduire. Pour de plus amples informations sur l'allocation de stockage, veuillez consulter Fonctionnalités.

  • Username (Nom d'utilisateur) : saisissez un nom d'utilisateur de votre choix en utilisant une combinaison de chiffres et de lettres uniquement.

  • Mot de passe – Entrez un mot de passe de votre choix contenant 8–16 caractères ASCII imprimables (sauf /, \ et @).

  • Disponibilité – Choisissez Élevée (Multi-AZ) pour exécuter une sauvegarde à chaud dans une deuxième zone de disponibilité pour une haute disponibilité.

  • Database deletion policy (Stratégie de suppression de base de données) : la stratégie de suppression détermine ce qu'il advient de la base de données une fois qu'elle est découplée de votre environnement. Elle peut être définie sur les valeurs suivantes : Create Snapshot, Retain ou Delete. Ces valeurs sont décrites dans Cycle de vie de base de données de cette rubrique.

Note

Elastic Beanstalk crée un utilisateur principal pour la base de données en utilisant le nom d'utilisateur et le mot de passe que vous fournissez. Pour de plus amples informations sur l'utilisateur principal et ses privilèges, veuillez consulter Privilèges du compte utilisateur principal.

L'ajout d'une instance de base de données prend environ 10 minutes. Lorsque la mise à jour est terminée, la nouvelle base de données est couplée à votre environnement. Le nom d'hôte de l'instance de base de données et les autres informations de connexion sont disponibles dans votre application via les propriétés d'environnement suivantes.

Nom de la propriété Description Valeur de la propriété

RDS_HOSTNAME

Nom d'hôte de l'instance DB.

Sous l'onglet Connectivity & security (Connectivité et sécurité) de la console Amazon RDS : Endpoint (Point de terminaison).

RDS_PORT

Port sur lequel l'instance de base de données accepte des connexions. La valeur par défaut varie selon les moteurs de base de données.

Sous l'onglet Connectivity & security (Connectivité et sécurité) de la console Amazon RDS : Port.

RDS_DB_NAME

Nom de la base de données, ebdb.

Sous l'onglet Configuration de la console Amazon RDS : DB Name (Nom de base de données).

RDS_USERNAME

Nom d'utilisateur que vous avez configuré pour votre base de données.

Sous l'onglet Configuration de la console Amazon RDS : Master username (Identifiant principal).

RDS_PASSWORD

Mot de passe que vous avez configuré pour votre base de données.

Non disponible pour référence dans la console Amazon RDS.

Connexion à la base de données

Utilisez les informations de connectivité pour vous connecter à votre base de données à partir de votre application, par le biais des variables d'environnement. Pour plus d'informations sur l'utilisation d'Amazon RDS avec vos applications, consultez les rubriques suivantes.

Configuration d'une instance de base de données RDS intégrée à l'aide de la console

Vous pouvez visualiser et modifier les paramètres de configuration de votre instance de base de données dans la section Database (Base de données) de la page Configuration de l'environnement, dans la console Elastic Beanstalk.

Pour configurer l'instance de base de données de votre environnement dans la console Elastic Beanstalk
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Database (Base de données), choisissez Edit (Modifier).

Vous pouvez modifier les paramètres Instance class (Classe d'instance), Storage (Stockage), Password (Mot de passe), Availability (Disponibilité) et Database deletion policy (Stratégie de suppression de base de données) après la création de la base de données. Si vous modifiez la classe d'instance, Elastic Beanstalk reprovisionne l'instance de base de données.

Si vous n'avez plus besoin d'Elastic Beanstalk pour associer la base de données à l'environnement, vous pouvez décider de la découpler en sélectionnant Decouple database (Découpler la base de données). Il importe de comprendre les options et les considérations liées à cette opération. Pour de plus amples informations, veuillez consulter Découplage d'une instance de base de données RDS à l'aide de la console.

Avertissement

Ne modifiez pas les paramètres sur l'instance de base de données couplée en dehors de la fonctionnalité fournie par Elastic Beanstalk (par exemple, dans la console Amazon RDS). Si vous le faites, votre configuration de base de données Amazon RDS risque de ne pas être synchronisée avec la définition de votre environnement. Lorsque vous mettez à jour ou redémarrez votre environnement, les paramètres spécifiés dans l'environnement remplacent ceux que vous avez définis en dehors d'Elastic Beanstalk.

Si vous devez modifier les paramètres que Elastic Beanstalk ne prend pas en charge directement, utilisez les fichiers de configuration Elastic Beanstalk.

Configuration d'une instance de base de données RDS intégrée à l'aide des fichiers de configuration

Vous pouvez configurer une instance de base de données de votre environnement à l'aide de fichiers de configuration. Utilisez les options de l'espace de noms aws:rds:dbinstance. L'exemple suivant remplace la taille de stockage de base de données allouée par 100 Go.

Exemple .ebextensions/db-instance-options.config
option_settings: aws:rds:dbinstance: DBAllocatedStorage: 100

Si vous souhaitez configurer les propriétés d'instance de base de données qui ne sont pas prises en charge par Elastic Beanstalk, vous pouvez utiliser un fichier de configuration et spécifier vos paramètres à l'aide de la clé resources. L'exemple suivant définit les valeurs sur les propriétés Amazon RDS StorageType et Iops.

Exemple .ebextensions/db-instance-properties.config
Resources: AWSEBRDSDatabase: Type: AWS::RDS::DBInstance Properties: StorageType:io1 Iops: 1000

Découplage d'une instance de base de données RDS à l'aide de la console

Vous pouvez découpler votre base de données d'un environnement Elastic Beanstalk sans affecter l'état de l'environnement. Avant de découpler la base de données, tenez compte des exigences suivantes :

  • Que doit-il advenir de la base de données une fois qu'elle est découplée ?

    Vous pouvez choisir de créer un instantané de la base de données, puis de la résilier, de conserver la base de données opérationnelle en tant que base de données autonome externe à Elastic Beanstalk, ou de supprimer définitivement la base de données. Le paramètre Database deletion policy (Stratégie de suppression de base de données) détermine ce résultat. Pour bénéficier d'une description détaillée des stratégies de suppression, consultez Cycle de vie de base de données dans cette rubrique.

  • Avez-vous besoin d'apporter des modifications aux paramètres de configuration de la base de données avant de la découpler ?

    Si vous devez apporter des modifications de configuration à la base de données, vous devez les appliquer avant le découplage de la base de données. Cela inclut les modifications apportées au paramètre Database deletion policy (Stratégie de suppression de base de données). Toute modification en attente envoyée simultanément avec le paramètre Decouple database (Découpler la base de données) est ignorée, car seul le paramètre de découplage est appliqué.

Pour découpler une instance de base de données d'un environnement
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Database (Base de données), choisissez Edit (Modifier).

  5. Passez en revue toutes les valeurs de configuration dans la section Database settings (Paramètres de la base de données), en particulier la valeur Database deletion policy (Stratégie de suppression de base de données), qui détermine ce qu'il advient de la base de données une fois qu'elle est découplée.

    Si tous les autres paramètres de configuration sont corrects, passez à l'étape 6 pour découpler la base de données.

    Avertissement

    Il est important d'appliquer le paramètre Database deletion policy (Stratégie de suppression de base de données) séparément du paramètre Decouple database (Découpler la base de données). Si vous sélectionnez Apply (Appliquer) dans le but d'enregistrer à la fois Decouple database (Découpler la base de données) et une nouvelle Database deletion policy (Stratégie de suppression de base de données), la nouvelle stratégie de suppression que vous avez choisie est ignorée. Elastic Beanstalk découple alors la base de données en suivant la stratégie de suppression définie précédemment. Si la stratégie de suppression antérieure est Delete ou Create Snapshot, vous risquez de perdre la base de données au lieu de suivre la stratégie en attente prévue.

    Si l'un des paramètres de configuration nécessite des mises à jour, procédez comme suit :

    1. Apportez les modifications requises dans le panneau Database settings (Paramètres de la base de données).

    2. Choisissez Apply (Appliquer). Quelques minutes sont nécessaires à l'enregistrement des modifications de configuration de votre base de données.

    3. Revenez à l'étape 3 et sélectionnez Configuration dans le panneau de navigation.

  6. Accédez à la section Database connection (Connexion de la base de données) du panneau.

  7. Sélectionnez Decouple database (Découpler la base de données).

  8. Sélectionnez Apply (Appliquer) pour lancer l'opération de découplage de la base de données.

Le paramètre de stratégie de suppression détermine le résultat de la base de données et la durée nécessaire pour découpler la base de données.

  • Si la stratégie de suppression est définie sur Delete, la base de données est supprimée. L'opération peut prendre environ 10 à 20 minutes selon la taille de la base de données.

  • Si la stratégie de suppression est définie sur Snapshot, un instantané de la base de données est créé. Ensuite, la base de données est supprimée. La durée requise pour ce processus varie en fonction de la taille de la base de données.

  • Si la stratégie de suppression est définie sur Retain, la base de données reste opérationnelle en dehors de l'environnement Elastic Beanstalk. Généralement, moins de cinq minutes sont nécessaires pour découpler une base de données.

Si vous décidez de conserver la base de données de manière externe à votre environnement Elastic Beanstalk, vous devrez prendre des mesures supplémentaires afin de la configurer. Pour de plus amples informations, veuillez consulter Utilisation d'Elastic Beanstalk avec Amazon RDS. Si vous envisagez d'utiliser la base de données que vous découplez pour un environnement de production, vérifiez que le type de stockage utilisé par la base de données est adapté à votre charge de travail. Pour de plus amples informations, consultez Stockage d'instance de base de données et Modification d'une instance de base de données dans le Guide de l'utilisateur Amazon RDS.

Découplage d'une instance de base de données RDS à l'aide de fichiers de configuration

Vous pouvez découpler votre instance de base de données d'un environnement Elastic Beanstalk sans affecter l'état de l'environnement. L'instance de base de données suit la stratégie de suppression de base de données appliquée lorsque la base de données a été découplée.

Les deux options requises pour découpler la base de données se trouvent dans l'espace de noms aws:rds:dbinstance. Ce sont les suivants :

  • L'option DBDeletionPolicy définit la stratégie de suppression. Elle peut être définie sur les valeurs suivantes : Snapshot, Delete ou Retain. Ces valeurs sont décrites dans Cycle de vie de base de données de cette rubrique.

  • L'option HasCoupledDatabase détermine si votre environnement possède une base de données couplée.

    • Si elle bascule sur true, Elastic Beanstalk crée une nouvelle instance de base de données couplée à votre environnement.

    • Si elle bascule sur false, Elastic Beanstalk commence à découpler l'instance de base de données de votre environnement.

Si vous souhaitez modifier la configuration de votre base de données avant de la découpler, appliquez d'abord, au cours d'une opération distincte, toutes les modifications de configuration. Cela comprend la modification de la configuration DBDeletionPolicy. Une fois vos modifications appliquées, exécutez une commande distincte pour définir l'option de découplage. Si, en plus du paramètre de découplage, vous soumettez d'autres paramètres de configuration, les autres paramètres d'option de configuration sont ignorés lorsque le paramètre de découplage est appliqué.

Avertissement

Il est important que vous exécutiez les commandes pour appliquer les paramètres DBDeletionPolicy et HasCoupledDatabase en deux opérations distinctes. Si la stratégie de suppression active est déjà définie sur Delete ou Snapshot, vous risquez de perdre la base de données. La base de données suit la stratégie de suppression actuellement active, plutôt que la stratégie de suppression en attente souhaitée.

Pour découpler une instance de base de données d'un environnement

Suivez ces étapes pour découpler la base de données de votre environnement Elastic Beanstalk. Vous pouvez utiliser l'interface de ligne de commande (CLI) EB ou l'AWS CLI pour terminer les étapes. Pour de plus amples informations, consultez Personnalisation avancée de l'environnement avec des fichiers de configuration.

  1. Si vous souhaitez modifier la stratégie de suppression, configurez un fichier de configuration au format suivant. Dans cet exemple, la stratégie de suppression est définie de manière à être conservée.

    option_settings: aws:rds:dbinstance: DBDeletionPolicy: Retain
  2. Exécutez la commande à l'aide de votre outil préféré pour terminer la mise à jour de configuration.

  3. Configurez un fichier de configuration afin de définir HasCoupledDatabase sur false.

    option_settings: aws:rds:dbinstance: HasCoupledDatabase: false
  4. Exécutez la commande à l'aide de votre outil préféré pour terminer la mise à jour de configuration.

Le paramètre de stratégie de suppression détermine le résultat de la base de données et la durée nécessaire pour découpler la base de données.

  • Si la stratégie de suppression est définie sur Delete, la base de données est supprimée. L'opération peut prendre environ 10 à 20 minutes selon la taille de la base de données.

  • Si la stratégie de suppression est définie sur Snapshot, un instantané de la base de données est créé. Ensuite, la base de données est supprimée. La durée requise pour ce processus varie en fonction de la taille de la base de données.

  • Si la stratégie de suppression est définie sur Retain, la base de données reste opérationnelle en dehors de l'environnement Elastic Beanstalk. Généralement, moins de cinq minutes sont nécessaires pour découpler une base de données.

Si vous décidez de conserver la base de données de manière externe à votre environnement Elastic Beanstalk, vous devrez prendre des mesures supplémentaires afin de la configurer. Pour de plus amples informations, veuillez consulter Utilisation d'Elastic Beanstalk avec Amazon RDS. Si vous envisagez d'utiliser la base de données que vous découplez pour un environnement de production, vérifiez que le type de stockage utilisé par la base de données est adapté à votre charge de travail. Pour de plus amples informations, consultez Stockage d'instance de base de données et Modification d'une instance de base de données dans le Guide de l'utilisateur Amazon RDS.