Configurer un serveur de configuration Spring Cloud

Effectué

Dans ce module, vous allez configurer un serveur de configuration Spring Cloud, entièrement managé et pris en charge par Azure Spring Apps, et qui sera utilisé par les microservices Spring Boot.

Ce serveur de configuration Spring Cloud obtient ses données de configuration d’un dépôt Git, où les fichiers de configuration Spring Boot sont stockés. Le stockage des fichiers de configuration avec ce mécanisme présente les avantages suivants :

  • Les paramètres sensibles de votre application (comme le mot de passe de votre base de données) ne seront pas vérifiés dans le code de votre application.
  • Le dépôt Git qui stocke votre configuration peut être sécurisé de sorte que seule une équipe d’exploitation puisse y accéder.
  • Comme les fichiers de configuration sont stockés dans Git, vous pouvez les étiqueter ou les restaurer, ce qui facilite la gestion de votre environnement de production.
  • Il offre un emplacement centralisé pour stocker toutes vos données de configuration, pour tous vos microservices.

Créer un dépôt Git pour le stockage de la configuration de l’application

Sur votre compte GitHub, créez un dépôt privé dans lequel les configurations Spring Boot seront stockées.

Dans le nouveau dépôt GitHub privé, ajoutez un nouveau fichier application.yml, qui stocke les données de configuration de tous nos microservices.

Généralement, chaque application Spring Boot inclut ce type de fichier dans ses binaires pour contenir les paramètres d’application. Un serveur de configuration Spring Cloud permet de stocker ces paramètres en dehors de votre application, ce qui offre les avantages suivants :

  • Il permet de stocker des paramètres sensibles (tels que le mot de passe de votre base de données) en dehors de votre application.
  • Votre configuration est stockée dans un dépôt Git de sorte que ses données peuvent être étiquetées ou restaurées.
  • Il utilise un dépôt Git spécifique, qui peut être sécurisé séparément.
  • Il offre un emplacement centralisé pour stocker toutes vos données de configuration, pour tous vos microservices.

Pour le moment, notre fichier application.yml stocke juste un message pour vérifier si la configuration a réussi :

application:
    message: Configured by Azure Spring Apps

Commitez et envoyez (push) le nouveau fichier :

git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push

Créer un jeton personnel GitHub

Azure Spring Apps peut accéder aux référentiels Git publics, sécurisés par SSH ou sécurisés à l'aide de l'authentification de base HTTP. Nous utiliserons cette dernière option, car elle est plus facile à créer et à gérer avec GitHub.

Suivez le guide GitHub pour créer un jeton personnel et enregistrez votre jeton. Lorsque vous êtes invité à sélectionner les étendues, cochez la totalité de la section « repo » et rien d’autre.

Screenshot that shows the GitHub personal access token settings.

Une fois le jeton généré, laissez cet onglet ouvert jusqu’à la fin de cette section.

Configurer Azure Spring Apps pour accéder au dépôt Git

  1. Accédez au portail Azure et recherchez Azure Spring Apps.

  2. Accédez à la page de vue d’ensemble de votre serveur Azure Spring Apps, puis sélectionnez Serveur de configuration dans le menu.

  3. Configurez le dépôt que vous avez créé précédemment :

    1. Ajoutez l’URL du dépôt, par exemple https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config ou git@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git.

      Conseil

      Veillez à inclure le .git final dans l’URL, ou utilisez l’URI qualifié.

    2. Ajoutez votre branche dans Label. Sa valeur par défaut est main sur GitHub, mais les dépôts plus anciens ou d’autres fournisseurs Git peuvent encore utiliser master.

    3. Sélectionnez Authentification et sélectionnez HTTP de base.

    4. Le nom d’utilisateur est votre nom de connexion GitHub.

    5. Le mot de passe est le jeton personnel que nous avons créé dans la section précédente.

    Screenshot of the Spring Cloud config server settings.

  4. Sélectionnez Valider et attendez que l’opération réussisse.

  5. Sélectionnez Appliquer et attendez que l’opération réussisse.

Révision

Nous avons créé un dépôt de configuration privé. Nous avons également permis à Azure Spring Apps de créer un serveur de configuration avec les fichiers de configuration de ce dépôt.

Contrôle des connaissances

1.

Dans Azure Spring Apps, quels sont les mécanismes de sécurité pris en charge par le serveur de configuration Spring Cloud ?

2.

L’utilisation du serveur de configuration Spring Cloud est une solution idéale pour les raisons suivantes :