

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.

# Résolution des problèmes liés au proxy RDS
<a name="rds-proxy.troubleshooting"></a>

 Vous trouverez ci-dessous des idées pour résoudre certains problèmes courants liés au proxy RDS et des informations sur les CloudWatch journaux du proxy RDS. 

 Dans les journaux RDS Proxy, chaque entrée est préfixée avec le nom du point de terminaison proxy associé. Ce nom peut être celui que vous avez spécifié pour un point de terminaison défini par l’utilisateur. Il peut également s'agir du nom `default` spécial du point de terminaison par défaut d'un proxy qui exécute les read/write demandes. Pour plus d’informations sur les points de terminaison proxy, consultez [Utilisation des points de terminaison du proxy Amazon RDS](rds-proxy-endpoints.md). 

**Topics**
+ [Vérification de la connectivité pour un proxy](#rds-proxy-verifying)
+ [Problèmes courants et solutions correspondantes](#rds-proxy-diagnosis)
+ [Dépannage des problèmes liés au proxy RDS avec RDS for MySQL](#rds-proxy-MySQL-troubleshooting)
+ [Dépannage des problèmes liés au proxy RDS pour PostgreSQL](#rds-proxy-PostgreSQL-troubleshooting)

## Vérification de la connectivité pour un proxy
<a name="rds-proxy-verifying"></a>

 Vous pouvez utiliser les commandes suivantes pour vérifier que tous les composants tels que le proxy, la base de données et les instances de calcul de la connexion peuvent communiquer entre eux. 

 Examinez le proxy lui-même à l'aide de la [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html)commande. Examinez également le groupe cible associé à l'aide de la commande [describe-db-proxy-target-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-target-groups.html). Vérifiez que les détails des cibles correspondent à l’instance de base de données RDS que vous prévoyez d’associer au proxy. Utilisez des commandes telles que les suivantes. 

```
aws rds describe-db-proxies --db-proxy-name $DB_PROXY_NAME
aws rds describe-db-proxy-target-groups --db-proxy-name $DB_PROXY_NAME
```

 Pour vérifier que le proxy peut se connecter à la base de données sous-jacente, examinez les cibles spécifiées dans les groupes cibles à l'aide de la [describe-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-targets.html)commande. Utilisez une commande telle que la suivante. 

```
aws rds describe-db-proxy-targets --db-proxy-name $DB_PROXY_NAME
```

 La sortie de la [describe-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-targets.html)commande inclut un `TargetHealth` champ. Vous pouvez examiner les champs `State`, `Reason` et `Description` dans `TargetHealth` pour vérifier si le proxy peut communiquer avec l’instance de base de données sous-jacente. 
+  Si la valeur `State` est `AVAILABLE`, cela indique que le proxy peut se connecter à l’instance de base de données. 
+  Si la valeur `State` est `UNAVAILABLE`, cela signale un problème de connexion temporaire ou permanent. Dans ce cas, examinez les champs `Reason` et `Description`. Par exemple, si `Reason` a une valeur `PENDING_PROXY_CAPACITY`, essayez de vous connecter à nouveau une fois que le proxy a terminé son opération de mise à l’échelle. Si `Reason` a une valeur `UNREACHABLE`, `CONNECTION_FAILED` ou `AUTH_FAILURE`, utilisez l’explication du champ `Description` pour vous aider à diagnostiquer le problème. 
+  Le champ `State` peut avoir une valeur `REGISTERING` pendant une courte période avant de passer à `AVAILABLE` ou `UNAVAILABLE`. 

 Si la commande Netcat (`nc`) suivante aboutit, vous pouvez accéder au point de terminaison du proxy depuis l' EC2 instance ou un autre système sur lequel vous êtes connecté. Cette commande signale un échec si vous n’êtes pas dans le même VPC que le proxy et la base de données associée. Vous pouvez peut-être vous connecter directement à la base de données sans vous trouver dans le même VPC. Cependant, vous ne pouvez pas vous connecter au proxy sauf si vous êtes dans le même VPC. 

```
nc -zx MySQL_proxy_endpoint 3306

nc -zx PostgreSQL_proxy_endpoint 5432
```

 Vous pouvez utiliser les commandes suivantes pour vous assurer que votre EC2 instance possède les propriétés requises. En particulier, le VPC de l' EC2 instance doit être le même que le VPC du cluster de l' auquel le proxy se connecte. 

```
aws ec2 describe-instances --instance-ids your_ec2_instance_id
```

 Examinez les secrets Secrets Manager utilisés pour le proxy. 

```
aws secretsmanager list-secrets
aws secretsmanager get-secret-value --secret-id your_secret_id
```

 Assurez-vous que le champ `SecretString` affiché par `get-secret-value` est codé au format d’une chaîne JSON qui inclut les champs `username` et `password`. L’exemple suivant illustre le format du champ `SecretString`. 

```
{
  "ARN": "some_arn",
  "Name": "some_name",
  "VersionId": "some_version_id",
  "SecretString": '{"username":"some_username","password":"some_password"}',
  "VersionStages": [ "some_stage" ],
  "CreatedDate": some_timestamp
}
```

Lorsque vous résolvez des problèmes d'authentification IAM, vérifiez les points suivants :
+ L'authentification IAM est activée dans la base de données.
+ Le proxy est configuré avec le schéma d'authentification approprié.
+ Les politiques IAM du rôle IAM fourni au proxy accordent les `rds-db:connect` autorisations nécessaires à la base de données appropriée et à son nom d'utilisateur.
+ Pour l'authentification end-to-end IAM, il existe des utilisateurs de base de données qui correspondent aux noms d'utilisateur ou de rôle IAM.
+ Le protocole SSL/TLS est activé pour la connexion.

## Problèmes courants et solutions correspondantes
<a name="rds-proxy-diagnosis"></a>

Cette section décrit certains problèmes courants et les solutions potentielles lors de l’utilisation du proxy RDS.

Après avoir exécuté la commande CLI`aws rds describe-db-proxy-targets`, si la description `TargetHealth` indique `Proxy does not have any registered credentials`, vérifiez les points suivants :
+ Des informations d’identification sont enregistrées pour permettre à l’utilisateur d’accéder au proxy.
+ Le rôle IAM permettant d’accéder au secret Secrets Manager utilisé par le proxy est valide.

Vous pouvez rencontrer les événements RDS suivants lors de la connexion à un proxy de base de données ou de sa création.


| Catégorie | ID d’événement RDS | Description | 
| --- | --- | --- | 
|  échec  | RDS-EVENT-0243 | RDS n’a pas pu allouer la capacité pour le proxy, car il n’y a pas suffisamment d’adresses IP disponibles dans vos sous-réseaux. Pour résoudre ce problème, veillez à ce que vos sous-réseaux aient le nombre minimum d’adresses IP inutilisées. Pour déterminer le nombre recommandé pour votre classe d’instances, consultez [Planification de la capacité des adresses IP](rds-proxy-network-prereqs.md#rds-proxy-network-prereqs.plan-ip-address). | 
|  échec  | RDS-EVENT-0275 |  RDS a limité certaines connexions au proxy de base de données. *name* Le nombre de demandes de connexion simultanée du client au proxy a dépassé la limite.  | 

 Vous pouvez rencontrer les problèmes suivants lors de la création d’un proxy ou de la connexion à un proxy. 


|  Erreur  |  Causes ou solutions de contournement  | 
| --- | --- | 
|   `403: The security token included in the request is invalid`   |  Sélectionnez un rôle IAM existant au lieu d’en créer un nouveau.  | 

## Dépannage des problèmes liés au proxy RDS avec RDS for MySQL
<a name="rds-proxy-MySQL-troubleshooting"></a>

 Vous pouvez rencontrer les problèmes suivants lors de la connexion à un proxy MySQL. 


|  Erreur  |  Causes ou solutions de contournement  | 
| --- | --- | 
|  ERROR 1040 (HY000): Connections rate limit exceeded (limit\$1value)  |  Le taux de demandes de connexion du client au proxy a dépassé la limite.  | 
|  ERROR 1040 (HY000): IAM authentication rate limit exceeded  |  Le nombre de demandes de connexion simultanée avec authentification IAM du client au proxy a dépassé la limite.  | 
|  ERROR 1040 (HY000): Number simultaneous connections exceeded (limit\$1value)  |  Le nombre de demandes de connexion simultanée du client au proxy a dépassé la limite.  | 
|   `ERROR 1045 (28000): Access denied for user 'DB_USER'@'%' (using password: YES)`   |  Le secret Secrets Manager utilisé par le proxy ne correspond pas au nom d’utilisateur et au mot de passe d’un utilisateur de base de données existant. Mettez à jour les informations d’identification dans le secret Secrets Manager ou assurez-vous que l’utilisateur de base de données existe et possède le même mot de passe que celui du secret.  | 
|  ERROR 1105 (HY000): Unknown error  |  Une erreur inconnue s’est produite.  | 
|  ERROR 1231 (42000): Variable ''character\$1set\$1client'' can't be set to the value of value  |   La valeur définie pour le paramètre `character_set_client` n’est pas valide. Par exemple, la valeur `ucs2` n’est pas valide, car elle peut bloquer le serveur MySQL.   | 
|  ERROR 3159 (HY000): This RDS Proxy requires TLS connections.  |   Vous avez activé le paramètre **Exiger la sécurité de la couche de transport** dans le proxy, mais votre connexion a inclus le paramètre `ssl-mode=DISABLED` dans le client MySQL. Effectuez l’une des actions suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  ERROR 2026 (HY000): SSL connection error: Internal Server Error  |   La négociation TLS avec le proxy a échoué. Les causes possibles sont notamment les suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  ERROR 9501 (HY000): Timed-out waiting to acquire database connection  |   Le proxy a expiré en attendant l’obtention d’une connexion à la base de données. Les causes possibles sont notamment les suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 

## Dépannage des problèmes liés au proxy RDS pour PostgreSQL
<a name="rds-proxy-PostgreSQL-troubleshooting"></a>

 Vous pouvez rencontrer les problèmes suivants lors de la connexion à un proxy PostgreSQL. 


|  Erreur  |  Cause  |  Solution  | 
| --- | --- | --- | 
|   `ERROR 28000: IAM authentication is allowed only with SSL connections.`   |   L’utilisateur a essayé de se connecter à la base de données à l’aide de l’authentification IAM en utilisant le paramètre `sslmode=disable` du client PostgreSQL.   |   L’utilisateur doit se connecter à la base de données en utilisant le paramètre minimal `sslmode=require` du client PostgreSQL. Pour plus d’informations, consultez la documentation [PostgreSQL SSL Support](https://www.postgresql.org/docs/current/libpq-ssl.html).   | 
|  `ERROR 28000: This RDS proxy has no credentials for the role role_name. Check the credentials for this role and try again.`   |   Il n’y a pas de secret Secrets Manager pour ce rôle.   |   Ajoutez un secret Secrets Manager pour ce rôle. Pour plus d’informations, consultez [Configuration de l’authentification IAM pour RDS Proxy](rds-proxy-iam-setup.md).  | 
|  `ERROR 28000: RDS supports only IAM, MD5, or SCRAM authentication.`   |   Le client de base de données utilisé pour se connecter au proxy utilise un mécanisme d’authentification qui n’est actuellement pas pris en charge par le proxy.   |   Si vous n'utilisez pas l'authentification IAM, utilisez l'authentification par mot de passe MD5 ou SCRAM.   | 
|  `ERROR 28000: A user name is missing from the connection startup packet. Provide a user name for this connection.`   |   Le client de base de données utilisé pour la connexion au proxy n’envoie pas de nom d’utilisateur lorsqu’il tente d’établir une connexion.   |   Veillez à définir un nom d’utilisateur lors de la configuration d’une connexion au proxy à l’aide du client PostgreSQL de votre choix.   | 
|  `ERROR 28000: IAM is allowed only with SSL connections.`   |   Un client a essayé de se connecter à l’aide de l’authentification IAM, mais le protocole SSL n’était pas activé.   |   Activez SSL sur le client PostgreSQL.   | 
|  `ERROR 28000: This RDS Proxy requires TLS connections.`   |   L’utilisateur a activé l’option **Exiger la sécurité de la couche de transport** mais a essayé de se connecter en utilisant `sslmode=disable` dans le client PostgreSQL.   |   Pour corriger cette erreur, effectuez l’une des opérations suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  `ERROR 28P01: IAM authentication failed for user user_name. Check the IAM token for this user and try again.`   |   Cette erreur peut être due aux raisons suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  |   Pour corriger cette erreur, procédez comme suit :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  `ERROR 28P01: The password that was provided for the role role_name is wrong.`   |   Le mot de passe de ce rôle ne correspond pas au secret Secrets Manager.   |   Vérifiez le secret de ce rôle dans Secrets Manager pour voir si le mot de passe est le même que celui utilisé sur votre client PostgreSQL.   | 
|  `ERROR 28P01: The IAM authentication failed for the role role_name. Check the IAM token for this role and try again.`   |   Il y a un problème avec le jeton IAM utilisé pour l’authentification IAM.   |   Générez un nouveau jeton d’authentification et utilisez-le dans une nouvelle connexion.   | 
|  `ERROR 0A000: Feature not supported: RDS Proxy supports only version 3.0 of the PostgreSQL messaging protocol.`   |   Le client PostgreSQL utilisé pour la connexion au proxy utilise un protocole antérieur à la version 3.0.   |   Utilisez un client PostgreSQL plus récent qui prend en charge le protocole de messagerie 3.0. Si vous utilisez l’interface de ligne de commande `psql` de PostgreSQL, utilisez une version supérieure ou égale à 7.4.   | 
|  `ERROR 0A000: Feature not supported: RDS Proxy currently doesn't support streaming replication mode.`   |   Le client PostgreSQL utilisé pour la connexion au proxy essaie d’utiliser le mode de réplication de streaming, lequel n’est actuellement pas pris en charge par le proxy RDS.   |   Désactivez le mode de réplication de streaming sur le client PostgreSQL utilisé pour la connexion.   | 
|  `ERROR 0A000: Feature not supported: RDS Proxy currently doesn't support the option option_name.`   |   Par le biais du message de démarrage, le client PostgreSQL utilisé pour la connexion au proxy demande une option qui n’est pas actuellement prise en charge par le proxy RDS.   |   Désactivez l’option indiquée comme non prise en charge dans le message ci-dessus sur le client PostgreSQL utilisé pour la connexion.   | 
|  `ERROR 53300: The IAM authentication failed because of too many competing requests.`   |   Le nombre de demandes de connexion simultanée avec authentification IAM du client au proxy a dépassé la limite.   |   Réduisez le taux d’établissement de connexions à l’aide de l’authentification IAM à partir d’un client PostgreSQL.   | 
|  `ERROR 53300: The maximum number of client connections to the proxy exceeded number_value.`   |   Le nombre de demandes de connexion simultanée du client au proxy a dépassé la limite.   |   Réduisez le nombre de connexions actives des clients PostgreSQL à ce proxy RDS.   | 
|  `ERROR 53300: Rate of connection to proxy exceeded number_value.`   |   Le taux de demandes de connexion du client au proxy a dépassé la limite.   |   Réduisez le taux d’établissement de connexions à partir d’un client PostgreSQL.   | 
|  `ERROR XX000: Unknown error.`   |   Une erreur inconnue s’est produite.   |   Contactez le AWS Support pour étudier le problème.   | 
|  `ERROR 08000: Timed-out waiting to acquire database connection.`   |   Le proxy a expiré en attendant l’obtention d’une connexion à la base de données pendant la durée spécifiée par le paramètre `ConnectionBorrowTimeout`. Les causes possibles sont notamment les suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  |   Les solutions possibles sont les suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  `ERROR XX000: Request returned an error: database_error.`   |   La connexion à la base de données établie à partir du proxy a renvoyé une erreur.   |   La solution dépend de l’erreur de base de données spécifique. Par exemple : `Request returned an error: database "your-database-name" does not exist`. Cela signifie que le nom de base de données spécifié n’existe pas sur le serveur de base de données. Ou cela signifie que le nom d’utilisateur utilisé comme nom de base de données (si un nom de base de données n’est pas spécifié) n’existe pas sur le serveur.   | 
|  `ERROR 53300: The IAM authentication failed because of too many competing requests.`  |  Le nombre de demandes de connexion simultanée avec authentification IAM du client au proxy a dépassé la limite.  |  Réduisez le taux d’établissement de connexions à l’aide de l’authentification IAM à partir d’un client PostgreSQL.  | 
|  `ERROR 28000: Enable IAM authentication for the client connection to the proxy and try again.`  |  Le proxy RDS ne peut pas se connecter à la base de données car l'authentification IAM n'est pas activée pour la connexion du client au proxy. Cela se produit lorsque le `DefaultAuthScheme` paramètre du proxy est défini sur un utilisateur enregistré, mais que le client utilise l'authentification par mot de passe au lieu de l'authentification IAM. `IAM_AUTH`  |  Activez l'authentification IAM pour la connexion du client au proxy et réessayez.  | 
|  `ERROR 28000: Configure IAM authentication as the DefaultAuthScheme in your proxy and try again.`  |  Le proxy RDS ne peut pas se connecter à la base de données car elle `DefaultAuthScheme` n'est pas définie sur. `IAM_AUTH` Le `DefaultAuthScheme` paramètre du proxy est défini sur`NONE`, mais le client tente d'utiliser l'authentification IAM.  |  Définissez `DefaultAuthScheme` ce `IAM_AUTH` paramètre pour votre proxy et réessayez.  | 

### Dépannage des problèmes liés à la base de données `postgres`
<a name="rds-proxy-PostgreSQL-troubleshooting.postgresDBDelete"></a>

Si vous supprimez par erreur la base de données `postgres` de votre instance, vous devez la restaurer pour rétablir la connectivité à votre instance. Exécutez les commandes suivantes dans votre instance de base de données :

```
CREATE DATABASE postgres;
GRANT CONNECT ON DATABASE postgres TO rdsproxyadmin;
```