Création d'un RDS Proxy - Amazon Aurora

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.

Création d'un RDS Proxy

Pour gérer les connexions d'un cluster de bases de données, créez un proxy. Vous pouvez employer un proxy avec un cluster de base de données Aurora MySQL ou Aurora PostgreSQL.

Pour créer un proxy
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, sélectionnez Proxies.

  3. Choisissez Création d'un proxy.

  4. Définissez tous les paramètres de votre proxy.

    Pour Configuration du proxy, fournissez des informations pour les éléments suivants :

    • Famille de moteurs. Ce paramètre détermine le protocole réseau de base de données que le proxy reconnaît lorsqu'il interprète le trafic réseau à destination et en provenance de la base de données. Pour Aurora MySQL, choisissez MariaDB and MySQL (MariaDB et MySQL). Pour Aurora PostgreSQL, choisissez PostgreSQL.

    • Identifiant du proxy. Spécifiez un nom unique dans votre identifiant de AWS compte et dans AWS la région actuelle.

    • Délai d'inactivité de la connexion client. Choisissez une période pendant laquelle une connexion client peut être inactive avant que le proxy ne la ferme. La valeur par défaut est de 1 800 secondes (30 minutes). Une connexion client est considérée comme inactive lorsque l'application ne soumet aucune nouvelle demande dans le délai défini après l'achèvement de la demande précédente. La connexion à la base de données sous-jacente reste ouverte et est renvoyée au regroupement de connexions. Ainsi, elle peut être réutilisée pour de nouvelles connexions client.

      Pour que le proxy supprime les connexions périmées de manière proactive, réduisez le délai d'expiration des connexions client inactives. Lorsque la charge de travail augmente, pour réduire le coût d'établissement des connexions, augmentez le délai d'inactivité des connexions client. »

    Pour la Configuration du groupe cible, fournissez des informations pour les éléments suivants :

    • Base de données. Choisissez une (cluster de base de données Aurora) à laquelle accéder via ce proxy. La liste inclut uniquement les instances et les clusters de base de données dotés de moteurs de base de données, de versions de moteur et d'autres paramètres compatibles. Si la liste est vide, créez une instance ou un cluster de base de données compatible avec RDS Proxy. Pour ce faire, suivez la procédure décrite dans Création d'un cluster de base de données Amazon Aurora. Puis, réessayez de créer le proxy.

    • Connexions maximales au regroupement de connexions. Spécifiez une valeur comprise entre 1 et 100. Ce paramètre représente le pourcentage de la valeur max_connections que le RDS Proxy peut utiliser pour ses connexions. Si vous ne prévoyez d'utiliser qu'un seul proxy avec cette instance ou ce cluster de base de données, vous pouvez définir cette valeur sur 100. Pour plus d'informations sur la manière dont RDS Proxy utilise ce paramètre, consultez la section MaxConnectionsPercent.

    • Filtres d'épinglage de session. (Facultatif) Cette option vous permet de forcer le proxy RDS à ne pas épingler certains types d'états de session détectés. Cela permet de contourner les mesures de sécurité par défaut pour le multiplexage des connexions de base de données entre les connexions client. Actuellement, le paramètre n'est pas pris en charge pour PostgreSQL. Le seul choix estEXCLUDE_VARIABLE_SETS.

      L'activation de ce paramètre peut avoir un impact sur les variables de session d'une connexion sur les autres connexions. Cela peut entraîner des erreurs ou des problèmes d'exactitude si vos requêtes dépendent de valeurs de variables de session définies en dehors de la transaction en cours. Vous pouvez utiliser cette option après avoir vérifié que vos applications peuvent partager des connexions de base de données en toute sécurité entre les connexions client.

      Les modèles suivants peuvent être considérés comme sûrs :

      • Instructions SET dans lesquelles aucune modification n'est apportée à la valeur effective de la variable de session, c'est-à-dire qu'aucune modification n'est apportée à la variable de session.

      • Vous modifiez la valeur de la variable de session et exécutez une instruction dans la même transaction.

      Pour plus d’informations, consultez Contournement de l'épinglage.

    • Délai d'expiration de l'emprunt de connexion. Dans certains cas, le proxy est susceptible d'utiliser occasionnellement toutes les connexions de base de données disponibles. Vous pouvez alors définir combien de temps le proxy doit attendre la disponibilité d'une connexion de base de données avant de renvoyer une erreur de dépassement de délai d'attente. Vous pouvez spécifier une période maximale de cinq minutes. Ce paramètre s'applique uniquement lorsque le proxy a atteint le nombre maximal de connexions ouvertes et que toutes les connexions sont déjà utilisées.

    • Requête d'initialisation. (Facultatif) Vous pouvez spécifier une ou plusieurs instructions SQL que le proxy doit exécuter lors de l'ouverture de chaque nouvelle connexion à la base de données. Le paramètre est généralement utilisé avec SET des instructions pour s'assurer que chaque connexion possède des paramètres identiques, tels que le fuseau horaire et les jeux de caractères. Pour plusieurs instructions, utilisez des points-virgules comme séparateur. Vous pouvez également inclure plusieurs variables dans une seule instruction SET, par exemple SET x=1, y=2.

    Pour Authentication (Authentification), fournissez les informations suivantes :

    • Rôle IAM. Choisissez un rôle IAM qui a l'autorisation d'accéder aux secrets Secrets Manager que vous avez choisis précédemment. Vous pouvez également créer un nouveau rôle IAM à partir du AWS Management Console.

    • Secrets de Secrets Manager Choisissez au moins un secret Secrets Manager contenant les informations d'identification de l'utilisateur de base de données permettant au proxy d'accéder au cluster de base de données Aurora de l'instance de base de données .

    • Client authentication type (Type d'authentification client). Choisissez le type d'authentification utilisé par le proxy pour les connexions à partir des clients. Votre choix s'applique à tous les secrets de Secrets Manager que vous associez à ce proxy. Si vous devez spécifier un type d'authentification client différent pour chaque secret, créez votre proxy en utilisant plutôt l'API AWS CLI ou l'API.

    • IAM authentication (Authentification IAM). Choisissez si vous souhaitez exiger ou d'interdire l'authentification IAM pour les connexions à votre proxy. Votre choix s'applique à tous les secrets de Secrets Manager que vous associez à ce proxy. Si vous devez spécifier une authentification IAM différente pour chaque secret, créez votre proxy en utilisant plutôt l'API AWS CLI ou l'API.

    Pour Connectivité, fournissez des informations sur les éléments suivants :

    • Imposer le protocole Transport Layer Security. Choisissez ce paramètre si vous souhaitez que le proxy applique le protocole TLS/SSL pour toutes les connexions client. Pour vous connecter à un proxy à l'aide d'une connexion chiffrée ou non chiffrée, celui-ci utilise le même paramètre de chiffrement lorsqu'il établit une connexion à la base de données sous-jacente.

    • Sous-réseaux. Ce champ est pré-rempli avec tous les sous-réseaux associés à votre VPC. Vous pouvez supprimer tous les sous-réseaux dont vous n'avez pas besoin pour ce proxy. Vous devez garder au moins deux sous-réseaux.

    Fournissez la configuration de connectivité supplémentaire :

    • Groupe de sécurité VPC. Choisissez un groupe de sécurité VPC existant. Vous pouvez également créer un nouveau groupe de sécurité à partir du AWS Management Console. Vous devez configurer les Règles entrantes pour permettre à vos applications d'accéder au proxy. Vous devez également configurer les Règles sortantes pour autoriser le trafic en provenance de vos cibles de base de données.

      Note

      Ce groupe de sécurité doit autoriser les connexions du proxy à la base de données. Le même groupe de sécurité est utilisé pour l'entrée de vos applications vers le proxy, et pour la sortie du proxy vers la base de données. Par exemple, supposons que vous utilisiez le même groupe de sécurité pour votre base de données et votre proxy. Dans ce cas, assurez-vous de spécifier que les ressources de ce groupe de sécurité peuvent communiquer avec d'autres ressources du même groupe de sécurité.

      Lorsque vous utilisez un VPC partagé, vous ne pouvez pas utiliser le groupe de sécurité par défaut pour le VPC ni un groupe appartenant à un autre compte. Choisissez un groupe de sécurité qui appartient à votre compte. S'il n'en existe aucun, créez-en un. Pour plus d'informations sur cette limitation, consultez Utiliser des VPC partagés.

      RDS déploie un proxy sur plusieurs zones de disponibilité pour assurer une haute disponibilité. Pour activer la communication entre les zones de disponibilité pour un proxy de ce type, la liste de contrôle d'accès (ACL) réseau du sous-réseau de votre proxy doit autoriser le trafic sortant propre aux ports du moteur et autoriser le trafic entrant sur tous les ports. Pour en savoir plus sur les listes ACL réseau, consultez Contrôle du trafic vers les sous-réseaux avec des listes ACL réseau. Si votre proxy et votre cible ont la même liste ACL réseau, vous devez ajouter une règle de trafic entrant de protocole TCP dans laquelle la source est définie sur le CIDR du VPC. Vous devez également ajouter une règle de sortie du protocole TCP spécifique au port du moteur dans laquelle la destination est définie sur le CIDR VPC.

    (Facultatif) Fournissez une configuration avancée :

    • Activation de la journalisation améliorée. Vous pouvez activer ce paramètre pour résoudre les problèmes liés à la compatibilité des proxies ou aux performances.

      Lorsque ce paramètre est activé, RDS Proxy inclut des informations détaillées sur les performances du proxy dans ses journaux. Ces informations vous aident à déboguer les problèmes relatifs au comportement SQL ou aux performances et l'évolutivité des connexions proxy. Par conséquent, n'activez ce paramètre que pour le débogage et lorsque des mesures de sécurité sont en place pour protéger les informations sensibles qui apparaissent dans les journaux.

      Pour réduire les frais généraux associés à votre proxy, RDS Proxy désactive automatiquement ce paramètre 24 heures après l'avoir activé. Activez-le temporairement pour résoudre un problème spécifique.

  5. Choisissez Création d'un proxy.

Pour créer un proxy à l'aide de AWS CLI, appelez la create-db-proxycommande avec les paramètres obligatoires suivants :

  • --db-proxy-name

  • --engine-family

  • --role-arn

  • --auth

  • --vpc-subnet-ids

La valeur --engine-family est sensible à la casse.

Exemple

Pour LinuxmacOS, ou Unix :

aws rds create-db-proxy \ --db-proxy-name proxy_name \ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --auth ProxyAuthenticationConfig_JSON_string \ --role-arn iam_role \ --vpc-subnet-ids space_separated_list \ [--vpc-security-group-ids space_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeout value] \ [--debug-logging | --no-debug-logging] \ [--tags comma_separated_list]

Dans Windows :

aws rds create-db-proxy ^ --db-proxy-name proxy_name ^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --auth ProxyAuthenticationConfig_JSON_string ^ --role-arn iam_role ^ --vpc-subnet-ids space_separated_list ^ [--vpc-security-group-ids space_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeout value] ^ [--debug-logging | --no-debug-logging] ^ [--tags comma_separated_list]

Voici un exemple de valeur JSON pour l'option --auth. Cet exemple applique un type d'authentification client différent à chaque secret.

[ { "Description": "proxy description 1", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789123:secret/1234abcd-12ab-34cd-56ef-1234567890ab", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_SCRAM_SHA_256" }, { "Description": "proxy description 2", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret/1234abcd-12ab-34cd-56ef-1234567890cd", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_MD5" }, { "Description": "proxy description 3", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122221111:secret/1234abcd-12ab-34cd-56ef-1234567890ef", "IAMAuth": "REQUIRED" } ]
Astuce

Si vous ne connaissez pas encore les ID de sous-réseaux à utiliser pour le paramètre --vpc-subnet-ids, consultez Configuration des prérequis réseau pour des exemples qui vous aideront à les trouver ID.

Note

Le groupe de sécurité doit autoriser l'accès à la base de données à laquelle le proxy se connecte. Le même groupe de sécurité est utilisé pour l'entrée de vos applications vers le proxy, et pour la sortie du proxy vers la base de données. Par exemple, supposons que vous utilisiez le même groupe de sécurité pour votre base de données et votre proxy. Dans ce cas, assurez-vous de spécifier que les ressources de ce groupe de sécurité peuvent communiquer avec d'autres ressources du même groupe de sécurité.

Lorsque vous utilisez un VPC partagé, vous ne pouvez pas utiliser le groupe de sécurité par défaut pour le VPC ni un groupe appartenant à un autre compte. Choisissez un groupe de sécurité qui appartient à votre compte. S'il n'en existe aucun, créez-en un. Pour plus d'informations sur cette limitation, consultez Utiliser des VPC partagés.

Pour créer les associations appropriées pour le proxy, vous devez également utiliser la register-db-proxy-targetscommande. Spécifiez le nom du groupe cible default. RDS Proxy crée automatiquement un groupe cible portant ce nom au moment de la création de chaque proxy.

aws rds register-db-proxy-targets --db-proxy-name value [--target-group-name target_group_name] [--db-instance-identifiers space_separated_list] # rds db instances, or [--db-cluster-identifiers cluster_id] # rds db cluster (all instances)

Pour créer un proxy RDS, appelez l'opération d'API Amazon RDS CreateDBProxy. Vous transmettez un paramètre avec la structure AuthConfigde données.

RDS Proxy crée automatiquement un groupe cible nommé default au moment de la création de chaque proxy. Vous associez un cluster de base de données Aurora d'une instance de base au groupe cible en appelant la fonction ProxyTargetsRegisterDB.