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
Vous pouvez créer un proxy afin de gérer les connexions pour un ensemble d'instances de base de données précis. Vous pouvez associer un proxy à une instance de base de données RDS pour MariaDB, RDS pour SQL Microsoft ServerRDS, pour SQL My RDS ou pour SQL Postgre.
Pour créer un proxy
-
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Dans le panneau de navigation, sélectionnez Proxies.
-
Choisissez Création d'un proxy.
-
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. RDSPour MariaDB RDS ou pour MySQL, choisissez MariaDB et My. SQL RDSPour PostgreSQL, choisissez SQLPostgre. RDSPour SQL Server, choisissez SQLServer.
-
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 RDSinstance de base de données () à 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 nouvelle instance ou un nouveau cluster de base de données compatible avec RDS Proxy. Pour ce faire, suivez la procédure décrite dans Création d'une RDS instance de base de données Amazon. 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
max_connections
valeur 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 de détails sur la façon dont le RDS proxy utilise ce paramètre, consultezMaxConnectionsPercent. -
Filtres d'épinglage de session. (Facultatif) Cette option vous permet de forcer le RDS proxy à 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 est
EXCLUDE_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 de plus amples informations, veuillez consulter Éviter d'épingler un proxy RDS.
-
-
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) Ajoutez une requête d'initialisation ou modifiez la requête en cours. Vous pouvez spécifier une ou plusieurs SQL instructions à exécuter par le proxy 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. Assurez-vous que la requête que vous ajoutez est valide. Pour inclure plusieurs variables dans une seuleSET
instruction, utilisez des séparateurs de virgules. Par exemple :SET
variable1
=value1
,variable2
=value2
Pour plusieurs instructions, utilisez des points-virgules comme séparateur.
Pour Authentication (Authentification), fournissez les informations suivantes :
-
IAMrôle. Choisissez un IAM rôle autorisé à accéder aux secrets du Gestionnaire de Secrets que vous avez sélectionnés précédemment. Vous pouvez également créer un nouveau IAM rôle à 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 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 le AWS CLI ou à la API place.
-
IAMauthentification. Choisissez d'exiger, d'autoriser ou d'interdire IAM l'authentification pour les connexions à votre proxy. L'option d'autorisation n'est valide que pour les proxys de RDS for SQL Server. Votre choix s'applique à tous les secrets de Secrets Manager que vous associez à ce proxy. Si vous devez spécifier une IAM authentification différente pour chaque secret, créez votre proxy en utilisant le AWS CLI ou à la API place.
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 appliqueTLS/SSLpour 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 :
-
VPCgroupe de sécurité. Choisissez un groupe VPC de sécurité 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 compte partagéVPC, vous ne pouvez pas utiliser le groupe de sécurité par défaut pour le VPC compte ou 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, voir Travailler avec le partage VPCs.
RDSdéploie un proxy sur plusieurs zones de disponibilité pour garantir une haute disponibilité. Pour activer la communication inter-AZ pour un tel proxy, la liste de contrôle d'accès réseau (ACL) de votre sous-réseau proxy doit autoriser la sortie spécifique au port du moteur et autoriser tous les ports à entrer. Pour plus d'informations sur le réseauACLs, voir Contrôler le trafic vers les sous-réseaux à l'aide du réseau ACLs. Si le réseau ACL de votre proxy et de votre cible est identique, vous devez ajouter une règle d'entrée de TCPprotocole dans laquelle la source est définie sur. VPC CIDR Vous devez également ajouter une règle de sortie de TCPprotocole spécifique au port du moteur dans laquelle la destination est définie sur. VPC CIDR
(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é, le RDS proxy inclut des informations détaillées sur les performances du proxy dans ses journaux. Ces informations vous aident à résoudre les problèmes liés au SQL comportement 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 minimiser les frais associés à votre RDS proxy, Proxy désactive automatiquement ce paramètre 24 heures après son activation. Activez-le temporairement pour résoudre un problème spécifique.
-
-
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
Dans Linux, macOS, ou Unix:
aws rds create-db-proxy \ --db-proxy-name
proxy_name
\ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --authProxyAuthenticationConfig_JSON_string
\ --role-arniam_role
\ --vpc-subnet-idsspace_separated_list
\ [--vpc-security-group-idsspace_separated_list
] \ [--require-tls | --no-require-tls] \ [--idle-client-timeoutvalue
] \ [--debug-logging | --no-debug-logging] \ [--tagscomma_separated_list
]
Dans Windows:
aws rds create-db-proxy ^ --db-proxy-name
proxy_name
^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --authProxyAuthenticationConfig_JSON_string
^ --role-arniam_role
^ --vpc-subnet-idsspace_separated_list
^ [--vpc-security-group-idsspace_separated_list
] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeoutvalue
] ^ [--debug-logging | --no-debug-logging] ^ [--tagscomma_separated_list
]
Voici un exemple de la JSON valeur de l'--auth
option. 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 le sous-réseau IDs à utiliser pour le --vpc-subnet-ids
paramètre, consultez des exemples Configuration des prérequis réseau pour le proxy RDS pour les trouver.
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 compte partagéVPC, vous ne pouvez pas utiliser le groupe de sécurité par défaut pour le VPC compte ou 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, voir Travailler avec le partage VPCs.
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
. RDSLe proxy crée automatiquement un groupe cible portant ce nom lorsque vous créez chaque proxy.
aws rds register-db-proxy-targets --db-proxy-name
value
[--target-group-nametarget_group_name
] [--db-instance-identifiersspace_separated_list
] # rds db instances, or [--db-cluster-identifierscluster_id
] # rds db cluster (all instances)
Pour créer un RDS proxy, appelez l'RDSAPIopération Amazon reateDBProxyC. Vous transmettez un paramètre avec la structure AuthConfigde données.
RDSLe proxy crée automatiquement un groupe cible nommé default
lorsque vous créez chaque proxy. Vous associez un d'instance de base de données au groupe cible en appelant la fonction R egisterDBProxy Targets.