

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.

# Utilisation de la Blue/Green solution Neptune pour effectuer des mises à jour bleues
<a name="neptune-BG-deployments"></a>

Les mises à niveau du moteur Amazon Neptune peuvent impliquer un temps d'arrêt des applications, car la base de données n'est pas disponible pendant l'installation et la vérification des mises à jour, et ce que les mises à niveau aient initiées manuellement ou automatiquement.

Neptune fournit une solution de Blue/Green déploiement que vous pouvez exécuter à l'aide d'une CloudFormation pile et qui réduit considérablement ces temps d'arrêt. Il crée un environnement intermédiaire vert qui est synchronisé avec l'environnement de production bleu. Vous pouvez ensuite mettre à jour cet environnement intermédiaire pour effectuer une mise à niveau mineure ou majeure de la version du moteur, une modification du modèle de données de graphe ou une mise à jour du système d'exploitation, puis tester le résultat. Enfin, vous pouvez le changer rapidement pour en faire votre environnement de production, avec un temps d'arrêt minime.

La Blue/Green solution Neptune passe par deux phases, comme illustré dans ce schéma :

![\[Schéma de haut niveau de la stratégie de déploiement bleu/vert\]](http://docs.aws.amazon.com/fr_fr/neptune/latest/userguide/images/BG-flow.png)


**La phase 1 crée un cluster de bases de données vert identique au cluster de production**

La solution crée un cluster de base de données avec un identifiant de blue/green déploiement unique et avec la même topologie de cluster que votre cluster de production. En d'autres termes, il possède le même nombre et la même taille d'instances de base de données, les mêmes groupes de paramètres et les mêmes configurations que le cluster de bases de données de production (bleu), sauf qu'il a été mis à niveau vers la version de moteur cible que vous avez spécifiée, qui doit être supérieure à la version actuelle du moteur (bleu). Vous pouvez spécifier une version mineure et une version majeure du moteur pour la cible. Si nécessaire, la solution effectue toutes les mises à niveau intermédiaires nécessaires pour atteindre la version cible spécifiée du moteur. Ce nouveau cluster devient l'environnement intermédiaire vert.

**La phase 2 configure la synchronisation continue des données**

Une fois que l'environnement vert a été entièrement préparé, la solution configure une réplication continue entre le cluster source (bleu) et le cluster cible (vert) à l'aide des flux Neptune. Lorsque la différence de réplication entre eux atteint zéro, l'environnement intermédiaire est prêt à être testé. À ce stade, vous devez suspendre l'écriture dans le cluster bleu pour éviter tout retard de réplication supplémentaire.

La version cible du moteur peut avoir de nouvelles fonctionnalités ou dépendances qui affectent vos applications. Consultez la page de la version cible du moteur et les pages de mises à jour apportées entre-temps au moteur sous [Versions du moteur](engine-releases.md) pour identifier ce qui a changé depuis la version actuelle du moteur. Il est préférable d'exécuter des tests d'intégration ou de vérifier vos applications manuellement sur le cluster vert avant de le promouvoir dans l'environnement de production.

Après avoir testé et qualifié les modifications dans le cluster vert, il vous suffit de faire passer le point de terminaison de base de données de vos applications du cluster bleu au cluster vert.

Après le passage au numérique, la Blue/Green solution Neptune ne supprime pas l'ancien environnement de production bleu. Vous y aurez toujours accès pour une validation et des tests supplémentaires si nécessaire. Les frais de facturation standard s'appliqueront à ses instances jusqu'à ce que vous les supprimiez. La Blue/Green solution utilise également d'autres AWS services dont les coûts sont facturés aux prix normaux. Les détails relatifs à la suppression de la solution une fois que vous n'en avez plus besoin sont décrits dans la [section sur le nettoyage](neptune-BG-cleanup.md).

## Conditions préalables à l'utilisation de la pile Neptune Blue/Green
<a name="neptune-BG-prereqs"></a>

Avant de lancer la pile Neptune Blue/Green  :
+ Assurez-vous d'[activer les flux Neptune](streams-using.md) dans le cluster de production (bleu).
+ Toutes les instances du cluster bleu doivent présenter l'état **disponible**. Vous pouvez vérifier l'état des instances dans la [console Neptune](https://console.aws.amazon.com/neptune) ou à l'aide de l'[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/neptune/describe-db-instances.html)API.
+ Toutes les instances doivent également être synchronisées avec le [groupe de paramètres du cluster de bases de données](parameter-groups.md).
+ La Blue/Green solution Neptune nécessite un point de terminaison DynamoDB VPC dans le VPC où se trouve votre cluster bleu. Consultez [Utilisation des points de terminaison d'un VPC Amazon pour accéder à DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/network-isolation.html#vpc-endpoints-dynamodb).
+ Choisissez d'exécuter la solution à un moment où la charge de travail d'écriture sur le cluster de bases de données de production bleu sera aussi légère que possible. Évitez, par exemple, d'exécuter la solution lorsqu'un chargement en bloc doit avoir lieu ou lorsque vous prévoyez un grand nombre d'opérations d'écriture pour une autre raison.

# Utilisation d'un CloudFormation modèle pour exécuter la solution Neptune Blue/Green
<a name="neptune-BG-console-cfn"></a>

Vous pouvez l'utiliser AWS CloudFormation pour déployer la solution Neptune Blue/Green . Le CloudFormation modèle crée une instance Amazon EC2 dans le même VPC que votre base de données Neptune Blue Source, y installe la solution et l'exécute. Vous pouvez suivre sa progression dans des CloudWatch journaux, comme expliqué dans la section [Surveillance de la progression](neptune-BG-monitoring.md).

Vous pouvez utiliser ces liens pour consulter le modèle de solution ou sélectionner le bouton **Launch Stack** pour le lancer dans la CloudFormation console :


|  |  |  | 
| --- |--- |--- |
| [Afficher](https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml) | [Afficher dans Designer](https://console.aws.amazon.com/cloudformation/designer/home?templateURL=https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml) | [https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=NeptuneBG&templateURL=https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=NeptuneBG&templateURL=https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml)  | 

Dans la console, choisissez la AWS région dans laquelle vous souhaitez exécuter la solution dans le menu déroulant en haut à droite de la fenêtre.

Définissez les paramètres de la pile comme suit :
+ **`DeploymentID`**— Un identifiant unique pour chaque déploiement de Neptune Blue/Green .

  Il est utilisé comme identifiant de cluster de bases de données vert et comme préfixe pour nommer les nouvelles ressources créées lors du déploiement.
+ **`NeptuneSourceClusterId`** : identifiant du cluster de bases de données bleu que vous souhaitez mettre à niveau.
+ **`NeptuneTargetClusterVersion:`** : [version du moteur Neptune](engine-releases.md) vers laquelle vous souhaitez mettre à niveau le cluster de bases de données bleu.

  Cette valeur doit être plus récente que la version actuelle du moteur du cluster de bases de données bleu.
+ **`DeploymentMode`** : indique s'il s'agit d'un nouveau déploiement ou d'une tentative de reprise d'un déploiement précédent. Lorsque vous utilisez un `DeploymentID` identique à celui d'un déploiement précédent, définissez `DeploymentMode` sur `resume`.

  Les valeurs valides sont `new` (par défaut) et `resume`.
+ **`GraphQueryType`** : type de données de graphe correspondant à votre base de données.

  Les valeurs valides sont `propertygraph` (par défaut) et `rdf`.
+ **`SubnetId`** : ID de sous-réseau provenant du même VPC que celui dans lequel se trouve le cluster de bases de données bleu (voir [Connexion à un cluster de bases de données Neptune à partir d'une instance Amazon EC2 dans le même VPC](get-started-connect-ec2-same-vpc.md)).

  Fournissez l'ID d'un sous-réseau public si vous souhaitez accéder à l'instance par SSH via [EC2 Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html).
+ **`InstanceSecurityGroup`** : groupe de sécurité de votre instance Amazon EC2.

  Le groupe de sécurité doit avoir accès à votre cluster de bases de données bleu, et vous devez être en mesure de vous connecter à l'instance par SSH. Consultez [Créez un groupe de sécurité à l'aide de la console VPC.](get-started-vpc.md#security-vpc-security-group).

Patientez jusqu'à ce que la pile soit terminée. Dès que cette étape est terminée, le lancement de la solution a lieu. Vous pouvez ensuite surveiller le processus de déploiement à l'aide CloudWatch des journaux, comme décrit dans la section suivante.

# Surveillance de la progression d'un déploiement de Neptune Blue/Green
<a name="neptune-BG-monitoring"></a>

Vous pouvez suivre la progression de la Blue/Green solution Neptune en accédant à la [CloudWatch console](https://console.aws.amazon.com/cloudwatch/) et en consultant les journaux du groupe de `/aws/neptune/(Neptune Blue/Green deployment ID)` CloudWatch journaux. Vous pouvez trouver un lien vers les CloudWatch journaux dans les sorties de la CloudFormation pile de la solution :

![\[Capture d'écran de la sortie Blue/Green CloudFormation Stack\]](http://docs.aws.amazon.com/fr_fr/neptune/latest/userguide/images/BG-stack-output.png)


Si vous avez fourni un sous-réseau public en tant que paramètre de pile, vous pouvez également accéder par SSH à l'instance Amazon EC2 créée dans le cadre de la pile et vous référer au journal dans `/var/log/cloud-init-output.log`.

Le journal indique les actions entreprises par la Blue/Green solution Neptune, comme le montre cette capture d'écran :

![\[Capture d'écran de l'écran du journal Neptune Blue/Green\]](http://docs.aws.amazon.com/fr_fr/neptune/latest/userguide/images/BG-log-screenshot.png)


Les messages du journal indiquent l'état de synchronisation entre les clusters bleu et vert :

![\[Capture d'écran des messages du journal de la Blue/Green solution Neptune\]](http://docs.aws.amazon.com/fr_fr/neptune/latest/userguide/images/BG-log-messages.png)


Le processus de synchronisation vérifie le délai de réplication en calculant la différence entre le dernier flux du cluster bleu et `eventID` le point de contrôle de réplication présent dans la table de points de contrôle DynamoDB créée par la pile de réplication. Neptune-to-Neptune À l'aide de ces messages, vous pouvez surveiller la différence de réplication actuelle.

# Passage du cluster bleu de production au cluster vert mis à jour
<a name="neptune-BG-cutover"></a>

Avant de promouvoir le cluster vert en production, assurez-vous que la différence de validation entre les clusters bleu et vert est nulle, puis désactivez tout le trafic d'écriture vers le cluster bleu. Toute nouvelle écriture dans le cluster bleu lors du basculement du point de terminaison de la base de données vers le cluster vert entraînerait une corruption des données provoquée par l'écriture de données partielles dans les deux clusters. Vous n'avez pas encore besoin de désactiver le trafic de lecture.

Si vous avez activé l'authentification IAM sur le cluster source (bleu), veillez à mettre à jour toutes les politiques IAM utilisées dans vos applications pour qu'elles pointent vers le cluster vert (pour un exemple de politique de ce type, consultez cette [stratégie d'accès illimité](iam-data-access-examples.md#iam-auth-data-policy-example-general)).

Après avoir désactivé le trafic d'écriture, attendez que la réplication soit terminée, puis activez le trafic d'écriture sur le cluster vert (mais pas sur le cluster bleu). Faites également passer le trafic de lecture du cluster bleu au cluster vert.

# Nettoyage une fois la Blue/Green solution Neptune terminée
<a name="neptune-BG-cleanup"></a>

Après avoir promu le cluster intermédiaire (vert) en production, nettoyez les ressources créées par la solution Neptune Blue/Green  :
+ Supprimez l'instance Amazon EC2 créée pour exécuter la solution.
+ Supprimez les CloudFormation modèles pour la [réplication basée sur les flux Neptune](streams-consumer-setup.md) qui maintenaient le cluster vert synchronisé avec le cluster bleu. Le modèle principal porte le nom de pile que vous avez fourni précédemment, et l'autre est composé de l'ID de déploiement suivi de "-replication", à savoir `(DeploymentID)-replication`.

La suppression CloudFormation de modèles ne supprime pas les clusters eux-mêmes. Une fois que vous avez vérifié que le cluster vert fonctionne comme prévu, vous pouvez choisir de créer un instantané avant de supprimer manuellement le cluster bleu.

# Bonnes pratiques en matière de Blue/Green solutions Neptune
<a name="neptune-BG-best-practices"></a>
+ Avant de passer le cluster vert en production, il est important de vérifier minutieusement qu'il fonctionne correctement. Vérifiez la cohérence des données et la configuration de la base de données. Il est possible que certaines des nouvelles versions du moteur nécessitent également des mises à niveau du client. Consultez les notes de mise à jour du moteur avant de procéder à la mise à niveau. Il vaut la peine de tester tout cela dans des environnements de développement, de test et de pré-production avant de commencer une blue/green mise à niveau en production.
+ Il est préférable de passer du serveur bleu au serveur vert pendant la fenêtre de maintenance.
+ Pour garantir que tout fonctionne correctement après la mise à niveau et la synchronisation, il est conseillé de conserver le cluster d'origine pendant un certain temps avant de le supprimer. Cela pourrait s'avérer utile en cas de problème imprévu.
+ Évitez les opérations d'écriture lourdes telles que les chargements en masse lors de l'exécution de la Blue/Green solution Neptune, car elles peuvent entraîner un retard de réplication entraînant des temps d'arrêt importants. Idéalement, le délai entre la désactivation des écritures dans le cluster bleu et leur activation dans le cluster vert est de quelques instants seulement.

# Résolution des problèmes liés à la solution Neptune Blue/Green
<a name="neptune-BG-troubleshooting"></a>

 Les informations suivantes mettent en évidence les problèmes qui peuvent survenir au cours du processus de déploiement de la Blue/Green solution, tels que les conflits avec les clusters existants, la nécessité d'activer les flux Neptune, les opérations de chargement groupé en cours et les exigences de compatibilité des versions. En résolvant ces problèmes potentiels, vous pouvez garantir un déploiement fluide et réussi de la solution Neptune Blue/Green . 

**Erreurs signalées par la solution Neptune Blue/Green**
+ **`Cluster with id = (blue_green_deployment_id) already exists`**— Il existe un cluster avec identifiant*(blue\$1green\$1deployment\$1id)*.

  Fournissez un nouvel ID de déploiement ou définissez le mode de déploiement comme `resume` si le cluster a été créé lors d'une précédente exécution de Neptune Blue/Green .
+ **`Streams should be enabled on the source Cluster for Blue Green Deployment`** : activez les [flux Neptune](streams-using-enabling.md) sur le cluster bleu (source).
+ **`No Bulkload should be in progress on source cluster: (cluster_id)`**— La Blue/Green solution Neptune prend fin si elle identifie un chargement en vrac en cours.

  Cela permet de s'assurer que le processus de synchronisation est capable de rattraper son retard par rapport aux écritures effectuées. Évitez ou annulez toute tâche de chargement en vrac en cours avant de démarrer la solution Neptune Blue/Green .
+ **`Blue Green deployment requires instances to be in sync with db cluster parameter group`** : toute modification apportée au groupe de paramètres du cluster doit être synchronisée dans l'ensemble du cluster de bases de données. Consultez [Groupes de paramètres Amazon Neptune](parameter-groups.md).
+ **`Invalid target engine version for Blue Green Deployment`** : la version cible du moteur doit être répertoriée comme active dans [Versions du moteur pour Amazon Neptune](engine-releases.md) et doit être supérieure à la version actuelle du moteur du cluster source (bleu).