Amazon Relational Database Service Guide de l'utilisateur API Version 2014-10-31 Amazon Relational Database Service Guide de l'utilisateur Amazon Relational Database Service: Guide de l'utilisateur Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. Amazon Relational Database Service Guide de l'utilisateur Table of Contents Qu'est-ce qu'Amazon RDS ? ................................................................................................................ 1 Composants Amazon RDS ........................................................................................................... 2 Instances DB ..................................................................................................................... 2 Régions et Zones de disponibilité ......................................................................................... 3 Groupes de sécurité ........................................................................................................... 3 Groupes de paramètres DB ................................................................................................. 3 Groupes d'options DB ......................................................................................................... 4 Interfaces RDS disponibles .......................................................................................................... 4 Amazon RDS Console ........................................................................................................ 4 interface ligne de commande ................................................................................................ 4 Interfaces par programmation ............................................................................................... 4 Comment fonctionne la facturation pour Amazon RDS ..................................................................... 5 Supervision d'une instance de base de données Amazon RDS .......................................................... 6 Quelle est la prochaine étape ? .................................................................................................... 6 Mise en route .................................................................................................................... 6 Rubriques spécifiques au moteur de base de données ............................................................. 6 Configuration ...................................................................................................................................... 7 Inscrivez-vous à AWS ................................................................................................................. 7 Créer un utilisateur IAM ............................................................................................................... 7 Déterminer les exigences ............................................................................................................. 9 Créer un groupe de sécurité ....................................................................................................... 10 Mise en route ................................................................................................................................... 12 Création d'une instance DB MySQL et connexion à une base de données ......................................... 12 Création d'une instance de base de données MySQL ............................................................. 13 Connexion à une base de données sur une instance de base de données exécutant MySQL ......... 16 Suppression d'une instance de base de données ................................................................... 16 Création d'une instance DB Oracle et connexion à une base de données ........................................... 17 Création d'une instance DB exécutant Oracle ........................................................................ 17 Connexion à une instance de base de données exécutant Oracle ............................................. 21 Suppression d'une instance de base de données ................................................................... 21 Création d'une instance DB SQL Server et connexion à une base de données .................................... 22 Création d'une instance de base de données SQL Server ....................................................... 22 Connexion à une instance de base de données SQL Server utilisant SQL Server Management Studio ........................................................................................................... 25 Dépannage d'une connexion dans une instance DB exécutant SQL Server ................................. 26 Suppression d'une instance DB ........................................................................................... 27 Création d'une instance de base de données PostgreSQL et connexion à une base de données ............ 27 Création d'une instance de base de données PostgreSQL ....................................................... 27 Connexion à une instance de base de données PostgreSQL ................................................... 31 Suppression d'une instance de base de données ................................................................... 32 Bonnes pratiques .............................................................................................................................. 33 Directives opérationnelles de base Amazon RDS ........................................................................... 33 Recommandations RAM d'une instance de base de données .......................................................... 34 Bonnes pratiques de sécurité Amazon RDS .................................................................................. 34 Utilisation des métriques pour identifier les problèmes de performances ............................................ 35 Consultation des métriques de performances ........................................................................ 35 Evaluation des métriques de performances ........................................................................... 36 Réglage des requêtes ...................................................................................................... 38 Bonnes pratiques pour utiliser les moteurs de stockage MySQL ....................................................... 39 Bonnes pratiques pour utiliser les moteurs de stockage PostgreSQL ................................................. 39 Chargement des données dans une instance de base de données PostgreSQL .......................... 39 Utilisation des paramètres de base de données fsync et full_page_writes ................................... 40 Utilisation de la fonction autovacuum de PostgreSQL ............................................................. 40 Bonnes pratiques pour l'utilisation de SQL Server .......................................................................... 41 API Version 2014-10-31 iii Amazon Relational Database Service Guide de l'utilisateur Vidéo de bonnes pratiques pour SQL Server Amazon RDS ..................................................... Vidéo de présentation des bonnes pratiques pour Amazon RDS ...................................................... Instances DB .................................................................................................................................... Classe d'instance de base de données ........................................................................................ Statut d'instance de base de données .......................................................................................... Régions et Zones de disponibilité ................................................................................................ Rubriques connexes .......................................................................................................... Haute disponibilité (Multi-AZ) ...................................................................................................... Processus de basculement pour Amazon RDS ...................................................................... Amazon RDS et Amazon VPC .................................................................................................... Sauvegardes d'instance de base de données ................................................................................ Sauvegarde automatique .................................................................................................... Snapshots DB .................................................................................................................. Rubriques connexes .......................................................................................................... Réplication d'une instance de base de données ............................................................................ Stockage ......................................................................................................................................... Types de stockage .................................................................................................................... Métriques de performances ........................................................................................................ Données relatives au stockage Amazon RDS ................................................................................ Autres facteurs ayant un impact sur les performances de stockage ........................................... Ajout de stockage et modification du type de stockage ........................................................... Stockage à usage général (SSD) ................................................................................................ Crédits E/S et performances en rafale .................................................................................. Stockage sur volumes IOPS provisionnés ..................................................................................... Utilisation du stockage IOPS provisionnées avec plusieurs zones de disponibilité, des réplicas en lecture, des instantanés, des VPC et des classes d'instance de base de données ........................ Coûts du stockage IOPS provisionnées ................................................................................ Optimisation des IOPS provisionnées Amazon RDS ............................................................... Support pour le stockage IOPS provisionnés dans l'interface de ligne de commande et l'API Amazon RDS ................................................................................................................... Facteurs affectant les débits IOPS réalisés ................................................................................... Taille des pages et bande passante du canal ........................................................................ Classe d'instance de base de données ................................................................................ Charge de travail d'une base de données ............................................................................. Sécurité ........................................................................................................................................... Utilisation d'IAM pour gérer l'accès aux ressources Amazon RDS ..................................................... Création de stratégies IAM pour Amazon RDS ...................................................................... Fonctionnement de l'autorisation d'accès aux ressources dans Amazon RDS ............................. Indication des conditions dans une stratégie IAM pour Amazon RDS ......................................... Exemple de stratégies IAM pour Amazon RDS ...................................................................... Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS ................................................................................................................... Chiffrement des ressources Amazon RDS .................................................................................... Activation du chiffrement Amazon RDS pour une instance de base de données .......................... Disponibilité des instances chiffrées Amazon RDS ................................................................. Gestion des clés de chiffrement Amazon RDS ...................................................................... Limitations des instances chiffrées Amazon RDS ................................................................... Utilisation de SSL pour chiffrer une connexion .............................................................................. Rotation des certificats SSL ................................................................................................ Groupes de sécurité Amazon RDS .............................................................................................. Groupes de sécurité DB .................................................................................................... Groupes de sécurité VPC .................................................................................................. Comparaison entre les groupes de sécurité DB et les groupes de sécurité VPC .......................... Scénario de groupes de sécurité ......................................................................................... Rubriques connexes .......................................................................................................... Restrictions ...................................................................................................................................... Limites dans Amazon RDS ......................................................................................................... API Version 2014-10-31 iv 42 42 43 44 48 49 51 51 52 53 53 54 56 56 56 58 58 59 60 60 61 61 62 63 65 65 65 66 67 67 67 68 69 70 71 73 73 75 79 88 89 90 90 91 91 91 93 93 94 94 94 95 96 96 Amazon Relational Database Service Guide de l'utilisateur Contraintes d'affectation de noms dans Amazon RDS .................................................................... 97 Limites de taille des fichiers dans Amazon RDS ............................................................................ 98 Limites de taille des fichiers MySQL dans Amazon RDS ......................................................... 99 MySQL sur Amazon RDS ................................................................................................................. 101 Informations sur la planification de MySQL .................................................................................. 102 Versions MySQL ............................................................................................................. 103 Moteurs de stockage pris en charge par Amazon RDS ......................................................... 104 Amazon RDS et MySQL Security ....................................................................................... 104 Préparation du cache InnoDB ............................................................................................ 106 Fonctions MySQL non prises en charge par Amazon RDS ..................................................... 107 Limites et problèmes connus ............................................................................................ 108 Création d'une instance de base de données exécutant MySQL ..................................................... 112 AWS Management Console .............................................................................................. 112 Interface de ligne de commande ....................................................................................... 116 API ............................................................................................................................... 116 Rubriques connexes ........................................................................................................ 117 Connexion à une instance de base de données exécutant MySQL .................................................. 118 Connexion depuis l'utilitaire MySQL ................................................................................... 118 Connexion à SSL ............................................................................................................ 119 Rubriques connexes ........................................................................................................ 119 Modification d'une instance de base de données exécutant MySQL ................................................. 121 AWS Management Console .............................................................................................. 121 Interface de ligne de commande ....................................................................................... 123 API ............................................................................................................................... 123 Importation et exportation de données à partir d'une instance de base de données MySQL .................. 124 Présentation ................................................................................................................... 124 Considérations sur l'importation de données ........................................................................ 125 Importation de données à partir d'une base de données MySQL vers une instance de base de données MySQL Amazon RDS ......................................................................................... 128 Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit ................................................................................................................... 129 Importation de données à partir d'une source vers une instance de base de données MySQL ....... 142 Réplication avec une instance MySQL s'exécutant à l'extérieur d'Amazon RDS ......................... 145 Utilisation de la réplication pour exporter les données MySQL 5.6 ........................................... 147 Annexe : Tâches courantes DBA pour MySQL ............................................................................. 151 Arrêt d'un session ou d'une requête ................................................................................... 151 Ignorer une erreur de réplication ....................................................................................... 151 Utilisation des espaces de table InnoDB pour améliorer les temps de récupération sur incident ..... 152 Gestion de l'historique global des statuts (GoSH) ................................................................. 154 Annexe : options pour MySQL ................................................................................................... 156 Prise en charge memcached MySQL 5.6 ............................................................................ 156 Annexe : Guide de référence MySQL sur Amazon RDS SQL ......................................................... 160 Présentation ................................................................................................................... 160 Conventions du guide de référence SQL ............................................................................ 160 mysql.rds_set_external_master .......................................................................................... 160 mysql.rds_reset_external_master ........................................................................................ 162 mysql.rds_start_replication ................................................................................................ 163 mysql.rds_stop_replication ................................................................................................ 164 mysql_rds_skip_repl_error ................................................................................................. 164 mysql.rds_next_master_log ............................................................................................... 165 mysql.rds_innodb_buffer_pool_dump_now ........................................................................... 167 mysql.rds_innodb_buffer_pool_load_now ............................................................................. 167 mysql.rds_innodb_buffer_pool_load_abort ............................................................................ 167 Oracle sur Amazon RDS .................................................................................................................. 169 Tâches courantes de gestion pour Oracle sur Amazon RDS .......................................................... 169 Planification de votre instance DB Oracle Amazon RDS ................................................................ 170 Options du moteur de base de données Oracle ................................................................... 171 API Version 2014-10-31 v Amazon Relational Database Service Guide de l'utilisateur Sécurité ......................................................................................................................... Gestion de version Oracle ................................................................................................ Licences ........................................................................................................................ Utilisation d'OEM, d'APEX, de TDE et d'autres options .......................................................... Création d'une instance de base de données exécutant Oracle ...................................................... AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Rubriques connexes ........................................................................................................ Connexion à une instance de base de données exécutant Oracle ................................................... Interface de ligne de commande ou console ........................................................................ Rubriques connexes ........................................................................................................ Modification d'une instance de base de données exécutant Oracle .................................................. AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Importation de données dans Oracle sur Amazon RDS ................................................................. Oracle SQL Developer ..................................................................................................... Oracle Data Pump .......................................................................................................... Utilitaires Oracle Export/Import .......................................................................................... Oracle SQL*Loader ......................................................................................................... Vues matérialisées Oracle ................................................................................................ Annexe : Options pour Oracle ................................................................................................... Oracle 11g Enterprise Manager (OEM) Database Control et Oracle 12c OEM Database Express .. Oracle XML DB .............................................................................................................. Oracle Application Express (APEX) .................................................................................... Oracle NNE (Native Network Encryption) ............................................................................ Oracle Transparent Data Encryption (TDE) ......................................................................... Oracle Statspack ............................................................................................................. Fuseau horaire Oracle ..................................................................................................... Annexe : Tâches courantes DBA pour Oracle .............................................................................. Activation et désactivation de session restreinte ................................................................... Vidage du pool partagé .................................................................................................... Vidage du cache de tampons ........................................................................................... Déconnexion d'une session (pour version 11.2.0.3.v1 et ultérieure) ......................................... Arrêt d'une session .......................................................................................................... Nouvelle dénomination du nom global (pour version 11.2.0.3.v1 et ultérieure) ............................ Attribution de privilèges à des utilisateurs non-maîtres .......................................................... Modification des travaux DBMS_SCHEDULER ..................................................................... Changement de fichiers journaux en ligne ........................................................................... Ajout, suppression et redimensionnement de journaux redo en ligne ........................................ Déconnexion forcée d'une session (pour version 11.2.0.3.v1 et ultérieure) ................................ Conservation des journaux redo archivés (pour version 11.2.0.2.v7 et ultérieure) ....................... Définition d'une journalisation supplémentaire (pour version 11.2.0.3.v1 et ultérieure) ................. Création et redimensionnement des espaces de table et des fichiers de données ...................... Configuration d'un espace de table par défaut ..................................................................... Configuration d'un espace de table temporaire par défaut ...................................................... Point de contrôle de la base de données ............................................................................ Définition d'une récupération distribuée (pour version 11.2.0.3.v1 et ultérieure) .......................... Attribution des privilèges SELECT ou EXECUTE aux objets SYS (pour version 11.2.0.3.v1 et ultérieure) ....................................................................................................................... Définition du fuseau horaire de la base de données ............................................................. Utilisation d'AWR (Automatic Workload Repository) .............................................................. Réglage des liens de base de données pour une utilisation avec les instances DB dans un VPC ... Création de répertoires dans l'espace principal de stockage des données (pour version 11.2.0.4.v1 et ultérieure) ................................................................................................... API Version 2014-10-31 vi 178 179 179 180 181 112 184 184 185 186 186 187 188 188 190 190 191 191 191 195 195 196 198 198 199 199 205 207 208 210 212 213 213 214 214 214 214 215 215 216 216 218 219 219 220 220 220 220 221 221 221 222 222 222 Amazon Relational Database Service Guide de l'utilisateur Affichage et lecture de fichiers dans un répertoire d'instance DB (pour version 11.2.0.3.v1 et ultérieure) ....................................................................................................................... 223 Annexe : Utilisation d'Oracle GoldenGate avec Amazon RDS ......................................................... 224 Configuration d'un hub GoldenGate Oracle sur EC2 ............................................................. 225 Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS .......... 227 Configuration d'une base de données cible à utiliser avec GoldenGate sur Amazon RDS ............ 231 Utilisation des utilitaires de réplica et d'extraction Oracle GoldenGate ...................................... 232 Dépannage de problèmes lors de l'utilisation d'Oracle GoldenGate avec Amazon RDS ................ 234 Annexe : utilisation de AWS CloudHSM pour stocker des clés TDE Oracle Amazon RDS .................... 236 Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS ................................ 237 Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM ................................ 240 Vérification de la connexion HSM, des clés Oracle dans le HSM et de la clé TDE ....................... 246 Restauration d'instances de base de données chiffrées ......................................................... 248 Gestion d'un basculement Multi-AZ .................................................................................... 249 Annexe : Jeux de caractères Oracle pris en charge dans Amazon RDS ........................................... 250 Annexe : Notes de mise à jour pour le moteur de base de données Oracle ....................................... 252 Version du moteur de base de données : 11.2.0.2.v3 ........................................................... 252 Version du moteur de base de données : 11.2.0.2.v4 ou 11.2.0.2.v5 ....................................... 253 Version du moteur de base de données : 11.2.0.2.v6 ........................................................... 254 Version du moteur de base de données : 11.2.0.2.v7 ........................................................... 255 Version du moteur de base de données : 11.2.0.3.v1 ............................................................ 256 Version du moteur de base de données : 11.2.0.3.v2 ............................................................ 257 Version du moteur de base de données : 11.2.0.4.v1 ............................................................ 258 Version du moteur de base de données : 11.2.0.4.v2 (Déconseillé) ......................................... 259 Version du moteur de base de données : 11.2.0.4.v3 ............................................................ 260 Version du moteur de base de données : 12.1.0.1.v1 ............................................................ 260 Microsoft SQL Server sur Amazon RDS .............................................................................................. 262 Tâches courantes de gestion pour SQL Server sur Amazon RDS .................................................... 262 Planification de votre instance DB SQL Server sur Amazon RDS .................................................... 264 Limites générales pour les instances DB SQL Server ............................................................ 264 Prise en charge de fonctions SQL Server sur Amazon RDS ................................................... 265 Gestion des licences SQL Server ...................................................................................... 267 Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server ................... 268 Gestion des versions du moteur de base de données ........................................................... 271 Rôles et autorisations SQL Server pris en charge ................................................................ 271 Utilisation de SSL avec une instance DB SQL Server ............................................................ 272 Utilisation de l'option TDE pour chiffrer les données au repos ................................................. 274 Création d'une instance DB exécutant SQL Server ....................................................................... 275 AWS Management Console .............................................................................................. 275 Interface de ligne de commande ....................................................................................... 278 API ............................................................................................................................... 279 Rubriques connexes ........................................................................................................ 279 Connexion à une instance DB exécutant SQL Server .................................................................... 281 Connexion avec SQL Server Management Studio ................................................................. 281 Connexion avec SQL Workbench/J .................................................................................... 282 Dépannage d'une connexion dans une instance de base de données exécutant SQL Server ........ 283 Rubriques connexes ........................................................................................................ 284 Modification d'une instance DB exécutant SQL Server ................................................................... 285 AWS Management Console .............................................................................................. 285 Interface de ligne de commande ....................................................................................... 287 API ............................................................................................................................... 287 Utilisation des déploiements multi-AZ SQL Server avec mise en miroir ............................................ 288 Détermination de l'emplacement du miroir en veille .............................................................. 288 Rubriques connexes ........................................................................................................ 289 Importation et exportation de données SQL Server ....................................................................... 290 Importation de données dans SQL Server sur Amazon RDS .................................................. 290 Exportation de données depuis SQL Server sur Amazon RDS ................................................ 297 API Version 2014-10-31 vii Amazon Relational Database Service Guide de l'utilisateur Annexe : Tâches courantes DBA pour SQL Server ....................................................................... 301 Détermination d'un modèle de récupération ......................................................................... 301 Classements et jeux de caractères pour SQL Server ............................................................ 301 Réinitialisation du mot de passe du rôle db_owner ................................................................ 302 Passage d'une base de données de l'état OFFLINE à l'état ONLINE ....................................... 302 Suppression d'une base de données dans un déploiement Multi-AZ à l'aide de la mise en miroir ... 302 Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor ................................................................................................................ 303 Utilisation de SQL Server Agent ........................................................................................ 306 Utilisation des journaux SQL Server ................................................................................... 307 Gestion des heures UTC pour la pris en compte des fuseaux ................................................. 308 Annexe : Options pour SQL Server ............................................................................................ 309 SQL Server Transparent Data Encryption ........................................................................... 309 Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir ............................ 311 PostgreSQL sur Amazon RDS .......................................................................................................... 314 Informations de planification PostgreSQL sur Amazon RDS ........................................................... 315 PostgreSQL version 9.4.1 ................................................................................................. 316 PostgreSQL version 9.3.6 ................................................................................................. 317 PostgreSQL version 9.3.5 ................................................................................................. 317 Fonctions du moteur de base de données .......................................................................... 265 Limites pour les instances de base de données PostgreSQL .................................................. 320 Mises à niveau des versions mineures ............................................................................... 320 Utilisation de SSL avec une instance de base de données PostgreSQL ................................... 320 Création d'une instance de base de données exécutant PostgreSQL ............................................... 323 AWS Management Console .............................................................................................. 323 Interface de ligne de commande ....................................................................................... 326 API ............................................................................................................................... 326 Rubriques connexes ........................................................................................................ 327 Connexion à une instance DB exécutant le moteur de base de données PostgreSQL ......................... 328 Utilisation de pgAdmin pour se connecter à une instance de base de données PostgreSQL ........... 31 Utilisation de psql pour se connecter à une instance de base de données PostgreSQL ................. 31 Dépannage des problèmes de connexion ............................................................................. 32 Rubriques connexes ........................................................................................................ 329 Modification d'une instance de base de données exécutant PostgreSQL .......................................... 330 AWS Management Console .............................................................................................. 330 Interface de ligne de commande ....................................................................................... 332 API ............................................................................................................................... 332 Importation de données dans PostgreSQL sur Amazon RDS ......................................................... 333 Importation d'une base de données PostgreSQL à partir d'une instance Amazon EC2 ................. 333 Utilisation de la commande \copy pour importer des données dans une table sur une instance de base de données PostgreSQL .......................................................................................... 335 Annexe : Tâches DBA courantes pour PostgreSQL ...................................................................... 336 Création de rôles ............................................................................................................ 336 Gestion d'un accès à la base de données PostgreSQL ......................................................... 336 Utilisation des paramètres PostgreSQL ............................................................................... 337 Configuration de PostGIS ................................................................................................. 347 Utilisation de pgBadger pour l'analyse de journal serveur avec PostgreSQL .............................. 349 sur Amazon RDS ........................................................................................................................... 350 Version préliminaire de ............................................................................................................ 351 Points de terminaison .............................................................................................................. 351 Stockage ................................................................................................................................ 352 Réplication ............................................................................................................................. 352 Fiabilité d' .............................................................................................................................. 352 Réparation automatique du stockage ................................................................................. 352 Préparation du cache « survivable » ................................................................................... 353 Récupération sur incident ................................................................................................. 353 Sécurité ................................................................................................................................. 353 API Version 2014-10-31 viii Amazon Relational Database Service Guide de l'utilisateur Sécurisation des données avec SSL .................................................................................. Utilisation de l'option memcached avec ....................................................................................... Comparaison entre et Amazon RDS pour MySQL ........................................................................ Version préliminaire de ............................................................................................................ Mise en route avec ................................................................................................................. Création d'un cluster DB et connexion à une base de données sur une instance DB ................... Comment créer un VPC à utiliser avec ............................................................................... Création d'un cluster DB .......................................................................................................... Prérequis des clusters de base de données ........................................................................ Utilisation d'AWS Management Console pour lancer un cluster DB et créer un réplica ................. Connexion à un cluster DB ....................................................................................................... Connexion à SSL ............................................................................................................ Dépannage des problèmes de connexion ............................................................................ Migration des données vers un cluster DB .................................................................................. Migration d'un instantané RDS MySQL vers ........................................................................ Réplication avec ...................................................................................................................... Supervision de la réplication ............................................................................................. Réplication avec MySQL .................................................................................................. Supervision d'un cluster DB ...................................................................................................... Métriques ....................................................................................................................... Gestion d'un cluster DB .......................................................................................................... Gestion de performances et dimensionnement d'un cluster DB ............................................... Sauvegarde et restauration d'un cluster DB ......................................................................... Tolérance aux pannes pour un cluster DB .......................................................................... Test d' à l'aide des requêtes d'injection d'erreurs .................................................................. Bonnes pratiques avec ............................................................................................................. Détermination de l'instance DB à laquelle vous êtes connecté ................................................ Utilisation d' pour dimensionner les lectures de votre base de données MySQL ......................... Utilisation d' pour la reprise après sinistre avec vos bases de données MySQL .......................... Migration depuis MySQL vers avec une interruption réduite ................................................... Cycle de vie d'une instance de base de données ................................................................................. Mise à niveau et maintenance des ressources Amazon RDS ......................................................... Mises à jour du système d'exploitation pour une instance DB ................................................. Mise à niveau des versions de base de données pour une instance DB ................................... Créneau de maintenance d'Amazon RDS ........................................................................... Modification d'une instance DB et utilisation du paramètre Apply Immediately .................................... Affectation d'un nouveau nom à une instance de base de données ................................................. AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Rubriques connexes ........................................................................................................ Suppression d'une instance de base de données ......................................................................... Suppression d'une instance de base de données sans snapshot final ...................................... Suppression d'une instance de base de données avec snapshot final ...................................... Rubriques connexes ........................................................................................................ Redémarrage d'une instance de base de données ....................................................................... AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Utilisation des types de stockage ............................................................................................... Modification d'une instance de base de données pour utiliser un type de stockage différent .......... Modification des paramètres de stockage et d'IOPS pour une instance de base de données qui utilise les IOPS provisionnées ........................................................................................... Création d'une instance de base de données qui utilise le stockage des IOPS provisionnés ......... Création d'un réplica en lecture MySQL qui utilise le stockage des IOPS provisionnés ................ Utilisation des réplicas en lecture PostgreSQL et MySQL .............................................................. Présentation du réplica en lecture Amazon RDS .................................................................. API Version 2014-10-31 ix 354 355 355 356 356 357 360 362 363 364 368 369 370 370 370 374 375 375 377 377 379 379 380 381 382 384 385 385 387 388 389 391 392 394 400 403 407 408 408 408 408 409 409 410 411 412 412 412 413 414 414 416 418 419 421 421 Amazon Relational Database Service Guide de l'utilisateur Réplicas en lecture PostgreSQL (versions 9.3.5 et ultérieures) ............................................... Réplicas en lecture MySQL .............................................................................................. Création d'un réplica en lecture ......................................................................................... Promotion d'un réplica en lecture en instance de base de données ......................................... Réplication d'un réplica en lecture entre régions (MySQL uniquement) ..................................... Supervision de la réplication en lecture .............................................................................. Résolution d'un problème de réplica en lecture MySQL ......................................................... Résolution d'un problème de réplica en lecture PostgreSQL ................................................... Balisage des ressources Amazon RDS ....................................................................................... Ce que vous devez savoir sur les balises des ressources Amazon RDS ................................... AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Création d'un Amazon Resource Name (ARN) Amazon RDS ................................................. Rubriques connexes ........................................................................................................ Sauvegarde et restauration ....................................................................................................... Utilisation des sauvegardes automatiques ........................................................................... Création d'un snapshot DB ............................................................................................... Restauration à partir d'un snapshot DB ............................................................................... Copie d'un snapshot DB ................................................................................................... Restauration d'une instance de base de données à une date spécifiée .................................... Utilisation de groupes d'options ................................................................................................. Présentation des groupes d'options .................................................................................... Création d'un groupe d'options .......................................................................................... Réalisation d'une copie d'un groupe d'options ...................................................................... Ajout d'une option à un groupe d'options ............................................................................ Liste des options et des paramètres d'options pour un groupe d'options ................................... Modification d'un paramètre d'option .................................................................................. Suppression d'une option d'un groupe d'options ................................................................... Utilisation des groupes de paramètres DB .................................................................................. Création d'un groupe de paramètres DB ............................................................................. Modification de paramètres dans un groupe de paramètres DB .............................................. Copie d'un groupe de paramètres DB ................................................................................. Liste des groupes de paramètres DB ................................................................................. Affichage des valeurs de paramètres pour un groupe de paramètres DB .................................. Valeurs de paramètres DB ................................................................................................ Utilisation de groupes de sécurité DB ......................................................................................... Création d'un groupe de sécurité DB .................................................................................. Liste des groupes de sécurité DB disponibles ...................................................................... Affichage d'un groupe de sécurité DB ................................................................................. Autorisation de l'accès réseau à un groupe de sécurité DB depuis une plage IP ......................... Autorisation de l'accès réseau à une instance de base de données depuis une instance Amazon EC2 .............................................................................................................................. Révocation de l'accès réseau à une instance de base de données depuis une plage IP ............... Rubriques connexes ........................................................................................................ Utilisation des instances de base de données réservées ............................................................... Obtenez des informations sur les offres d'instances de base de données réservées disponibles .... Achat d'une instance de base de données réservée ............................................................. Obtention d'informations sur les instances de base de données réservées de votre compte .......... Rubriques connexes ........................................................................................................ Utiliser Amazon RDS avec Amazon VPC .................................................................................... Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic ...................................... Utilisation d'une instance de base de données dans un VPC .................................................. Utilisation de groupes de sous-réseaux DB ......................................................................... Masquer une instance de base de données dans un VPC depuis Internet ................................ Création d'une instance de base de données dans un VPC ................................................... Déplacement vers un VPC d'une instance de base de données n'appartenant pas à un VPC ........ API Version 2014-10-31 x 423 424 426 427 429 432 433 434 436 436 437 438 438 439 441 441 442 445 447 450 453 455 455 458 460 460 462 463 464 466 467 468 471 472 473 475 479 479 481 481 482 484 486 487 488 489 492 494 496 497 498 499 499 500 500 503 Amazon Relational Database Service Guide de l'utilisateur Utilisation de ClassicLink pour connecter une instance EC2-Classic à une instance de base de données dans un VPC Amazon ........................................................................................ Surveillance .................................................................................................................................... Affichage des métriques d'instances de base de données ............................................................. AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Rubriques connexes ........................................................................................................ Utilisation de la notification d'événement Amazon RDS ................................................................. Catégories d'événements et messages d'événements Amazon RDS ....................................... Abonnement à la notification d'événement Amazon RDS ....................................................... Affichage de vos abonnements aux notifications d'événements Amazon RDS ............................ Modification d'un abonnement aux notifications d'événements Amazon RDS ............................. Ajout d'un identifiant source à un abonnement aux notifications d'événements Amazon RDS ........ Suppression d'un identifiant source d'un abonnement aux notifications d'événements Amazon RDS .............................................................................................................................. Affichage des catégories aux notifications d'événements Amazon RDS .................................... Suppression d'un abonnement aux notifications d'événements Amazon RDS ............................ Affichage d'événements Amazon RDS ........................................................................................ AWS Management Console .............................................................................................. Interface de ligne de commande ....................................................................................... API ............................................................................................................................... Rubriques connexes ........................................................................................................ Fichiers journaux de base de données ....................................................................................... Fichiers journaux de base de données MySQL .................................................................... Fichiers journaux de base de données Oracle ..................................................................... Fichiers journaux de base de données SQL Server .............................................................. Fichiers journaux de base de données PostgreSQL .............................................................. Liste et affichage des fichiers journaux de base de données .................................................. Téléchargement d'un fichier journal de base de données ....................................................... Consultation d'un fichier journal de base de données ............................................................ Journalisation des appels d'API Amazon RDS à l'aide de AWS CloudTrail ........................................ Configuration de la journalisation d'événements CloudTrail .................................................... Entrées d'événements Amazon RDS dans les fichiers journaux CloudTrail ................................ Dépannage ..................................................................................................................................... Impossible de se connecter à l'instance de base de données ......................................................... Test d'une connexion d'une instance de base de données ..................................................... Dépannage des problèmes d'authentification de connexion .................................................... Problèmes de sécurité ............................................................................................................. Panne ou redémarrage d'une instance de base de données .......................................................... Modifications de paramètre n'entrant pas en vigueur ..................................................................... instance de base de données à court de stockage ....................................................................... Problèmes MySQL .................................................................................................................. E/S asynchrones de MySQL version 5.5.40 désactivées ........................................................ L'optimisation de la fusion d'index retourne des résultats erronés ............................................ Echec de la réplication après la mise à niveau vers MySQL version 5.6.21 ............................... Diagnostic et résolution du retard entre réplicas en lecture ..................................................... Diagnostic et résolution d'une défaillance de la réplication en lecture MySQL ............................ La création de déclencheurs avec la journalisation binaire activée requiert le privilège SUPER ..... Diagnostic et résolution des défaillances de restauration à un point donné dans le passé ............ Problèmes d'Oracle GoldenGate ................................................................................................ Utilisation d'Oracle GoldenGate avec des instances Amazon EC2 ........................................... Conservation des journaux sur une durée suffisante ............................................................. Impossible de se connecter à l'instance de base de données SQL Server ........................................ Impossible de se connecter à l'instance de base de données PostgreSQL ........................................ API Amazon RDS ........................................................................................................................... Utilisation de l'API Query .......................................................................................................... API Version 2014-10-31 xi 504 506 507 507 507 508 508 509 510 515 517 518 519 520 521 522 523 523 523 523 524 525 525 530 533 534 536 540 542 546 546 546 549 549 550 550 551 551 552 552 553 553 553 554 555 556 557 558 559 559 559 560 560 561 561 Amazon Relational Database Service Guide de l'utilisateur Paramètres Query ........................................................................................................... Authentification de demande Query .................................................................................... Utilisation de l'API SOAP ......................................................................................................... Définitions de WSDL et Schema ....................................................................................... Prise en charge du langage de programmation .................................................................... Authentification de requête ............................................................................................... Structure d'une réponse ................................................................................................... Références de services Web ............................................................................................ Bibliothèques disponibles ......................................................................................................... Applications de dépannage ....................................................................................................... Récupération d'erreurs ..................................................................................................... Conseils pour le dépannage ............................................................................................. Référence d'API REST RDS ..................................................................................................... Rubriques connexes ........................................................................................................ DownloadCompleteDBLogFile ........................................................................................... Ressources .................................................................................................................................... Historique du document ................................................................................................................... API Version 2014-10-31 xii 561 561 563 564 565 565 566 567 567 567 567 568 568 568 568 571 573 Amazon Relational Database Service Guide de l'utilisateur Qu'est-ce qu'Amazon Relational Database Service (Amazon RDS) ? Rubriques • Composants Amazon RDS (p. 2) • Interfaces RDS disponibles (p. 4) • Comment fonctionne la facturation pour Amazon RDS (p. 5) • Supervision d'une instance de base de données Amazon RDS (p. 6) • Quelle est la prochaine étape ? (p. 6) Amazon Relational Database Service (Amazon RDS) est un service Web qui facilite l'installation, l'exploitation et le dimensionnement d'une base de données relationnelle dans le cloud. Il fournit des capacités redimensionnables, à faible coût, pour les bases de données relationnelles standard, et gère les tâches courantes d'administration de base de données. Pourquoi vouloir un service géré de base de données relationnelle ? Parce qu'Amazon RDS prend le contrôle de la plupart des tâches de gestion difficiles ou fastidieuses d'une base de données relationnelle. • Quand vous achetez un serveur, l'UC, la mémoire, le stockage et les IOPS sont tous regroupés ensemble. Avec Amazon RDS, ceux-ci sont séparés les uns des autres, de telle sorte que vous pouvez les faire évoluer indépendamment. Ainsi, par exemple, si vous avez besoin de plus d'UC, de moins d'IOPS ou de plus de stockage, vous pouvez les allouer facilement. • Amazon RDS gère les sauvegardes, les correctifs logiciels, la détection automatique des pannes et la récupération. • Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. • Vous pouvez avoir des sauvegardes automatiques lorsque vous en avez besoin, ou créer votre propre instantané de sauvegarde. Ces sauvegardes peuvent être utilisées pour restaurer une base de données, et Amazon RDS restaure les processus de travail de façon fiable et efficace. • Vous pouvez obtenir une haute disponibilité avec une instance principale et une instance secondaire synchrone vers laquelle vous pouvez effectuer le basculement quand le problème se produit. Vous pouvez aussi utiliser les réplicas en lecture MySQL ou PostgreSQL pour augmenter le dimensionnement en lecture. API Version 2014-10-31 1 Amazon Relational Database Service Guide de l'utilisateur Composants Amazon RDS • Vous pouvez utiliser les produits de base de données dont vous êtes familier : MySQL, PostgreSQL, Oracle, Microsoft SQL Server et le nouveau moteur DB Amazon Aurora compatible MySQL (pour plus d'informations, consultez sur Amazon RDS (p. 350)). • En plus de la sécurité de votre package de base de données, vous pouvez aider à contrôler les personnes qui ont accès à vos bases de données RDS à l'aide d'AWS IAM pour définir les utilisateurs et les autorisations. Vous pouvez aussi aider à protéger vos bases de données en les plaçant dans un Virtual Private Cloud. Pour plus d'informations : • Si vous découvrez RDS mais êtes familier des autres Amazon Web Services, commencez par une introduction aux Composants Amazon RDS (p. 2). Cette section présente les composants clés d'Amazon RDS et explique comment ils sont liés à ceux que vous utilisez actuellement sur votre réseau local. • Pour une présentation de tous les produits AWS, consultez Qu'est-ce que le cloud computing ? • Amazon Web Services fournit un certain nombre de services de base de données. Pour obtenir des conseils sur le service le mieux adapté à votre environnement, consultez Exécution de bases de données sur AWS Composants Amazon RDS Rubriques • Instances DB (p. 2) • Régions et Zones de disponibilité (p. 3) • Groupes de sécurité (p. 3) • Groupes de paramètres DB (p. 3) • Groupes d'options DB (p. 4) Instances DB La composante de base d'Amazon RDS est l'instance de base de données. Une instance de base de données est un environnement de base de données isolé s'exécutant dans le cloud. Une instance de base de données peut comporter plusieurs bases de données créées par l'utilisateur et vous pouvez y accéder avec les mêmes applications et outils clients que ceux que vous utilisez pour accéder à une instance de base de données autonome. Vous pouvez créer et modifier une instance de base de données avec l'interface de ligne de commande Amazon RDS, l'API Amazon RDS ou AWS Management Console. Chaque instance de base de données exécute un moteur DB. Amazon RDS prend actuellement en charge les moteurs DB MySQL, PostgreSQL, Oracle et Microsoft SQL Server. Chaque moteur DB a ses propres fonctions prises en charge et chaque version d'un moteur DB peut inclure plusieurs fonctions. En outre, chaque moteur DB possède un ensemble de paramètres au sein d'un groupe de paramètres DB qui contrôle le comportement des bases de données qu'il gère. Les capacités de calcul et de mémoire d'une instance de base de données sont déterminées par sa classe d'instance de base de données. Vous pouvez sélectionner l'instance de base de données qui correspond le mieux à vos besoins. Si vos besoins évoluent au fil du temps, vous pouvez modifier les instances DB. Pour plus d'informations sur les classes d'instance DB, consultez la section Classe d'instance DB. Pour les informations de tarification des classes d'instance DB, accédez à la section Tarification de la page produit Amazon Relational Database Service (Amazon RDS). Pour chaque instance de base de données, vous pouvez sélectionner de 5 Go à 3 To de capacité de stockage associée. Chaque instance de base de données dispose d'exigences de stockage minimal et API Version 2014-10-31 2 Amazon Relational Database Service Guide de l'utilisateur Régions et Zones de disponibilité maximal pour les instances de base de données créées à partir d'elles. Il importe d'avoir un stockage suffisant afin que vos bases de données aient assez de place pour croître et que les fonctions du moteur DB aient de l'espace pour écrire le contenu ou les entrées des journaux. Le stockage d'instance de base de données se présente sous trois types : magnétique, usage général (SSD) et IOPS provisionnées (SSD). Ces options se différencient par leurs performances et leurs tarifs, ce qui vous permet d'adapter vos performances de stockage et vos coûts en fonction des besoins de votre base de données. Pour une présentation complète des différents types de volume, consultez la rubrique Types de volumes Amazon EBS. Vous pouvez exécuter une instance de base de données sur un Virtual Private Cloud à l'aide du service Virtual Private Cloud (VPC) d'Amazon. Lorsque vous utilisez un Virtual Private Cloud, vous avez le contrôle sur votre environnement de réseau virtuel : vous pouvez sélectionner votre propre plage d'adresses IP, créer des sous-réseaux et configurer le routage et les listes de contrôle d'accès. Les fonctionnalités de base d'Amazon RDS sont les mêmes, qu'il s'exécute dans un VPC ou pas : Amazon RDS gère les sauvegardes, les correctifs logiciels, la détection automatique de pannes et la récupération. Il n'y a pas de frais supplémentaires pour exécuter votre instance de base de données dans un VPC. Pour plus d'informations sur les VPC et RDS, consultez Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497). Régions et Zones de disponibilité Les ressources du cloud computing Amazon sont hébergées dans des installations de centres de données hautement disponible de différentes régions du monde (par exemple, Amérique du Nord, Europe et Asie). Chaque emplacement de centre de données est appelé région. Chaque région contient plusieurs emplacements distincts appelés zones de disponibilité. Chaque zone de disponibilité est conçue pour être isolée des pannes dans les autres zones de disponibilité et pour fournir une connectivité réseau peu coûteuse et à faible latence vers d'autres zones de disponibilité de la même région. En lançant des instances dans des zones de disponibilité distinctes, vous pouvez protéger vos applications de la défaillance d'un seul emplacement. Pour obtenir la liste des régions et zones de disponibilité, consultez Régions et Zones de disponibilité (p. 49). Vous pouvez exécuter votre instance de base de données dans plusieurs zones de disponibilité, option appelée déploiement Multi-AZ. Lorsque vous choisissez cette option, Amazon met en service et maintient automatiquement un réplica de secours en mode synchrone de votre instance de base de données dans une autre zone de disponibilité. L'instance de base de données principale est répliquée de manière synchrone à travers les zones de disponibilité sur le réplica de secours afin de fournir la redondance de données et la prise en charge du basculement, d'éliminer les gels E/S et de minimiser les pics de latence pendant les sauvegardes du système. Groupes de sécurité Un groupe de sécurité contrôle l'accès à une instance de base de données. Il y parvient en autorisant l'accès aux plages d'adresses IP ou aux instances Amazon EC2 que vous spécifiez. Amazon RDS utilise les groupes de sécurité DB, les groupes de sécurité VPC et les groupes de sécurité EC2. En termes simples, un groupe de sécurité DB contrôle l'accès à une instance de base de données qui ne se trouve pas dans un VPC, un groupe de sécurité VPC contrôle l'accès à une instance de base de données à l'intérieur d'un VPC et un groupe de sécurité Amazon EC2 contrôle l'accès à une instance EC2 et peut être utilisé avec une instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). Groupes de paramètres DB Vous gérez la configuration d'un moteur DB à l'aide d'un groupe de paramètres DB. Un groupes- de paramètres DB contient les valeurs de configuration du moteur qui sont appliquées à une ou plusieurs API Version 2014-10-31 3 Amazon Relational Database Service Guide de l'utilisateur Groupes d'options DB instances de base de données du même type d'instance. Amazon RDS applique un groupe de paramètres DB par défaut si vous ne spécifiez pas un groupe de paramètres DB lorsque vous créez une instance de base de données. Le groupe par défaut contient les valeurs par défaut du moteur de base de données spécifique et la classe d'instance de l'instance de base de données. Groupes d'options DB Certains moteurs DB proposent des outils qui simplifient la gestion de vos bases de données et permettent une meilleure utilisation de vos données. Amazon RDS rend ces outils disponibles via les groupes d'options. Actuellement, des groupes d'options sont disponibles pour les instances de base de données Oracle, Microsoft SQL Server et MySQL 5.6. Pour plus d'informations sur les options Oracle individuelles, accédez à Annexe : Options pour le moteur de base de données Oracle (p. 198). Pour plus d'informations sur les options SQL Server, consultez Annexe : Options pour le moteur de base de données SQL Server (p. 309). Pour plus d'informations sur les options MySQL 5.6, consultez Annexe : options pour le moteur de base de données MySQL (p. 156). Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). Interfaces RDS disponibles Rubriques • Amazon RDS Console (p. 4) • interface ligne de commande (p. 4) • Interfaces par programmation (p. 4) Il existe plusieurs manières d'interagir avec Amazon RDS. Amazon RDS Console Amazon RDS Console est une interface utilisateur web simple. A partir de la console RDS, vous pouvez exécuter pratiquement toutes les tâches que vous avez besoin d'exécuter sans programmation requise. Pour accéder à Amazon RDS Console, connectez-vous à AWS Management Console et ouvrez Amazon RDS Console à https://console.aws.amazon.com/rds/. interface ligne de commande Amazon RDS propose une interface de ligne de commande basée sur Java qui vous permet d'accéder à la plupart des fonctionnalités disponibles dans l'API Amazon RDS. Pour plus d'informations, consultez Amazon RDS Command Line Toolkit. Interfaces par programmation Le tableau suivant répertorie les ressources que vous pouvez utiliser pour accéder à Amazon RDS par programmation. Ressource Description Kits de développement logiciel (SDK) AWS Les SDK AWS incluent des exemples de code, des bibliothèques, des outils, de la documentation et des modèles. Pour télécharger les SDK AWS, consultez Kits de développement logiciel (SDK) AWS. API Version 2014-10-31 4 Amazon Relational Database Service Guide de l'utilisateur Comment fonctionne la facturation pour Amazon RDS Ressource Description Bibliothèques AWS fournit des bibliothèques, des exemples de code, des didacticiels et d'autres ressources aux développeurs de logiciels qui préfèrent créer des applications utilisant des API propres au langage plutôt que SOAP and Query APIs de Amazon Relational Database Service. Ces bibliothèques offrent des fonctions de base (non présentes dans SOAP and Query APIs de Amazon Relational Database Service), telles que l'authentification des demandes, les nouvelles tentatives de demande et la gestion des erreurs, de façon à ce que vous puissiez vous lancer plus facilement. Les bibliothèques et ressources sont disponibles pour les langages suivants : • Java • PHP • Python • Ruby • Windows et .NET Pour obtenir des bibliothèques et des exemples de code dans tous les langages, consultez la page Exemples de code et bibliothèques. API Amazon RDS Si vous préférez, vous pouvez écrire directement le code dans l'API Amazon RDS. Pour plus d'informations, consultez API Amazon RDS (p. 561) et Amazon Relational Database Service API Reference. Comment fonctionne la facturation pour Amazon RDS Lorsque vous utilisez Amazon RDS, vous ne payez que pour ce que vous utilisez et il n'existe pas de frais d'installation ou de frais minimum. Vous êtes facturé selon les critères suivants. • Classe d'instance : la tarification est fonction de la classe (micro, small, large ou xlarge) de l'instance de base de données utilisée. • Durée d'exécution : vous êtes facturé à l'heure d'instance, ce qui équivaut à l'exécution d'une seule instance pendant une heure. Par exemple, une seule instance qui s'exécute deux heures et deux instances qui s'exécutent une heure consomment 2 heures d'instance. Si une instance de base de données ne s'exécute que partiellement sur une heure, la totalité de l'heure vous est facturée. • Stockage : la capacité de stockage que vous avez provisionnée pour votre instance de base de données est facturée par Go et par mois. Si vous dimensionnez votre capacité de stockage réservée dans le mois, votre facture sera ajustée au prorata. • Demandes d'E/S par mois : nombre total de demandes d'E/S de stockage effectuées dans un cycle de facturation. • Stockage de sauvegarde : le stockage de sauvegarde est le stockage associé à vos sauvegardes de base de données automatisées et tout instantané de base de données active que vous avez pris. Augmenter votre période de rétention des sauvegardes ou prendre des instantanés de base de données supplémentaires augmente le stockage de sauvegarde consommé par votre base de données. Amazon RDS fournit un stockage allant jusqu'à 100 % de votre stockage de base de données sans frais supplémentaires. Par exemple, si vous avez 10 Go par mois de stockage de base de données mis en service, nous fournirons jusqu'à 10 Go par mois de stockage de sauvegarde sans frais supplémentaires. Comme la plupart des bases de données nécessitent moins de stockage brut pour une sauvegarde que pour le jeu de données principal, si vous ne conservez pas plusieurs sauvegardes, vous ne payez jamais API Version 2014-10-31 5 Amazon Relational Database Service Guide de l'utilisateur Supervision d'une instance de base de données Amazon RDS le stockage de sauvegarde. Le stockage de sauvegarde n'est gratuit que pour les instances de base de données actives. • Transfert de données : transfert de données entrant et sortant de votre instance de base de données sur Internet. En plus de la tarification RDS normale, vous pouvez acheter des instances de base de données réservées. Elles vous permettent de vous acquitter d'un paiement initial unique pour une instance de base de données et de réserver l'instance de base de données pour une durée d'une ou de trois années, à des prix réellement bas. Pour plus d'informations sur les instances de base de données réservées, consultez Utilisation des instances de base de données réservées (p. 488) Pour plus d'informations sur la tarification Amazon RDS, consultez la page produit Amazon RDS. Supervision d'une instance de base de données Amazon RDS Il existe plusieurs façons dont vous pouvez suivre les performances et l'état d'une instance de base de données. Vous pouvez utiliser le service gratuit Amazon CloudWatch pour surveiller les performances et l'état d'une instance de base de données ; les graphiques de performance sont affichés dans la console Amazon RDS. Vous pouvez vous abonner aux événements Amazon RDS pour être informé de toute modification d'une instance de base de données, d'un snapshot DB, d'un groupe de paramètres DB ou d'un groupe de sécurité DB. Pour plus d'informations sur Amazon CloudWatch, consultez Affichage des métriques d'instances de base de données (p. 507). Pour plus d'informations sur la notification d'événement Amazon RDS, consultez Utilisation de la notification d'événement Amazon RDS (p. 509) Quelle est la prochaine étape ? Cette section vous a présenté les composants de base de l'infrastructure que propose RDS. Qu'allez-vous faire ensuite ? Mise en route Créez une instance de base de données à l'aide des instructions de la section Getting Started with Amazon RDS (p. 12). Rubriques spécifiques au moteur de base de données Vous pourrez vérifier les informations spécifiques à un moteur DB particulier dans les sections suivantes : • • • • • Oracle sur Amazon RDS (p. 169) MySQL sur Amazon RDS (p. 101) Microsoft SQL Server sur Amazon RDS (p. 262) PostgreSQL sur Amazon RDS (p. 314) sur Amazon RDS (p. 350) API Version 2014-10-31 6 Amazon Relational Database Service Guide de l'utilisateur Inscrivez-vous à AWS Configuration d'Amazon RDS Avant d'utiliser Amazon RDS pour la première fois, effectuez les tâches suivantes : 1. Inscrivez-vous à AWS (p. 7) 2. Créer un utilisateur IAM (p. 7) 3. Déterminer les exigences (p. 9) 4. Créer un groupe de sécurité (p. 10) Inscrivez-vous à AWS Lorsque vous vous inscrivez à Amazon Web Services (AWS), votre compte AWS est automatiquement inscrit à tous les services d'AWS, y compris Amazon RDS. Seuls les services que vous utilisez vous sont facturés. Avec Amazon RDS, vous ne payez que les ressources que vous utilisez. L'instance de base de données Amazon RDS que vous créez sera en ligne (elle ne s'exécutera pas dans un environnement de test (sandbox)). Vous devrez payer les frais d'utilisation standard d'Amazon RDS pour l'instance jusqu'à ce que vous la mettiez hors service. Pour plus d'informations sur les tarifs d'utilisation d'Amazon RDS, consultez la page produit Amazon RDS. Si vous êtes un nouveau client AWS, vous pouvez démarrer gratuitement avec Amazon RDS. Pour plus d'informations, consultez Niveau d'offre gratuite AWS. Si vous possédez déjà un compte AWS, passez à la prochaine étape. Si tel n'est pas le cas, observez la procédure suivante pour en créer un. Pour créer un compte AWS 1. 2. Ouvrez https://aws.amazon.com/, puis choisissez Create an AWS Account. Suivez les instructions en ligne. Dans le cadre de la procédure d'inscription, vous recevrez un appel téléphonique et vous saisirez un code PIN en utilisant le clavier numérique du téléphone. Notez votre numéro de compte AWS, car vous en aurez besoin lors de la prochaine tâche. Créer un utilisateur IAM Pour accéder à un service d'AWS, tel qu'Amazon RDS, vous devez fournir vos informations d'identification afin que le service puisse déterminer si vous êtes autorisé à accéder à ses ressources. La console API Version 2014-10-31 7 Amazon Relational Database Service Guide de l'utilisateur Créer un utilisateur IAM exige votre mot de passe. Vous pouvez créer des clés d'accès pour votre compte AWS afin d'accéder à l'interface ligne de commande ou à l'API. Cependant, il est déconseillé d'accéder à AWS à l'aide des informations d'identification de votre compte AWS ; utilisez plutôt AWS Identity and Access Management (IAM). Créez un utilisateur IAM, puis ajoutez-le à un groupe IAM avec les autorisations administratives ou attribuez-lui ces autorisations. Vous pouvez alors accéder à AWS à l'aide d'une URL spéciale et des informations d'identification de l'utilisateur IAM. Si vous êtes inscrit à AWS, mais que vous n'avez pas créé d'utilisateur IAM pour vous-même, vous pouvez le faire avec la console IAM. Pour créer un utilisateur IAM pour vous-même et l'ajouter au groupe Administrateurs. 1. Connectez-vous à la console IAM à l'adresse https://console.aws.amazon.com/iam/. 2. Dans le volet de navigation, choisissez Users, puis Add user. 3. Pour User name, tapez un nom d'utilisateur, par exemple Administrateur. Le nom peut être constitué de lettres, de chiffres et des caractères suivants : plus (+), égal (=), virgule (,), point (.), arobas (@), trait de soulignement (_) et tiret (-). Le nom n'est pas sensible à la casse et peut contenir un maximum de 64 caractères. 4. Activez la case à cocher en regard de AWS Management Console access, sélectionnez Custom password, puis tapez le nouveau mot de passe utilisateur dans la zone de texte. Vous pouvez également activer la case à cocher Require password reset pour forcer l'utilisateur à sélectionner un nouveau mot de passe lors de sa prochaine connexion. 5. Choisissez Next: Permissions. 6. Sur la page Set permissions for user, choisissez Add user to group. 7. Choisissez Create group. 8. Dans la boîte de dialogue Create group, tapez le nom du nouveau groupe. Le nom peut être constitué de lettres, de chiffres et des caractères suivants : plus (+), égal (=), virgule (,), point (.), arobas (@), trait de soulignement (_) et tiret (-). Le nom n'est pas sensible à la casse et peut contenir un maximum de 128 caractères. 9. Pour Filter, choisissez Job function. 10. Dans la liste des stratégies, activez la case à cocher AdministratorAccess. Choisissez ensuite Create group. 11. De retour dans la liste des groupes, activez la case à cocher du nouveau groupe. Choisissez Refresh si nécessaire pour afficher le groupe dans la liste. 12. Choisissez Next: Review pour afficher la liste des membres du groupe à ajouter au nouvel utilisateur. Une fois que vous êtes prêt à continuer, choisissez Create user. Vous pouvez utiliser ce même processus pour créer d'autres groupes et utilisateurs et pour accorder à vos utilisateurs l'accès aux ressources de votre compte AWS. Pour en savoir plus sur l'utilisation des stratégies afin de limiter les autorisations d'accès des utilisateurs à certaines AWS ressources, consultez Gestion des accès et Exemples de stratégies d'administration des ressources AWS. Pour vous connecter en tant que nouvel utilisateur IAM, déconnectez-vous de la console AWS, puis utilisez l'URL suivante, où votre_id_de_compte_aws désigne votre numéro de compte AWS sans les traits d'union (par exemple, si votre numéro de compte AWS est 1234-5678-9012, votre ID de compte AWS est 123456789012) : https://your_aws_account_id.signin.aws.amazon.com/console/ Saisissez le nom utilisateur et le mot de passe IAM que vous venez de créer. Lorsque vous êtes connecté, la barre de navigation affiche « votre_nom_utilisateur @ votre_id_de_compte_aws ». Si vous ne voulez pas que l'URL de votre page de connexion contienne votre ID de compte AWS, vous pouvez créer un alias de compte. Sur le tableau de bord IAM, cliquez sur Customize et entrez un alias, par API Version 2014-10-31 8 Amazon Relational Database Service Guide de l'utilisateur Déterminer les exigences exemple le nom de votre société. Pour vous connecter après avoir créé un alias de compte, utilisez l'URL suivante : https://your_account_alias.signin.aws.amazon.com/console/ Pour contrôler le lien de connexion des utilisateurs IAM de votre compte, ouvrez la console IAM et vérifiez le lien sous AWS Account Alias sur le tableau de bord. Déterminer les exigences La fondation de base d'Amazon RDS est l'instance de base de données. Il s'agit de l'instance de base de données dans laquelle vous pouvez créer vos bases de données. Une instance de base de données fournit une adresse réseau appelée point de terminaison. Vos applications se connectent au point de terminaison exposé par l'instance de base de données lorsqu'elles doivent se connecter aux bases de données créées dans cette instance de base de données. Les informations que vous spécifiez lorsque vous créez l'instance de base de données permettent de contrôler les éléments de la configuration, tels que le stockage, la mémoire, le moteur et la version de la base de données, la configuration réseau, la sécurité et les périodes de maintenance. Vous devez connaître vos besoins en termes d'instance de base de données et de réseau avant de créer un groupe de sécurité et une instance de base de données. Vous devez notamment connaître les éléments suivants : • Quelles sont les exigences de votre application ou de votre service en termes de mémoire et de processeur ? Vous utiliserez ces paramètres pour déterminer la classe d'instance de base de données à utiliser lors de la création de votre instance de base de données. Pour obtenir les caractéristiques des classes des instances de base de données, consultez Classe d'instance de base de données (p. 44). • Vous devez savoir si votre instance de base de données va être dans un réseau Virtual Private Cloud, puis déterminer les règles de groupe de sécurité dont vous aurez besoin (vous les utiliserez au cours de l'étape suivante). Les règles de groupe de sécurité dont vous avez besoin pour vous connecter à une instance de base de données varient en fonction de l'emplacement de cette dernière : dans un VPC par défaut, dans un VPC défini par l'utilisateur ou en dehors d'un VPC. Si vous êtes un nouvel utilisateur ou si vous avez commencé à utiliser Amazon RDS au cours de l'année écoulée, il est probable que votre compte utilise un VPC par défaut. Pour savoir si votre compte possède un VPC par défaut dans une région, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic (p. 498). La liste suivante décrit les règles pour chaque option de VPC : • VPC par défaut — Si votre compte AWS possède un VPC par défaut dans la région, ce VPC est configuré pour prendre en charge des instances de base de données. Si vous spécifiez le VPC par défaut lorsque vous créez l'instance de base de données : • Vous devez créer un groupe de sécurité VPC autorisant les connexions de l'application ou du service à l'instance de base de données Amazon RDS contenant la base de données. Pour plus d'informations, consultez Etape 4 : Création d'un groupe de sécurité VPC (p. 503). • Vous devez spécifier le groupe de sous-réseaux DB par défaut. S'il s'agit de la première instance de base de données que vous créez dans la région, Amazon RDS créé le groupe de sous-réseau DB par défaut au moment de la création de l'instance de base de données. • VPC défini par l'utilisateur — Si vous souhaitez spécifier un VPC défini par l'utilisateur lorsque vous créez une instance de base de données : • Vous devez créer un groupe de sécurité VPC autorisant les connexions de l'application ou du service à l'instance de base de données Amazon RDS contenant la base de données. Pour plus d'informations, consultez Etape 4 : Création d'un groupe de sécurité VPC (p. 503). • Le VPC doit respecter certaines exigences afin d'héberger des instances de base de données. Il doit notamment comporter au moins deux sous-réseaux, dans deux zones de disponibilités distinctes. Pour plus d'informations, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). API Version 2014-10-31 9 Amazon Relational Database Service Guide de l'utilisateur Créer un groupe de sécurité • Vous devez spécifier un groupe de sous-réseaux DB définissant les sous-réseaux de ce VPC pouvant être utilisés par l'instance de base de données. Pour plus d'informations, consultez la section Groupe de sous-réseau DB de Utilisation d'une instance de base de données dans un VPC (p. 499). • Aucun VPC — Si votre compte AWS ne possède pas de VPC par défaut et que vous ne spécifiez pas de VPC défini par l'utilisateur : • Vous devez indiquer un groupe de sécurité DB autorisant les connexions à partir d'appareils et d'instances Amazon RDS exécutant les applications ou les utilitaires qui accéderont aux bases de données dans l'instance de base de données. Pour plus d'informations, consultez Utilisation de groupes de sécurité DB (p. 479). • Avez-vous besoin que le basculement soit pris en charge ? Dans Amazon RDS, un réplica d'attente de votre instance de base de données pouvant être utilisé en cas de basculement s'appelle un déploiement sur plusieurs zones de disponibilité (déploiement multi-AZ). Si vous possédez des charges de travail de production, vous devez utiliser un déploiement multi-AZ. Dans les cas de tests uniquement, une instance peut suffire, sans avoir recours à un déploiement multi-AZ. • Votre compte AWS comporte-t-il des stratégies accordant les autorisations nécessaires pour exécuter les opérations Amazon RDS ? Si vous vous connectez à AWS à l'aide des informations d'identification IAM, votre compte IAM doit disposer des stratégies IAM qui accordent les autorisations requises pour exécuter les opérations Amazon RDS. Pour plus d'informations, consultez Utilisation d'AWS Identity and Access Management (IAM) pour gérer l'accès aux ressources Amazon RDS (p. 70). • Sur quel port TCP/IP votre base de données écoute-t-elle ? Dans certaines entreprises, le pare-feu peut bloquer les connexions vers le port par défaut de votre moteur de base de données. Si le pare-feu de votre entreprise bloque le port par défaut, choisissez un autre port pour la nouvelle instance DB. Notez que lorsque vous créez une instance DB qui écoute sur un port spécifié par vos soins, vous ne pouvez pas modifier le port pour l'instance DB. • Dans quelle région souhaitez-vous créer votre base de données ? La proximité entre la base de données et l'application ou le service Web service permet de réduire la latence du réseau. • Quels sont vos besoins en termes de stockage ? Avez-vous besoin d'utiliser des IOPS provisionnées ? Amazon RDS propose deux types de stockage : le stockage à usage général (SSD) et le stockage IOPS provisionnés (IOPS, opérations d'entrée/sortie par seconde). Le stockage standard offre un stockage économique qui convient parfaitement aux applications avec des exigences en termes d'E/S modérées ou émises en rafales. Le stockage IOPS provisionnées est conçu pour satisfaire les besoins des charges de travail gourmandes en E/S, notamment les charges de travail de base de données qui sont sensibles aux performances de stockage et à l'homogénéité du débit d'E/S. Pour plus d'informations sur le stockage Amazon RDS, consultez Stockage pour Amazon RDS (p. 58). Lorsque vous disposez de toutes les informations nécessaires pour créer le groupe de sécurité et l'instance de base de données, passez à l'étape suivante. Créer un groupe de sécurité Les groupes de sécurité font office de pare-feu pour les instances de base de données associées, en contrôlant le trafic entrant et le trafic sortant au niveau de l'instance. Les instances de base de données sont créées par défaut avec un pare-feu qui empêche d'y accéder. Vous devez donc ajouter des règles à un groupe de sécurité qui vous permettent de vous connecter à votre instance de base de données. Utilisez les informations relatives au réseau et à la configuration déterminées lors de l'étape précédente pour créer les règles autorisant l'accès à votre instance de base de données. Le groupe de sécurité que vous devez créer sera un groupe de sécurité VPC ou un groupe de sécurité DB, selon que l'instance de base de données doit ou non se situer dans un réseau VPC. Si vous avez créé votre compte AWS après mars 2013, il est fort probable que vous disposiez d'un VPC par défaut et que votre instance de base de données soit créée dans ce VPC. Les instances de base de données dans un VPC nécessitent l'ajout de règles à un groupe de sécurité VPC afin d'autoriser l'accès à l'instance. API Version 2014-10-31 10 Amazon Relational Database Service Guide de l'utilisateur Créer un groupe de sécurité Par exemple, si l'une de vos applications doit accéder à une base de données de votre instance de base de données située dans un VPC, vous devez ajouter une règle TCP personnalisée qui spécifie la plage de ports et les adresses IP utilisées par l'application pour accéder à la base de données. Pour créer un groupe de sécurité VPC 1. Connectez-vous à AWS Management Console et ouvrez la console Amazon VPC à partir de l'adresse https://console.aws.amazon.com/vpc/. 2. 3. Dans le coin supérieur droit de AWS Management Console, sélectionnez la région dans laquelle vous souhaitez créer le groupe de sécurité VPC et l'instance de base de données. Dans la liste des ressources Amazon VPC de cette région, vous devez voir que vous possédez au moins un VPC et plusieurs sous-réseaux. Si ce n'est pas le cas, cela signifie que vous ne disposez pas de VPC par défaut dans cette région. Dans le volet de navigation, cliquez sur Security Groups. 4. Cliquez sur Create Security Group. 5. Dans la fenêtre Créer un groupe de sécurité, saisissez le nom et la description de votre groupe de sécurité. Sélectionnez le VPC dans lequel vous souhaitez créer votre instance de base de données. Cliquez sur Yes, Create. 6. Le groupe de sécurité VPC que vous avez créé doit encore être sélectionné. Le volet des détails situé en bas de la fenêtre de la console affiche les détails du groupe de sécurité, ainsi que des onglets pour utiliser les règles entrantes et sortantes. Cliquez sur l'onglet Inbound Rules. Sous l'onglet Inbound Rules, cliquez sur Edit. Sélectionnez Custom TCP Rule dans la liste Type. Saisissez votre plage de ports dans la zone de texte PortRange, puis entrez une valeur CIDR (plage d'adresses IP) dans la zone de texte Source. Si vous devez ajouter d'autres adresses IP ou plages de ports, cliquez sur Add another rule. Si nécessaire, vous pouvez utiliser l'onglet Outbound Rules pour ajouter des règles pour le trafic sortant. 7. 8. 9. 10. Lorsque vous avez terminé, cliquez sur Save. Vous utiliserez le groupe de sécurité VPC que vous venez de créer pour votre instance de base de données lors de sa création. Si votre instance de base de données n'est pas destinée à être située dans un VPC, consultez Utilisation de groupes de sécurité DB (p. 479) pour créer un groupe de sécurité DB à utiliser lors de la création de votre instance de base de données. Pour terminer, voici une dernière remarque sur les sous-réseaux VPC : Si vous utilisez un VPC par défaut, un groupe de sous-réseaux par défaut couvrant l'ensemble des sous-réseaux du VPC a déjà été créé pour vous. Lorsque vous utilisez l'assistant Launch a DB Instance pour créer une instance de base de données, vous pouvez sélectionner le VPC par défaut et utiliser default pour DB Subnet Group. Une fois que vous avez configuré vos exigences, vous pouvez les utiliser, ainsi que le groupe de sécurité que vous avez créé pour lancer une instance de base de données. Pour plus d'informations sur la création d'une instance de base de données, consultez le lien spécifique au moteur de base de données dans la liste suivante de la section Mise en route du Guide de l'utilisateur Amazon RDS : • Création d'une instance de base de données MySQL et connexion à une base de données sur une instance de base de données MySQL (p. 12) • Création d'une instance de base de données Oracle et connexion à une base de données sur une instance de base de données Oracle (p. 17) • Création d'une instance DB SQL Server et connexion à une base de données sur une instance DB SQL Server (p. 22) • Création d'une instance de base de données PostgreSQL et connexion à une base de données sur une instance de base de données PostgreSQL (p. 27) API Version 2014-10-31 11 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB MySQL et connexion à une base de données Getting Started with Amazon RDS Cette section illustre la manière de créer et de se connecter à une instance de base de données en utilisant Amazon RDS. Vous pouvez créer, ou lancer, une instance de base de données qui utilise MySQL, Oracle, PostgreSQL et Microsoft SQL Server. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. La création d'une instance de base de données et la connexion à une base de données sur une instance de base de données sont légèrement différentes pour chacun des moteurs de base de données. Choisissez le moteur de base de données ci-dessous que vous souhaitez utiliser pour obtenir des informations détaillées sur la création de l'instance de base de données, et la connexion à cette dernière. • Création d'une instance de base de données MySQL et connexion à une base de données sur une instance de base de données MySQL (p. 12) • Création d'une instance de base de données Oracle et connexion à une base de données sur une instance de base de données Oracle (p. 17) • Création d'une instance DB SQL Server et connexion à une base de données sur une instance DB SQL Server (p. 22) • Création d'une instance de base de données PostgreSQL et connexion à une base de données sur une instance de base de données PostgreSQL (p. 27) Une fois que vous avez assuré la création de votre instance de base de données, et la connexion à cette dernière, des instructions sont fournies pour vous aider à supprimer l'instance de base de données. Amazon RDS a commercialisé un nouveau moteur de base de données : . Ce moteur est actuellement disponible en version préliminaire et susceptible d'être modifié. Pour plus de détails sur la création et la connexion à un cluster DB , consultez Mise en route avec (p. 356). Création d'une instance de base de données MySQL et connexion à une base de données sur une instance de base de données MySQL La manière la plus simple de créer une instance DB consiste à utiliser la console Amazon RDS. Une fois que vous avez créé l'instance DB, vous pouvez utiliser des utilitaires MySQL standard tels que MySQL Workbench pour vous connecter à une base de données sur l'instance DB. API Version 2014-10-31 12 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données MySQL Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. Rubriques • Création d'une instance de base de données MySQL (p. 13) • Connexion à une base de données sur une instance de base de données exécutant le moteur de base de données MySQL (p. 16) • Suppression d'une instance de base de données (p. 16) Création d'une instance de base de données MySQL La composante de base d'Amazon RDS est l'instance de base de données. Il s'agit de l'environnement dans lequel vous exécuterez vos bases de données MySQL. Dans cet exemple, vous créez une instance de base de données exécutant le moteur de base de données MySQL appelé west2-mysql-instance1, avec une classe d'instance de base de données db.m1.small, 5 Go de stockage et des sauvegardes automatiques activées avec une période de conservation d'un jour. Pour créer une instance de base de données MySQL 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la console Amazon RDS, choisissez la région dans laquelle vous voulez créer l'instance de base de données. 3. 4. Dans le volet de navigation, cliquez sur Instances. Cliquez sur Lancement d'une instance DB. L'assistant Launch DB Instance Wizard s'ouvre sur la page Select Engine. 5. Sur la page Select Engine, cliquez sur l'icône MySQL puis sur Select pour le moteur de base de données MySQL. 6. Sur la page Specify DB Details, spécifiez les informations de votre instance de base de données. La table suivante affiche les paramètres pour un exemple d'instance de base de données. Lorsque les paramètres vous conviennent, cliquez sur Next. Pour ce paramètre... ...Faites ceci: License Model Sélectionnez l'option par défaut, general-public-license, pour utiliser le contrat de licence général pour MySQL. MySQL n'a qu'un seul modèle de licence. DB Engine Version Sélectionnez la version par défaut de MySQL. Veuillez noter qu'Amazon RDS prend en charge plusieurs versions de MySQL dans certaines régions. Classe d'instance de base de données Sélectionnez db.m1.small pour choisir une configuration offrant les caractéristiques suivantes : 1,7 Go de mémoire, 1 ECU (1 mémoire à tores magnétiques virtuelle avec 1 ECU), une plateforme 64 bits et une capacité E/S modérée. Déploiement Multi-AZ Sélectionnez No pour créer votre instance DB dans une zone de disponibilité unique. API Version 2014-10-31 13 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données MySQL 7. Pour ce paramètre... ...Faites ceci: Allocated Storage Saisissez 5 pour allouer 5 Go de stockage pour votre base de données. Dans certains cas, allouer une quantité de stockage pour votre instance de base de données supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Fonctions d'Amazon Relational Database Service. Storage Type Sélectionnez le type de stockage Magnetic. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données qui est unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, comme suit : west2mysql-instance1. Master Username Saisissez un nom en utilisant des caractères alphanumériques que vous utiliserez comme le nom utilisateur maître pour vous connecter sur votre instance DB. Il s'agira du nom utilisateur que vous utiliserez pour vous connecter à votre base de données sur l'instance DB pour la première fois. Master Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 16 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur maître. Il s'agira du mot de passe que vous associerez au nom utilisateur employé pour vous connecter à votre base de données. Tapez ensuite à nouveau le mot de passe dans la zone de texte Confirm Password. Dans la page Configure Advanced Settings, fournissez des informations supplémentaires dont RDS a besoin pour lancer l'instance de base de données MySQL. La table affiche les paramètres pour un exemple d'instance de base de données. Spécifiez vos informations d'instance de base de données, puis cliquez sur Launch DB Instance. Pour ce paramètre... ...Faites ceci: VPC Sélectionnez le nom du Virtual Private Cloud (VPC) qui hébergera votre instance de base de données MySQL. Si votre instance de base de données ne va pas être hébergée dans un VPC, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Zone de disponibilité Déterminez si vous voulez spécifier une zone de disponibilité particulière. Si vous avez sélectionné Yes pour le paramètre Multi-AZ Deployment sur la page précédente, vous n'aurez ici aucune option. Pour plus d'informations sur les zones de disponibilité, consultez Régions et Zones de disponibilité (p. 49). API Version 2014-10-31 14 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données MySQL Pour ce paramètre... ...Faites ceci: DB Security Groups Sélectionnez le groupe de sécurité que vous voulez utiliser avec cette instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Utilisation de groupes de sécurité DB (p. 479). Database Name Saisissez un nom de base de données comprenant entre 1 et 64 caractères alphanumériques. Si vous ne fournissez pas un nom, Amazon RDS ne créera pas automatiquement une base de données sur l'instance de base de données que vous créez. Database Port Conservez la valeur 3306 par défaut, sauf si vous avez un port spécifique via lequel vous souhaitez accéder à la base de données. Par défaut, les installations MySQL adoptent le port 3306. Important Vous ne pouvez pas modifier le port lorsque vous créez l'instance de base de données. Il est donc très important que vous déterminiez le port qu'il convient d'utiliser pour accéder à l'instance de base de données. Groupe de paramètres DB Conservez la valeur par défaut de default.mysql5.6, sauf si vous avez créé votre propre groupe de paramètres DB. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez la valeur par défaut default:mysql5.6 car ce groupe d'options est utilisé avec la version MySQL que vous avez sélectionnée sur la page précédente. Enable Encryption Sélectionnez Yes pour activer le chiffrement au repos pour cette instance de base de données. Pour plus d'informations, consultez Chiffrement des ressources Amazon RDS (p. 88). Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. A des fins de test, vous pouvez définir cette valeur sur 1. Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. API Version 2014-10-31 15 Amazon Relational Database Service Guide de l'utilisateur Connexion à une base de données sur une instance de base de données exécutant MySQL 8. Sur la console RDS, la nouvelle instance de base de données s'affiche dans la liste des instances de base de données. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à une base de données l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut avoir besoin de plusieurs minutes avant de devenir disponible. Connexion à une base de données sur une instance de base de données exécutant le moteur de base de données MySQL Une fois qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à une base de données sur l'instance de base de données. Dans cet exemple, vous vous connectez à une base de données sur une instance de base de données MySQL en utilisant des commandes de surveillance MySQL. Une application basée sur la GUI que vous pouvez utiliser pour la connexion est MySQL Workbench. Pour plus d'informations, accédez à la page Download MySQL Workbench. Pour plus d'informations sur l'utilisation de MySQL, consultez la documentation MySQL. Pour vous connecter à une base de données sur une instance de base de données en utilisant la surveillance MySQL • Saisissez la commande suivante à une invite de commande sur un ordinateur client afin de vous connecter à une base de données sur une instance de base de données MySQL en utilisant le moniteur MySQL. Remplacez le nom DNS de votre instance de base de données pour <endpoint>, le nom utilisateur principal que vous avez utilisé pour <mymasteruser> et le mot de passe principal que vous avez utilisé pour <password>. PROMPT> mysql -h <endpoint> -P 3306 -u <mymasteruser> -p <password> Vous verrez des résultats similaires à ce qui suit. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.1.32-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Suppression d'une instance de base de données Une fois que vous êtes connecté à l'exemple d'instance de base de données que vous avez créé, vous devez supprimer l'instance de base de données afin qu'elle ne vous soit plus facturée. Pour supprimer une instance de base de données sans snapshot DB final 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans la liste Instances DB, cochez la case à côté de l'instance de base de données que vous voulez supprimer. API Version 2014-10-31 16 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB Oracle et connexion à une base de données 3. Cliquez sur Instance Actions, puis sélectionnez Delete dans le menu déroulant. 4. Sélectionnez No dans la zone de liste déroulante Create final Snapshot?. 5. Cliquez sur Yes, Delete. Création d'une instance de base de données Oracle et connexion à une base de données sur une instance de base de données Oracle La manière la plus simple de créer une instance DB Oracle consiste à utiliser la console RDS. Une fois que vous avez créé l'instance DB, vous pouvez utiliser des utilitaires de client Oracle standard tels que SQL Developer pour vous connecter à l'instance. Dans cet exemple, vous créez une instance DB exécutant le moteur de base de données Oracle appelé west2-oracle1, avec une classe d'instance DB db.m1.small, 10 Go de stockage et des sauvegardes automatiques activées avec une période de conservation d'un jour. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance DB ou de vous y connecter. Rubriques • Création d'une instance de base de données exécutant le moteur de base de données Oracle (p. 17) • Connexion à une instance de base de données exécutant le moteur de base de données Oracle (p. 21) • Suppression d'une instance de base de données (p. 21) Création d'une instance de base de données exécutant le moteur de base de données Oracle Pour lancer une instance DB Oracle 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la console Amazon RDS, choisissez la région dans laquelle vous voulez créer l'instance de base de données. 3. Dans le volet de navigation, cliquez sur Instances DB. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Dans la fenêtre Launch DB Instance Wizard, cliquez sur l'icône Oracle puis sur Select pour la version Oracle que vous souhaitez utiliser. 6. Dans la page Production?, vous êtes invité à indiquer si vous envisagez d'utiliser l'instance DB que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Cliquez sur Next pour continuer. API Version 2014-10-31 17 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB exécutant Oracle 7. 8. Sur la page Specify DB Details, spécifiez les informations de votre instance de base de données. La table suivante affiche les paramètres pour un exemple d'instance de base de données. Lorsque vous avez terminé, cliquez sur Next. Pour ce paramètre... ...Faites ceci: License Model Sélectionnez bring-your-own-license pour fournir votre propre licence pour utiliser Oracle. Certaines régions prennent en charge des options de licence supplémentaires pour Oracle. DB Engine Version Sélectionnez la version par défaut d'Oracle. Classe d'instance de base de données Sélectionnez db.m3.medium pour choisir une configuration offrant les caractéristiques suivantes : 1,7 Go de mémoire, 1 ECU (1 mémoire à tores magnétiques virtuelle avec 1 ECU), une plateforme 64 bits et une capacité E/S modérée. Déploiement Multi-AZ Sélectionnez No pour créer votre instance DB dans une zone de disponibilité unique. Allocated Storage Saisissez 10 pour allouer 10 Go de stockage pour votre base de données. Dans certains cas, allouer une quantité de stockage pour votre instance DB supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Fonctions d'Amazon Relational Database Service. Storage Type Sélectionnez le type de stockage Magnetic. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données qui est unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, comme suit : oracle-unstance1. Master User Name Saisissez un nom que vous utiliserez comme le nom utilisateur principal pour vous connecter à votre instance de base de données avec tous les privilèges de base de données. Ce compte utilisateur est utilisé pour se connecter à l'instance de base de données et bénéficie du rôle « DBA ». Master User Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 30 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur maître, puis tapez le mot de passe à nouveau dans la zone de texte Confirm Password. Dans la page Configure Advanced Settings, fournissez des informations supplémentaires dont RDS a besoin pour lancer l'instance DB Oracle. La table affiche les paramètres pour un exemple d'instance de base de données. Spécifiez vos informations d'instance de base de données, puis cliquez sur Launch DB Instance. API Version 2014-10-31 18 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB exécutant Oracle Pour ce paramètre... ...Faites ceci: VPC Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Si vous créez une instance DB sur la plateforme E2-Classic précédente, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). DB Subnet Group Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez default, qui correspondra au groupe de sous-réseaux DB par défaut qui a été créé pour votre compte. Si vous créez une instance de base de données sur la plateforme E2Classic précédente et que vous souhaitez que votre instance de base de données soit dans un VPC spécifique, sélectionnez le groupe de sous-réseaux DB que vous avez créé pour ce VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Publicly Accessible Sélectionnez Oui pour associer une adresse IP publique à l'instance de base de données, ce qui signifie qu'elle sera accessible en dehors du réseau VPC. Sinon, sélectionnez Non pour que l'instance de base de données soit accessible uniquement de l'intérieur du réseau VPC. Pour plus d'informations sur la manière de masquer les instances DB d'un accès public, consultez Masquer une instance DB dans un VPC depuis Internet. Zone de disponibilité Utilisez la valeur par défaut No Preference. VPC Security Group Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Si vous avez créé votre propre groupe de sécurité VPC, sélectionnez le groupe de sécurité VPC créé précédemment. Database Name Saisissez un nom pour votre base de données commençant par une lettre et contenant jusqu'à 8 caractères alphanumériques. Si vous ne fournissez pas un nom, Amazon RDS ne créera pas une base de données sur l'instance de base de données que vous créez. Le nom de base de données par défaut est ORCL. API Version 2014-10-31 19 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB exécutant Oracle Pour ce paramètre... ...Faites ceci: Database Port Utilisez la valeur 1521 par défaut, sauf si vous avez un port spécifique via lequel vous souhaitez accéder à la base de données. Par défaut, les installations Oracle utilisent le port 1521, mais certains pare-feu bloquent ce port par défaut. Si vous avez un doute, demandez à votre administrateur système quel port vous devez utiliser. Important Vous ne pouvez pas modifier le port lorsque vous créez l'instance de base de données. Il est donc très important que vous déterminiez le port qu'il convient d'utiliser pour accéder à l'instance de base de données. 9. Parameter Group Utilisez la valeur par défaut de default.oracle-ee-11.2. Option Group Sélectionnez la valeur par défaut de default:oracleee-11-2. Character Set Name Sélectionnez la valeur par défaut de AL32UTF8 pour le jeu de caractères universel UTF-8 Unicode 5.0. Veuillez noter que vous ne pouvez pas modifier le jeu de caractères après que l'instance DB a été créée. Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. A des fins de test, vous pouvez définir cette valeur sur 1. Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. Sur la dernière page de l'assistant, cliquez sur Close. 10. Sur la console RDS, la nouvelle instance DB s'affiche dans la liste des instances DB. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut être disponible au terme de plusieurs minutes. API Version 2014-10-31 20 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance de base de données exécutant Oracle Connexion à une instance de base de données exécutant le moteur de base de données Oracle Après qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à l'instance. Dans cet exemple, vous vous connectez à une instance de base de données exécutant le moteur de base de données Oracle en utilisant les outils de ligne de commande Oracle. Pour plus d'informations sur l'utilisation d'Oracle, consultez le site Web Oracle. Cet exemple utilise l'utilitaire de la ligne de commande sqlplus Oracle. Cet utilitaire fait partie de la distribution de logiciel Oracle. Pour télécharger une version autonome de cet utilitaire, consultez SQL*Plus User's Guide and Reference. 1. Ouvrez la console RDS, puis sélectionnez Instances dans la colonne de gauche pour afficher une liste de vos instances de base de données. 2. Sur la ligne pour votre instance de base de données Oracle, sélectionnez la flèche pour afficher le résumé des informations pour l'instance. 3. Le champ Endpoint contient une partie des informations de connexion pour votre instance de base de données. Le champ Endpoint comporte deux parties séparées par deux points (:). La partie avant les deux points correspond au nom de DNS pour l'instance, la partie après les deux points correspond au port. 4. Saisissez la commande suivante sur une ligne dans une invite de commande pour vous connecter à une instance de base de données à l'aide de l'utilitaire sqlplus. La valeur pour Host sera le nom DNS pour votre instance de base de données, la valeur pour Port correspondra au port que vous avez affecté à l'instance de base de données et la valeur pour le SID Oracle correspondra au nom de la base de données de l'instance de base de données que vous avez précisé lorsque vous avez créé l'instance de base de données, et non au nom de l'instance de base de données. PROMPT>sqlplus 'mydbusr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<endpoint>) (PORT=<port number>))(CONNECT_DATA=(SID=<database name>)))' Vous verrez des résultats similaires à ce qui suit. SQL*Plus: Release 11.1.0.7.0 - Production on Wed May 25 15:13:59 2011 SQL> Suppression d'une instance de base de données Une fois que vous êtes connecté à l'exemple d'instance de base de données que vous avez créé, vous devez supprimer l'instance de base de données afin qu'elle ne vous soit plus facturée. Pour supprimer une instance de base de données sans snapshot DB final 1. 2. 3. 4. 5. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. Dans la liste Instances DB, cochez la case à côté de l'instance de base de données que vous voulez supprimer. Cliquez sur Instance Actions, puis sélectionnez Delete dans le menu déroulant. Sélectionnez No dans la zone de liste déroulante Create final Snapshot?. Cliquez sur Yes, Delete. API Version 2014-10-31 21 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB SQL Server et connexion à une base de données Création d'une instance DB SQL Server et connexion à une base de données sur une instance DB SQL Server La manière la plus simple de créer une instance DB consiste à utiliser la console RDS. Une fois que vous avez créé l'instance DB, vous pouvez utiliser des utilitaires SQL Server standard pour vous connecter à l'instance DB, tels que Microsoft SQL Server Management Studio. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance DB ou de vous y connecter. Rubriques • Création d'une instance de base de données SQL Server (p. 22) • Connexion à une instance de base de données SQL Server utilisant SQL Server Management Studio (p. 25) • Dépannage d'une connexion dans une instance DB exécutant SQL Server (p. 26) • Suppression d'une instance DB (p. 27) Création d'une instance de base de données SQL Server Pour créer une instance de base de données exécutant le moteur de base de données Microsoft SQL Server 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la console Amazon RDS, choisissez la région dans laquelle vous voulez créer l'instance de base de données. 3. Dans le volet de navigation, cliquez sur Instances. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Dans la fenêtre Launch DB Instance Wizard, cliquez sur l'icône SQL Server puis sur Select pour la version SQL Server que vous souhaitez utiliser. 6. Dans la page Production?, vous êtes invité à indiquer si vous envisagez d'utiliser l'instance DB que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Cliquez sur Next pour continuer. 7. Sur la page Specify DB Details, spécifiez les informations de votre instance DB. La table suivante affiche les paramètres pour un exemple d'instance DB en utilisant SQL Server Standard Edition. Lorsque vous avez terminé, cliquez sur Next. Pour ce paramètre... ...Faites ceci: License Model Sélectionnez license-included pour utiliser le contrat de license général pour Microsoft SQL Server. API Version 2014-10-31 22 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données SQL Server Pour ce paramètre... ...Faites ceci: DB Engine Version Sélectionnez la version par défaut de SQL Server. Classe d'instance de base de données Sélectionnez db.m1.small pour choisir une configuration offrant les caractéristiques suivantes : 1,7 Go de mémoire, 1 ECU (1 mémoire à tores magnétiques virtuelle avec 1 ECU), une plateforme 64 bits et une capacité E/S modérée. Pour plus d'informations sur toutes les options de classe d'instance de base de données, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Sélectionnez No pour créer votre instance DB dans une zone de disponibilité unique. Allocated Storage Saisissez 200 pour allouer 200 Go de stockage pour votre base de données. Dans certains cas, allouer une quantité de stockage pour votre instance DB supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Fonctions d'Amazon Relational Database Service. Storage Type Sélectionnez le type de stockage Magnetic. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données. Il doit comporter 15 caractères alphanumériques maximum et être unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, par exemple sqlsv-instance1. Master Username Saisissez un nom que vous utiliserez comme le nom utilisateur principal pour vous connecter à votre instance DB avec tous les privilèges de base de données. Le nom utilisateur principal est une connexion d'authentification SQL Server qui est un membre des rôles serveur fixes processadmin, public et setupadmin. Master Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 128 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur maître, puis tapez-le à nouveau dans la zone de texte Confirm Password. 8. Dans la page Configure Advanced Settings, vous fournissez des informations supplémentaires dont Amazon RDS a besoin pour lancer l'instance DB SQL Server. La table affiche les paramètres pour un exemple d'instance de base de données. Spécifiez vos informations d'instance de base de données, puis cliquez sur Launch DB Instance. Pour ce paramètre... ...Faites ceci: VPC Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut indiqué. Si vous créez une instance de base API Version 2014-10-31 23 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données SQL Server Pour ce paramètre... ...Faites ceci: de données sur la plateforme E2-Classic précédente qui n'utilise pas de VPC, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). DB Subnet Group Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez default, qui correspondra au groupe de sous-réseaux DB par défaut qui a été créé pour votre compte. Si vous créez une instance de base de données sur la plateforme E2Classic précédente et que vous souhaitez que votre instance de base de données soit dans un VPC spécifique, sélectionnez le groupe de sous-réseaux DB que vous avez créé pour ce VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Publicly Accessible Sélectionnez Oui pour associer une adresse IP publique à l'instance de base de données, ce qui signifie qu'elle sera accessible en dehors du réseau VPC. Sinon, sélectionnez Non pour que l'instance de base de données soit accessible uniquement de l'intérieur du réseau VPC. Pour plus d'informations sur la manière de masquer les instances DB d'un accès public, consultez Masquer une instance DB dans un VPC depuis Internet. Zone de disponibilité Utilisez la valeur par défaut No Preference sauf si vous souhaitez spécifier une zone de disponibilité. VPC Security Group Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Dans le cas contraire, sélectionnez le groupe de sécurité VPC que vous avez créé au préalable. Database Port Conservez la valeur 1433 par défaut, sauf si vous avez un port spécifique via lequel vous souhaitez accéder à la base de données. Par défaut, les installations SQL Server utilisent le port 1433, mais dans certains cas, un pare-feu peut bloquer ce port. Si vous avez un doute, demandez à votre administrateur réseau quel port vous devez utiliser. Important Vous ne pouvez pas modifier le port lorsque vous créez l'instance de base de données. Il est donc très important que vous déterminiez le port qu'il convient d'utiliser pour accéder à l'instance de base de données. Parameter Group Utilisez la valeur par défaut, sauf si vous avez créé votre propre groupe de paramètres. Option Group Utilisez la valeur par défaut, sauf si vous avez créé votre propre groupe d'options. Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. A des fins de test, vous pouvez définir cette valeur sur 1. API Version 2014-10-31 24 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance de base de données SQL Server utilisant SQL Server Management Studio 9. Pour ce paramètre... ...Faites ceci: Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. Sur la dernière page de l'assistant, cliquez sur Close. 10. Sur la console RDS, la nouvelle instance DB s'affiche dans la liste des instances DB. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut être disponible au terme de plusieurs minutes. Connexion à une instance de base de données SQL Server utilisant SQL Server Management Studio Cet exemple utilise l'utilitaire Microsoft SQL Server Management Studio. Cet utilitaire fait partie de la distribution de logiciel Microsoft SQL Server. Pour télécharger une version autonome de cet utilitaire, consultez Microsoft Download Center - Microsoft SQL Server Management Studio Express. Pour vous connecter à une instance de base de données utilisant Microsoft SQL Server Management Studio 1. Trouvez le port et le nom DNS pour votre instance de base de données. a. Ouvrez la console RDS, puis sélectionnez Instances dans la colonne de gauche pour afficher une liste de vos instances de base de données. b. Sur la ligne pour votre instance de base de données SQL Server, sélectionnez la flèche pour afficher le résumé des informations pour l'instance. c. Le champ Endpoint comporte deux parties séparées par deux points (:). La partie avant les deux points correspond au nom de DNS pour l'instance, la partie après les deux points correspond au port. 2. Exécutez Microsoft SQL Server Management Studio. 3. La boîte de dialogue Connect to Server s'affiche. 4. Dans la zone de liste déroulante Server type:, sélectionnez Database Engine. 5. Dans le champ de texte Server name:, entrez ou collez le nom DNS de l'instance DB exécutant le moteur de base de données Microsoft SQL Server, suivi par une virgule puis le numéro de port de l'instance DB. Par exemple, le Server name pourrait être : sqlsv-instance1.cg034hpkmmjt.useast-1.rds.amazonaws.com,1433. 6. Dans la zone de liste déroulante Authentication, sélectionnez SQL Server Authentication. 7. Entrez le nom utilisateur maître pour l'instance DB dans la zone de texte Login:. 8. Entrez le mot de passe pour l'utilisateur maître dans la zone de texte Password:. API Version 2014-10-31 25 Amazon Relational Database Service Guide de l'utilisateur Dépannage d'une connexion dans une instance DB exécutant SQL Server 9. Cliquez sur le bouton Connect. Après quelques instants, Microsoft SQL Server Management Studio doit être connecté à votre instance de base de données. 10. Cliquez sur le bouton New Query en haut à gauche de la fenêtre SQL Server Management Studio. Une nouvelle fenêtre SQL Query s'ouvre. 11. Saisissez la requête SQL suivante : select @@VERSION 12. Cliquez sur ! Execute sur la barre d'outils SQL Enterprise Manager pour exécuter la requête. Vous devez voir une chaîne de version renvoyée depuis votre instance de base de données Microsoft SQL Server affichée dans la fenêtre de sortie. Dépannage d'une connexion dans une instance DB exécutant SQL Server Plusieurs causes communes sont associées à des problèmes lors d'une tentative de connexion à une instance DB en utilisant SQL Server Management Studio : • Les règles d'accès appliquées par votre pare-feu local et les adresses IP que vous avez autorisées à accéder à votre instance de base de données dans le groupe de sécurité de l'instance ne sont pas synchronisées. Si vous avez utilisé Microsoft SQL Server Management Studio et que vous avez suivi les paramètres spécifiés dans les étapes ci-dessus et que vous n'êtes pas en mesure de vous connecter, le problème est probablement dû aux règles de sortie ou d'entrée sur votre pare-feu. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). • Si vous ne pouvez pas envoyer ou recevoir de communications sur le port que vous avez spécifié lors de la création de l'instance de base de données, vous ne pourrez pas vous connecter à l'instance de base de données. Vérifiez auprès de votre administrateur réseau si l'utilisation du port que vous avez spécifié pour votre instance de base de données est autorisée pour les communications entrantes et sortantes. • Pour les nouvelles instances de base de données, vous devez attendre que le statut de l'instance de base de données soit « Available » avant de pouvoir vous connecter à l'instance. Selon la taille de votre instance de base de données, vous devez parfois patienter une vingtaine de minutes avant qu'elle soit disponible. Voici quelques éléments à vérifier si vous savez que vous pouvez envoyer et recevoir des communications via votre pare-feu pour le port que vous avez spécifié lorsque vous avez créé l'instance de base de données. • Could not open a connection to SQL Server - Microsoft SQL Server, Error: 53 - Vous devez inclure le numéro de port lorsque vous spécifiez le nom du serveur à l'aide de Microsoft SQL Server Management Studio. Par exemple, le nom de serveur pour une instance de base de données (numéro de port inclus) pourrait être : sqlsvr-pdz.c6c8mdfntzgv0.region.rds.amazonaws.com,1433. • No connection could be made because the target machine actively refused it - Microsoft SQL Server, Error: 10061 - Vous avez pu atteindre l'instance de base de données mais la connexion a été refusée. Cela est souvent dû au fait que le nom utilisateur et le mot de passe sont incorrects. API Version 2014-10-31 26 Amazon Relational Database Service Guide de l'utilisateur Suppression d'une instance DB Suppression d'une instance DB Une fois que vous êtes connecté à l'exemple d'instance de base de données que vous avez créé, vous devez supprimer l'instance de base de données afin qu'elle ne vous soit plus facturée. Pour supprimer une instance de base de données sans snapshot DB final 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans la liste Instances DB, cochez la case à côté de l'instance de base de données que vous voulez supprimer. 3. Cliquez sur Instance Actions, puis sélectionnez Delete dans le menu déroulant. 4. Sélectionnez No dans la zone de liste déroulante Create final Snapshot?. 5. Cliquez sur Yes, Delete. Création d'une instance de base de données PostgreSQL et connexion à une base de données sur une instance de base de données PostgreSQL La manière la plus simple de créer une instance de base de données consiste à utiliser la console RDS. Une fois que vous avez créé l'instance de base de données, vous pouvez utiliser des utilitaires de client SQL standard tels que pgAdmin pour vous connecter à l'instance de base de données. Dans cet exemple, vous créez une instance de base de données exécutant le moteur de base de données PostgreSQL appelé west2-postgres1, avec une classe d'instance de base de données db.m1.small, 10 Go de stockage et des sauvegardes automatiques activées avec une période de conservation d'un jour. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. Rubriques • Création d'une instance de base de données PostgreSQL (p. 27) • Connexion à une instance de base de données PostgreSQL (p. 31) • Suppression d'une instance de base de données (p. 32) Création d'une instance de base de données PostgreSQL Pour créer une instance de base de données exécutant le moteur de base de données PostgreSQL 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la AWS Management Console, sélectionnez la région dans laquelle vous voulez créer l'instance de base de données. API Version 2014-10-31 27 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données PostgreSQL 3. Dans le volet de navigation, cliquez sur Instances. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Sur la page Select Engine, cliquez sur l'icône PostgreSQL puis sur Select. 6. Ensuite, dans la page Production?, vous êtes invité à indiquer si vous envisagez d'utiliser l'instance de base de données que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Lorsque vous avez terminé, cliquez sur Next. 7. Sur la page Specify DB Details, spécifiez les informations de votre instance de base de données. Lorsque vous avez terminé, cliquez sur Next. Pour ce paramètre... ...Faites ceci: License Model PostgreSQL n'a qu'un seul modèle de licence. Sélectionnez la valeur par défaut, postgresql-license, pour utiliser le contrat de licence général pour PostgreSQL. DB Engine Version Sélectionnez la version de PostgreSQL que vous souhaitez utiliser. Classe d'instance de base de données Sélectionnez db.m1.small pour choisir une configuration offrant les caractéristiques suivantes : 1,7 Go de mémoire, 1 ECU (1 mémoire à tores magnétiques virtuelle avec 1 ECU), une plateforme 64 bits et une capacité E/S modérée. Pour plus d'informations sur toutes les options de classe d'instance de base de données, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Sélectionnez No pour créer votre instance DB dans une zone de disponibilité unique. Pour plus d'informations sur les zones de disponibilité multiples, consultez Régions et Zones de disponibilité (p. 49). Allocated Storage Saisissez 5 pour allouer 5 Go de stockage pour votre base de données. Dans certains cas, allouer une quantité de stockage pour votre instance de base de données supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Fonctions d'Amazon Relational Database Service. Storage Type Sélectionnez le type de stockage Magnetic. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données qui est unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, comme suit : postgreSQL-test. Master Username Saisissez un nom en utilisant des caractères alphanumériques que vous utiliserez comme le nom utilisateur maître pour vous connecter sur votre instance de base de données. Pour plus d'informations sur les API Version 2014-10-31 28 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données PostgreSQL Pour ce paramètre... ...Faites ceci: privilèges par défaut accordés au nom utilisateur maître, consultez Informations de planification PostgreSQL sur Amazon RDS (p. 315) Master Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 128 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe principal, puis tapez le mot de passe à nouveau dans la zone de texte Confirm Password. Enable Encryption 8. Sélectionnez pour activer le chiffrement au repos pour cette instance de base de données. Pour de plus amples informations, veuillez consulter Chiffrement des ressources Amazon RDS (p. 88). Dans la page Configure Advanced Settings, vous fournissez des informations supplémentaires dont RDS a besoin pour lancer l'instance de base de données PostgreSQL. La table affiche les paramètres pour un exemple d'instance de base de données. Spécifiez vos informations d'instance de base de données, puis cliquez sur Launch DB Instance. Pour ce paramètre... ...Faites ceci: VPC Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut indiqué. Si vous créez une instance de base de données sur la plateforme E2-Classic précédente qui n'utilise pas de VPC, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). DB Subnet Group Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez default, qui correspondra au groupe de sous-réseaux DB par défaut qui a été créé pour votre compte. Si vous créez une instance de base de données sur la plateforme E2Classic précédente et que vous souhaitez que votre instance de base de données soit dans un VPC spécifique, sélectionnez le groupe de sous-réseaux DB que vous avez créé pour ce VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Publicly Accessible Sélectionnez Oui pour associer une adresse IP publique à l'instance de base de données, ce qui signifie qu'elle sera accessible en dehors du réseau VPC. Sinon, sélectionnez Non pour que l'instance de base de données soit accessible uniquement de l'intérieur du réseau VPC. Pour plus d'informations sur la manière de masquer les instances DB d'un accès public, consultez Masquer une instance DB dans un VPC depuis Internet. Zone de disponibilité Utilisez la valeur par défaut No Preference sauf si vous souhaitez spécifier une zone de disponibilité. VPC Security Group Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Si vous avez créé un groupe de sécurité VPC, API Version 2014-10-31 29 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données PostgreSQL Pour ce paramètre... ...Faites ceci: sélectionnez le groupe de sécurité VPC que vous avez créé au préalable. Database Name Saisissez un nom pour votre base de données comprenant au maximum 63 caractères alphanumériques. Si vous ne fournissez pas un nom, la base de données « postgres » par défaut est créée. Database Port Spécifiez un port que vous souhaitez utiliser pour accéder à la base de données. Par défaut, les installations PostgreSQL adoptent le port 5432. Important Vous ne pouvez pas modifier le port lorsque vous créez l'instance de base de données. Il est donc très important que vous déterminiez le port qu'il convient d'utiliser pour accéder à l'instance de base de données. 9. Parameter Group Utilisez la valeur par défaut, sauf si vous avez créé votre propre groupe de paramètres. Option Group Utilisez la valeur par défaut, sauf si vous avez créé votre propre groupe d'options. Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. A des fins de test, vous pouvez définir cette valeur sur 1. Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. Sur la dernière page de l'assistant, cliquez sur Close. 10. Sur la console Amazon RDS, la nouvelle instance de base de données s'affiche dans la liste des instances de base de données. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut être disponible au terme de plusieurs minutes. API Version 2014-10-31 30 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance de base de données PostgreSQL Connexion à une instance de base de données PostgreSQL Après qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à l'instance. Il importe de noter que le groupe de sécurité que vous avez assigné à l'instance de base de données quand vous l'avez créée doit autoriser l'accès à l'instance de base de données. Si vous avez des difficultés à vous connecter à l'instance de base de données, le problème concerne le plus souvent les règles d'accès que vous avez définies dans le groupe de sécurité assigné à l'instance de base de données. Cette section illustre deux façons de se connecter à une instance de base de données PostgreSQL. Le premier exemple utilise pgAdmin, célèbre outil open source d'administration et de développement pour PostgreSQL. Vous pouvez télécharger et utiliser pgAdmin sans avoir une instance locale de PostgreSQL sur votre ordinateur client. Le second exemple utilise psql, utilitaire de ligne de commande qui fait partie d'une installation PostgreSQL. Pour utiliser psql, vous devez avoir installé PostgreSQL sur votre ordinateur client ou avoir installé le client psql sur votre ordinateur. Dans cet exemple, vous vous connectez à une instance de base de données PostgreSQL à l'aide de pgAdmin. Utilisation de pgAdmin pour se connecter à une instance de base de données PostgreSQL Pour vous connecter à une instance de base de données PostgreSQL avec pgAdmin 1. Lancez l'application pgAdmin sur votre ordinateur client. Vous pouvez installer pgAdmin depuis http:// www.pgadmin.org/. 2. Sélectionnez Add Server dans le menu File. 3. Dans la boîte de dialogue New Server Registration, entrez le point de terminaison de l'instance de base de données (par exemple, mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com) dans la zone de texte Host. N'incluez pas les deux points ou le numéro de port comme illustré dans Amazon RDS Console (mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com:5432). Entrez le port que vous avez attribué à l'instance de base de données dans la zone de texte Port. Entrez le nom utilisateur et le mot de passe utilisateur que vous avez entrés lorsque vous avez créé l'instance de base de données, respectivement dans les zones Username et Password. 4. Cliquez sur OK. 5. Dans Object browser, développez Server Groups. Sélectionnez le serveur (l'instance de base de données) que vous avez créé, puis sélectionnez le nom de la base de données. 6. Cliquez sur l'icône du plug-in, puis cliquez sur PSQL Console. La fenêtre de la commande psql s'ouvre pour la base de données par défaut que vous avez créée. 7. Utilisez la fenêtre de commande pour entrer les commandes SQL ou psql. Entrez \q pour fermer la fenêtre. Utilisation de psql pour se connecter à une instance de base de données PostgreSQL Si PostgreSQL est installé sur votre ordinateur client, vous pouvez utiliser une instance locale de psql pour vous connecter à une instance de base de données PostgreSQL. Pour vous connecter à votre instance de API Version 2014-10-31 31 Amazon Relational Database Service Guide de l'utilisateur Suppression d'une instance de base de données base de données PostgreSQL avec psql, vous devez fournir les informations sur l'hôte et les informations d'identification de l'accès. Le format suivant permet de se connecter à une instance de base de données PostgreSQL sur Amazon RDS : psql --host=<DB instance endpoint> --port=<port> --username=<master user name> --password --dbname=<database name> Par exemple, la commande suivante se connecte à une base de données appelée mypgdb sur une instance de base de données PostgreSQL appelée mypostgresql à l'aide d'informations d'identification fictives : psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 -username=awsuser --password --dbname=mypgdb Dépannage des problèmes de connexion Le problème qui intervient le plus fréquemment lorsque vous tentez de vous connecter à une base de données sur une instance de base de données concerne les règles d'accès du groupe de sécurité assigné à l'instance de base de données. Si vous avez utilisé le groupe de sécurité DB par défaut lorsque vous avez créé l'instance de base de données, il y a de bonnes chances que le groupe de sécurité ne dispose pas de règles qui vous autorisent à accéder à l'instance. Pour plus d'informations sur les groupes de sécurité Amazon RDS, consultez Groupes de sécurité Amazon RDS (p. 93). L'erreur la plus courante est could not connect to server: Connection timed out. Si vous recevez cette erreur, vérifiez que le nom d'hôte est le point de terminaison de l'instance de base de données et que le numéro de port est correct. Vérifiez que le groupe de sécurité affecté à l'instance de base de données possède les règles nécessaires pour autoriser l'accès via tout pare-feu que votre connexion peut traverser. Suppression d'une instance de base de données Une fois que vous êtes connecté à l'exemple d'instance de base de données que vous avez créé, vous devez supprimer l'instance de base de données afin qu'elle ne vous soit plus facturée. Pour supprimer une instance de base de données sans snapshot DB final 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans la liste Instances DB, cochez la case à côté de l'instance de base de données que vous voulez supprimer. Cliquez sur Instance Actions, puis sélectionnez Delete dans le menu déroulant. Sélectionnez No dans la zone de liste déroulante Create final Snapshot?. Cliquez sur Yes, Delete. 3. 4. 5. API Version 2014-10-31 32 Amazon Relational Database Service Guide de l'utilisateur Directives opérationnelles de base Amazon RDS Bonnes pratiques pour Amazon RDS Cette section résume les bonnes pratiques pour utiliser Amazon RDS. A mesure que de nouvelles bonnes pratiques seront identifiées, nous mettrons à jour cette section. Rubriques • Directives opérationnelles de base Amazon RDS (p. 33) • Recommandations RAM d'une instance de base de données (p. 34) • Bonnes pratiques de sécurité Amazon RDS (p. 34) • Utilisation des métriques pour identifier les problèmes de performances (p. 35) • Bonnes pratiques pour utiliser les moteurs de stockage MySQL (p. 39) • Bonnes pratiques pour utiliser les moteurs de stockage PostgreSQL (p. 39) • Bonnes pratiques pour l'utilisation de SQL Server (p. 41) • Vidéo de présentation des bonnes pratiques pour Amazon RDS (p. 42) Directives opérationnelles de base Amazon RDS Voici les directives opérationnelles de base que toute personne doit suivre lorsqu'elle utilise Amazon RDS. Notez que l'Accord de niveau de service Amazon RDS exige que vous suiviez ces directives : • Surveillez votre utilisation de la mémoire, du processeur et du stockage. Amazon CloudWatch peut être configuré pour vous informer quand vos habitudes d'utilisation changent ou quand vous arrivez au bout de votre capacité de développement, afin que vous puissiez maintenir les performances et la disponibilité du système. • Augmentez la capacité de votre instance de base de données lorsque vous atteignez la limite de stockage. Vous devrez disposer de capacités de mémoire et de stockage supplémentaires pour vous adapter aux hausses imprévues des besoins de vos applications. • Activez les sauvegardes automatiques et configurez-les pour qu'elles s'exécutent pendant la plus faible E/S par seconde en écriture de la journée. API Version 2014-10-31 33 Amazon Relational Database Service Guide de l'utilisateur Recommandations RAM d'une instance de base de données • Sur une instance DB MySQL, ne créez pas plus de 10 000 tables à l'aide des IOPS provisionnées ou 1 000 tables grâce au stockage standard. Un grand nombre de tables augmente considérablement le temps de récupération après un basculement ou un incident de la base de données. Si vous avez besoin de créer plus de tables que le nombre recommandé, configurez le paramètre innodb_file_per_table sur 0. Pour plus d'informations, consultez Utilisation des espaces de table InnoDB pour améliorer les temps de récupération sur incident (p. 152) et Utilisation des groupes de paramètres DB (p. 466). • Sur une instance DB MySQL, évitez que les tables de votre base de données deviennent trop volumineuses. Les contraintes sous-jacentes du système de fichiers limitent la taille maximum d'un fichier de table MySQL à 2 To. À la place, partitionnez vos tables volumineuses pour que la taille des fichiers soit inférieure à la limite de 2 To. Cette approche peut également améliorer les performances et le temps de récupération. Pour de plus amples informations, veuillez consulter Limites de taille des fichiers MySQL (p. 111). • Si la charge de travail de votre base de données exige plus d'E/S que vous avez provisionné, la récupération suite à un basculement ou un échec de la base de données est lente. Pour augmenter la capacité d'E/S d'une instance de base de données, procédez comme suit : • Migrez vers une classe d'instance DB avec une forte capacité d'E/S. • Convertissez un stockage standard vers un stockage d'IOPS provisionnées, et utilisez une classe d'instance DB optimisée pour les IOPS provisionnées. Pour plus d'informations sur les IOPS provisionnées, consultez Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63). • Si vous utilisez déjà un stockage d'IOPS provisionnées, allouez un débit supplémentaire. • Si votre application client met en cache les données DNS de vos instances DB, configurez une durée de vie inférieure à 30 secondes. Étant donné que l'adresse IP sous-jacente d'une instance DB peut changer suite à un basculement, la mise en cache des données DNS pour une durée prolongée peut entraîner des échecs de connexion si votre application tente de se connecter à une adresse IP qui n'est plus en service. • Testez le basculement pour votre instance de base de données afin de connaître la durée du processus pour votre cas d'utilisation et veiller à ce que l'application qui accède à votre instance de base de données puisse automatiquement se connecter à la nouvelle instance de base de données suite au basculement. Recommandations RAM d'une instance de base de données Une bonne pratique Amazon RDS en matière de performances consiste à attribuer suffisamment de RAM pour que votre ensemble de travail réside presque totalement en mémoire. Pour savoir si votre ensemble de travail est presque totalement en mémoire, vérifiez les métriques d'E/S par seconde en lecture (avec AWS CloudWatch) pendant que l'instance de base de données est en chargement. La valeur d'E/S par seconde en lecture doit être faible et stable. Si l'augmentation de la classe d'instance de base de données, pour une classe avec plus de RAM, entraîne une chute spectaculaire des E/S par seconde en lecture, cela signifie que votre ensemble de travail n'était pas encore totalement en mémoire. Continuez à augmenter jusqu'à ce que la valeur d'E/S par seconde en lecture ne chute plus de façon spectaculaire suite à une opération de dimensionnement, ou qu'elle soit réduite au minimum. Pour plus d'informations sur la supervision des métriques d'une instance de base de données, consultez Affichage des métriques d'instances de base de données (p. 507). Bonnes pratiques de sécurité Amazon RDS Utilisez des comptes IAM AWS pour contrôler l'accès aux actions d'API Amazon RDS, notamment celles qui créent, modifient ou suppriment les ressources RDS comme les instances de base de données, les API Version 2014-10-31 34 Amazon Relational Database Service Guide de l'utilisateur Utilisation des métriques pour identifier les problèmes de performances groupes de sécurité, les groupes d'options ou les groupes de paramètres, et celles qui exécutent des tâches administratives communes comme la sauvegarde et la restauration des instances de base de données ou la configuration du stockage d'IOPS provisionnées. • Assignez un compte IAM individuel à chaque personne qui gère des ressources RDS. N'utilisez pas d'informations d'identification racine AWS pour gérer des ressources Amazon RDS ; vous devez créer un utilisateur IAM pour chaque personne, y compris vous. • Accordez à chaque utilisateur un ensemble minimum d'autorisations requises pour exécuter ses tâches. • Utilisez des groupes IAM pour gérer efficacement des autorisations pour plusieurs utilisateurs. • Effectuer une rotation régulière des informations d'identification IAM. Pour plus d'informations sur IAM, consultez AWS Identity and Access Management. Pour plus d'informations sur les bonnes pratiques IAM, consultez Bonnes pratiques IAM. Utilisation des métriques pour identifier les problèmes de performances Pour identifier les problèmes de performances causés par des ressources insuffisantes et d'autres goulots d'étranglement courants, vous pouvez surveiller les métriques disponibles pour votre instance de base de données Amazon RDS. Consultation des métriques de performances Vous devez régulièrement surveiller les métriques de performances pour observer les valeurs moyennes, maximum et minimum pour différents intervalles de temps. De cette façon, vous pouvez identifier quand les performances se dégradent. Vous pouvez également configurer des alarmes Amazon CloudWatch pour des seuils de métriques spécifiques, afin d'être alerté lorsqu'ils sont atteints. Afin de résoudre les problèmes de performances, il est important de comprendre les performances de base du système. Lorsque vous configurez une nouvelle instance de base de données et l'exécutez avec une charge de travail typique, vous devez capturer les valeurs moyennes, maximum et minimum de toutes les métriques de performances à un nombre d'intervalles différents (par exemple, une heure, 24 heures, une semaine, deux semaines) pour vous faire une idée. Cela permet de comparer l'activité pendant les heures pleines et les heures creuses. Vous pouvez ensuite utiliser ces informations pour identifier quand les performances chutent sous les niveaux standard. Pour consulter les métriques de performances 1. Connectez-vous à AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le volet de navigation gauche, sélectionnez Instances, puis sélectionnez une instance de base de données. 3. Sélectionnez Show Monitoring. Les huit premières métriques de performances s'affichent. Les métriques affichent par défaut les informations pour le jour même. 4. Utilisez les boutons numérotés en haut à droite pour parcourir les autres métriques, ou sélectionnez Show All pour consulter toutes les métriques. 5. Sélectionnez une métrique de performances pour régler l'intervalle de temps afin de consulter d'autres données que celles du jour même. Vous pouvez changer les valeurs Statistic, Time Range et Period pour régler les informations affichées. Par exemple, pour consulter les valeurs maximales d'une métrique pour chaque jour des deux dernières semaines, configurez Statistic sur Maximum, Time Range sur Last 2 Weeks et Period sur Day. API Version 2014-10-31 35 Amazon Relational Database Service Guide de l'utilisateur Evaluation des métriques de performances Note Si vous changez les valeurs Statistic, Time Range et Period, elles seront modifiées pour toutes les métriques. Les valeurs mises à jour restent inchangées tout au long de votre session ou jusqu'à ce que vous les modifiiez de nouveau. Vous pouvez également consulter les métriques de performances à l'aide de l'interface de ligne de commande ou de l'API. Pour plus d'informations, consultez Affichage des métriques d'instances de base de données (p. 507). Pour configurer une alarme CloudWatch 1. Connectez-vous à AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le volet de navigation gauche, sélectionnez Instances, puis sélectionnez une instance de base de données. 3. Sélectionnez Show Monitoring, puis sélectionnez une métrique de performances pour afficher la vue agrandie. 4. Sélectionnez Create Alarm. 5. Sur la page Create Alarm, identifiez l'adresse e-mail qui doit recevoir l'alerte en sélectionnant une valeur dans la boîte de dialogue Send a notification to. Sélectionnez create topic à droite de la boîte de dialogue pour créer un nouveau destinataire de l'alarme, le cas échéant. 6. Dans la liste Whenever, sélectionnez la statistique de l'alarme à configurer. 7. Dans la boîte de dialogue of, sélectionnez la métrique de l'alarme. 8. Dans la boîte de dialogue Is et celle sans nom à sa droite, configurez le seuil de l'alarme, comme illustré ci-dessous : 9. Dans la boîte de dialogue For at least, entrez le nombre de fois que le seuil spécifié doit être atteint pour déclencher l'alarme. 10. Dans la boîte de dialogue consecutive period(s) of, sélectionnez la durée pendant laquelle le seuil doit avoir été atteint pour déclencher l'alarme. 11. Dans la boîte de dialogue Name of alarm, entrez un nom pour l'alarme. 12. Sélectionnez Create Alarm. La page des métriques de performances apparaît, et vous pouvez voir la nouvelle alarme dans la barre d'état CloudWatch Alarms. Si vous ne voyez pas la barre d'état, actualisez votre page. Evaluation des métriques de performances Une instance de base de données possède un nombre de catégories différentes de métriques, et la manière de déterminer les valeurs acceptables dépend de la métrique. Catégories de métriques Processeur • Utilisation du processeur : pourcentage de capacité de traitement informatique utilisée. Mémoire • Mémoire libérable : combien de RAM est utilisée par les instances de base de données, en octets. API Version 2014-10-31 36 Amazon Relational Database Service Guide de l'utilisateur Evaluation des métriques de performances • Usage du swap : combien d'espace de swap est utilisé par l'instance de base de données, en octets. Espace disque • Espace de stockage libre : combien d'espace disque est utilisé par l'instance DB, en octets. Opérations d'entrée/sortie • E/S par seconde en lecture, E/S par seconde en écriture : le nombre moyen d'opérations de lecture ou d'écriture sur disque par seconde. • Latence de lecture, latence d'écriture : la durée moyenne d'une opération de lecture ou d'écriture en millisecondes. • Débit de lecture, débit d'écriture : le nombre moyen d'octets lus depuis un disque ou écrits sur un disque par seconde. • Longueur de la file d'attente : le nombre d'opérations d'E/S qui attendent d'être écrites sur un disque ou lues depuis un disque. Trafic réseau • Débit réseau reçu, débit réseau transmis : la vitesse du trafic réseau vers et depuis l'instance de base de données en octets par seconde. Connexions de la base de données • Connexions DB : le nombre de sessions client qui sont connectées à l'instance de base de données. Pour des descriptions individuelles plus détaillées des mesures de performances disponibles, consultez Dimensions et métriques Amazon RDS. Pour avoir une idée des valeurs acceptables pour les métriques, consultez Valeurs acceptables pour les métriques. Valeurs acceptables pour les métriques En général, les valeurs acceptables pour les métriques de performances dépendent de vos données de référence et de l'activité de votre application. Enquêtez sur les écarts cohérents ou tendanciels de vos données de référence. Voici quelques conseils sur les types spécifiques de métriques : • Forte utilisation du processeur et de la RAM : des valeurs importantes de l'utilisation du processeur et de la RAM peuvent être appropriées, pourvu qu'elles soient attendues et conformes aux objectifs pour votre application (comme le débit ou la simultanéité). • Utilisation de l'espace disque : enquêtez sur l'utilisation de l'espace disque si l'espace utilisé est constamment égal ou supérieur à 85 pour cent de l'espace disque total. Voyez s'il est possible de supprimer des données de l'instance ou d'archiver des données sur un système différent pour libérer de l'espace. • Trafic réseau : pour le trafic réseau, discutez avec votre administrateur pour connaître le débit attendu pour votre domaine réseau et votre connexion Internet. Enquêtez sur le trafic réseau si le débit est constamment inférieur à vos attentes. • Connexions de la base de données : envisagez de limiter les connexions de la base de données si vous constatez un nombre important de connexions utilisateur conjointement avec une baisse des performances de l'instance et des temps de réponse. Le bon nombre de connexions utilisateur pour votre instance de base de données dépendra de votre classe d'instance et de la complexité des opérations exécutées. Vous pouvez déterminer le nombre de connexions de la base de données en associant votre instance de base de données à un groupe de paramètres dans lequel le paramètre API Version 2014-10-31 37 Amazon Relational Database Service Guide de l'utilisateur Réglage des requêtes Connexions utilisateur est configuré sur un autre chiffre que 0 (illimité). Vous pouvez utiliser un groupe de paramètres existant ou en créer un nouveau. Pour plus d'informations, consultez Utilisation des groupes de paramètres DB (p. 466). • Métriques IOPS : les valeurs attendues pour les métriques d'E/S par seconde dépendent de la spécification du disque et de la configuration du serveur, donc utilisez vos données de référence pour connaître les caractéristiques typiques. Enquêtez si les valeurs sont constamment différentes de vos données de référence. Pour de meilleures performances d'E/S par seconde, veillez à ce que votre ensemble de travail typique puisse être chargé en mémoire pour minimiser les opérations de lecture et écriture. Si vous rencontrez des problèmes avec les métriques de performances, l'une des premières choses à faire pour améliorer les choses est de régler les requêtes les plus utilisées et onéreuses pour réduire la pression exercée sur les ressources système. Pour plus d'informations, consultez Réglage des requêtes (p. 38) Si vos requêtes sont réglées et que le problème persiste, envisagez de mettre à jour votre Classe d'instance de base de données (p. 44) Amazon RDS vers une classe contenant plus de ressources (processeur, RAM, espace disque, bande passante réseau, capacité d'E/S) qui sont liées au problème que vous rencontrez. Réglage des requêtes L'un des meilleurs moyens d'améliorer les performances d'une instance de base de données est de régler les requêtes les plus communément utilisées et exigeantes en ressources pour les rendre moins onéreuses à exécuter. Réglage des requêtes MySQL Consultez Optimizing SELECT Statements dans la documentation MySQL pour plus d'informations sur l'écriture des requêtes afin d'améliorer les performances. Vous pouvez également consulter MySQL Performance Tuning and Optimization Resources pour des ressources supplémentaires de réglage des requêtes. Réglage des requêtes Oracle Consultez Database SQL Tuning Guide dans la documentation Oracle pour plus d'informations sur l'écriture et l'analyse des requêtes afin d'améliorer les performances. Réglage des requêtes SQL Server Consultez Analyzing a Query dans la documentation SQL Server afin d'améliorer les requêtes pour les instances de base de données SQL Server. Vous pouvez également utiliser les vues de gestion dynamique (DMV) liées à l'exécution, l'index et aux E/S décrites dans la documentation Dynamic Management Views and Functions pour résoudre vos problèmes de requêtes SQL Server. Un aspect courant du réglage de requête est la création d'index efficaces. Vous pouvez utiliser Assistant Paramétrage du moteur de base de données afin d'obtenir des améliorations potentielles d'index pour votre instance de base de données. Pour plus d'informations, consultez Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor (p. 303). Réglage des requêtes PostgreSQL Consultez Using EXPLAIN dans la documentation PostgreSQL pour savoir comment analyser un plan de requête. Vous pouvez utiliser ces informations pour modifier une requête ou des tables sous-jacentes afin d'améliorer les performances des requêtes. Vous pouvez également consulter Controlling the Planner with Explicit JOIN Clauses pour obtenir des astuces sur la façon dont vous pouvez spécifier des jointures dans votre requête afin d'améliorer les performances. API Version 2014-10-31 38 Amazon Relational Database Service Guide de l'utilisateur Bonnes pratiques pour utiliser les moteurs de stockage MySQL Bonnes pratiques pour utiliser les moteurs de stockage MySQL Les fonctions de restauration à un instant dans le passé et de restauration d'instantané Amazon RDS pour MySQL nécessitent un moteur de stockage tolérant aux incidents et sont prises en charge uniquement pour le moteur de stockage InnoDB. Même si MySQL prend en charge plusieurs moteurs de stockage avec diverses capacités, toutes ne sont pas optimisées pour la récupération de plantage et la durabilité des données. Par exemple, le moteur de stockage MyISAM ne prend pas en charge une récupération sur incident fiable et peut empêcher la restauration à un instant dans le passé ou la restauration de snapshot de fonctionner comme prévu. Cela peut entraîner la perte ou la corruption de données lors du redémarrage de MySQL après un incident. InnoDB est le moteur de stockage recommandé et pris en charge pour les instances DB MySQL sur Amazon RDS. Toutefois, les performances de MyISAM sont meilleures qu'InnoDB si vous avez besoin de capacités intenses de recherche en texte intégral. Si vous choisissez d'utiliser MyISAM avec Amazon RDS, suivre ces étapes décrites dans Sauvegardes automatiques avec moteurs de stockage MySQL non pris en charge (p. 55) peut être utile dans certaines situations pour la fonctionnalité de restauration d'instantané. Si vous souhaitez convertir les tables MyISAM existantes en tables InnoDB, vous pouvez utiliser le processus décrit dans la documentation MySQL. MyISAM et InnoDB ont des forces et des faiblesses différentes, vous devriez donc commencer par évaluer de façon exhaustive l'impact de ce basculement sur vos applications. De plus, Federated Storage Engine n'est pour l'instant pas pris en charge par Amazon RDS pour MySQL. Bonnes pratiques pour utiliser les moteurs de stockage PostgreSQL Les deux principaux domaines dans lesquels vous pouvez améliorer les performances avec PostgreSQL sur Amazon RDS sont lorsque vous chargez des données dans une instance de base de données ou utilisez la fonction autovacuum de PostgreSQL. Les sections suivantes couvrent certaines pratiques que nous recommandons pour ces domaines en particulier. Chargement des données dans une instance de base de données PostgreSQL Lors du chargement des données dans une instance de base de données PostgreSQL Amazon RDS, vous devez modifier les paramètres de l'instance et les valeurs du groupe de paramètres DB pour permettre l'importation la plus efficace possible des données dans votre instance de base de données. Modifiez les paramètres de l'instance de base de données comme suit : • Désactivez les sauvegardes de l'instance de base de données (affectez la valeur 0 à backup_retention) • Désactivez le mode multi-AZ Modifiez votre groupe de paramètres DB pour inclure les paramètres suivants. Vous devez tester les réglages des paramètres pour déterminer les réglages les plus efficaces pour votre instance de base de données : • Augmentez la valeur du paramètre maintenance_work_mem. Pour plus d'informations sur l'utilisation de la ressource PostgreSQL, consultez la documentation sur PostgreSQL. API Version 2014-10-31 39 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres de base de données fsync et full_page_writes • Augmentez la valeur des paramètres checkpoint_segments et checkpoint_timeout pour réduire le nombre d'écritures dans le journal wal. • Désactivez le paramètre synchronous_commit (ne désactivez pas FSYNC). • Désactivez le paramètre autovacuum de PostgreSQL. Utilisez les commandes pg_dump -Fc (compressé) ou pg_restore -j (parallèle) avec ces paramètres. Utilisation des paramètres de base de données fsync et full_page_writes Dans PostgreSQL 9.4.1 sur Amazon RDS, les paramètres de base de données fsync et full_page_writes ne sont pas modifiables. La désactivation des paramètres de base de données fsync et full_page_writes peut entraîner une altération des données, si bien que nous ne les avons activés pour vous. Nous recommandons que les clients utilisant d'autres versions du moteur de base de données PostgreSQL que la version 9.3 ne désactivent pas les paramètres fsync et full_page_writes. Utilisation de la fonction autovacuum de PostgreSQL La fonction autovacuum pour les bases de données PostgreSQL est une fonction que nous vous recommandons vivement d'utiliser pour maintenir l'état de votre instance de base de données PostgreSQL. Autovacuum automatise l'exécution de la commande VACUUM et ANALYZE ; son utilisation est exigée par PostgreSQL, pas imposée par Amazon RDS et essentielle pour garantir de bonnes performances. La fonction est activée par défaut pour toutes les nouvelles instances de base de données PostgreSQL Amazon RDS, et les paramètres de configuration associés sont configurés par défaut de manière appropriée. Votre administrateur de base de données doit connaître et comprendre cette opération de maintenance. Pour obtenir de la documentation PostgreSQL sur autovacuum, consultez http://www.postgresql.org/docs/ current/static/routine-vacuuming.html#AUTOVACUUM. Autovacuum n'est pas une opération « sans utilisation de ressources », mais elle fonctionne en arrière-plan et profite autant que possible aux opérations utilisateur. Lorsqu'elle est activée, la fonction autovacuum vérifie les tables ayant eu un grand nombre de tuples mis à jour ou supprimés. Elle protège également contre la perte de données très anciennes due au renvoi à la ligne de l'ID de transaction.. Autovacuum ne doit pas être considérée comme une opération aux frais généraux élevés qui peut être réduite pour améliorer les performances. Au contraire, les tables qui mettent à jour et suppriment très rapidement se détériorent vite avec le temps si la fonction autovacuum n'est pas exécutée. Important La non-exécution de la fonction autovacuum peut entraîner un arrêt obligatoire ultérieur pour effectuer une opération de nettoyage bien plus intrusive. Lorsqu'une instance de base de données PostgreSQL Amazon RDS devient indisponible en raison d'une faible utilisation d'autovacuum, la base de données PostgreSQL se ferme pour se protéger. C'est alors qu'Amazon RDS doit effectuer un nettoyage complet en mode utilisateur unique directement sur l'instance de base de données, ce qui peut entraîner un arrêt de plusieurs heures. Nous vous recommandons donc vivement de ne pas désactiver la fonction autovacuum, qui est activée par défaut. Les paramètres d'autovacuum déterminent sa fréquence et son intensité de travail. Les paramètres autovacuum_vacuum_threshold et autovacuum_vacuum_scale_factor déterminent le moment où la fonction autovacuum est exécutée. Les paramètres autovacuum_max_workers, autovacuum_nap_time, autovacuum_cost_limit et autovacuum_cost_delay déterminent l'intensité de travail d'autovacuum. Pour plus d'informations sur la fonction autovacuum, son exécution et les paramètres obligatoires, consultez la documentation sur PostgreSQL. API Version 2014-10-31 40 Amazon Relational Database Service Guide de l'utilisateur Bonnes pratiques pour l'utilisation de SQL Server La requête suivante indique le nombre de tuples « inactifs » dans une table appelée table1 : PROMPT> select relname, n_dead_tup, last_vacuum, last_autovacuum from pg_catalog.pg_stat_all_tables where n_dead_tup > 0 and relname = ’table1' order by n_dead_tup desc; Les résultats de la requête ressembleront à l'exemple ci-dessous : relname | n_dead_tup | last_vacuum | last_autovacuum ---------+------------+-------------+----------------tasks | 81430522 | | (1 row) La requête suivante affiche les processus vacuum sont qui actuellement actifs : tasks=# select pid, usename, waiting, state, query from pg_stat_activity where query like '%vacuum%'; Les résultats de la requête ressembleront à l'exemple ci-dessous : pid | usename | waiting | state | query -------+----------+---------+-------+----------------------------------------------------------------------------------------------26784 | rdsadmin | f | active | autovacuum: VACUUM public.tasks (to prevent wraparound) 24709 | rdsadmin | f | active | select pid, usename, waiting, state, query from pg_stat_activity where query like '%vacuum%'; (2 rows) Bonnes pratiques pour l'utilisation de SQL Server Les bonnes pratiques pour un déploiement multi-AZ avec une instance de base de données SQL Server sont les suivantes : • Utilisez les évènements DB Amazon RDS pour surveiller les basculements. Par exemple, vous pouvez être notifié par sms ou e-mail en cas de basculement d'une instance de base de données. Pour plus d'informations sur les évènements Amazon RDS, consultez Utilisation de la notification d'événement Amazon RDS (p. 509). • Si votre application met en cache des valeurs DNS, configurez la durée de vie à moins de 30 secondes. La configuration de la durée de vie est une bonne pratique en tant que tel en cas de basculement, car l'adresse IP peut changer et la valeur mise en cache peut ne plus être en service. • Nous vous recommandons de ne pas activer les modes suivants car ils désactivent la journalisation des transactions, qui est obligatoire pour le déploiement multi-AZ : • Mode de récupération simple • Mode hors ligne • Mode lecture seule API Version 2014-10-31 41 Amazon Relational Database Service Guide de l'utilisateur Vidéo de bonnes pratiques pour SQL Server Amazon RDS • Testez pour déterminer combien de temps votre instance de base de données met-elle pour basculer. Les délais de basculement peuvent varier en raison du type de base de données, la classe d'instance et le type de stockage utilisé. Vous devez également tester la capacité de votre application à continuer de fonctionner en cas de basculement. • Pour raccourcir les délais de basculement, vous devez procéder comme suit : • Veillez à avoir suffisamment d'IOPS provisionnées allouées pour votre charge de travail. Des E/S inadaptées peuvent augmenter les délais de basculement. La récupération d'une base de données exige des E/S. • Utilisez de plus petites transactions. La récupération de la base de données repose sur les transactions, donc si vous pouvez séparer d'importantes transactions en plusieurs transactions plus petites, vos délais de basculement devraient diminuer. • Pensez que lors d'un basculement, les temps de latence sont élevés. Dans le cadre d'un processus de basculement, Amazon RDS réplique automatiquement vos données vers une nouvelle instance de secours. Cette réplication signifie que de nouvelles données sont copiées dans deux instances de base de données différentes, il se peut donc qu'il y ait une certaine latence jusqu'à ce que l'instance de base de données de secours rattrape la nouvelle instance de base de données principale. • Déployez vos applications dans toutes les zones de disponibilité. Si une zone de disponibilité tombe en panne, vos applications qui se trouvent dans les autres zones de disponibilité seront toujours disponibles. Lorsque vous travaillez avec un déploiement multi-AZ de SQL Server, rappelez-vous qu'Amazon RDS met en miroir toutes les bases de données SQL Server sur votre instance. Si vous ne souhaitez pas que les bases de données soient mises en miroir, configurez une instance DB séparée qui n'utilise pas de déploiement multi-AZ pour ces bases de données. Vidéo de bonnes pratiques pour SQL Server Amazon RDS La conférence AWS re:Invent 2014 incluait une présentation sur les bonnes pratiques pour SQL Server sur Amazon RDS. Une vidéo de la présentation est disponible ici. Vidéo de présentation des bonnes pratiques pour Amazon RDS La conférence AWS re:Invent 2013 incluait une présentation sur les bonnes pratiques pour les applications de production exigeantes en performances. Une vidéo de la présentation est disponible ici. API Version 2014-10-31 42 Amazon Relational Database Service Guide de l'utilisateur Instances DB Amazon RDS Une instance de base de données est un environnement de base de données isolé s'exécutant dans le cloud. Elle constitue la composante de base d'Amazon RDS. Une instance de base de données peut comporter plusieurs bases de données créées par l'utilisateur et est accessible avec les mêmes applications et outils clients que ceux que vous utiliseriez pour accéder à une instance de base de données autonome. Les instances de base de données sont simples à créer et à modifier avec les outils de ligne de commande Amazon RDS, les API ou AWS Management RDS Console. Note Amazon RDS prend en charge l'accès aux bases de données à l'aide de toute application cliente SQL standard. Amazon RDS ne permet pas l'accès direct de l'hôte. Vous pouvez avoir jusqu'à 40 instances de base de données Amazon RDS. Sur ces 40, jusqu'à 10 peuvent être des instances de base de données Oracle ou SQL Server sous le modèle « Licence incluse ». L'ensemble des 40 instances de base de données peuvent être utilisées pour MySQL ou PostgreSQL. Vous pouvez également avoir 40 instances de base de données pour SQL Server ou Oracle dans le cadre du modèle de licence « BYOL » (avec apport de sa propre licence). Si votre application nécessite plusieurs instances de base de données, vous pouvez demander des instances de base de données supplémentaires à l'aide du formulaire disponible à l'adresse https://console.aws.amazon.com/support/ home#/case/create?issueType=service-limit-increase&limitType=service-code-rds-instances. Chaque instance de base de données possède un identifiant d'instance de base de données. Ce nom fourni par le client identifie de façon unique l'instance de base de données lors de l'interaction avec les API et les commandes Amazon RDS. L'identifiant d'instance de base de données doit être unique pour ce client dans une région AWS. Chaque instance de base de données prend en charge un moteur de base de données. Amazon RDS prend actuellement en charge les moteurs de base de données MySQL, PostgreSQL, Oracle et Microsoft SQL Server. Amazon RDS a commercialisé un nouveau moteur de base de données : . Le moteur de base de données prend en charge plusieurs instances DB dans un cluster DB. est actuellement disponible en préversion et susceptible d'être modifié. Pour plus d'informations, consultez sur Amazon RDS (p. 350). Lorsque vous créez une instance de base de données, certains moteurs de base de données nécessitent qu'un nom de base de données soit spécifié. Une instance de base de données peut héberger plusieurs API Version 2014-10-31 43 Amazon Relational Database Service Guide de l'utilisateur Classe d'instance de base de données bases de données ou une seule base de données Oracle avec plusieurs schémas. La valeur du nom de base de données dépend du moteur de base de données : • Pour le moteur de base de données MySQL, le nom de base de données correspond au nom d'une base de données hébergée dans votre instance de base de données. Les bases de données hébergées par la même instance de base de données doivent avoir un nom unique au sein de cette instance. • Pour le moteur de base de données Oracle, le nom de base de données est utilisé pour définir la valeur d'ORACLE_SID, qui doit être fournie lors de la connexion à l'instance Oracle RDS. • Pour le moteur de base de données Microsoft SQL Server, le nom de base de données n'est pas un paramètre pris en charge. • Pour le moteur de base de données PostgreSQL, le nom de base de données est le nom d'une base de données hébergée dans votre instance de base de données. Un nom de base de données n'est pas obligatoire lors de la création d'une instance de base de données. Les bases de données hébergées par la même instance de base de données doivent avoir un nom unique au sein de cette instance. Amazon RDS crée un compte utilisateur principal pour votre instance de base de données comme partie intégrante du processus de création. Cet utilisateur principal dispose des autorisations pour créer des bases de données et exécuter des opérations de création, suppression, sélection, mise à jour et insertion sur les tables créées par l'utilisateur principal. Vous devez définir le mot de passe de l'utilisateur principal quand vous créez une instance de base de données, mais vous pouvez le modifier à tout moment à l'aide des outils de ligne de commande Amazon RDS, des API ou la AWS Management Console. Vous pouvez aussi modifier le mot de passe de l'utilisateur principal et gérer les utilisateurs à l'aide des commandes SQL standard. Rubriques • Classe d'instance de base de données (p. 44) • Statut d'instance de base de données (p. 48) • Régions et Zones de disponibilité (p. 49) • Haute disponibilité (Multi-AZ) (p. 51) • Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53) • Sauvegardes d'instance de base de données (p. 53) • Réplication d'une instance de base de données (p. 56) Classe d'instance de base de données Les capacités de calcul et de mémoire d'une instance de base de données sont déterminées par sa classe d'instance de base de données. Vous pouvez modifier l'UC et la mémoire disponibles pour une instance DB en modifiant sa classe d'instance DB ; pour modifier la classe d'instance DB, vous devez modifier l'instance DB. Pour les informations de tarification des classes d'instance DB, accédez à la page sur la tarification Amazon RDS. La liste suivante décrit les types de classe d'instance Amazon RDS et le type d'instance Amazon EC2 utilisé : • Micro-instances (db.t1.micro). Instance appropriée pour les tests qui ne doit pas être utilisée pour les applications de production. L'utilisation d'une instance db.t1.micro avec Oracle est une configuration de test limitée. Nous vous recommandons d'utiliser les instances db.t1.micro avec Oracle pour tester la configuration et la connectivité uniquement ; les ressources système d'une instance db.t1.micro ne répondent pas à la configuration recommandée pour Oracle. Aucune option Oracle n'est prise en charge sur une instance db.t1.micro. Pour plus d'informations, consultez la rubrique Micro-instances dans la documentation Amazon EC2. • Standard – Génération actuelle (db.m3) – Instances de seconde génération qui offrent une plus grande capacité de calcul que les classes d'instance db.m1 de la première génération à un prix inférieur. API Version 2014-10-31 44 Amazon Relational Database Service Guide de l'utilisateur Classe d'instance de base de données • Mémoire optimisée – Génération actuelle (db.r3) – Instances de deuxième génération qui offrent une optimisation de la mémoire et une plus grande capacité de calcul que les classes d'instance db.m2 de la première génération à un prix inférieur. AWS fournit les classes d'instance db.r3 pour les instances de base de données MySQL 5.6, PostgreSQL et SQL Server. Les classes d'instance de base de données db.r3 ne sont pas disponibles pour les instances Oracle et elles ne sont pas disponibles dans les régions Amérique du Sud (São Paulo), Chine (Pékin) et AWS GovCloud (US). Certaines éditions SQL Server présentent des limitations avec les classes d'instance db.r3. SQL Server Express n'est pas pris en charge avec les classes d'instance db.r3 en raison de restrictions de licence Microsoft. SQL Server Standard et SQL Server Web se limitent aux classes d'instance de base de données db.r3.2xlarge et plus petites en raison des restrictions d'UC et de mémoire des éditions. Actuellement, les déploiements multi-AZ SQL Server avec les classes d'instance db.r3 ne sont disponibles que pour SQL Server Standard et SQL Server Enterprise. Les instances de base de données MySQL créées après le 23 avril 2014 peuvent basculer sur les classes d'instance db.r3 en modifiant l'instance de base de données, tout comme pour n'importe quelle autre modification. Les instances de base de données MySQL exécutant les versions MySQL 5.1 ou 5.5 et créées avant le 23 avril 2014 doivent d'abord procéder à une mise à niveau vers MySQL version 5.6. Pour plus d'informations sur la mise à niveau d'une instance de base de données MySQL, consultez Mise à niveau des versions de base de données pour une instance DB (p. 394). Pour plus d'informations, consultez Instances R3 dans la documentation Amazon EC2. • Capacité de transmission en rafales – Génération actuelle (db.t2) – Instances qui fournissent le niveau de performance de base avec la possibilité de transmission en rafales jusqu'à une utilisation intégrale de l'UC. Cette classe d'instance de base de données nécessite que l'instance de base de données soit dans un VPC. Actuellement, il n'est pas pris en charge dans la région AWS GovCloud (US) et pour les déploiements multi-AZ dans la région Amérique du Sud (São Paulo). Si vous avez une instance DB existante que vous souhaitez migrer vers la classe d'instance DB db.t2, notez que la classe d'instance DB db.t2 nécessite un VPC ; si votre instance DB actuelle ne se trouve pas dans un VPC, consultez Déplacement vers un VPC d'une instance de base de données n'appartenant pas à un VPC (p. 503)pour savoir comment déplacer une instance DB qui ne se trouve pas dans un VPC vers un VPC. Pour plus d'informations sur les instances T2 utilisées avec la classe d'instance DB db.t2, consultez Instances T2 dans la documentation Amazon EC2. Des instances capables de transmission en rafales (db.t2) sont disponibles pour les moteurs de base de données suivants : Moteur de base de Disponibilité données MySQL MySQL version 5.6 pris en charge Oracle Non pris en charge SQL Server • SQL Server Express prend en charge db.t2.micro, db.t2.small et db.t2.medium. • SQL Server Standard avec le BYOL prend en charge db.t2.small et db.t2.medium. SQL Server Standard avec licence incluse n'est pas pris en charge. • SQL Server Web prend en charge db.t2.small et db.t2.medium. • SQL Server Enterprise avec le BYOL prend en charge db.t2.small et db.t2.medium. • Les déploiements multi-AZ utilisant la mise en miroir SQL Server sont pris en charge pour SQL Server Standard et SQL Server Enterprise dans trois régions : USA Est (Virginie du Nord), USA Ouest (Oregon), UE (Irlande). PostgreSQL Toutes les versions prises en charge Non pris en charge API Version 2014-10-31 45 Amazon Relational Database Service Guide de l'utilisateur Classe d'instance de base de données Si vous avez une instance de base de données qui est prise en charge pour db.t2 mais ne se trouve pas dans un VPC, vous devez déplacer l'instance dans un VPC avant de procéder à la conversion vers la classe d'instance db.t2. Pour plus d'informations sur le déplacement d'une instance de base de données vers un VPC, consultez Déplacement vers un VPC d'une instance de base de données n'appartenant pas à un VPC (p. 503). • Mémoire élevée – Génération précédente (db.cr1) – Instances qui sont uniquement prises en charge pour les instances de base de données MySQL 5.6 et PostgreSQL et sont disponibles dans les régions USA Est (Virginie du Nord), USA Ouest (Oregon), UE (Irlande) et Asie-Pacifique (Tokyo). Cette classe d'instance de base de données, lorsqu'elle est utilisée avec MySQL 5.6 ou PostgreSQL et les IOPS provisionnés, peut réaliser jusqu'à 20 000 IOPS pour MySQL et 25 000 IOPS pour PostgreSQL. • Mémoire optimisée – Génération précédente (db.m2) – Instances à mémoire optimisée de la première génération. Pour plus d'informations, consultez Type d'instance dans la documentation Amazon EC2. • Standard – Génération précédente (db.m1) – Instances de la génération précédente à visée générale. Pour plus d'informations, consultez Type d'instance dans la documentation Amazon EC2. Le tableau suivant fournit les informations détaillées des classes instance de base de données Amazon RDS. Classe d'instance vCPU ECU Mémoire (Go) Optimisée pour EBS Performances réseau db.t1.micro 1 1 .615 Non Très faibles db.m1.small 1 1 1,7 Non Très faibles db.m3.medium 1 3 3,75 Non Modérées db.m3.large 2 6,5 7,5 Non Modérées db.m3.xlarge 4 13 15 500 Mbit/s Elevé db.m3.2xlarge 8 26 30 1 000 Mb/s Elevé db.r3.large 2 6,5 15 Non Modérées db.r3.xlarge 4 13 30,5 500 Mbit/s Modérées db.r3.2xlarge 8 26 61 1 000 Mb/s Elevé db.r3.4xlarge 16 52 122 2000 Mbit/s Elevé db.r3.8xlarge 32 104 244 Non 10 Gb/s db.t2.micro 1 1 1 Non Faible db.t2.small 1 1 2 Non Faible Micro-instances Standard – Génération actuelle Mémoire optimisée – Génération actuelle Capacité de transmission en rafales – Génération actuelle API Version 2014-10-31 46 Amazon Relational Database Service Guide de l'utilisateur Classe d'instance de base de données Classe d'instance vCPU ECU Mémoire (Go) Optimisée pour EBS Performances réseau db.t2.medium 2 2 4 Non Modérées db.m2.xlarge 2 6,5 17,1 Non Modérées db.m2.2xlarge 4 13 34,2 500 Mbit/s Modérées db.m2.4xlarge 8 26 68,4 1 000 Mb/s Elevé db.cr1.8xlarge 32 88 244 Non 10 Gb/s db.m1.medium 1 2 3,75 Non Modérées db.m1.large 2 4 7,5 500 Mbit/s Modérées db.m1.xlarge 4 8 15 1 000 Mb/s Elevé Mémoire optimisée – Génération précédente Standard – Génération précédente Note Les colonnes du tableau incluent les informations suivantes : • Processeur virtuel : un processeur virtuel, ou unité de traitement centrale virtuelle, est une unité de capacité que vous pouvez utiliser pour comparer les classes d'instance de base de données. Au lieu d'acheter ou de louer un processeur particulier pour l'utiliser pendant plusieurs mois ou plusieurs années, vous louez la capacité à l'heure. Notre but est de fournir une quantité constante de capacité CPU sans que le matériel sous-jacent ait une influence. • ECU : l'unité de calcul EC2 fournit la mesure relative de la puissance de traitement entière d'une instance Amazon EC2. Afin d'aider les développeurs à comparer les capacités d'UC entre les différentes classes d'instance, nous avons défini une unité de calcul EC2. La quantité de CPU allouée à une instance particulière est exprimée par ces unités de calcul EC2. Une unité de calcul EC2 fournit actuellement une capacité d'UC équivalente à un processeur 2007 Opteron ou 2007 Xeon 1,0 - 1,2 GHz. • Mémoire (Go) : spécifie la mémoire RAM, en gigaoctets (Go), allouée à l'instance de base de données. Notez qu'il existe souvent un ratio cohérent entre la mémoire et le processeur virtuel. Par exemple, la classe d'instance de base de données db.m1 a le même ratio mémoire/ processeur virtuel que la classe d'instance de base de données db.m3, mais les classes d'instance db.m3 offrent des performances meilleures et plus régulières que les instances db.m1 dans la plupart des cas d'utilisation. Les classes d'instance DB.m3 sont également moins onéreuses que les instances db.m1. • Une instance de base de données optimisée pour EBS utilise une pile de configuration optimisée et offre une capacité dédiée supplémentaire pour les E/S Amazon Elastic Block Store (Amazon EBS). Cette optimisation fournit les meilleures performances pour vos volumes Amazon EBS en réduisant les conflits entre les E/S Amazon EBS et le trafic restant de votre instance. Pour plus d'informations sur les instances optimisées pour Amazon EBS, consultez Amazon EBS–Optimized Instances dans la documentation Amazon EC2.– • Performances réseau : la vitesse du réseau par rapport aux autres classes d'instance de base de données. API Version 2014-10-31 47 Amazon Relational Database Service Guide de l'utilisateur Statut d'instance de base de données Statut d'instance de base de données Le statut d'une instance de base de données indique son état. Vous pouvez afficher le statut d'une instance de base de données à l'aide de la console RDS, de la commande rds-describe-db-instances de l'interface de ligne de commande ou l'action d'API DescribeDBInstances. Note Amazon RDS utilise également un autre statut appelé état de la maintenance, qui est affiché dans la colonne Maintenance de la console Amazon RDS. Cette valeur indique l'état de tout correctif de maintenance qui doit être appliqué à une instance de base de données. L'état de la maintenance est indépendant du statut de l'instance de base de données. Pour plus d'informations sur l'état de la maintenance, consultez Mise à niveau et maintenance des ressources Amazon RDS (p. 391). Statut d'instance de base de données Description available L'instance est saine et disponible. backing-up L'instance est en cours de sauvegarde. créer L'instance est en cours de création. L'instance n'est pas accessible pendant sa création. deleting L'instance est en cours de suppression. failed L'instance a échoué et Amazon RDS n'a pas pu la récupérer. Effectuez une restauration à un instant dans le passé sur la dernière heure de restauration de l'instance pour récupérer les données. inaccessible-encryptioncredentials La clé KMS utilisée pour chiffrer ou déchiffrer l'instance de base de données n'est pas accessible. incompatible-credentials Le nom utilisateur CloudHSM ou le mot de passe fourni est incorrect. Veuillez mettre à jour les informations d'identification CloudHSM pour l'instance de base de données. incompatible-network Amazon RDS tente une action de récupération sur une instance, mais n'y parvient pas, car l'état du VPC empêche l'exécution de l'action. Cette situation peut se produire si, par exemple, toutes les adresses IP disponibles d'un sous-réseau étaient en cours d'utilisation et qu'Amazon RDS n'a pas pu obtenir d'adresse IP pour l'instance de base de données. incompatible-option-group Amazon RDS a tenté d'appliquer une modification du groupe d'options, mais n'y est pas parvenu, et Amazon RDS n'a pas pu rétablir l'état antérieur du groupe options. Consultez la liste des événements récents de l'instance de base de données pour plus d'informations. Cette situation peut se produire si, par exemple, le groupe d'options contient une option telle que TDE et que l'instance de base de données ne comporte pas d'informations chiffrées. incompatible-parameters Amazon RDS n'a pas pu démarrer l'instance de base de données, car les paramètres spécifiés dans le groupe de paramètres de base de données de l'instance ne sont pas compatibles. Annulez les modifications des paramètres ou rendez-les compatibles avec l'instance pour rétablir l'accès à votre instance. Consultez la liste des événements récents de l'instance de base de données pour en savoir plus sur les paramètres incompatibles. API Version 2014-10-31 48 Amazon Relational Database Service Guide de l'utilisateur Régions et Zones de disponibilité Statut d'instance de base de données Description incompatible-restore Amazon RDS n'est pas en mesure d'effectuer une restauration à un instant donné dans le passé. Parmi les causes courantes de cet état figurent l'utilisation des tables temporaires ou des tables MyISAM. maintenance Amazon RDS applique une mise à jour de maintenance à l'instance DB. modifying L'instance est en cours de modification en raison d'une demande du client de modification de l'instance. rebooting L'instance est en cours de redémarrage en raison d'une demande du client ou d'un processus Amazon RDS nécessitant le redémarrage de l'instance. renaming L'instance est en cours d'être renommée en raison d'une demande du client pour la renommer. resetting-master-credentials Les informations d'identification principales de l'instance sont en cours de réinitialisation en raison d'une demande du client pour les réinitialiser. restore-error L'instance de base de données a rencontré une erreur lors de la restauration à un instant donné dans le passé ou à partir d'un instantané. storage-full L'instance a atteint son attribution de capacité de stockage. Il s'agit d'un état critique, qui doit être corrigé immédiatement ; vous devez agrandir votre stockage en modifiant l'instance de base de données. Définissez les alarmes CloudWatch pour vous prévenir lorsque l'espace de stockage se réduit, afin de ne pas vous heurter à cette situation. upgrading La version du moteur de base de données est en cours de mise à niveau. Régions et Zones de disponibilité Les ressources du cloud computing Amazon sont hébergées dans des installations de centres de données hautement disponible de différentes régions du monde (par exemple, Amérique du Nord, Europe et Asie). Chaque emplacement de centre de données est appelé région. Chaque région contient plusieurs emplacements distincts appelés zones de disponibilité. Chaque Zone de disponibilité est conçue pour être isolée des pannes dans d'autres Zones de disponibilité et pour fournir une connectivité réseau peu coûteuse et à faible latence vers d'autres zones de la même région. En lançant des instances dans des zones de disponibilité distinctes, vous pouvez protéger vos applications de la défaillance d'un seul emplacement. API Version 2014-10-31 49 Amazon Relational Database Service Guide de l'utilisateur Régions et Zones de disponibilité Il importe de se souvenir que chaque région est totalement indépendante. Toute activité Amazon RDS que vous initiez (par exemple, la création d'instances de base de données ou l'affichage des instances de base de données disponibles) s'exécute uniquement dans votre région actuelle par défaut. La région par défaut peut être modifiée dans la console en définissant la variable d'environnement EC2_REGION ou peut être remplacée à l'aide du paramètre --url avec l'interface de ligne de commande Pour plus d'informations, consultez Common Options for API Tools . Amazon RDS prend en charge une région AWS particulière appelée AWS GovCloud (US) et destinée à permettre aux clients et aux agences gouvernementales américains de déplacer des charges de travail plus sensibles vers le cloud en respectant leurs exigences de conformité et de réglementation spécifiques. Pour plus d'informations sur AWS GovCloud (US), consultez la AWS GovCloud (US) page d'accueil. Pour créer ou utiliser une instance de base de données Amazon RDS dans une région spécifique, utilisez le point de terminaison du service régional correspondant. Amazon RDS prend en charge les points de terminaison répertoriés dans le tableau suivant. Région Nom Point de terminaison Région USA Est (Virginie du N.) us-east-1 https://rds.us-east-1.amazonaws.com Région USA Est (Ohio) us-east-2 https://rds.us-east-2.amazonaws.com Région USA Ouest (Californie du Nord) us-west-1 https://rds.us-west-1.amazonaws.com Région USA Ouest (Oregon) us-west-2 https://rds.us-west-2.amazonaws.com Région Asie-Pacifique (Mumbai) ap-south-1 https://rds.ap-south-1.amazonaws.com Région Asie-Pacifique (Séoul) ap-northeast-2 https://rds.ap-northeast-2.amazonaws.com Région Asie-Pacifique (Singapour) ap-southeast-1 https://rds.ap-southeast-1.amazonaws.com Région Asie-Pacifique (Sydney) ap-southeast-2 https://rds.ap-southeast-2.amazonaws.com Région Asie-Pacifique (Tokyo) ap-northeast-1 https://rds.ap-northeast-1.amazonaws.com Région Canada (Centre) ca-central-1 https://rds.ca-central-1.amazonaws.com Région Chine (Pékin) cn-north-1 https://rds.cn-north-1.amazonaws.com.cn Région UE (Francfort) eu-central-1 https://rds.eu-central-1.amazonaws.com Région UE (Irlande) eu-west-1 https://rds.eu-west-1.amazonaws.com API Version 2014-10-31 50 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes Région Nom Point de terminaison Région UE (Londres) eu-west-2 https://rds.eu-west-2.amazonaws.com Région Amérique du Sud (São Paulo) sa-east-1 https://rds.sa-east-1.amazonaws.com AWS GovCloud (USA) us-gov-west-1 https://rds.us-gov-west-1.amazonaws.com Si vous ne spécifiez pas explicitement de point de terminaison, le point de terminaison USA Ouest (Oregon) est la valeur par défaut. Rubriques connexes • Régions et zones de disponibilité dans le Amazon Elastic Compute Cloud Guide de l'utilisateur. • Instances DB Amazon RDS (p. 43) Haute disponibilité (Multi-AZ) Amazon RDS fournit une haute disponibilité et une prise en charge du basculement pour les instances de base de données grâce aux déploiements Multi-AZ. Les déploiements Multi-AZ pour les instances Oracle, PostgreSQL et MySQL peuvent utiliser la technologie Amazon, alors que les instances de base de données SQL Server utilisent la mise en miroir SQL Server. Dans un déploiement Multi-AZ, Amazon RDS fournit et maintient automatiquement un réplica d'attente synchrone dans une autre zone de disponibilité. L'instance de base de données principale est répliquée de manière synchrone sur les Zones de disponibilité vers un réplica d'attente afin de fournir une redondance de données, d'éliminer les gels E/S et de minimiser les pics de latence pendant les sauvegardes du système. L'exécution d'une instance de base de données avec une haute disponibilité peut améliorer la disponibilité lors de la maintenance planifiée du système et contribuer à protéger vos bases de données contre toute défaillance d'une instance de base de données ou perturbation d'une zone de disponibilité. Pour plus d'informations sur les zones de disponibilité, consultez Régions et Zones de disponibilité (p. 49). Note La fonction de haute disponibilité n'est pas une solution de mise à l'échelle pour les scénarios en lecture seule ; vous ne pouvez pas utiliser un réplica de secours pour traiter le trafic en lecture. Pour traiter le trafic en lecture seule, vous devez utiliser un réplica en lecture. Pour plus d'informations, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). Lorsque vous utilisez le modèle de licence BYOL (avec apport de sa propre licence), vous devez avoir une licence pour l'instance principale et pour le réplica de secours. API Version 2014-10-31 51 Amazon Relational Database Service Guide de l'utilisateur Processus de basculement pour Amazon RDS A l'aide de la console RDS, vous pouvez créer un déploiement Multi-AZ en spécifiant simplement l'option Multi-AZ lors de la création d'une instance de base de données. Vous pouvez aussi utiliser la console pour convertir les instances de base de données existantes en déploiements Multi-AZ en modifiant l'instance de base de données et en spécifiant l'option Multi-AZ. La console RDS affiche la zone de disponibilité du réplica de secours, appelée zone de disponibilité secondaire. Vous pouvez également spécifier un déploiement multi-AZ à l'aide de l'interface de ligne de commande. Pour les déploiements multi-AZ SQL Server à l'aide de la mise en miroir SQL Server, vous spécifiez l'option dans un groupe d'options. Pour plus d'informations sur l'option SQL Server de mise en miroir, consultez Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir (p. 311). Utilisez la commande CLI RDS rds-describe-db-instances ou l'action API DescribeDBInstances pour afficher la zone de disponibilité du réplica de secours (appelé zone de disponibilité secondaire). La console RDS affiche la zone de disponibilité du réplica de secours (appelée zone de disponibilité secondaire), ou vous pouvez utiliser la commande rds-describe-db-instances ou l'action d'API DescribeDBInstances pour rechercher la zone de disponibilité secondaire. Lorsque vous utilisez le modèle de licence BYOL (avec apport de sa propre licence), vous devez avoir une licence pour l'instance principale et pour le réplica de secours. Les instances de base de données qui utilisent les déploiements Multi-AZ peuvent avoir une latence d'écriture et de validation accrue par rapport à un déploiement mono-AZ, en raison de la réplication de données synchrone qui se produit. Vous pouvez avoir une modification de la latence si votre déploiement bascule vers le réplica, même si AWS est conçue avec une connexion réseau à faible latence entre les zones de disponibilité. Pour les charges de travail de production, nous vous recommandons d'utiliser les IOPS provisionnées et les classes d'instance de base de données (m1.large et plus grandes) qui sont optimisées pour les IOPS provisionnées à des fins de performances rapides et régulières. Processus de basculement pour Amazon RDS En cas de panne prévue ou imprévue de votre instance de base de données, Amazon RDS bascule automatiquement sur un réplica de secours d'une autre zone de disponibilité si vous avez activé l'option Multi-AZ. Le temps nécessaire pour que le basculement se termine dépend de l'activité de la base de données et d'autres conditions au moment où l'instance de base de données principale est devenu indisponible. Les durées de basculement oscillent généralement entre 60 et 120 secondes. Cependant, les transactions importantes ou les processus de récupération longs peuvent augmenter le temps de basculement. Lorsque le basculement est terminé, un temps supplémentaire peut être nécessaire pour que l'interface utilisateur de la console RDS reflète la nouvelle zone de disponibilité. Le mécanisme de basculement modifie automatiquement l'enregistrement DNS de l'instance de base de données pour pointer vers l'instance de base de données en attente. Par conséquent, vous devrez rétablir toutes les connexions existantes à votre instance de base de données. En raison du fonctionnement du mécanisme Java de mise en cache du DNS, vous devrez peut-être reconfigurer votre environnement de machine virtuelle Java. Pour plus d'informations sur la gestion d'une application Java qui met en cache les valeurs de DNS dans le cas d'un basculement, consultez AWS SDK pour Java. Comme Amazon RDS gère automatiquement les basculements, vous pouvez reprendre les opérations de base de données aussi rapidement que possible sans intervention administrative. L'instance de base de données principale bascule automatiquement vers le réplica de secours si l'une des conditions suivantes se produit : • Panne d'une zone de disponibilité • Echec de l'instance de base de données principale • Modification du type de serveur de l'instance de base de données • L'instance de base de données est en cours de correction logicielle • Un basculement manuel de l'instance de base de données a été initié à l'aide de Reboot with failover Il existe plusieurs façons de déterminer si votre instance de base de données Multi-AZ a basculé : API Version 2014-10-31 52 Amazon Relational Database Service Guide de l'utilisateur Amazon RDS et Amazon VPC • Les abonnements aux événements DB peuvent être définis pour vous avertir par e-mail ou par SMS qu'un basculement a été initié. Pour plus d'informations sur les événements, consultez Utilisation de la notification d'événement Amazon RDS (p. 509) • Vous pouvez afficher vos événements DB via la console Amazon RDS ou les API. • Vous pouvez afficher l'état actuel de votre déploiement Multi-AZ via la console Amazon RDS et les API. Pour plus d'informations sur la façon dont vous pouvez réagir aux basculements ou réduire le temps de récupération, et sur les autres bonnes pratiques pour Amazon RDS, consultez Bonnes pratiques pour Amazon RDS (p. 33). Amazon RDS et Amazon Virtual Private Cloud (VPC) Amazon RDS vous permet d'utiliser le service Amazon Virtual Private Cloud (VPC) pour créer un Virtual Private Cloud où vous pouvez lancer une instance de base de données. Lorsque vous utilisez un Virtual Private Cloud, vous avez le contrôle sur votre environnement de réseau virtuel : vous pouvez sélectionner votre propre plage d'adresses IP, créer des sous-réseaux et configurer le routage et les listes de contrôle d'accès. Les fonctionnalités de base d'Amazon RDS sont les mêmes, qu'il s'exécute dans un VPC ou pas : Amazon RDS gère les sauvegardes, les correctifs logiciels, la détection automatique de pannes et la récupération. Il n'y a pas de frais supplémentaires pour exécuter votre instance de base de données dans un VPC. Amazon RDS prend en charge les deux plateformes VPC dans chaque région : la plateforme EC2-Classic (affichée en tant qu'EC2, VPC dans la console RDS) vous demande d'utiliser le service Amazon VPC si vous souhaitez créer un VPC et la plateforme EC2-VPC (affichée en tant que VPC dans la console RDS) qui fournit à votre compte AWS un VPC par défaut dans une région. Si vous êtes un nouveau client Amazon RDS ou si vous créez des instances de base de données dans une région où vous n'avez pas travaillé auparavant, il y a de bonnes chances que vous soyez sur la plateforme EC2-VPC et que vous ayez un VPC par défaut. Pour déterminer la plateforme que votre compte prend en charge dans une région donnée, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic (p. 498). Pour plus d'informations sur l'utilisation d'un VPC avec Amazon RDS, consultez Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497) Sauvegardes d'instance de base de données Amazon RDS fournit deux méthodes différentes pour sauvegarder et restaurer vos instances Amazon DB : les sauvegardes automatisées et les snapshots DB initiés par le client. Les sauvegardes automatiques sauvegardent votre instance DB pendant une fenêtre de sauvegarde spécifique définie par l'utilisateur ; les sauvegardes sont conservées pendant une durée limitée spécifiée par l'utilisateur (appelée période de rétention des sauvegardes). Vous pourrez par la suite récupérer votre base de données à un instant donné dans le passé durant cette période de rétention. Les snapshots DB sont des sauvegardes initiées par l'utilisateur qui vous permettent de sauvegarder votre instance DB à un état connu, et de la restaurer à cet état spécifique à tout moment. Amazon RDS conserve tous les snapshots DB jusqu'à ce que vous les supprimiez. Note Un bref gel des E/S, généralement de quelques secondes, se produit pendant les sauvegardes automatiques et les opérations de snapshot DB sur les instances DB mono-AZ. API Version 2014-10-31 53 Amazon Relational Database Service Guide de l'utilisateur Sauvegarde automatique Sauvegarde automatique La sauvegarde automatisée est une fonction Amazon RDS qui crée automatiquement une sauvegarde de votre base de données. Les sauvegardes automatiques sont activées par défaut pour une nouvelle instance de base de données. Une sauvegarde automatique se produit pendant une période quotidienne configurable par l'utilisateur, appelée fenêtre de sauvegarde préférée. Les sauvegardes créées pendant la fenêtre de sauvegarde sont conservées pendant un certain nombre de jours (période de rétention des sauvegardes) configurable par l'utilisateur. Notez que si la sauvegarde a besoin de plus de temps qu'il n'en est attribué à la fenêtre de sauvegarde, la sauvegarde se poursuit jusqu'à son terme. Note Une interruption immédiate se produit si vous modifiez la période de rétention des sauvegardes de 0 à une valeur non nulle, ou d'une valeur non nulle à 0. La fenêtre de sauvegarde préférée est la période définie par l'utilisateur pendant laquelle votre instance DB est sauvegardée. Amazon RDS utilise ces sauvegardes régulières de données périodiques avec vos journaux de transactions pour vous permettre de restaurer votre instance DB à tout instant de votre période de rétention, jusqu'à la valeur LatestRestorableTime (généralement jusqu'aux cinq dernières minutes). Pendant la fenêtre de sauvegarde, les E/S de stockage peuvent être suspendues au cours de la copie de vos données et il se peut que la latence augmente. La suspension des E/S dure généralement pendant la création de l'instantané. Cette suspension est plus courte pour les déploiements de base de données Multi-AZ, car les données sauvegardées proviennent de l'instance de secours ; la latence peut toutefois augmenter durant la procédure de sauvegarde. Lorsque la valeur de la rétention des sauvegardes devient différente de zéro, la première sauvegarde se produit immédiatement. L'affectation de la valeur 0 à la période de rétention des sauvegardes désactive les sauvegardes automatiques de l'instance de base de données et supprime toutes les sauvegardes automatiques existantes pour l'instance. Si vous ne spécifiez pas une fenêtre de sauvegarde préférée lorsque vous créez l'instance de base de données, Amazon RDS attribue une fenêtre de sauvegarde par défaut de 30 minutes, sélectionnée de façon aléatoire à partir d'un bloc de 8 heures par région. Le tableau suivant répertorie les blocs de temps de chaque région, à partir desquels les fenêtres de sauvegardes par défaut sont affectées. Région Bloc chronologique Région USA Est (Virginie du N.) 03:00–11:00 UTC Région USA Est (Ohio) 03:00–11:00 UTC Région USA Ouest (Californie du Nord) 06:00–14:00 UTC Région USA Ouest (Oregon) 06:00–14:00 UTC Région Asie-Pacifique (Mumbai) 16:30–00:30 UTC Région Asie-Pacifique (Séoul) 13:00–21:00 UTC Région Asie-Pacifique (Singapour) 14:00–22:00 UTC API Version 2014-10-31 54 Amazon Relational Database Service Guide de l'utilisateur Sauvegarde automatique Région Bloc chronologique Région Asie-Pacifique (Sydney) 12:00–20:00 UTC Région Asie-Pacifique (Tokyo) 13:00–21:00 UTC Région Canada (Centre) 06:29–14:29 UTC Région UE (Francfort) 20:00–04:00 UTC Région UE (Irlande) 22:00–06:00 UTC Région UE (Londres) 06:00–14:00 UTC Région Amérique du Sud (São Paulo) 23:00–07:00 UTC AWS GovCloud (USA) 03:00–11:00 UTC Les modifications de la fenêtre de sauvegarde prennent effet immédiatement. La fenêtre de sauvegarde ne peut pas chevaucher la fenêtre de maintenance hebdomadaire pour l'instance DB. Lorsque vous supprimez une instance DB, vous pouvez créer un snapshot DB final au moment de la suppression ; vous pourrez ainsi utiliser ce snapshot DB pour restaurer ultérieurement l'instance DB supprimée. Amazon RDS conserve ce snapshot DB final créé par l'utilisateur avec les autres snapshots DB créés manuellement, une fois que l'instance DB a été supprimée. Toutes les sauvegardes automatiques sont supprimées et ne peuvent pas être récupérées lorsque vous supprimez une instance DB. Pour plus d'informations sur les coûts de stockage des sauvegardes, consultez la page de tarification. Pour plus d'informations sur l'utilisation des sauvegardes automatiques, consultez Utilisation des sauvegardes automatiques (p. 442). Restauration à un instant dans le passé Outre la sauvegarde automatique quotidienne, Amazon RDS archive les journaux des modifications de base de données. Cela vous permet de restaurer votre base de données à un instant dans le passé pendant la période de rétention des sauvegardes, jusqu'aux cinq dernières minutes d'utilisation de la base de données. Amazon RDS stocke plusieurs copies de vos données, mais pour les instances de base de données monoAZ, ces copies sont stockées dans une seule zone de disponibilité. Si, pour une raison quelconque, une instance DB mono-AZ devient inutilisable, vous pouvez utiliser la restauration à un instant dans le passé pour lancer une nouvelle instance DB avec les données les plus récentes pouvant être restaurées. Pour plus d'informations sur l'utilisation de la restauration à un instant dans le passé, consultez Restauration d'une instance de base de données à une date spécifiée (p. 453). Note Les déploiements Multi-AZ stockent les copies de vos données dans différentes zones de disponibilité afin de bénéficier de plus grands niveaux de durabilité des données. Pour plus d'informations sur les déploiements Multi-AZ, consultez Haute disponibilité (Multi-AZ) (p. 51). Sauvegardes automatiques avec moteurs de stockage MySQL non pris en charge Les sauvegardes automatisées et les snapshots DB Amazon RDS sont actuellement pris en charge pour tous les moteurs de base de données. Pour le moteur de base de données MySQL, seul le moteur de API Version 2014-10-31 55 Amazon Relational Database Service Guide de l'utilisateur Snapshots DB stockage InnoDB est pris en charge ; l'utilisation de ces fonctions avec d'autres moteurs de stockage MySQL, y compris MyISAM, peut entraîner un comportement peu fiable lors de la restauration à partir de sauvegardes. Plus précisément, dans la mesure où les moteurs de stockage comme MySQL ne prennent pas en charge une récupération sur incident fiable, vos tables peuvent être endommagées en cas d'incident. Pour cette raison, nous vous invitons à utiliser le moteur de stockage InnoDB. Si vous choisissez d'utiliser MyISAM, vous pouvez essayer de réparer manuellement les tables endommagées après un incident à l'aide de la commande REPAIR (consultez http://dev.mysql.com/doc/ refman/5.5/en/repair-table.html). Cependant, comme indiqué dans la documentation MySQL, il y a de bonnes chances que vous ne soyez pas en mesure de récupérer toutes vos données. Si vous souhaitez prendre des Instantanés DB avec les tables MyISAM, procédez comme suit : Lancer le traitement 1 Arrêtez toutes les activités de vos tables MyISAM (autrement dit, fermez toutes les sessions) 2 Verrouillez et videz chacune de vos tables MyISAM 3 Emettez un appel CreateDBSnapshot, ou utilisez la commande CLI Amazon RDS rdscreate-db-snapshot. Une fois l'instantané terminé, libérez les verrous et reprenez l'activité sur les tables MyISAM. Ces étapes obligent MyISAM à vider sur disque les données stockées en mémoire et à garantir ainsi un démarrage propre lors d'une restauration à partir d'un snapshot DB. Enfin, si vous souhaitez convertir les tables MyISAM existantes en tables InnoDB, vous pouvez utiliser la commande alter (par exemple, alter table TABLE_NAME engine=innodb;). Snapshots DB Les Snapshots DB sont initiés par l'utilisateur et vous permettent de sauvegarder votre instance de base de données dans un état connu aussi fréquemment que vous le souhaitez, puis de la restaurer dans cet état spécifique à tout moment. Les snapshots DB peuvent être créés avec la console Amazon RDS ou l'action d'API Amazon RDS CreateDBSnapshot. Les snapshots DB sont conservés jusqu'à ce que vous les supprimiez explicitement avec la console Amazon RDS ou l'action d'API Amazon RDS DeleteDBSnapshot. Pour plus d'informations sur l'utilisation des snapshots DB, consultez Création d'un snapshot DB (p. 445) et Restauration à partir d'un snapshot DB (p. 447). Rubriques connexes • Création d'un snapshot DB (p. 445) • Restauration à partir d'un snapshot DB (p. 447) • Copie d'un snapshot DB (p. 450) • Utilisation des sauvegardes automatiques (p. 442) Réplication d'une instance de base de données Actuellement, vous pouvez créer des réplicas de vos instances de base de données de deux façons. Toutes les instances de base de données peuvent avoir un déploiement Multi-AZ, où Amazon RDS alloue et gère automatiquement un réplica de secours dans une autre zone de disponibilité (infrastructure indépendante dans un lieu physiquement séparé). En cas de maintenance de base de données programmée, d'échec d'une instance de base de données ou de défaillance d'une zone de disponibilité, Amazon RDS bascule automatiquement vers le réplica de secours, afin que les opérations de la base de API Version 2014-10-31 56 Amazon Relational Database Service Guide de l'utilisateur Réplication d'une instance de base de données données puissent reprendre rapidement sans intervention administrative. Pour plus d'informations sur les déploiements Multi-AZ, consultez Haute disponibilité (Multi-AZ) (p. 51). Amazon RDS utilise aussi la fonctionnalité de réplication intégrée des moteurs de base de données PostgreSQL ou MySQL pour créer un type particulier d'instance de base de données appelé réplica en lecture à partir d'une instance de base de données source. Les mises à jour apportées à l'instance de base de données source sont copiées de façon asynchrone sur le réplica en lecture. Vous pouvez réduire la charge sur votre instance de base de données source en acheminant les requêtes en lecture depuis vos applications vers le réplica en lecture. Les réplicas en lecture permettent un dimensionnement basé sur Elastic au-delà des contraintes de capacité d'une seule instance de base de données dans le cas des charges de travail de base de données à lecture intensive. Pour plus d'informations sur les réplicas en lecture, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421) API Version 2014-10-31 57 Amazon Relational Database Service Guide de l'utilisateur Types de stockage Stockage pour Amazon RDS Amazon RDS utilise les volumes Amazon Elastic Block Store (Amazon EBS) pour la base de données et le stockage de journal. En fonction du volume de stockage demandé, Amazon RDS ajuste automatiquement sur plusieurs volumes Amazon EBS pour améliorer la performance IOPS. Amazon RDS propose trois types de stockage, avec différentes options de stockage et de performances. Rubriques • Types de stockage Amazon RDS (p. 58) • Métriques de performances (p. 59) • Données relatives au stockage Amazon RDS (p. 60) • Stockage à usage général (SSD) (p. 61) • Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63) • Facteurs affectant les débits IOPS réalisés (p. 67) Types de stockage Amazon RDS Amazon RDS propose trois types de stockage : le stockage magnétique, le stockage à usage général (SSD) et le stockage IOPS provisionnées (IOPS, opérations d'entrée/sortie par seconde). Ces options se différencient par leurs performances et leurs tarifs, ce qui vous permet d'adapter vos performances de stockage et vos coûts en fonction des besoins de votre base de données. Vous pouvez créer des instances de base de données MySQL, PostgreSQL et Oracle RDS dotées d'une capacité de stockage allant jusqu'à 6 To et des instances de base de données SQL Server RDS dotées d'une capacité de stockage allant jusqu'à 4 To lors de l'utilisation des types de stockage IOPS provisionnées et à usage général (SSD). Les instances de base de données MySQL, PostgreSQL et Oracle RDS peuvent être adaptées à ces nouvelles limites de stockage de base de données sans subir d'interruption de service. Pour une présentation complète des différents types de volume, consultez la rubrique Types de volumes Amazon EBS. • Magnétique (Standard) – Le stockage magnétique, également appelé stockage standard, offre un stockage économique qui convient parfaitement aux applications dont les exigences en termes d'E/S sont modérées ou transmises en paquets. Ces volumes fournissent environ 100 IOPS en moyenne, avec une capacité de transmission en paquets jusqu'à des centaines d'IOPS, et leur taille peut aller de 5 Go à 3 To, selon le moteur d'instance DB que vous choisissez. Le stockage magnétique n'est pas réservé à une seule instance DB. Les performances peuvent ainsi grandement varier en fonction des demandes d'autres clients auxquelles sont soumises les ressources partagées. • Stockage à usage général (SSD) – Le stockage à usage général reposant sur SSD, également appelé gp2, fournit un accès plus rapide que le stockage sur disque. Ce type de stockage peut fournir des latences inférieures à 10 millisecondes, avec une performance de base de 3 IOPS/Gio et la capacité API Version 2014-10-31 58 Amazon Relational Database Service Guide de l'utilisateur Métriques de performances d'augmenter jusqu'à 3 000 IOPS pour une durée étendue. Dans certains cas, en fonction de votre configuration d'instance et de stockage, vous pouvez obtenir plus de 3 000 IOPS. La taille des volumes à usage général (SSD) peut varier de 5 Go à 6 To pour les instances de base de données MySQL, PostgreSQL et Oracle, et de 5 Go à 4 To pour les instances de base de données SQL Server. Ce type de stockage est parfaitement adapté pour les petites et moyennes bases de données. • IOPS provisionnées – Le stockage IOPS provisionnées est conçu pour satisfaire les besoins des charges de travail gourmandes en E/S, notamment les charges de travail de base de données qui sont sensibles aux performances de stockage et à l'homogénéité du débit d'E/S. La taille des volumes IOPS provisionnées peut varier de 100 Go à 6 To pour les moteurs de base de données MySQL, PostgreSQL et Oracle. La taille des éditions SQL Server Express et Web peut varier de 100 Go à 4 To, alors que la taille des éditions SQL Server Standard et Enterprise peut varier de 200 Go à 4 To. Vous spécifiez le volume de stockage que vous souhaitez allouer, puis vous spécifiez la quantité d'IOPS dédiées souhaitées. Ces deux valeurs constituent un rapport, et cette valeur préserve le rapport spécifié pour le moteur de base de données que vous choisissez. Amazon RDS fournit à l'intérieur des 10 % de leurs performances IOPS provisionnées 99,9 % du temps sur une année donnée. Plusieurs facteurs peuvent affecter les performances des volumes Amazon EBS, tels que la configuration d'instance, les caractéristiques d'E/S et la demande en matière de charge de travail. Pour plus d'informations sur la façon d'exploiter au mieux vos volumes IOPS provisionnées, consultez Performances des volumes Amazon EBS. Pour les instances de base de données MySQL, PostgreSQL et Oracle existantes, vous pouvez améliorer la capacité d'E/S si vous augmentez votre stockage. Notez que vous ne pouvez pas modifier la capacité de stockage d'une instance de base de données SQL Server en raison des limites d'extensibilité du stockage agrégé par bandes lié à un environnement Windows Server. Métriques de performances Amazon RDS propose différentes métriques pour déterminer les performances de votre instance de base de données. Vous pouvez afficher les métriques dans la console RDS en sélectionnant votre instance de base de données et en cliquant sur Show Monitoring. Vous pouvez également utiliser Amazon CloudWatch pour contrôler ces métriques. Pour plus d'informations, consultez le manuel Affichage des métriques d'instances de base de données (p. 507). • IOPS – Nombre d'opérations d'E/S terminées par seconde. Cette métrique est considérée comme l'IOPS moyenne pour un intervalle donné. Amazon RDS enregistre séparément les IOPS de lecture et d'écriture à intervalles d'une minute. Le nombre total d'IOPS est la somme des IOPS de lecture et d'écriture. Les valeurs habituelles pour les IOPS vont de zéro à des dizaines de milliers par seconde. • Latence – Temps écoulé entre l'envoi d'une requête d'E/S et sa fin. Cette métrique est considérée comme la latence moyenne pour un intervalle donné. Amazon RDS enregistre séparément les latences de lecture et d'écriture à intervalles d'une minute, en secondes. Les valeurs habituelles pour la latence sont de l'ordre des millisecondes (ms) ; par exemple, Amazon RDS indique 2 ms au format 0,002 seconds. • Débit – Nombre d'octets transférés par seconde depuis et vers le disque. Cette métrique est considérée comme le débit moyen pour un intervalle donné. Amazon RDS enregistre séparément les débits de lecture et d'écriture à intervalles d'une minute, en mégaoctets par seconde (Mo/s). Les valeurs habituelles pour le débit vont de zéro à la taille maximale de la bande passante du canal d'E/S. • Longueur de la file d'attente – Nombre de demandes d'E/S dans la file d'attente, en attente de traitement. Ces demandes d'E/S ont été envoyées par l'application, mais n'ont pas été envoyées à l'appareil, car ce dernier est occupé à traiter d'autres demandes d'E/S. Le temps passé dans une file d'attente est un élément de la latence et du temps de service (non disponible en tant que métrique). Cette métrique est considérée comme la longueur de file d'attente moyenne pour un intervalle donné. Amazon RDS enregistre la longueur de file d'attente à intervalles d'une minute. Les valeurs habituelles pour la longueur de file d'attente vont de zéro à plusieurs centaines. API Version 2014-10-31 59 Amazon Relational Database Service Guide de l'utilisateur Données relatives au stockage Amazon RDS Données relatives au stockage Amazon RDS Vous devez connaître les éléments importants suivants à propos du stockage Amazon RDS : • Actuellement, la bande passante de canal maximum disponible est de 1 000 mégabits par seconde (Mbits/s) en duplex intégral. En termes de métriques de débit de lecture et d'écriture, cela équivaut à environ 105 mégaoctets par seconde (Mo/s) dans chaque direction. Une charge de travail parfaitement équilibrée de 50 % de lectures et 50 % d'écritures peut atteindre un débit combiné maximum de 210 Mo/ s. Notez qu'il s'agit du débit de canal, qui comprend la surcharge du protocole. Le débit de données réel peut donc être inférieur. • Les IOPS provisionnées fonctionnent avec une taille de demande d'E/S de 32 Ko. Une demande d'E/S inférieure à 32 Ko est considérée comme une E/S ; par exemple, 1 000 demandes d'E/S de 16 Ko sont traitées de la même manière que 1 000 demandes de 32 Ko. Les demandes d'E/S supérieures à 32 Ko utilisent plusieurs demandes d'E/S ; la consommation d'IOPS provisionnées est une fonction linéaire de la taille de demande d'E/S supérieure à 32 Ko. Par exemple, une demande d'E/S de 48 Ko utilise 1,5 demande d'E/S de capacité de stockage ; une demande d'E/S de 64 Ko utilise 2 demandes d'E/S, etc. Pour plus d'informations sur les IOPS provisionnées, consultez Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63). Notez que la taille d'E/S n'affecte pas les valeurs d'IOPS indiquées par les métriques, qui sont uniquement basées sur le nombre d'E/S au fil du temps. Cela signifie qu'il est possible d'utiliser toutes les IOPS provisionnées avec un nombre inférieur au nombre d'E/S indiqué, si les tailles des E/S sont supérieures à 32 Ko. Par exemple, un système provisionné pour 5 000 IOPS peut atteindre 2 500 IOPS maximum avec des E/S de 64 Ko ou 1 250 IOPS avec des E/S de 128 Ko. Notez que le stockage magnétique n'alloue pas de capacité d'E/S, c'est pourquoi toutes les tailles d'E/ S sont comptabilisés comme une seule E/S. Le stockage à usage général alloue la capacité E/S en fonction de la taille du volume. Pour plus d'informations sur le débit correspondant au stockage à usage général, accédez à Volumes à usage général (SSD). • La première fois qu'une instance DB est lancée et qu'elle accède à une zone du disque, le processus peut être plus long que pour les autres accès suivants à la même zone du disque. C'est une pénalité liée au premier lancement. Lorsque cette pénalité a été appliquée à une zone de disque, elle n'est pas appliquée à nouveau à cette zone de disque pendant toute la durée de vie de l'instance, même si l'instance DB est redémarrée ou si la classe de l'instance DB change. Notez qu'une instance DB créée à partir d'un instantané, d'une restauration à un instant donné ou d'un réplica en lecture est une nouvelle instance à laquelle la pénalité liée au premier lancement est appliquée. • Etant donné qu'Amazon RDS gère votre instance DB, nous réservons de l'espace en plus sur l'instance. Bien que le volume d'espace réservé varie en fonction de la classe de l'instance de base de données et d'autres facteurs, il peut représenter un ou deux pourcent du stockage total. • Les IOPS provisionnées permettent de réserver la capacité d'E/S en spécifiant les IOPS. A l'instar de tout autre attribut de capacité système, le débit maximal sous charge sera contraint par la ressource qui est utilisée en premier. Cette ressource peut être une IOPS, la bande passante de canal, l'UC, la mémoire ou les ressources internes de la base de données. Autres facteurs ayant un impact sur les performances de stockage Toutes les activités suivantes liées au système utilisent de la capacité d'E/S et peuvent réduire les performances de l'instance de base de données lorsqu'elles s'exécutent : • Création d'un snapshot DB • Sauvegardes pendant la nuit • Création d'appairage dans plusieurs zones de disponibilité API Version 2014-10-31 60 Amazon Relational Database Service Guide de l'utilisateur Ajout de stockage et modification du type de stockage • Création d'un réplica en lecture • Dimensionnement du stockage Les ressources du système peuvent générer des conflits au niveau du débit d'une instance de base de données, mais les goulots d'étranglement peuvent avoir d'autres origines. Dans les situations suivantes, le problème peut venir de la base de données : • La limite de débit du canal n'est pas atteinte • Les longueurs des files d'attente sont uniformément basses • L'utilisation de l'UC est inférieure à 80 % • Il reste de la mémoire disponible • Il n'y a aucune activité d'échange • L'espace libre sur le disque dur est important • Votre application compte des dizaines de threads qui envoient des transactions aussi rapidement que ce que la base de données peut accepter, mais il reste manifestement de la capacité d'E/S non utilisée Si aucune ressource du système n'a atteint la limite et qu'aucune n'en est proche, et que l'ajout de threads n'augmente pas la vitesse de transaction de la base de données, le conflit est probablement dû au goulot d'étranglement. Les formes les plus courantes sont les conflits des verrous de ligne et des verrous des pages d'index, mais il existe bien d'autres possibilités. Si vous vous trouvez dans cette situation, consultez une personne spécialisée dans l'ajustement des performances des bases de données. Ajout de stockage et modification du type de stockage Vous pouvez modifier une instance de base de données afin qu'elle utilise un stockage supplémentaire et changer de type de stockage. Ces deux opérations peuvent prendre du temps et diminuer les performances de votre instance de base de données. Vous devez donc planifier avec soin le moment de leur exécution. Votre instance DB reste disponible pour les accès en lecture et en écriture lorsque vous ajoutez du stockage, mais vous pouvez subir une dégradation des performances tant que le processus n'est pas terminé. L'ajout de stockage peut durer plusieurs heures ; la durée du processus dépend de différents facteurs tels que la charge de la base de données, la taille de stockage, le type de stockage, le volume d'IOPS provisionnées (le cas échéant) et le nombre d'opérations de stockage évolutif. Les durées des opérations de stockage évolutif sont généralement inférieures à 24 heures, mais peuvent prendre plusieurs jours dans certains cas. Au cours du processus de dimensionnement, l'instance de base de données pourra être utilisée, mais peut subir une dégradation des performances. Les conversions entre le stockage magnétique et le stockage à usage général (SSD) est susceptible d'épuiser le crédit E/S initial de 5,4 millions (3 000 IOPS x 30 minutes) alloué au stockage à usage général (SSD). Lorsque vous procédez à ces conversions de stockage, le volume contenant les 82 premiers Go de données sera converti à environ 3 000 IOPS, alors que les données restantes seront converties au rythme de performances de base de 3 IOPS par Go de stockage à usage général (SSD) alloué. Cela peut entraîner des temps de conversion plus longs. Vous pouvez mettre en service un stockage à usage plus général (SSD) pour augmenter le rythme de performances d'E/S de base, et donc améliorer les temps de conversion. Cependant, vous devez savoir que vous ne pouvez pas réduire la taille de stockage une fois que le stockage a été alloué. Stockage à usage général (SSD) Le stockage à usage général (SSD) offre un stockage économique qui convient parfaitement aux petites ou moyennes charges de travail de bases de données. Ce type de stockage peut fournir des latences API Version 2014-10-31 61 Amazon Relational Database Service Guide de l'utilisateur Crédits E/S et performances en rafale inférieures à 10 millisecondes, avec une performance de base de 3 IOPS/Gio et la capacité d'augmenter jusqu'à 3 000 IOPS pour une durée étendue. Dans certains cas, en fonction de votre configuration d'instance et de stockage, vous pouvez obtenir plus de 3 000 IOPS. La taille des volumes de stockage à usage général (SSD) peut varier de 5 Go à 6 To pour les instances de base de données MySQL, PostgreSQL et Oracle, et de 5 Go à 4 To pour les instances de base de données SQL Server. Vous devez savoir que le fait de mettre en service un stockage à usage général (SSD) inférieur à 100 Go pour les charges de travail à haut débit peut entraîner des latences plus importantes si le solde de crédits E/S initial du stockage à usage général (SSD) est épuisé. Crédits E/S et performances en rafale Les performances du stockage à usage général (SSD) est régi par la taille du volume, qui dicte le niveau de performance de base du volume, ainsi que la vitesse à laquelle il accumule des crédits E/S. Les volumes les plus gros ont un niveau de performance de base plus élevé et accumulent des crédits E/S plus vite. Les crédits E/S représentent la bande passante disponible que votre stockage à usage général (SSD) peut utiliser pour émettre en rafale de grandes quantités d'E/S lorsqu'il est nécessaire de dépasser le niveau de performance de base. Plus votre stockage dispose de crédits pour les E/S, plus il peut émettre en rafale au-delà de son niveau de performances de base, et plus il est performant quand cela est nécessaire. Lorsque vous utilisez un stockage à usage général (SSD), votre instance de base de données reçoit un solde de crédits E/S initial de 5,4 millions, ce qui est suffisant pour soutenir les performances en rafale maximum de 3 000 IOPS pendant 30 minutes. Le solde de crédits initial est conçu pour fournir un cycle de démarrage initial rapide pour les volumes de démarrage ainsi qu'une bonne expérience d'action d'amorçage (bootstrap) pour les autres applications. Votre stockage gagne des crédits E/S chaque seconde, au rythme de performances de base de 3 IOPS par seconde par Go de taille du volume. Par exemple, un stockage à usage général (SSD) de 100 Go a une performance de base de 300 IOPS. Lorsque votre stockage a besoin d'un niveau de performances E/S plus élevé que le niveau de base, il utilise les crédits E/S du solde de crédits pour émettre en rafale, jusqu'à un niveau de performances maximum de 3 000 IOPS. Les stockages supérieurs à 1 000 Go ont une performance de base égale ou supérieure à la performance en rafale maximale. Leur solde de crédits E/S ne s'épuise jamais et peut émettre en rafale indéfiniment. Lorsque votre stockage utilise moins de crédits E/S qu'il n'en gagne en une seconde, les crédits E/S inutilisés sont ajoutés au solde de crédits E/S. Le solde de crédits E/S pour une instance de base de données utilisant un stockage à usage général (SSD) est égal au solde de crédits initial (5,4 million de crédits E/S). Si votre stockage utilise l'ensemble de votre solde de crédits E/S, ses performances maximales ne dépasseront pas le niveau base (le taux auquel votre stockage gagne des crédits) jusqu'à ce que la demande en E/S passe en-dessous du niveau de base et que les crédits non-utilisés soient ajoutés au solde de crédits E/S. Plus le stockage est important, plus la performance de base est grande et plus la vitesse à laquelle le volume réapprovisionne son solde de crédits est grande. Note Les conversions entre le stockage magnétique et le stockage à usage général (SSD) est susceptible d'épuiser le crédit E/S initial de 5,4 millions (3 000 IOPS x 30 minutes) alloué au stockage à usage général (SSD). Lorsque vous procédez à ces conversions de stockage, le volume contenant les 82 premiers Go de données sera converti à environ 3 000 IOPS, alors que les données restantes seront converties au rythme de performances de base de 3 IOPS par Go de stockage à usage général (SSD) alloué. Cela peut entraîner des temps de conversion plus longs. Vous pouvez mettre en service un stockage à usage plus général (SSD) pour augmenter le rythme de performances d'E/S de base, et donc améliorer les temps de conversion. Cependant, vous devez savoir que vous ne pouvez pas réduire la taille de stockage une fois que le stockage a été alloué. Le tableau suivant énumère les tailles de stockage et les performances de base associées du stockage (qui correspondent également au rythme auquel il accumule les crédits E/S), la durée d'émission en rafale à un API Version 2014-10-31 62 Amazon Relational Database Service Guide de l'utilisateur Stockage sur volumes IOPS provisionnés maximum de 3 000 IOPS (en commençant avec un solde créditeur plein) et la durée en secondes qu'il faut au stockage pour remplir un solde de crédits vide. Taille de stockage (Go) Performances de base (IOPS) Durée maximum de performances en rafale @ 3 000 IOPS (en secondes) Secondes nécessaires pour remplir un solde de crédits vide 1 3 1 802 1 800 000 100 300 2 000 18 000 250 750 2 400 7 200 500 1 500 3 600 3 600 750 2 250 7 200 2 400 1 000 3 000 Infini N/A La durée des performances en rafale de votre stockage dépend de sa taille, des IOPS en rafale nécessaires et du solde de crédits au début de la rafale. Cette relation est représentée dans l'équation ciaprès : (Credit balance) Burst duration = -----------------------------------(Burst IOPS) - 3(Storage size in GB) Si vous constatez que la performance de votre stockage est fréquemment limitée au niveau de base, en raison d'un solde de crédits E/S nul, vous devriez envisager d'utiliser un stockage à usage plus général (SSD) avec un niveau de performance de base plus élevé. Vous pouvez également passer à un stockage IOPS provisionnés pour les charges de travail nécessitant des performances supérieures à 3 000 IOPS. Pour les charges de travail dont les exigences en termes d'E/S sont stables, mettre en service un stockage à usage général (SSD) inférieur à 100 Go peut entraîner des latences plus importantes si vous épuisez votre solde de crédits d'E/S. Stockage IOPS provisionnées Amazon RDS pour améliorer les performances Pour toutes les applications de production nécessitant des performances d'E/S rapides et cohérentes, nous recommandons d'utiliser le stockage IOPS provisionnées (opérations d'entrée/sortie par seconde). Le stockage IOPS provisionnées est un type de stockage qui offre des performances de débit rapides, prévisibles et cohérentes. Lorsque vous créez une instance de base de données, vous spécifiez un débit IOPS et une allocation de l'espace de stockage. Amazon RDS met en service ce débit IOPS et ce stockage pour la durée de vie de l'instance de base de données ou jusqu'à ce qu'elle soit modifiée. Le stockage IOPS provisionnées est optimisé pour les charges de travail de traitement de transaction en ligne impliquant des taux d'E/S élevés ayant des exigences de performances régulières. Les IOPS provisionnées aident à ajuster les performances. Note Vous ne pouvez pas réduire le stockage alloué à une instance de base de données. API Version 2014-10-31 63 Amazon Relational Database Service Guide de l'utilisateur Stockage sur volumes IOPS provisionnés Rubriques • Utilisation du stockage IOPS provisionnées avec plusieurs zones de disponibilité, des réplicas en lecture, des instantanés, des VPC et des classes d'instance de base de données (p. 65) • Coûts du stockage IOPS provisionnées (p. 65) • Optimisation des IOPS provisionnées Amazon RDS (p. 65) • Support pour le stockage IOPS provisionnés dans l'interface de ligne de commande et l'API Amazon RDS (p. 66) Vous pouvez créer une instance de base de données utilisant un stockage IOPS provisionnées à l'aide de AWS Management Console, de l'API Amazon RDS ou de l'interface ligne de commande Vous spécifiez le débit IOPS et la quantité de stockage dont vous avez besoin. Vous pouvez mettre en service une instance de base de données MySQL, PostgreSQL ou Oracle avec jusqu'à 30 000 IOPS et 6 To de stockage alloué. Vous pouvez mettre en service une instance de base de données SQL Server avec jusqu'à 20 000 IOPS et 4 To de stockage alloué. Note La quantité d'IOPS réellement réalisées peut varier de la valeur que vous spécifiez en fonction de la charge de travail de votre base de données, de la taille de l'instance de base de données, de la taille des pages et de la bande passante de canal disponibles pour votre moteur de base de données. Pour plus d'informations, consultez Facteurs affectant les débits IOPS réalisés (p. 67). Le rapport entre le débit IOPS demandé et le volume de stockage alloué est important. Le rapport entre les IOPS et le stockage, en Go, pour vos instances de base de données doit être de 3:1 et de 10:1 pour les instances MySQL, PostgreSQL, SQL Server (à l'exception de SQL Server Express) et Oracle. Par exemple, vous pouvez commencer par mettre en service une instance de base de données Oracle avec 1 000 IOPS et 200 Go de stockage (rapport de 5:1). Vous pouvez ensuite augmenter à 2 000 IOPS avec 200 Go de stockage (rapport de 10:1), 3 000 IOPS avec 300 Go de stockage, et jusqu'au maximum pour une instance de base de données Oracle de 30 000 IOPS avec 6 To (6 000 Go) de stockage (rapport de 5:1). Le tableau suivant illustre les IOPS et la plage de stockage pour chaque moteur de base de données. Plage des IOPS provisionnées Plage de stockage Rapport plage IOPS - plage de stockage (Go) MySQL 1 000 - 30 000 IOPS 100 Go-6 To 3:1 - 10:1 PostgreSQL 1 000 - 30 000 IOPS 100 Go-6 To 3:1 - 10:1 Oracle 1 000 - 30 000 IOPS 100 Go-6 To 3:1 - 10:1 SQL Server Express et Web 1 000 - 20 000 IOPS 100 Go-4 To 3:1 - 10:1 SQL Server Standard et Enterprise 1 000 - 20 000 IOPS 200 Go-4 To 3:1 - 10:1 Vous pouvez modifier une instance de base de données Oracle ou MySQL pour qu'elle utilise le stockage IOPS provisionnés, ainsi que modifier les paramètres du stockage IOPS provisionnés. API Version 2014-10-31 64 Amazon Relational Database Service Guide de l'utilisateur Utilisation du stockage IOPS provisionnées avec plusieurs zones de disponibilité, des réplicas en lecture, des instantanés, des VPC et des classes d'instance de base de données Utilisation du stockage IOPS provisionnées avec plusieurs zones de disponibilité, des réplicas en lecture, des instantanés, des VPC et des classes d'instance de base de données Pour les cas d'utilisation de traitement de transaction en ligne (OLTP) de production, nous vous recommandons d'utiliser des déploiements multi-AZ, pour profiter d'une meilleure tolérance aux pannes et d'un meilleur stockage IOPS provisionnées, et ainsi bénéficier de performances rapides et prévisibles. En plus des déploiements multi-AZ, le stockage IOPS provisionnées complète les fonctions suivantes : • Amazon VPC pour l'isolement réseau et une sécurité améliorée. • Réplicas en lecture – Le type de stockage pour un réplica en lecture est indépendant de celui de l'instance de base de données principale. Par exemple, si l'instance de base de données principale utilise le stockage magnétique, vous pouvez ajouter des réplicas en lecture utilisant un stockage IOPS provisionnées, et vice versa. Si vous utilisez des réplicas en lecture basés sur le stockage magnétique avec une instance de base de données principale utilisant un stockage IOPS provisionnées, les performances de vos réplicas en lecture peuvent différer considérablement de celles d'une configuration dans laquelle l'instance de base de données principale et les réplicas en lecture utilisent tous deux un stockage IOPS provisionnées. • Instantané DB – Si vous utilisez une instance de base de données qui utilise un stockage IOPS provisionnées, vous pouvez utiliser un snapshot DB pour restaurer une instance de base de données configurée de façon identique, que l'instance de base de données utilise un stockage magnétique ou un stockage IOPS provisionnées. Si votre instance de base de données utilise un stockage magnétique, vous pouvez utiliser un snapshot DB pour restaurer uniquement une instance de base de données utilisant un stockage magnétique. • Vous pouvez utiliser le stockage IOPS provisionnées avec n'importe quelle classe d'instance de base de données. Cependant, les classes d'instance de base de données plus petites n'utiliseront pas uniformément le stockage IOPS provisionnées pour en tirer le meilleur profit. Pour obtenir les meilleures performances, nous vous conseillons d'utiliser l'un des types d'instance de base de données optimisés pour le stockage IOPS provisionnées. Coûts du stockage IOPS provisionnées Etant donné que le stockage IOPS provisionnées réserve des ressources afin que vous les utilisiez, vous devez payer pour les ressources, que vous les utilisiez ou non au cours d'un mois donné. Lorsque vous utilisez le stockage IOPS provisionnées, vous ne devez pas payer les Amazon RDS frais d'E/S mensuels. Si vous préférez payer uniquement pour les E/S que vous utilisez, préférez une instance de base de données utilisant le stockage magnétique. Pour plus Amazon RDSd'informations sur la tarification, consultez la page produit Amazon RDS. Optimisation des IOPS provisionnées Amazon RDS Lorsque vous utilisez le stockage IOPS provisionnées, cela entraîne une augmentation du nombre de demandes E/S que le système est capable de traiter simultanément. L'augmentation de la simultanéité permet de réduire la latence, étant donné que les demandes E/S passent moins de temps en file d'attente. La réduction de la latence permet des validations de base de données plus rapides, ce qui améliore le temps de réponse et augmente le débit de la base de données. Prenons l'exemple d'une base de données très chargée mise en service pour 10 000 IOPS provisionnées qui s'exécute invariablement à une limite de débit du canal de 105 Mbit/s pour les lectures. La charge de travail n'est pas parfaitement équilibrée, une partie de la bande passante de canal d'écriture n'est donc API Version 2014-10-31 65 Amazon Relational Database Service Guide de l'utilisateur Support pour le stockage IOPS provisionnés dans l'interface de ligne de commande et l'API Amazon RDS pas utilisée. L'instance utilise alors moins de 10 000 IOPS, et profite encore d'une capacité accrue jusqu'à 20 000 IOPS provisionnées. L'augmentation de la capacité d'IOPS provisionnées de 10 000 à 20 000 multiplie par deux la capacité du système pour les E/S simultanées. L'augmentation de la simultanéité permet de réduire la latence, ce qui signifie que les transactions se terminent plus rapidement, ce qui augmente la vitesse de transaction de la base de données. Les latences de lecture et d'écriture s'améliorent à des degrés différents et le système atteint un nouveau point d'équilibre en fonction de la ressource qui est limitée en premier. Il est possible que la consommation d'IOPS provisionnées diminue réellement dans ces conditions, même si le débit de transaction de la base de données peut être largement supérieur. Par exemple, vous pouvez constater un déclin des demandes d'écriture accompagné d'une augmentation du débit d'écriture. Il s'agit d'un bon indicateur d'une meilleure utilisation de la validation de groupe par votre base de données. Un débit en écriture plus important et le même nombre d'IOPS en écriture signifient que les écritures du journal sont devenues plus importantes, mais sont encore inférieures à 256 Ko. Un débit en écriture plus important et un nombre d'E/S en écriture moins important signifient que les écritures du journal sont devenues plus importantes et que leur moyenne est supérieure à 32 Ko, étant donné que ces demandes E/S utilisent plus d'une E/S de la capacité d'IOPS provisionnées. Support pour le stockage IOPS provisionnés dans l'interface de ligne de commande et l'API Amazon RDS L'interface de ligne de commande Amazon RDS prend en charge le stockage IOPS provisionnés dans les commandes suivantes : • rds-create-db-snapshot – La sortie affiche la valeur IOPS. • rds-create-db-instance – Comprend le paramètre d'entrée iops, et la sortie affiche le débit IOPS. • rds-modify-db-instance – Comprend le paramètre d'entrée iops, et la sortie affiche le débit IOPS. • rds-restore-db-instance-from-db-snapshot – Comprend le paramètre d'entrée iops, et la sortie affiche le débit IOPS actuel. Si Apply Immediately est défini le résultat indique également le débit IOPS en attente. • rds-restore-db-instance-to-point-in-time – Comprend le paramètre d'entrée iops, et la sortie affiche le débit IOPS. • rds-create-db-instance-read-replica – Comprend le paramètre d'entrée iops, et la sortie affiche le débit IOPS. L'API Amazon RDS prend en charge le stockage IOPS provisionnées dans les actions suivantes : • CreateDBInstance – Comprend le paramètre d'entrée iops et le résultat indique le débit IOPS. • CreateDBInstanceReadReplica – Comprend le paramètre d'entrée iops et le résultat indique le débit IOPS. • CreateDBSnapshot – Le résultat indique le débit IOPS. • ModifyDBInstance – Comprend le paramètre d'entrée iops et le résultat indique le débit IOPS. • RestoreDBInstanceFromDBSnapshot – Comprend le paramètre d'entrée iops et le résultat indique le débit IOPS actuel. Si Apply Immediately est défini le résultat indique également le débit IOPS en attente. • RestoreDBInstanceToPointInTime – Comprend le paramètre d'entrée iops et le résultat indique le débit IOPS. API Version 2014-10-31 66 Amazon Relational Database Service Guide de l'utilisateur Facteurs affectant les débits IOPS réalisés Facteurs affectant les débits IOPS réalisés Votre débit IOPS réellement réalisé peut varier du montant que vous mettez en service en fonction de la taille des pages et de la bande passante réseau, qui sont en partie déterminées par votre moteur de base de données. Il est également affecté par la taille de l'instance de base de données et la charge de travail de la base de données. Taille des pages et bande passante du canal Le débit IOPS maximum théorique dépend également de la taille des pages E/S de la base de données et de la bande passante de canal disponible. La taille des pages utilisée par MySQL est de 16 Ko, alors qu'elle est de 8 Ko pour Oracle, PostgreSQL (par défaut) et SQL Server. Sur une instance de base de données avec bande passante de canal E/S en duplex intégral de 1 000 mégabits par seconde (Mbits/s), l'IOPS maximum pour l'E/S des pages est d'environ 8 000 IOPS au total pour les deux directions (canal entrée/sortie) pour les E/S de 16 Ko et de 16 000 IOPS au total pour les deux directions pour les E/S de 8 Ko. Si le trafic sur l'un des canaux atteint sa capacité, les IOPS disponibles sur l'autre canal ne peuvent pas être réallouées. Par conséquent, le débit IOPS pouvant être atteint sera inférieur au débit IOPS provisionnées. Chaque lecture ou écriture de page constitue une opération d'E/S. Les opérations de base de données qui lisent ou écrivent plus d'une page utilisent plusieurs opérations d'E/S pour chaque opération de base de données. Les demandes E/S supérieures à 32 Ko sont traitées comme plusieurs E/S en ce qui concerne la consommation de capacité PIOPS. Une demande E/S de 40 Ko utilise 1,25 E/S, une demande E/S de 48 Ko utilise 1,5 E/S, une demande de 64 Ko utilise 2 E/S, etc. La demande E/S n'est pas scindée en plusieurs E/S ; toutes les demandes E/S sont présentées non modifiées au périphérique de stockage. Par exemple, la base de données envoie une demande E/S de 128 Ko qui est présentée au périphérique de stockage sous forme d'une seule demande E/S de 128 Ko, mais qui utilise la même capacité PIOPS que quatre demandes E/S de 32 Ko. Le tableau suivant illustre la taille des pages et le débit IOPS maximum théorique pour chaque moteur de base de données. Les débits IOPS sont basés sur la classe d'instance m2.4xlarge (pour Oracle et SQL Server) ou la classe d'instance cr1.8xlarge (pour MySQL et PostgreSQL) avec duplex intégral et une charge de travail parfaitement équilibrée entre les lectures et les écritures. La limite SQL Server de 20 000 est due à la limite de stockage actuelle de 4 To et aux IOPS maximum actuels au rapport de stockage 10:1. Moteur de base de données Taille de page Débit IOPS maximum théorique MySQL 16 Ko 30 000 PostgreSQL 8 Ko 30 000 Oracle 8 Ko 16 000 SQL Server 8 Ko 20 000 Note Si vous mettez en service un débit IOPS supérieur au maximum ou supérieur à votre débit IOPS réalisé, vous pouvez toujours tirer parti d'une latence réduite et d'améliorations au niveau du débit global. Classe d'instance de base de données Si vous utilisez le stockage IOPS provisionnés, nous vous recommandons d'utiliser les classes d'instance de base de données db.m3.xlarge, db.m3.2xlarge, db.m1.large, db.m1.xlarge, db.m2.2xlarge, API Version 2014-10-31 67 Amazon Relational Database Service Guide de l'utilisateur Charge de travail d'une base de données db.m2.4xlarge, db.r3.xlarge, db.r3.2xlarge ou db.r3.4xlarge. Elles sont optimisées pour le stockage IOPS provisionnées alors que d'autres instances ne le sont pas. Vous pouvez aussi utiliser de manière efficace les classes d'instance high-memory-cluster : db.r3.8xlarge et db.cr1.8xlarge pour les applications hautes performances, même si ces deux classes ne sont pas optimisées pour les IOPS provisionnés. Classes d'instance de base de données optimisées pour les IOPS provisionnées Débit dédié à EBS (Mbits/s) Débit IOPS maximum de 16 k** Bande passante max (Mo/s)** db.m1.large 500 Mbit/s 4000 62,5 db.m1.xlarge 1 000 Mb/s 8000 125 db.m2.2xlarge 500 Mbit/s 4000 62,5 db.m2.4xlarge 1 000 Mb/s 8000 125 db.m3.xlarge 500 Mbit/s 4000 62,5 db.m3.2xlarge 1 000 Mb/s 8000 125 db.r3.xlarge 500 Mbit/s 4000 62,5 db.r3.2xlarge 1 000 Mb/s 8000 125 db.r3.4xlarge 2000 Mbit/s 16000 250 ** Cette valeur est une approximation arrondie basée sur une charge de travail en lecture seule à 100 % et est fournie comme aide pour une configuration de référence. Les connexions optimisées EBS sont en duplex intégral et peuvent donner lieu à plus de débit et IOPS dans une charge de travail 50/50 lecture/ écriture où les deux voies de communication sont utilisées. Dans certains cas, la surcharge du réseau et du système de fichiers peut réduire le débit et les IOPS disponibles. Charge de travail d'une base de données Les activités système telles que les sauvegardes automatiques, les snapshots DB et les opérations de stockage évolutif peuvent utiliser des E/S, ce qui réduit la capacité globale disponible pour les opérations de base de données normales. Si la conception de votre base de données entraîne des problèmes de simultanéité, des verrouillages ou d'autres formes de conflit de base de données, vous ne serez peut-être pas en mesure d'utiliser l'ensemble de la bande passante que vous allouez. Si vous provisionnez une capacité IOPS pour répondre à votre demande de charge de travail de pointe, votre application utilisera sûrement moins d'IOPS en moyenne que le volume provisionné en dehors des périodes de pointe. Pour vous aider à vérifier que vous exploitez au mieux votre stockage IOPS provisionnées, nous avons ajouté une nouvelle métrique CloudWatch appelée Longueur de file d'attente du disque. Si la longueur de file d'attente moyenne de votre application est de 5 opérations E/S en attente pour 1 000 IOPS provisionnées, vous pouvez en déduire que vous utilisez la capacité que vous avez provisionnée. Par exemple, si vous avez provisionné 10 000 IOPS, vous devez disposer d'au moins 50 opérations E/S en attente pour utiliser la capacité provisionnée. API Version 2014-10-31 68 Amazon Relational Database Service Guide de l'utilisateur Sécurité dans Amazon RDS Rubriques • Utilisation d'AWS Identity and Access Management (IAM) pour gérer l'accès aux ressources Amazon RDS (p. 70) • Chiffrement des ressources Amazon RDS (p. 88) • Utilisation de SSL pour chiffrer une connexion à une instance de base de données (p. 91) • Groupes de sécurité Amazon RDS (p. 93) Vous pouvez gérer l'accès à vos ressources Amazon Relational Database Service (Amazon RDS) et à vos bases de données sur une instance de base de données. La méthode que vous utilisez pour gérer l'accès dépend du type de tâche que l'utilisateur doit effectuer avec Amazon RDS : • Exécutez votre instance de base de données dans un Amazon Virtual Private Cloud (VPC) pour bénéficier d'un contrôle d'accès réseau optimal. Pour plus d'informations sur la création d'une instance de base de données dans un VPC, consultez Utilisation d'Amazon RDS avec un Amazon Virtual Private Cloud (VPC). • Utilisez des stratégies AWS Identity and Access Management (IAM) pour attribuer des autorisations déterminant qui peut gérer les ressources RDS. Par exemple, vous pouvez utiliser IAM pour déterminer qui est autorisé à créer, décrire, modifier et supprimer des instances de base de données, à attribuer des balises aux ressources ou à modifier les groupes de sécurité DB. Pour plus d'informations sur la configuration d'un utilisateur IAM, consultez Créer un utilisateur IAM (p. 7) • Utilisez les groupes de sécurité pour contrôler quelles adresses IP ou instances EC2 peuvent se connecter à vos bases de données sur une instance de base de données. Quand vous créez une instance de base de données pour la première fois, son pare-feu empêche tout accès aux bases de données sauf via les règles spécifiées par un groupe de sécurité associé. • Utilisez des connexions SSL (Secure Socket Layer) avec les instances DB exécutant les moteurs de base de données MySQL, PostgreSQL, ou Microsoft SQL Server. Pour plus d'informations sur l'utilisation de SSL avec une instance DB, consultez Utilisation de SSL pour chiffrer une connexion à une instance de base de données (p. 91). • Utilisez le chiffrement RDS pour sécuriser vos instantanés et instances RDS au repos. Le chiffrement RDS utilise l'algorithme de chiffrement AES-256 standard pour chiffrer vos données sur le serveur qui héberge votre instance RDS. Pour plus d'informations, consultez Chiffrement des ressources Amazon RDS (p. 88). API Version 2014-10-31 69 Amazon Relational Database Service Guide de l'utilisateur Utilisation d'IAM pour gérer l'accès aux ressources Amazon RDS • Utilisez un chiffrement réseau et un chiffrement TDE (Transparent Data Encryption) avec les instances de base de données Oracle. Pour plus d'informations, consultez Oracle NNE (Native Network Encryption) (p. 205) et Oracle Transparent Data Encryption (TDE) (p. 207) • Utilisez les fonctions de sécurité de votre moteur de base de données pour contrôler qui peut se connecter aux bases de données sur une instance de base de données, comme vous le feriez si la base de données était sur votre réseau local. Note Il vous suffit de configurer la sécurité pour vos cas d'utilisation. Vous n'êtes pas tenu de configurer des droits d'accès pour les processus gérés par Amazon RDS, tels que la création de sauvegardes, la réplication de données entre un maître et un réplica en lecture, ou d'autres processus. Utilisation d'AWS Identity and Access Management (IAM) pour gérer l'accès aux ressources Amazon RDS Vous pouvez utiliser AWS IAM pour créer des autorisations qui spécifient les actions Amazon RDS qu'un utilisateur, un groupe ou un rôle de votre compte AWS peut effectuer, et sur quelles ressources RDS ces actions peuvent être effectuées. Vous spécifiez les autorisations à l'aide d'une stratégie IAM, qui se trouve dans un document JSON. Lorsque vous vous connectez à un compte AWS, vous recevez un accès au compte qui vous permet d'utiliser AWS IAM pour créer des utilisateurs et leur accorder des droits spécifiques aux actions et ressources Amazon RDS auxquels ont accès vos utilisateurs. Votre accès de compte vous permet de créer une instance de base de données et de fournir un nom utilisateur principal et un mot de passe principal pour l'instance. Vous utilisez le nom utilisateur principal et le mot de passe principal pour accéder à l'instance de base de données et créer les ressources de base de données, puis définir des utilisateurs sur l'instance de base de données. Vous ne devez partager avec personne vos informations de compte AWS. Pour plus d'informations sur la gestion de vos informations de compte AWS, consultez Bonnes pratiques en matière de gestion des clés d'accès AWS et Bonnes pratiques IAM. Vous pouvez créer des autorisations qui gèrent l'accès aux ressources Amazon RDS suivantes : • Instances DB • Snapshots DB • Réplicas en lecture • Instances réservées • Groupes de sécurité DB • Groupes d'options DB • Groupes de paramètres DB • Abonnements aux événements • Groupes de sous-réseaux DB Pour gérer l'accès à vos ressources Amazon RDS, vous devez procédez comme suit : API Version 2014-10-31 70 Amazon Relational Database Service Guide de l'utilisateur Création de stratégies IAM pour Amazon RDS 1. Créez des utilisateurs IAM (identités utilisateur) sous votre compte AWS pour tous les utilisateurs qui vont gérer vos ressources Amazon RDS. Chaque utilisateur peut avoir un mot de passe distinct (pour l'accès à Amazon RDS Management Console) et des clés d'accès (pour l'accès par programme et à l'aide de l'interface de ligne de commande). Vous pouvez organiser les utilisateurs IAM en groupes, ce qui simplifie la gestion des autorisations pour plusieurs utilisateurs simultanément. 2. Déterminez les tâches qui seront affectées à chaque utilisateur et groupe concernant vos ressources Amazon RDS. Par exemple, vous pouvez avoir des groupes pour les administrateurs, le personnel de sécurité, les administrateurs de base de données et les développeurs. 3. Vous pouvez aussi baliser les ressources Amazon RDS dont vous voulez contrôler l'accès. Vous pouvez attribuer une balise, une paire clé-valeur, à une ressource Amazon RDS, puis utiliser cette balise comme méthode pour indiquer une ressource particulière dans une stratégie IAM. 4. Créez les stratégies IAM qui définissent les actions que peut effectuer un utilisateur, puis indiquez les ressources Amazon RDS requises pour chaque tâche utilisant des Amazon Resource Names (ARN). Si vous avez utilisé des balises pour vos ressources Amazon RDS, vous pouvez ajouter des conditions à la stratégie afin de tester ces valeurs de balise. 5. Associez les stratégies aux utilisateurs ou groupes applicables. Création de stratégies IAM pour Amazon RDS Par défaut, les utilisateurs IAM nouvellement créés ne sont pas autorisés à accéder aux ressources AWS. Cela signifie que les utilisateurs IAM également ne peuvent pas utiliser la console ou l'interface de ligne de d'Amazon RDS. Pour autoriser les utilisateurs IAM à utiliser les fonctionnalités d'Amazon RDS, vous devez créer des stratégies IAM qui autorisent les utilisateurs à accéder aux actions et ressources d'API Amazon RDS requises, puis vous devez associer ces stratégies aux utilisateurs ou groupes IAM qui requièrent ces autorisations. Une stratégie IAM est un document JSON qui se compose d'une ou de plusieurs déclarations. Dans une stratégie IAM, chaque déclaration se compose d'éléments qui définissent les actions qui peuvent être effectuées et sur quelles ressources. L'exemple ci-après illustre une déclaration de stratégie simple qui autorise un utilisateur à créer uniquement une instance de base de données, dont le nom doit être préfixé de « test », utiliser le moteur de base de données MySQL et utiliser seulement la classe d'instance de base de données micro. { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action": "rds:CreateDBInstance", "Resource":"arn:aws:rds:us-east-1:1234567890:db:test*", "Condition": {"StringEquals":[ {"rds:DatabaseEngine":"mysql"}, {"rds:DatabaseClass":"db.t1.micro"} ]} }] } L'élément Version est requis et sa valeur doit être « 2012-10-17 ». L'élément Effect est défini sur « Autoriser » ou « Refuser ». (Les actions sont refusées par défaut, de sorte que vous indiquez généralement « Autoriser ».) L'élément Action répertorie les API AWS autorisées (ou refusées) par la stratégie. Dans ce cas, l'élément Action répertorie une action de l'API Amazon RDS , de sorte qu'il s'agit de la seule action autorisée par cette déclaration de stratégie. Notez que l'action est identifiée par le nom de service (rds) et l'action (CreateDBInstance) ; les stratégies peuvent répertorier les actions d'un service AWS. Vous pouvez utiliser des caractères génériques (*) pour indiquer des actions (par exemple, l'action rds:Describe* pour autoriser l'utilisateur à exécuter une action Amazon RDS qui commence par Describe ( DescribeDBInstances, DescribeDBLogFiles, DescribeDBParameterGroups, DescribeDBSnapshots, etc.). API Version 2014-10-31 71 Amazon Relational Database Service Guide de l'utilisateur Création de stratégies IAM pour Amazon RDS Note La commande CLI rds-download-db-logfile appelle à la fois l'API DownloadDBLogFilePortion et l'API REST DownloadCompleteDBLogFile (p. 568), en fonction des paramètres que vous indiquez. Si vous devez créer une stratégie IAM qui s'appliquer aux deux appels d'API, indiquez une action qui s'applique aux deux à l'aide de rds:Download*. L'élément Resource vous permet de spécifier les ressources sur lesquelles ou avec lesquelles l'utilisateur peut effectuer les actions. Dans cet exemple, l'utilisateur peut seulement créer des instances de base de données avec le préfixe « test » dans le nom d'instance de base de données. Vous spécifiez les ressources à l'aide d'un nom ARN (Amazon Resources Name) qui inclut le nom du service auquel la ressource appartient (rds), la région (us-east-1), le numéro de compte et le type de ressource (une instance de base de données). Pour plus d'informations sur la création de noms ARN, consultez Création d'un Amazon Resource Name (ARN) Amazon RDS (p. 439) Enfin, l'élément en option Condition vous permet de spécifier des restrictions supplémentaires sur la stratégie, comme la date/heure, l'adresse IP source, la région, ou les balises. Dans cet exemple, l'élément Condition indique que les actions sont autorisées uniquement sur les instances avec le moteur de données MySQL et la classe d'instance de base de données micro. Pour plus d'informations sur la création de conditions, consultez Condition. Cette stratégie peut être liée à un utilisateur IAM individuel et, dans ce cas, cet utilisateur serait autorisé à effectuer les opérations répertoriées. Vous pourriez autrement lier la stratégie à un groupe IAM, et chaque utilisateur IAM de ce groupe aurait ces autorisations. Vous pouvez aussi lier la stratégie à un rôle de sorte que les utilisateurs délégués ou fédérés puissent effectuer l'action. Autorisations nécessaires pour utiliser la console Amazon RDS Lorsque des utilisateurs travaillent sur la console Amazon RDS, vous devez leur accorder des autorisations non seulement pour exécuter les actions spécifiques que vous voulez autoriser, mais aussi les autorisations sur les actions dont la console a elle-même besoin. Par exemple, simplement pour répertorier les ressources, la console exécute des actions d'API telles que DescribeSecurityGroups et DescribeSubnets. Les utilisateurs travaillant sur la console doivent disposer de ces autorisations ; dans le cas contraire, des zones de la console sur laquelle les utilisateurs doivent travailler pourraient simplement afficher un message indiquant que les utilisateurs ne disposent pas des autorisations nécessaires à une tâche. L'exemple de déclaration de stratégie ci-après illustre les autorisations dont ont généralement besoin les utilisateurs pour travailler sur la console Amazon RDS. Notez que cela inclut les actions RDS qui commencent par le mot « Describe », un certain nombre d'actions EC2 et CloudWatch qui appartiennent également à des ressources (listes) de description, ainsi que toutes les actions SNS. La stratégie autorise ces actions sur toutes les ressources détenues par le compte. { "Version":"2012-10-17", "Statement":[{ "Effect": "Allow", "Action": [ "rds:Describe*", "rds:ListTagsForResource", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "sns:*" ], API Version 2014-10-31 72 Amazon Relational Database Service Guide de l'utilisateur Fonctionnement de l'autorisation d'accès aux ressources dans Amazon RDS } "Resource": "*" }] Fonctionnement de l'autorisation d'accès aux ressources dans Amazon RDS Lorsqu'un utilisateur demande une action Amazon RDS, une demande d'autorisation IAM est générée pour chaque ressource identifiée dans la demande. Amazon RDS consulte la stratégie IAM pour l'utilisateur qui effectue la demande. Si la stratégie autorise explicitement l'utilisateur à effectuer l'action demandée sur les ressources spécifiées, l'action est autorisée ; sinon, l'action est refusée. Une demande d'autorisation qui s'applique à plusieurs ressources peut produire plusieurs autorisations d'accès aux ressources. Par exemple, une restauration à un moment donné dans une nouvelle instance de base de données va générer deux demandes d'autorisation : 1. Une demande d'autorisation sera générée pour l'instance de base de données cible. 2. Une demande d'autorisation sera générée pour l'instantané qui est en cours de restauration. Notez qu'une stratégie peut être utilisée pour limiter les valeurs possibles dont peut disposer une ressource. Par exemple, la taille de stockage ou de calcul peut être limitée à des valeurs ou à des plages spécifiques. Pour une explication plus complète du mode d'évaluation d'une stratégie IAM, consultez Logique d'évaluation de stratégies IAM. Indication des conditions dans une stratégie IAM pour Amazon RDS Lors de la création d'une stratégie IAM, vous pouvez indiquer des conditions de deux manières. Vous pouvez créer une condition qui est basée sur une balise associée à une ressource, ou vous pouvez utiliser une clé prédéfinie, comme un type de moteur de base de données ou la classe de moteur de base de données. Les tableaux ci-après indiquent les clés prédéfinies que vous pouvez utiliser lors de la définition d'une stratégie IAM pour Amazon RDS. Notez que les paires clé-valeur et les clés prédéfinies sont sensibles à la casse. Pour plus d'informations et pour connaître la liste des API RDS prenant en charge les autorisations de niveau ressources, consultez Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS (p. 79). Clés prédéfinies d'AWS AWS fournit plusieurs clés prédéfinies qui s'appliquent à toutes les ressources AWS qui prennent en charge les stratégies IAM. Le tableau suivant montre les clés prédéfinies d'AWS qui s'appliquent aux ressources Amazon RDS. Clé prédéfinie d'AWS Description Value type aws:CurrentTime Heure actuelle. Utilisée pour les conditions de date. Date/Heure aws:EpochTime Heure actuelle au format époque ou UNIX. Utilisée pour les conditions de date. Date/Heure aws:principaltype Type de mandataire (utilisateur, compte, utilisateur fédéré, etc.) pour la demande en cours. String API Version 2014-10-31 73 Amazon Relational Database Service Guide de l'utilisateur Indication des conditions dans une stratégie IAM pour Amazon RDS Clé prédéfinie d'AWS Description Value type aws:SourceIp Adresse IP du demandeur (consultez Adresse IP ). Notez que si vous utilisez aws:SourceIp et que la demande provient d'une instance Amazon EC2, l'adresse IP publique de l'instance est évaluée. Adresse IP aws:UserAgent Application cliente du demandeur. String aws:userid ID utilisateur du demandeur. String aws:username Nom d'utilisateur du demandeur. String Clés prédéfinies d'Amazon RDS Amazon RDS comporte également des clés prédéfinies que vous pouvez inclure dans les éléments Condition d'une stratégie IAM. Le tableau suivant montre les clés prédéfinies d'Amazon RDS qui s'appliquent aux ressources Amazon RDS. Clé prédéfinie d'RDS Description Value type rds:DatabaseClass Classe d'instance de base de données d'une instance de base de données String rds:DatabaseEngine Moteur de base de données de l'instance DB. String rds:DatabaseName Nom de la base de données sur l'instance de base de données. String rds:MultiAz Indiquez si l'instance de base de données s'exécute dans plusieurs zones de disponibilité. 1 indique que l'instance de base de données utilise plusieurs zones de disponibilité. Integer rds:Piops Cette clé sera présente si une demande est effectuée pour une instance de base de données avec PIOPS activé. Cette valeur contiendra le nombre d'IOPS provisionnés qu'une instance prend en charge. 0 indique une instance de base de données pour laquelle PIOPS n'est pas activé. Integer rds:StorageSize Taille du volume de stockage (en Go) Integer rds:Vpc Indiquez si l'instance de base de données s'exécute dans un Virtual Private Cloud Booléen Par exemple, l'élément Condition suivant utilise une clé prédéfinie et spécifie que la condition s'applique au moteurs de base de données MySQL : "Condition":{"StringEquals":{"rds:DatabaseEngine": "mysql" } } Spécification de balises personnalisées avec un élément de condition Vous pouvez également créer des stratégies qui utilisent vos propres noms et valeurs de balise personnalisés. Par exemple, si vous avez ajouté une balise nommée environment à vos instances de API Version 2014-10-31 74 Amazon Relational Database Service Guide de l'utilisateur Exemple de stratégies IAM pour Amazon RDS base de données avec des valeurs telles que « beta », « staging », « production », et ainsi de suite, vous pourriez créer une stratégie qui limite certains utilisateurs aux instances de base de données sur la base de la valeur de balise environment . La syntaxe d'une condition de balise personnalisée est la suivante : "Condition":{"StringEquals":{"rds:rds-tag-identifier/tag-name": ["value"]} } Important Si vous gérez l'accès à vos ressources RDS à l'aide du balisage, nous vous recommandons de sécuriser l'accès aux balises pour vos ressources RDS. Vous pouvez gérer l'accès aux balises en créant des stratégies pour les actions AddTagsToResource et RemoveTagsFromResource. Par exemple, la stratégie suivante refuse aux utilisateurs la capacité à ajouter ou supprimer des balises pour toutes les ressources. Vous pouvez alors créer des stratégies pour autoriser des utilisateurs spécifiques à ajouter ou supprimer des balises. { } "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action": ["rds:AddTagsToResource","rds:RemoveTagsFromResource"], "Resource": "*" }] Pour plus d'informations sur la création de balises, consultez Balisage des ressources Amazon RDS (p. 436). Vous pouvez utiliser les identifiants des balises RDS suivants dans un élément Condition. Identifiant de balise RDS S'applique à db-tag Instances DB, y compris les réplicas en lecture. snapshot-tag Snapshots DB. ri-tag Instances DB réservées. secgrp-tag Groupes de sécurité DB. og-tag Groupes d'options DB. pg-tag Groupes de paramètres DB. subgrp-tag Groupes de sous-réseaux DB. es-tag Abonnements aux événements. Par exemple, l'élément Condition suivant s'applique aux instances de base de données avec une balise nommée environment et une valeur de balise production. "Condition":{"StringEquals":{"rds:db-tag/environment": ["production"]} } Pour plus d'informations sur l'élément Condition de la stratégie IAM, consultez Condition. Exemple de stratégies IAM pour Amazon RDS Les exemples suivants montrent des déclarations de stratégie IAM simples que vous pouvez utiliser pour gérer l'accès des utilisateurs IAM aux ressources Amazon RDS. API Version 2014-10-31 75 Amazon Relational Database Service Guide de l'utilisateur Exemple de stratégies IAM pour Amazon RDS Rubriques • Exemple 1 : Autoriser un utilisateur à effectuer une action Describe sur une ressource RDS (p. 76) • Exemple 2 : Autoriser un utilisateur à créer une instance de base de données qui utilise un moteur de base de données spécifique (p. 76) • Exemple 3 : Autoriser un utilisateur à créer une instance de base de données qui utilise le paramètre de base de données et les groupes de sécurité indiqués (p. 77) • Exemple 4 : Empêcher un utilisateur de créer une instance de base de données qui utilise les groupe de paramètres de base de données indiqués (p. 77) • Exemple 5 : Empêcher les utilisateurs de créer des instances de base de données pour certaines classes d'instance de base de données et de créer des instances de base de données qui utilisent des IOPS provisionnés. (p. 77) • Exemple 6 : Autoriser un utilisateur à effectuer une action sur une ressource balisée avec deux valeurs différentes (p. 78) • Exemple 7 : Autoriser un utilisateur à effectuer des actions sur une instance de base de données dont le nom est préfixé avec le nom utilisateur (p. 78) • Exemple 8 : Empêcher un utilisateur de supprimer une instance de base de données (p. 79) Exemple 1 : Autoriser un utilisateur à effectuer une action Describe sur une ressource RDS La déclaration suivante autorise un utilisateur à exécuter toutes les actions dont les noms commencent par « Describe », ce qui permet d'afficher des informations sur une ressource RDS, comme une instance de base de données. Notez que le caractère générique « * » figurant dans l'élément Resource indique que les actions sont autorisées pour toutes les ressources Amazon RDS détenues par le compte. { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":"rds:Describe*", "Resource":"*" }] } Exemple 2 : Autoriser un utilisateur à créer une instance de base de données qui utilise un moteur de base de données spécifique La déclaration suivante utilise une clé Amazon RDS prédéfinie et autorise un utilisateur à créer uniquement des instances de base de données qui utilisent le moteur de base de données MySQL. L'élément Condition indique l'exigence selon laquelle le moteur de base de données requis est MySQL. { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action": "rds:CreateDBInstance", "Resource": "*", "Condition":{"StringEquals":{"rds:DatabaseEngine":"mysql"}} }] } API Version 2014-10-31 76 Amazon Relational Database Service Guide de l'utilisateur Exemple de stratégies IAM pour Amazon RDS Exemple 3 : Autoriser un utilisateur à créer une instance de base de données qui utilise le paramètre de base de données et les groupes de sécurité indiqués La déclaration suivante autorise un utilisateur à créer uniquement une instance de base de données qui doit utiliser le groupe de paramètres de base de données mysql-production et le Security Group DB dbproduction. { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:us-east-1:1234567890:pg:mysql-production", "arn:aws:rds:us-east-1:1234567890:secgrp:db-production" ] }] } Exemple 4 : Empêcher un utilisateur de créer une instance de base de données qui utilise les groupe de paramètres de base de données indiqués La déclaration suivante empêche un utilisateur de créer une instance de base de données qui utilise les groupes de paramètres de base de données avec des valeurs de balise spécifiques. Vous pouvez appliquer cette stratégie si vous avez besoin qu'un groupe de paramètres DB créé par le client soit toujours utilisé lors de la création des instances de base de données. Notez que les déclarations qui utilisent Refuser sont le plus souvent utilisées pour limiter un accès accordé par une déclaration plus large. { "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action": "rds:CreateDBInstance", "Resource": "*", "Condition": {"StringEquals": {"rds:pg-tag/usage" : "prod" } } }] } Exemple 5 : Empêcher les utilisateurs de créer des instances de base de données pour certaines classes d'instance de base de données et de créer des instances de base de données qui utilisent des IOPS provisionnés. La déclaration suivante empêche les utilisateurs de créer des instances de base de données qui utilisent les classes d'instance de base de données m2.2xlarge et m2.4xlarge, qui sont les instances les plus grandes et les plus coûteuses. Cet exemple empêche également les utilisateurs de créer des instances de base de données qui utilisent les IOPS provisionnés, ce qui génère un coût additionnel. API Version 2014-10-31 77 Amazon Relational Database Service Guide de l'utilisateur Exemple de stratégies IAM pour Amazon RDS { "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":"rds:CreateDBInstance", "Resource": "*", "Condition":{"StringEquals":{"rds:DatabaseClass":["db.m2.4xlarge", "db.m2.2xlarge"]}} }, { "Effect":"Deny", "Action":"rds:CreateDBInstance", "Resource": "*", "Condition":{"NumericNotEquals":{"rds:Piops":"0"}} } ] } Vous pouvez ajouter une balise à une ressource Amazon RDS, puis utiliser cette balise dans une stratégie pour indiquer une ressource particulière. Les exemples suivants utilisent des balises de ressource Amazon RDS dans la stratégie IAM pour indiquer une ressource particulière. Pour plus d'informations sur l'ajout de balises à une ressource Amazon RDS, consultez Création d'un Amazon Resource Name (ARN) Amazon RDS (p. 439). Pour plus d'informations sur les stratégies, consultez Autorisations et stratégies dans la documentation IAM. Exemple 6 : Autoriser un utilisateur à effectuer une action sur une ressource balisée avec deux valeurs différentes La déclaration suivante autorise un utilisateur à effectuer les actions ModifyDBInstance et CreateDBSnapshot sur des instances avec la balise « stage » définie sur « development » ou « test ». { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action": [ "rds:ModifyDBInstance", "rds:CreateDBSnapshot" ], "Resource":"*", "Condition":{"StringEquals":{"db-tag/stage": [ "development", "test" ] } } }] } Exemple 7 : Autoriser un utilisateur à effectuer des actions sur une instance de base de données dont le nom est préfixé avec le nom utilisateur La déclaration suivante autorise un utilisateur à effectuer une action (à l'exception d'ajouter ou de retirer des balises) sur une instance de base de données dont le nom d'instance de base de données a comme préfixe le nom de l'utilisateur et a une balise nommée « stage » égale à « devo » ou qui n'a pas de balise nommée « stage ». { "Version":"2012-10-17", API Version 2014-10-31 78 Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS "Statement":[{ "Effect":"Allow", "NotAction": ["rds:AddTagsToResource","rds:RemoveTagsFromResource"], "Resource": "arn:aws:rds:*:314195462963:db:${aws:username}*", "Condition":{"StringEqualsIfExists":{"rds:db-tag/stage":"devo"}} }] } Exemple 8 : Empêcher un utilisateur de supprimer une instance de base de données La stratégie suivante empêche un utilisateur de supprimer une instance de base de données spécifique. Par exemple, il est possible de refuser la capacité à supprimer vos instances de production à un utilisateur quelconque qui n'est pas un administrateur. { } "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action":"rds:DeleteDBInstance", "Resource":"arn:aws:rds:us-east-1:314195462963:db:my-mysql-instance" }] Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Les autorisations au niveau des ressources spécifient les ressources sur lesquelles les utilisateurs sont autorisés à exécuter des actions. Pour certaines actions Amazon RDS, vous pouvez contrôler à quel moment les utilisateurs sont autorisés à utiliser ces actions en fonction des conditions qui doivent être satisfaites, ou les ressources spécifiques que les utilisateurs sont autorisés à utiliser. Par exemple, vous pouvez accorder aux utilisateurs l'autorisation de lancer des instances de base de données, mais avec uniquement une classe de base de données spécifique, et seulement à l'aide d'un groupe d'option spécifique. L'exemple suivant illustre une stratégie qui accorde aux utilisateurs les autorisations de création d'instances de base de données MySQL à l'aide du groupe de paramètres mysql-production. { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action": "rds:CreateDBInstance", "Resource": "arn:aws:rds:us-east-1:1234567890:pg:mysql-production", "Condition":{"StringEquals":{"rds:DatabaseEngine":"mysql"}} }] } Le tableau suivant décrit les actions d'API Amazon RDS qui prennent en charge actuellement les autorisations au niveau des ressources, aussi bien que les ressources prises en charge (et leur ARN correspondant) et les clés de condition de chaque action. API Version 2014-10-31 79 Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Note Toutes les actions d'API Amazon RDS ne prennent pas en charge les permissions au niveau des ressources. Pour connaître la liste des actions d'API qui ne prennent pas en charge les autorisations au niveau des ressources, consultez Autorisations au niveau des ressources Amazon RDS non prises en charge (p. 88). Action d'API Ressources AddSourceIdentifierToSubscription Abonnement aux événements Clés de condition rds:es-tag arn:aws:rds:region:account:es:subscriptionname AddTagsToResource instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name ApplyPendingMaintenanceAction instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name AuthorizeDBSecurityGroupIngress Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name CopyDBParameterGroup Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name CopyDBSnapshot Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname CopyOptionGroup Groupe d'options DB API Version 2014-10-31 80 rds:og-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources Clés de condition arn:aws:rds:region:account:og:optiongroup-name CreateDBInstance instance de base de données rds:DatabaseClass arn:aws:rds:region:account:db:dbinstance-name rds:DatabaseEngine rds:DatabaseName rds:MultiAz rds:Piops rds:StorageSize rds:Vpc rds:db-tag Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name CreateDBInstanceReadReplica instance de base de données rds:DatabaseClass arn:aws:rds:region:account:db:dbinstance-name rds:Piops Groupe d'options DB rds:og-tag rds:db-tag arn:aws:rds:region:account:og:optiongroup-name Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name CreateDBParameterGroup Groupe de paramètres DB arn:aws:rds:region:account:pg:parametergroup-name API Version 2014-10-31 81 rds:pg-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources Clés de condition CreateDBSecurityGroup Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name CreateDBSnapshot instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname CreateDBSubnetGroup Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name CreateEventSubscription Abonnement aux événements rds:es-tag arn:aws:rds:region:account:es:subscriptionname CreateOptionGroup Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name DeleteDBInstance instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname DeleteDBParameterGroup Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name DeleteDBSecurityGroup Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name DeleteDBSnapshot Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname DeleteDBSubnetGroup Groupe de sous-réseaux DB arn:aws:rds:region:account:subgrp:subnetgroup-name API Version 2014-10-31 82 rds:subgrp-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources Clés de condition DeleteOptionGroup Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name DescribeDBEngineVersionsGroupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name DescribeDBInstances instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name DescribeDBLogFiles instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name DescribeDBParameterGroups Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name DescribeDBParameters Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name DescribeDBSecurityGroupsSecurity Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name DescribeDBSnapshots instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname DescribeDBSubnetGroups Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name DescribeEvents Abonnement aux événements rds:es-tag arn:aws:rds:region:account:es:subscriptionname DeleteEventSubscription Abonnement aux événements arn:aws:rds:region:account:es:subscriptionname API Version 2014-10-31 83 rds:es-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources DescribeEventSubscriptionsAbonnement aux événements Clés de condition rds:es-tag arn:aws:rds:region:account:es:subscriptionname DescribeOptionGroupOptions Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name DescribeOptionGroups Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name DescribePendingMaintenanceActions instance de base de données arn:aws:rds:region:account:db:dbinstance-name rds:DatabaseClass rds:DatabaseEngine rds:DatabaseName rds:MultiAz rds:Piops rds:StorageSize rds:Vpc rds:db-tag DescribeReservedDBInstances instance de base de données arn:aws:rds:region:account:db:dbinstance-name DescribeReservedDBInstancesOfferings instance de base de données arn:aws:rds:region:account:db:dbinstance-name DownloadDBLogFilePortioninstance de base de données rds:DatabaseClass rds:MultiAz rds:ri-tag rds:DatabaseClass rds:MultiAz rds:db-tag arn:aws:rds:region:account:db:dbinstance-name ListTagsForResources instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name Groupe d'options DB arn:aws:rds:region:account:og:optiongroup-name API Version 2014-10-31 84 rds:og-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources Clés de condition Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name ModifyDBInstance instance de base de données rds:DatabaseClass arn:aws:rds:region:account:db:dbinstance-name rds:MultiAz rds:Piops rds:StorageSize rds:Vpc rds:db-tag Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name ModifyDBParameterGroup Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name ModifyDBSubnetGroup Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name ModifyEventSubscription Abonnement aux événements arn:aws:rds:region:account:es:subscriptionname API Version 2014-10-31 85 rds:es-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources Clés de condition ModifyOptionGroup Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name PromoteReadReplica instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name RebootDBInstance instance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name RemoveSourceIdentifierFromSubscription Abonnement aux événements rds:es-tag arn:aws:rds:region:account:es:subscriptionname RemoveTagsFromResourceinstance de base de données rds:db-tag arn:aws:rds:region:account:db:dbinstance-name Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name Groupe de paramètres DB rds:pg-tag arn:aws:rds:region:account:pg:parametergroup-name Security Group DB rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name ResetDBParameterGroup Groupe de paramètres DB arn:aws:rds:region:account:pg:parametergroup-name API Version 2014-10-31 86 rds:pg-tag Amazon Relational Database Service Guide de l'utilisateur Autorisations au niveau des ressources prises en charge pour les opérations d'API Amazon Amazon RDS Action d'API Ressources RestoreDBInstanceFromDBSnapshot instance de base de données arn:aws:rds:region:account:db:dbinstance-name Clés de condition rds:DatabaseClass rds:DatabaseEngine rds:DatabaseName rds:MultiAz rds:Piops rds:Vpc rds:db-tag Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname Groupe de sous-réseaux DB rds:subgrp-tag arn:aws:rds:region:account:subgrp:subnetgroup-name RestoreDBInstanceToPointInTime instance de base de données arn:aws:rds:region:account:db:dbinstance-name rds:DatabaseClass rds:DatabaseEngine rds:DatabaseName rds:MultiAz rds:Piops rds:Vpc rds:db-tag Groupe d'options DB rds:og-tag arn:aws:rds:region:account:og:optiongroup-name Instantané DB rds:snapshot-tag arn:aws:rds:region:account:snapshot:snapshotname Groupe de sous-réseaux DB arn:aws:rds:region:account:subgrp:subnetgroup-name API Version 2014-10-31 87 rds:subgrp-tag Amazon Relational Database Service Guide de l'utilisateur Chiffrement des ressources Amazon RDS Action d'API Ressources RevokeDBSecurityGroupIngress Security Group DB Clés de condition rds:secgrp-tag arn:aws:rds:region:account:secgrp:securitygroup-name Autorisations au niveau des ressources Amazon RDS non prises en charge Les actions d'API Amazon RDS suivantes ne prennent pas en charge les autorisations au niveau des ressources : • DescribeAccountAttributes • DescribeCertificates • DescribeEngineDefaultParameters • DescribeEventCategories • DescribeOrderableDBInstanceOptions • PurchaseReservedDBInstancesOffering Chiffrement des ressources Amazon RDS Vous pouvez chiffrer vos instantanés et instances Amazon RDS au repos en activant l'option de chiffrement pour votre instance de base de données Amazon RDS. Les données qui sont chiffrées au repos incluent le stockage sous-jacent pour une instance de base de données, les sauvegardes automatisées, les réplicas en lecture et les instantanés. Les instances chiffrées Amazon RDS utilisent l'algorithme de chiffrement AES-256 standard pour chiffrer vos données sur le serveur qui héberge votre instance Amazon RDS. Une fois que vos données ont été chiffrées, Amazon RDS traite l'authentification de l'accès et le déchiffrement de vos données de façon transparente, avec un impact minimal sur les performances. Vous n'avez pas besoin de modifier vos applications clientes de base de données pour utiliser le chiffrement. Les instances chiffrées Amazon RDS fournissent une couche supplémentaire de protection des données en sécurisant vos données contre tout accès non autorisé au stockage sous-jacent. Vous pouvez utiliser le chiffrement Amazon RDS pour renforcer la protection des données de vos applications déployées dans le cloud et pour satisfaire aux exigences de conformité pour le chiffrement des données au repos. Des instances chiffrées par Amazon RDS sont actuellement disponibles pour les instances de base de données MySQL, PostgreSQL, Oracle et SQL Server. Amazon RDS prend également en charge le chiffrement d'une instance de base de données Oracle ou SQL Server à l'aide du chiffrement TDE (Transparent Data Encryption). Le chiffrement TDE peut être utilisé conjointement avec le chiffrement au repos, bien que l'utilisation simultanée de ces deux chiffrements puisse affecter quelque peu les performances de votre base de données. Vous devez gérer des clés différentes pour chaque méthode de chiffrement. Pour plus d'informations sur le chiffrement TDE, consultez Oracle Transparent Data Encryption (TDE) (p. 207), Annexe : utilisation de AWS CloudHSM pour stocker des clés TDE Oracle Amazon RDS (p. 236) ou SQL Server Transparent Data Encryption (p. 309). Pour gérer les clés utilisées pour le chiffrement et le déchiffrement de vos ressources Amazon RDS, vous utilisez AWS Key Management Service (AWS KMS). AWS KMS combine du matériel et des logiciels sécurisés hautement disponibles pour fournir un système de gestion de clés à l'échelle du cloud. Grâce API Version 2014-10-31 88 Amazon Relational Database Service Guide de l'utilisateur Activation du chiffrement Amazon RDS pour une instance de base de données à AWS KMS, vous pouvez créer des clés de chiffrement et définir les stratégies qui contrôlent la manière dont ces clés peuvent être utilisées. AWS KMS prend en charge CloudTrail pour vous permettre d'effectuer l'audit de l'utilisation des clés et vérifier que cette utilisation est appropriée. Vos clés AWS KMS peuvent être utilisées avec Amazon RDS et les services AWS pris en charge, tels que Amazon Simple Storage Service (Amazon S3), Amazon Elastic Block Store (Amazon EBS) et Amazon Redshift. Pour obtenir la liste des services qui prennent en charge AWS KMS, consultez Services pris en charge dans le Manuel du développeur AWS Key Management Service. L'ensemble des journaux, des sauvegardes et des instantanés sont chiffrés pour une instance chiffrée Amazon RDS. Un réplica en lecture d'une instance chiffrée Amazon RDS est également chiffré au moyen de la même clé que l'instance principale. Activation du chiffrement Amazon RDS pour une instance de base de données Pour activer le chiffrement pour une nouvelle instance de base de données, sélectionnez Yes dans la liste déroulante Enable encryption, dans la console Amazon RDS. Pour plus d'informations sur la création d'une instance de base de données, consultez l'une des rubriques suivantes : • Création d'une instance de base de données exécutant le moteur de base de données MySQL (p. 112) • Création d'une instance de base de données exécutant le moteur de base de données Oracle (p. 181) • Création d'une instance DB exécutant le moteur de base de données SQL Server (p. 275) • Création d'une instance de base de données exécutant le moteur de base de données PostgreSQL (p. 323) Si vous utilisez la commande CLI rds-create-db-instance pour créer une instance de base de données RDS chiffrée, définissez le paramètre --storage-encrypted sur true. Si vous utilisez l'action d'API CreateDBInstance, affectez au paramètre StorageEncrypted la valeur true. Lorsque vous créez une instance de base de données chiffrée, vous pouvez également fournir l'identifiant de clé AWS KMS pour votre clé de chiffrement. Si vous ne spécifiez pas d'identifiant de clé AWS KMS, Amazon RDS utilisera votre clé de chiffrement par défaut pour votre nouvelle instance de base de données. AWS KMS crée votre clé de chiffrement par défaut pour Amazon RDS pour votre compte AWS. Votre compte AWS a une clé de chiffrement par défaut différente pour chaque région AWS. Une fois que vous avez créé une instance de base de données chiffrée, vous ne pouvez pas modifier la clé de chiffrement pour cette instance. Par conséquent, veillez à déterminer vos exigences en matière de clé de chiffrement avant de créer votre instance de base de données chiffrée. Si vous utilisez la commande CLI rds-create-db-instance pour créer une instance de base de données RDS chiffrée, définissez le paramètre --kms-key-id sur l'Amazon Resource Name (ARN) de la clé de chiffrement AWS KMS pour l'instance de base de données. Si vous utilisez l'action d'API CreateDBInstance, définissez le paramètre KmsKeyId sur l'ARN de votre clé AWS KMS pour l'instance de base de données. Vous pouvez utiliser le nom ARN d'une clé issue d'un autre compte pour chiffrer une instance de base de données RDS. Si vous créez une instance de base de données à l'aide du compte AWS qui détient la clé de chiffrement AWS KMS utilisée pour chiffrer cette nouvelle instance de base de données, l'ID de clé AWS KMS que vous transmettez peut être l'alias de clé AWS KMS au lieu du nom ARN de la clé. Important Si Amazon RDS perd l'accès à la clé de chiffrement pour une instance de base de données (par exemple, lorsque l'accès Amazon RDS à une clé est révoqué), l'instance de base de données chiffrée est placée dans un état de mise hors service et peut être restaurée uniquement à partir API Version 2014-10-31 89 Amazon Relational Database Service Guide de l'utilisateur Disponibilité des instances chiffrées Amazon RDS d'une sauvegarde. Nous vous recommandons vivement de toujours activer les sauvegardes des instances de base de données chiffrées pour éviter de perdre des données chiffrées dans vos bases de données. Disponibilité des instances chiffrées Amazon RDS Des instances chiffrées par Amazon RDS sont actuellement disponibles pour les instances de base de données MySQL, PostgreSQL, Oracle et SQL Server. Le chiffrement Amazon RDS est disponible pour tous les types de stockage et les classes d'instance de base de données suivantes : Type d'instance Classe d'instance Usage général (M3) db.m3.medium db.m3.large db.m3.xlarge db.m3.2xlarge Mémoire optimisée (R3) db.r3.large db.r3.xlarge db.r3.2xlarge db.r3.4xlarge db.r3.8xlarge Mémoire optimisée – Génération précédente (CR1) db.cr1.8xlarge Note Le chiffrement au repos n'est pas disponible pour les instances de base de données SQL Server Express (sqlserver-ex) car sqlserver-ex est uniquement disponible pour les classes d'instance de base de données db.t2.micro, db.t2.small et db.t2.medium. Gestion des clés de chiffrement Amazon RDS Vous pouvez gérer les clés utilisées pour les instances chiffrées Amazon RDS en utilisant AWS Key Management Service (AWS KMS) dans la console IAM. Si vous souhaitez un contrôle total sur une clé, vous devez créer une clé gérée par le client. Vous ne pouvez pas supprimer ni révoquer les clés par défaut mises en service par AWS KMS, ni effectuer une rotation de ces clés. Vous pouvez consulter les journaux d'audit de chaque action effectuée à l'aide d'une clé gérée par le client en utilisant AWS CloudTrail. Important Si vous désactivez la clé pour une instance de base de données chiffrée, vous ne pouvez pas lire ni écrire sur cette instance de base de données. Quand Amazon RDS rencontre une instance de base de données chiffrée par une clé à laquelle Amazon RDS n'a pas accès, Amazon RDS place l'instance de base de données dans un état de mise hors service où l'instance de base de données n'est plus disponible et où l'état actuel de la base de données ne peut pas être récupéré. API Version 2014-10-31 90 Amazon Relational Database Service Guide de l'utilisateur Limitations des instances chiffrées Amazon RDS Dans le but de restaurer l'instance de base de données, vous devez réactiver l'accès à la clé de chiffrement pour Amazon RDS, puis restaurer l'instance de base de données à partir d'une sauvegarde. Limitations des instances chiffrées Amazon RDS Les limitations suivantes existent pour les instances chiffrées Amazon RDS : • Vous pouvez uniquement activer le chiffrement pour une instance DB RDS lorsque vous la créez, et non pas après la création de l'instance DB. • Les instances DB existantes qui ne sont pas chiffrées ne peuvent pas être modifiées pour activer le chiffrement. • Les instances DB qui sont chiffrées ne peuvent pas être modifiées pour désactiver le chiffrement. • Vous ne pouvez pas avoir un réplica en lecture chiffré d'une instance de base de données non chiffrée ni un réplica en lecture non chiffré d'une instance de base de données chiffrée. • Les réplicas en lecture chiffrés doivent être chiffrés avec la même clé que l'instance DB source. • Vous ne pouvez pas restaurer un instantané non chiffré ou une sauvegarde non chiffrée vers une instance DB chiffrée. • Comme les clés de chiffrement KMS sont spécifiques à la région dans laquelle elles sont créées, vous ne pouvez pas copier un instantané chiffré d'une région vers une autre, ni répliquer les instances de base de données chiffrées entre régions. • Comme les clés de chiffrement KMS sont spécifiques à la région dans laquelle elles sont créées, vous ne pouvez pas répliquer des instances de base de données chiffrées entre les régions. Utilisation de SSL pour chiffrer une connexion à une instance de base de données Vous pouvez utiliser SSL à partir de votre application pour chiffrer une connexion à une instance de base de données exécutant MySQL, SQL Server, ou PostgreSQL. Chaque moteur DB possède son propre processus d'implémentation SSL. Pour apprendre à implémenter SSL pour votre instance DB, utilisez le lien suivant qui correspond à votre moteur de base de données : • Utilisation de SSL avec une instance de base de données MySQL (p. 106) • Utilisation de SSL avec une instance DB SQL Server (p. 272) • Utilisation de SSL avec une instance de base de données PostgreSQL (p. 320) Vous pouvez télécharger un certificat racine valide pour toutes les régions ici. Il s'agit de l'entité racine approuvée et elle doit fonctionner dans la plupart des cas, mais peut échouer si votre application n'accepte pas les chaînes de certificats. Si votre application n'accepte pas les chaînes de certificats, téléchargez le certificat spécifique à la région dans la section suivante. Rotation des certificats SSL Amazon RDS a commencé la mise à jour des certificats SSL sur toutes les instances de base de données le 23 Mars 2015, mais il n'a pas initié de redémarrage des instances. Ces mises à jour s'effectuent sans impact opérationnel ni temps d'arrêt, et dans de nombreux cas, elles auront lieu durant votre fenêtre de maintenance. Amazon RDS ne mettra pas à jour le certificat de vos instances si vous avez déjà procédé à la mise à jour. Notez également qu'Amazon RDS ne met pas à jour les certificats dans les régions AWS GovCloud (US) et Chine (Pékin). API Version 2014-10-31 91 Amazon Relational Database Service Guide de l'utilisateur Rotation des certificats SSL Que vous procédiez à une mise à jour manuelle du certificat ou que celui-ci soit mis à jour par Amazon RDS, l'instance de base de données doit être redémarrée pour que le nouveau certificat entre en vigueur. Vous pouvez décider de redémarrer manuellement l'instance de base de données, mais vous devez mettre à jour le certificat et redémarrer l'instance avant que l'ancien certificat (rds-ca-2010) n'expire le 3 avril 2015. Vous pouvez vérifier l'autorité de certification qui est utilisée par votre instance de base de données à l'aide de la console Amazon RDS. L'autorité de certification se trouve sous la section Réseau et sécurité des détails de votre instance de base de données. Si votre instance indique rds-ca-2015, cela signifie que le nouveau certificat a bien été appliqué. Vous devez encore redémarrer votre instance de base de données et mettre à jour votre application client afin d'utiliser le nouveau certificat SSL. Si la console Amazon RDS indique l'autorité de certification de votre sous la forme rds-ca-2010, cela signifie que le nouveau certificat n'a pas encore été appliqué à votre instance de base de données. Utilisez les instructions suivantes pour mettre à jour le certificat SSL dans vos instances de base de données. Plusieurs types de certificats sont disponibles. Sélectionnez le certificat approprié pour votre client. Nous vous recommandons de tester ces étapes dans un environnement de développement ou un environnement intermédiaire avant de les appliquer dans votre environnement de production. Notez qu'à l'issue de l'étape 4, votre instance de base de données sera redémarrée. Pour appliquer un nouveau certificat SSL à votre instance de base de données 1. Sélectionnez le ou les certificats dont vous avez besoin. • Vous pouvez télécharger un certificat racine valide pour toutes les régions ici. Il s'agit de l'entité racine approuvée et elle doit fonctionner dans la plupart des cas, mais peut échouer si votre application n'accepte pas les chaînes de certificats. • Si vous avez besoin d'un certificat intermédiaire pour une région particulière, téléchargez ce certificat en sélectionnant la région dans laquelle l'instance DB réside dans la liste suivante : Asie-Pacifique (Tokyo) Asie-Pacifique (Singapour) Asie-Pacifique (Sydney) UE (Francfort) UE (Irlande) Amérique du Sud (São Paulo) USA Est (Virginie du Nord) USA Ouest (Californie du Nord) USA Ouest (Oregon) • Un ensemble de certificats contenant l'ancien certificat racine et le nouveau certificat racine peut être téléchargé ici. 2. 3. 4. • Si votre application s'exécute sur la plateforme Microsoft Windows et requiert un fichier PKCS7, vous pouvez télécharger ici l'ensemble de certificats PKCS7 contenant à la fois l'ancien certificat et le nouveau certificat. Modifiez le fichier de configuration de votre client ou application de base données afin qu'il utilise le certificat que vous avez sélectionné à l'étape 1. Sur la console Amazon RDS, cliquez sur l'instance de base de données, puis cliquez sur Modifier sous Actions d'instance. Dans la boîte de dialogue Modification d'une instance DB, dans la zone de texte Autorité de certification, définissez le certificat sur rds-ca-2015 au lieu de rds-ca-2010. Cliquez sur Appliquer API Version 2014-10-31 92 Amazon Relational Database Service Guide de l'utilisateur Groupes de sécurité Amazon RDS immédiatement de sorte que la modification du certificat SSL de l'instance de base de données soit appliquée immédiatement. Cliquez sur Continuer. Passez en revue la modification et cliquez sur Modifier l'instance DB. Cette action effectue une rotation du certificat SSL sur l'instance de base de données et initie une opération de redémarrage pour que le certificat entre en vigueur. Important Cette étape entraîne le redémarrage de votre instance de base de données. Si vous ne voulez pas que votre instance de base de données redémarre immédiatement lorsque vous cliquez sur Modifier l'instance DB, reportez cette étape jusqu'à ce qu'il soit possible de redémarrer l'instance de base de données. L'opération de redémarrage de base de données dure généralement moins de deux minutes. Dans certains cas, par exemple lorsque la base de données comporte un grand nombre de tables, l'opération peut être plus longue. Pour plus d'informations sur le redémarrage d'une instance de base de données, consultez Redémarrage d'une instance de base de données (p. 412). Si vous n'utilisez pas SSL pour chiffrer votre connexion, aucune action n'est nécessaire. Le certificat de votre instance de base de données sera mis à jour après le 23 mars 2015, sans redémarrage. La modification de certificat n'aura aucune incidence sur les performances de l'instance. Si vous décidez ultérieurement d'utiliser le chiffrement SSL, vous devrez redémarrer l'instance de base de données afin que le certificat entre en vigueur. Groupes de sécurité Amazon RDS Les groupes de sécurité contrôlent l'accès dont dispose le trafic entrant et sortant d'une instance de base de données. Trois types de groupe de sécurité sont utilisés avec Amazon RDS : les groupes de sécurité DB, les groupes de sécurité VPC et les groupes de sécurité EC2. En termes simples, un groupe de sécurité DB contrôle l'accès à une instance de base de données qui ne se trouve pas dans un VPC, un groupe de sécurité VPC contrôle l'accès à une instance de base de données (ou à d'autres instances AWS) au sein d'un VPC, et un groupe de sécurité EC2 contrôle l'accès à une instance EC2. Par défaut, l'accès au réseau est désactivé sur une instance de base de données. Vous pouvez spécifier des règles dans un groupe de sécurité qui autorise l'accès depuis une plage d'adresses IP, un port ou un groupe de sécurité EC2. Une fois les règles de trafic entrant configurées, les mêmes règles s'appliquent à toutes les instances de base de données qui sont associées à ce groupe de sécurité. Vous pouvez spécifier jusqu'à 20 règles dans un groupe de sécurité. Groupes de sécurité DB Chaque règle de groupe de sécurité DB permet à une source spécifique d'accéder à une instance de base de données associée à ce groupe de sécurité DB. Cette source peut être une plage d'adresses (par exemple, 203.0.113.0/24) ou un groupe de sécurité EC2. Lorsque vous spécifiez un groupe de sécurité EC2 en tant que source, vous autorisez le trafic entrant provenant de toutes les instances EC2 qui utilisent ce groupe de sécurité EC2. Notez que les règles d'un groupe de sécurité DB s'appliquent uniquement au trafic entrant. Le trafic sortant n'est actuellement pas autorisé pour les instances de base de données. Vous n'avez pas besoin de spécifier de numéro de port de destination lorsque vous créez des règles de groupe de sécurité DB. Le numéro de port défini pour l'instance de base de données est utilisé comme numéro de port de destination pour toutes les règles définies pour le groupe de sécurité DB. Il est possible de créer des groupes de sécurité DB à l'aide d'API Amazon RDS ou de la page Amazon RDS de la console AWS Management Console. Pour plus d'informations sur l'utilisation des groupes de sécurité DB, consultez Utilisation de groupes de sécurité DB (p. 479) API Version 2014-10-31 93 Amazon Relational Database Service Guide de l'utilisateur Groupes de sécurité VPC Groupes de sécurité VPC Chaque règle de groupe de sécurité VPC permet à une source spécifique d'accéder à une instance de base de données dans un VPC associée à ce groupe de sécurité VPC. Cette source peut être une plage d'adresses (par exemple, 203.0.113.0/24) ou un autre groupe de sécurité VPC. En spécifiant un groupe de sécurité VPC en tant que source, vous autorisez le trafic entrant provenant de toutes les instances (généralement les serveurs d'application) qui utilisent le groupe de sécurité VPC source. Les groupes de sécurité VPC peuvent avoir des règles qui régissent à la fois le trafic entrant et sortant, même si les règles de trafic sortant ne s'appliquent pas aux instances de base de données. Notez que vous devez utiliser l'API Amazon EC2 ou l'option Security Group de la console VPC pour créer des groupes de sécurité VPC. Il est possible de configurer les instances DB déployées au sein d'un VPC pour qu'elles soient accessibles à partir d'Internet ou des instances EC2 situées hors du VPC. Si un groupe de sécurité VPC spécifie un port d'accès tel que le port TCP 22, vous ne pouvez pas accéder à l'instance DB, car le pare-feu pour cette instance DB fournit un accès uniquement via les adresses IP spécifiées par les groupes de sécurité DB dont l'instance est membre et le port défini lorsque l'instance DB a été créée. Vous devez utiliser le protocole TCP pour tout groupe de sécurité VPC créé pour contrôler l'accès à une instance DB. Le numéro de port pour le groupe de sécurité VPC doit être le même que celui qui a servi à créer l'instance DB. Comparaison entre les groupes de sécurité DB et les groupes de sécurité VPC Le tableau ci-dessous montre les différences clés entre les groupes de sécurité DB et les groupes de sécurité VPC. Groupe de sécurité DB Groupe de sécurité VPC Contrôle l'accès aux instances de base de données situées hors d'un VPC. Contrôle l'accès aux instances de base de données situées dans un VPC. Utilise les API Amazon RDS ou la page Amazon RDS de la console AWS Management Console pour créer et gérer un groupe/des règles. Utilise les API Amazon EC2 ou la page Amazon VPC de la console AWS Management Console pour créer et gérer un groupe/des règles. Lorsque vous ajoutez une règle à un groupe, vous Lorsque vous ajoutez une règle à un groupe, vous n'avez pas besoin de spécifier de numéro de port ni devez spécifier le protocole TCP et spécifier le de protocole. même numéro de port que celui que vous avez utilisé pour créer les instances de base de données (ou Options) que vous envisagez d'ajouter au groupe en tant que membres. Les groupes autorisent l'accès à partir des groupes de sécurité EC2 dans votre compte AWS ou dans d'autres comptes. Les groupes autorisent l'accès à partir des autres groupes de sécurité VPC dans votre VPC uniquement. Scénario de groupes de sécurité Une utilisation courante d'une instance RDS dans un VPC consiste à partager les données avec un serveur d'application qui s'exécute dans une instance EC2 dans le même VPC et auquel accède une application cliente située hors du VPC. Pour ce scénario, vous procéderiez comme suit pour créer les instances et les groupes de sécurité nécessaires. Vous pouvez utiliser les pages RDS et VPC sur la console AWS ou les API RDS et EC2. API Version 2014-10-31 94 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes 1. Créez un groupe de sécurité VPC (par exemple, « sg-appsrv1») et définissez des règles entrantes qui utilisent comme source les adresses IP de l'application cliente. Ce groupe de sécurité autorise votre application cliente à se connecter aux instances EC2 dans un VPC qui utilise ce groupe de sécurité. 2. Créez une instance EC2 pour l'application et ajoutez l'instance EC2 au groupe de sécurité VPC (« sgappsrv1 ») que vous avez créé à l'étape précédente. L'instance EC2 dans le VPC partage le groupe de sécurité VPC avec l'instance de base de données. 3. Créez un second groupe de sécurité VPC (par exemple, « sg-dbsrv1 ») et créez une nouvelle règle en spécifiant le groupe de sécurité VPC que vous avez créé à l'étape 1 (« sg-appsrv1 ») en tant que source. 4. Créez une instance de base de données et ajoutez-la au groupe de sécurité VPC (« sg-dbsrv1 ») que vous avez créé à l'étape précédente. Lorsque vous créez l'instance, utilisez le même numéro de port que celui spécifié pour la règle du groupe de sécurité VPC (« sg-dbsrv1 ») que vous avez créée à l'étape 3. Le schéma suivant illustre ce scénario. Pour plus d'informations sur l'utilisation des groupes de sécurité DB, consultez Utilisation de groupes de sécurité DB (p. 479). Rubriques connexes • Utilisation de groupes de sécurité DB (p. 479) API Version 2014-10-31 95 Amazon Relational Database Service Guide de l'utilisateur Limites dans Amazon RDS Limites pour Amazon RDS Cette rubrique décrit les contraintes d'attribution de noms et les limites des ressources pour Amazon RDS. Rubriques • Limites dans Amazon RDS (p. 96) • Contraintes d'affectation de noms dans Amazon RDS (p. 97) • Limites de taille des fichiers dans Amazon RDS (p. 98) Limites dans Amazon RDS Chaque compte AWS possède des limites, par région, sur le nombre de ressources Amazon RDS pouvant être créées. Une fois qu'une limite a été atteinte pour une ressource, les appels supplémentaires pour créer cette ressource échouent avec une exception. Le tableau ci-dessous répertorie les ressources et leurs limites par région. Ressource Limite par défaut Instances 40 Instances réservées 40 Stockage total pour toutes les instances DB 100 To Instantanés manuels 50 Groupes de paramètres 50 Groupes de sécurité 25 Groupes de sous-réseaux 20 Sous-réseaux par groupe de sous-réseaux 20 Groupes d'options 20 Abonnements aux événements 20 Réplicas en lecture par expert 5 API Version 2014-10-31 96 Amazon Relational Database Service Guide de l'utilisateur Contraintes d'affectation de noms dans Amazon RDS Contraintes d'affectation de noms dans Amazon RDS Le tableau ci-dessous décrit les contraintes d'affectation de noms dans Amazon RDS. Identifiant d'instance de base de données • Doit contenir entre 1 et 63 caractères alphanumériques ou traits d'union (entre 1 et 15 pour SQL Server). • Le premier caractère doit être une lettre. • Ne peut pas se terminer par un trait d'union ni contenir deux traits d'union consécutifs. • Doit être unique pour toutes les instance de base de données par compte AWS et par région. Nom de base de données Les contraintes relatives aux noms de bases de données diffèrent pour chaque moteur de base de données. MySQL • Doit contenir entre 1 et 64 caractères alphanumériques. • Ne peut pas être un mot réservé du moteur de base de données. PostgreSQL • Doit contenir entre 1 et 63 caractères alphanumériques. • Doit commencer par une lettre ou un trait de soulignement. Les caractères suivants peuvent être des lettres, des traits de soulignement ou des chiffres (0-9). • Ne peut pas être un mot réservé du moteur de base de données. Oracle • Ne peut pas compter plus de 8 caractères. SQL Server • Ne s'applique pas. Nom utilisateur maître Les contraintes relatives à un nom utilisateur maître diffèrent pour chaque moteur de base de données. MySQL • Doit contenir entre 1 et 16 caractères alphanumériques. • Le premier caractère doit être une lettre. • Ne peut pas être un mot réservé du moteur de base de données. Oracle • Doit contenir entre 1 et 30 caractères alphanumériques. API Version 2014-10-31 97 Amazon Relational Database Service Guide de l'utilisateur Limites de taille des fichiers dans Amazon RDS • Le premier caractère doit être une lettre. • Ne peut pas être un mot réservé du moteur de base de données. SQL Server • Doit contenir entre 1 et 128 caractères alphanumériques. • Le premier caractère doit être une lettre. • Ne peut pas être un mot réservé du moteur de base de données. PostgreSQL • Doit contenir entre 1 et 63 caractères alphanumériques. • Le premier caractère doit être une lettre. • Ne peut pas être un mot réservé du moteur de base de données. Mot de passe principal Le mot de passe de l'utilisateur principal de la base de données peut contenir tout caractère ASCII imprimable à l'exception de « / », « " » et « @ ». Les contraintes relatives à un mot de passe principal diffèrent pour chaque moteur de base de données. MySQL • Doit contenir entre 8 et 41 caractères. Oracle • Doit contenir entre 8 et 30 caractères. SQL Server • Doit contenir entre 8 et 128 caractères. PostgreSQL • Doit contenir entre 8 et 128 caractères. Nom de groupe de paramètres de base de données • Doit contenir entre 1 et 255 caractères alphanumériques. • Le premier caractère doit être une lettre. • Ne peut pas se terminer par un trait d'union ni contenir deux traits d'union consécutifs. Limites de taille des fichiers dans Amazon RDS Du fait de contraintes sous-jacentes du système de fichiers, les instances Amazon RDS peuvent prendre en charge des fichiers d'une taille maximum de 2 To. API Version 2014-10-31 98 Amazon Relational Database Service Guide de l'utilisateur Limites de taille des fichiers MySQL dans Amazon RDS Limites de taille des fichiers MySQL dans Amazon RDS Avec MySQL, cette limite de taille de fichier restreint chaque table à une taille maximum de 2 To lors de l'utilisation d'espaces de table file-per-table InnoDB. Cette limite restreint également l'espace de table du système à une taille maximum de 2 To. Les espaces de table file-per-table avec des tables chacune dans leur propre espace de table sont définis par défaut dans MySQL version 5.6.6 et ultérieure. Vous devez activer les espaces de table file-per-table InnoDB pour MySQL versions 5.1 et 5.5. Selon votre application, l'utilisation des espaces de table file-per-table InnoDB présente des avantages et des inconvénients. Pour déterminer l'approche optimale pour votre application, consultez InnoDB File-PerTable Mode dans la documentation sur MySQL. Nous ne recommandons pas de laisser les tables atteindre 2 To. En général, une meilleure pratique consiste à partitionner les données en tables plus petites, ce qui peut améliorer la performance et les temps de récupération. Une option que vous pouvez utiliser pour diviser une grande table en plus petites consiste à partitionner. Le partitionnement répartit des portions de votre grande table en fichiers distincts basés sur des règles que vous spécifiez. Par exemple, si vous stockez des transactions par date, vous pouvez créer des règles de partitionnement qui répartissent des transactions plus anciennes en fichiers distincts en utilisant le partitionnement. Ensuite, vous pouvez archiver régulièrement les données de transaction historiques qui n'ont pas besoin d'être rapidement utilisables par votre application. Pour plus d'informations, consultez https://dev.mysql.com/doc/refman/5.6/en/partitioning.html dans la documentation sur MySQL. Pour déterminer la taille de fichier d'une table Utilisez la commande SQL suivante pour déterminer si certaines de vos tables sont trop volumineuses et peuvent faire l'objet d'un partitionnement. SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) As "Approximate size (MB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema'); Pour activer les espaces de table file-per-table InnoDB • Pour activer les espaces de table file-per-table InnoDB, affectez au paramètre innodb_file_per_table la valeur 1 dans le groupe de paramètres relatif à l'instance de base de données. Pour désactiver les espaces de table file-per-table InnoDB • Pour désactiver les espaces de table file-per-table InnoDB, affectez au paramètre innodb_file_per_table la valeur 0 dans le groupe de paramètres relatif à l'instance de base de données. Pour plus d'informations sur la mise à jour d'un groupe de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Après avoir activé ou désactivé les espaces de table file-per-table InnoDB, vous pouvez émettre une commande ALTER TABLE pour déplacer une table à partir de l'espace de table global vers son propre espace de table, ou à partir de son propre espace de table vers l'espace de table global, comme illustré dans l'exemple suivant : API Version 2014-10-31 99 Amazon Relational Database Service Guide de l'utilisateur Limites de taille des fichiers MySQL dans Amazon RDS ALTER TABLE table_name ENGINE=InnoDB; API Version 2014-10-31 100 Amazon Relational Database Service Guide de l'utilisateur MySQL sur Amazon RDS Amazon RDS prend en charge les instances de base de données qui exécutent plusieurs versions de MySQL. Vous utilisez d'abord les interfaces ou les outils de gestion Amazon RDS pour créer une instance DB MySQL Amazon RDS. Vous pouvez ensuite utiliser les outils Amazon RDS pour exécuter les actions de gestion de l'instance DB, telles que reconfigurer ou redimensionner l'instance DB, autoriser les connexions à l'instance DB, créer ou restaurer à partir de sauvegardes ou d'instantanés, créer des secondaires multi-AZ, créer des réplicas en lecture, et superviser les performances de l'instance DB. Vous utilisez les applications et les utilitaires MySQL pour stocker les données de l'instance DB et y accéder. Il s'agit des tâches courantes de gestion que vous exécutez avec une instance DB MySQL Amazon RDS, avec des liens vers les informations relatives à chaque tâche : • Pour plus d'informations sur la planification, par exemple les versions de MySQL, les moteurs de stockage, la sécurité et les fonctions prises en charge dans Amazon RDS, consultez Informations sur la planification de MySQL sur Amazon RDS (p. 102). • Avant de créer une instance DB, vous devez suivre la procédure de la section Configuration d'Amazon RDS (p. 7) du présent guide. • Vous pouvez créer une instance DB MySQL Amazon RDS après que vous avez satisfait aux conditions requises, comme la création de groupes de sécurité, de groupes de paramètres DB ou de groupes d'options DB. Pour plus d'informations, consultez Création d'une instance de base de données exécutant le moteur de base de données MySQL (p. 112). • Après avoir créé le groupe de sécurité et l'instance DB, vous pouvez vous connecter à cette dernière à partir des utilitaires et des applications MySQL. Pour plus d'informations, consultez Connexion à une instance de base de données exécutant le moteur de base de données MySQL (p. 118). • Une instance de base de données Amazon RDS nouvellement créée a une base de données vide dont le nom est celui que vous avez défini lors de la création de l'instance de base de données, et un compte utilisateur maître dont le nom et le mot de passe sont ceux que vous avez spécifiés. Vous devez utiliser un outil ou un utilitaire MySQL pour vous connecter en tant qu'utilisateur maître, puis utiliser les commandes MySQL et les instructions SQL pour ajouter tous les utilisateurs et les éléments nécessaires afin que vos applications puissent stocker et récupérer les données de l'instance de base de données, telles que les suivantes : • Créer tous les ID utilisateur et leur accorder les autorisations appropriées. Pour plus d'informations, accédez à MySQL User Account Management dans la documentation MySQL. API Version 2014-10-31 101 Amazon Relational Database Service Guide de l'utilisateur Informations sur la planification de MySQL • Créer les bases de données et les objets requis tels que les tables ou les vues. Pour plus d'informations, consultez Data Definition Statements dans la documentation MySQL. • Etablir les procédures d'importation ou d'exportation de données. Pour plus d'informations sur certaines procédures recommandées, consultez Importation et exportation de données à partir d'une instance de base de données MySQL (p. 124). • Vous devrez peut-être modifier régulièrement votre instance de base de données, pour la redimensionner ou la reconfigurer, par exemple. Pour plus d'informations, consultez Modification d'une instance de base de données exécutant le moteur de base de données MySQL (p. 121). Pour plus d'informations sur des tâches spécifiques, consultez : • Affectation d'un nouveau nom à une instance de base de données (p. 407) • Suppression d'une instance de base de données (p. 409) • Redémarrage d'une instance de base de données (p. 412) • Balisage des ressources Amazon RDS (p. 436) • Mises à niveau majeures de version de moteur de base de données pour une instance de base de données (p. 395) • Ajustement du créneau de maintenance préféré (p. 402) • Vous pouvez configurer votre instance DB pour que les sauvegardes soient exécutées automatiquement ou que les instantanés soient créés manuellement, puis que les instances soient restaurées à partir des sauvegardes ou des instantanés. Pour plus d'informations, consultez Sauvegarde et restauration (p. 441). • Vous pouvez superviser une instance via différentes actions telles que l'affichage des journaux MySQL, événements et métriques CloudWatch Amazon RDS. Pour plus d'informations, consultez Supervision de Amazon RDS (p. 506). • Vous pouvez décharger le trafic en lecture de votre instance DB MySQL principale en créant des réplicas en lecture. Pour plus d'informations, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). • Plusieurs fonctions Amazon RDS que vous pouvez utiliser avec les instances DB MySQL sont communes aux moteurs de base de données Amazon RDS. Pour plus d'informations, consultez : • Utilisation des instances de base de données réservées (p. 488) • Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63) Il y a également plusieurs annexes incluant des informations utiles sur l'utilisation des instances DB MySQL Amazon RDS : • Annexe : Tâches courantes DBA pour MySQL (p. 151) • Annexe : options pour le moteur de base de données MySQL (p. 156) • Annexe : Guide de référence MySQL sur Amazon RDS SQL (p. 160) Informations sur la planification de MySQL sur Amazon RDS Rubriques • Versions de MySQL sur Amazon RDS (p. 103) • • • • • Moteurs de stockage pris en charge par Amazon RDS (p. 104) Amazon RDS et MySQL Security (p. 104) Préparation du cache InnoDB (p. 106) Fonctions MySQL non prises en charge par Amazon RDS (p. 107) Limites et problèmes connus (p. 108) API Version 2014-10-31 102 Amazon Relational Database Service Guide de l'utilisateur Versions MySQL Versions de MySQL sur Amazon RDS Amazon RDS prend actuellement en charge les versions 5.6, 5.5, et 5.1 de MySQL. Avec le temps, nous prévoyons de prendre en charge des versions MySQL supplémentaires pour Amazon RDS. Le nombre de nouvelles versions MySQL prises en charge dans une année donnée variera en fonction de leur fréquence et de leur contenu, mais aussi du résultat d'un examen approfondi de chaque version par notre équipe d'ingénierie en bases de données. Toutefois, en règle générale, nous souhaitons prendre en charge de nouvelles versions MySQL dans les 3 à 5 mois après leur disponibilité générale. Les numéros de version MySQL sont organisés comme suit : version = X.Y.Z. Dans la terminologie Amazon RDS, X.Y représente la version majeure et Z le numéro de la version mineure. Pour les implémentations de Amazon RDS, une modification de version est considérée comme majeure si le numéro de la version majeure change, en passant par exemple de 5.1.71 à 5.5.33. Une modification de version est considérée comme mineure si seul le numéro de la version mineure change, en passant par exemple de 5.5.31 à 5.5.33. Vous pouvez spécifier n'importe quelle version MySQL actuellement prise en charge lorsque vous créez une instance de base de données. Vous pouvez spécifier les versions majeures MySQL 5.6, 5.5, ou 5.1 puis toute version mineure prise en charge pour la version majeure spécifiée. Si aucune version n'est spécifiée, Amazon RDS utilise par défaut une version prise en charge, généralement la plus récente. Si une version majeure (par ex. MySQL 5.6) est spécifiée, mais qu'une version mineure ne l'est pas, Amazon RDS passera par défaut à une parution récente de la version majeure que vous avez spécifiée. Pour afficher la liste des versions prises en charge, ainsi que celles par défaut des instances de base de données nouvellement créées, utilisez l'API DescribeDBEngineVersions. Avec Amazon RDS, vous contrôlez à quel moment vous mettez à niveau votre instance MySQL vers une nouvelle version prise en charge par Amazon RDS. Vous pouvez maintenir la compatibilité avec des versions MySQL spécifiques, tester de nouvelles versions avec votre application avant le déploiement en production et effectuer des mises à niveau de versions aux moments qui correspondent le mieux à votre calendrier. Sauf indication contraire, votre instance de base de données sera automatiquement mise à niveau vers les nouvelles versions MySQL mineures à mesure que celles-ci seront prises en charge par Amazon RDS. Cette correction aura lieu au cours de votre créneau de maintenance planifié et sera annoncée à l'avance sur le forum de la communauté Amazon RDS. Pour désactiver les mises à niveau de version automatique, définissez le paramètre AutoMinorVersionUpgrade sur « false ». Si vous refusez les mises à niveau automatiques planifiées, vous pouvez procéder manuellement à une mise à niveau vers une version mineure prise en charge en suivant la même procédure que pour une mise à jour de la version majeure. Pour plus d'informations, consultez Mises à niveau majeures de version de moteur de base de données pour une instance de base de données (p. 395). Amazon RDS prend actuellement en charge les mises à niveau de version majeure de MySQL version 5.1 vers la version 5.5 et de MySQL version 5.5 vers la version 5.6. Du fait que les mises à niveau de version majeure impliquent des risques de compatibilité, ils ne se produisent pas automatiquement. Vous devez déposer une requête pour modifier l'instance de base de données. Vous devez tester soigneusement toute mise à niveau avant de procéder à la mise à niveau de vos instances de production. Pour plus d'informations sur la mise à niveau d'une instance de base de données, consultez Mises à niveau majeures de version de moteur de base de données pour une instance de base de données (p. 395). Vous pouvez tester une instance de base de données par rapport à une nouvelle version avant la mise à niveau. Pour ce faire, créez un snapshot DB de votre instance de base de données existante, restaurez à partir du snapshot DB pour créer une instance de base de données et lancez une mise à niveau de version pour la nouvelle instance de base de données. Vous pouvez expérimenter ensuite en toute sécurité sur le clone mis à niveau de votre instance DB avant de décider si vous voulez mettre à niveau votre instance DB d'origine. La politique d'obsolescence de Amazon RDS pour MySQL inclut les points suivants : API Version 2014-10-31 103 Amazon Relational Database Service Guide de l'utilisateur Moteurs de stockage pris en charge par Amazon RDS • Nous avons l'intention de prendre en charge des versions MySQL majeures, y compris MySQL 5.1, pendant 3 ans après leur prise en charge initiale par Amazon RDS. • Nous avons l'intention de prendre en charge des versions MySQL mineures (par ex. MySQL 5.1.45) pendant au moins 1 an après leur prise en charge initiale par Amazon RDS. • Après qu'une version MySQL majeure ou mineure a été « déconseillée », nous prévoyons d'accorder une période de grâce de trois mois, afin que vous puissiez lancer une mise à niveau vers une version prise en charge avant une mise à niveau automatique appliquée pendant votre fenêtre de maintenance programmée. Utilisation de l'option memcached avec MySQL 5.6 La plupart des moteurs de base de données Amazon RDS prennent en charge des groupes d'options qui vous permettent de sélectionner des fonctions supplémentaires pour votre instance de base de données. Les instances de base de données MySQL 5.6 prennent en charge l'option memcached, cache simple basée sur les clés. Pour plus d'informations sur l'option memcached, consultez Annexe : options pour le moteur de base de données MySQL (p. 156). Pour plus d'informations sur l'utilisation de groupes d'options, consultez Utilisation de groupes d'options (p. 455). Moteurs de stockage pris en charge par Amazon RDS Même si MySQL prend en charge plusieurs moteurs de stockage avec diverses capacités, toutes ne sont pas optimisées pour la récupération et la durabilité des données. Amazon RDS prend entièrement en charge le moteur de stockage InnoDB pour les instances de base de données MySQL. Les fonctions Amazon RDS, telles que la restauration à un instant dans le passé et la restauration d'instantané, nécessitent un moteur de stockage récupérable et sont prises en charge uniquement pour le moteur de stockage InnoDB. Vous devez exécuter une instance de MySQL 5.6 pour utiliser l'interface memcached InnoDB. Pour plus d'informations, consultez Prise en charge memcached MySQL 5.6 (p. 156). Le Federated Storage Engine n'est pour l'instant pas pris en charge par Amazon RDS pour MySQL. Le moteur de stockage MyISAM ne prend pas en charge une récupération fiable et peut causer la perte ou la corruption des données quand MySQL est redémarré après une récupération, empêchant la restauration à un instant dans le passé et la restauration d'instantané de fonctionner comme prévu. Néanmoins, si vous choisissez tout de même d'utiliser MyISAM avec Amazon RDS, les instantanés peuvent être utiles dans certaines conditions. Pour plus d'informations sur les restrictions de MyISAM, consultez Sauvegardes automatiques avec moteurs de stockage MySQL non pris en charge (p. 55). Si vous voulez convertir les tables MyISAM existantes en tables InnoDB, vous pouvez utiliser la commande ALTER TABLE (par ex., alter table TABLE_NAME engine=innodb;). Veuillez garder en tête que MyISAM et InnoDB ont des forces et des faiblesses différentes, vous devriez donc commencer par évaluer de façon exhaustive l'impact de ce basculement sur vos applications. Amazon RDS et MySQL Security La sécurité des instances de base de données Amazon RDS MySQL est gérée à trois niveaux : • AWS Identity and Access Management contrôle les personnes autorisées à exécuter des actions de gestion Amazon RDS sur les instances de base de données. Lorsque vous vous connectez à AWS à l'aide des informations d'identification IAM, votre compte IAM doit disposer des stratégies IAM qui accordent les autorisations requises pour exécuter les opérations de gestion Amazon RDS. Pour plus d'informations, consultez Utilisation d'AWS Identity and Access Management (IAM) pour gérer l'accès aux ressources Amazon RDS (p. 70). • Lorsque vous créez une instance de base de données, vous utilisez un groupe de sécurité VPC ou un groupe de sécurité DB pour contrôler les appareils et les instances Amazon EC2 qui peuvent ouvrir des connexions au point de terminaison et au port de l'instance de base de données. Ces connexions peuvent être réalisées en utilisant SSL. En outre, les règles de pare-feu de votre entreprise peuvent API Version 2014-10-31 104 Amazon Relational Database Service Guide de l'utilisateur Amazon RDS et MySQL Security contrôler si les appareils en cours d'exécution dans votre entreprise peuvent ouvrir des connexions à l'instance de base de données. • Une fois qu'une connexion a été ouverte sur une instance de base de données MySQL, l'authentification de la connexion et les autorisations sont appliquées de la même manière que dans une instance autonome de MySQL. Les commandes telles que CREATE USER, RENAME USER, GRANT, REVOKE et SET PASSWORD fonctionnent de la même façon que dans les bases de données autonomes, comme le fait la modification directe des tables du schéma de base de données. Pour plus d'informations, accédez à MySQL User Account Management dans la documentation MySQL. Lorsque vous créez une instance de base de données Amazon RDS, l'utilisateur principal a les privilèges par défaut suivants : • alter • alter routine • create • create routine • create temporary tables • create user • create view • delete • drop • event • execute • grant option • index • insert • lock tables • process • references • replication slave • select • show databases • show view • trigger • update Note Bien qu'il soit possible de supprimer l'utilisateur maître sur l'instance de base de données, il n'est pas recommandé de le faire. Pour recréer l'utilisateur maître, utilisez l'API ModifyDBInstance ou l'outil de ligne de commande rds-modify-db-instance et spécifiez un nouveau mot de passe utilisateur maître avec le paramètre approprié. Si l'utilisateur maître n'existe pas dans l'instance, il sera créé avec le mot de passe spécifié. Pour fournir des services de gestion à chaque instance de base de données, l'utilisateur rdsadmin est créé lors de la création de l'instance de base de données. Les tentatives de supprimer, renommer et modifier le mot de passe du compte rdsadmin, ou d'en modifier les privilèges, génèrent une erreur. Pour autoriser la gestion de l'instance de base de données, les commandes standard kill et kill_query ont fait l'objet de restrictions. Les commandes Amazon RDS rds_kill et rds_kill_query sont fournies API Version 2014-10-31 105 Amazon Relational Database Service Guide de l'utilisateur Préparation du cache InnoDB pour vous permettre de mettre fin aux requêtes ou aux sessions utilisateur sur les instances de base de données. Utilisation de SSL avec une instance de base de données MySQL Amazon RDS prend en charge les connexions SSL avec les instances de base de données exécutant le moteur de base de données MySQL. Amazon RDS crée un certificat SSL et l'installe sur l'instance de base de données quand Amazon RDS alloue l'instance. Ces certificats sont signés par une autorité de certification. Le certificat SSL inclut le point de terminaison de l'instance DB en tant que nom commun du certificat SSL pour assurer une protection contre les attaques par usurpation. La clé publique est stockée à l'adresse http://s3.amazonaws.com/rdsdownloads/rds-combined-ca-bundle.pem. Important Amazon RDS effectuera la rotation de tous les certificats SSL pour les instances de base de données le 23 Mars 2015 mail il n'initiera pas de redémarrage de l'instance. Si vous utilisez SSL pour la connexion à une instance de base de données Amazon RDS, vous devez suivre les étapes de la rubrique Rotation des certificats SSL (p. 91) pour appliquer un nouveau certificat SSL à votre instance de base de données avant le 23 mars 2015 ou vous ne pourrez pas vous connecter à l'instance de base de données en utilisant SSL. Pour chiffrer les connexions à l'aide du client mysql par défaut, lancez le client mysql à l'aide du paramètre --ssl-ca parameter pour référencer la clé publique. Par exemple : mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=rds-ssl-ca-cert.pem -ssl-verify-server-cert Vous pouvez utiliser l'instruction GRANT pour exiger des connexions SSL pour des comptes d'utilisateur spécifiques. Par exemple, vous pouvez utiliser l'instruction suivante pour demander des connexions SSL sur le compte utilisateur utilisateur_chiffré : GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL Note Pour plus d'informations les connexions SSL avec MySQL, consultez la documentation MySQL. Préparation du cache InnoDB La préparation du cache InnoDB peut fournir des gains de performances pour votre instance de base de données MySQL en enregistrant l'état actuel du pool de mémoires tampons lorsque l'instance de base de données est arrêtée, puis en rechargeant le pool de mémoires tampons à partir des informations enregistrées au démarrage de l'instance de base de données. Cette approche contourne la nécessité de « préparer » le pool de mémoires tampons à partir d'une utilisation normale de la base de données et précharge à la place le pool de mémoires tampons avec les pages des requêtes courantes connues. Le fichier qui stocke les informations du pool de tampons enregistré stocke uniquement les métadonnées pour les pages qui sont dans le pool de mémoires tampons et pas les pages elles-mêmes. Par conséquent, le fichier ne nécessite pas un important espace de stockage. La taille du fichier représente environ 0,2 pour cent de la taille du cache. Par exemple, pour un cache 64 Go, la taille du fichier de préparation de cache est de 128 Mo. Pour plus d'informations sur la préparation du cache InnoDB, accédez à Preloading the InnoDB Buffer Pool for Faster Restart dans la documentation MySQL. MySQL sur Amazon RDS prend en charge la préparation de cache InnoDB pour MySQL version 5.6 et ultérieure. Pour activer la préparation du cache InnoDB, définissez les paramètres innodb_buffer_pool_dump_at_shutdown et innodb_buffer_pool_load_at_startup avec la valeur 1 dans le groupe de paramètres de votre instance de base de données. La modification de ces valeurs dans un groupe de paramètres affecte toutes les instances de base de données MySQL qui utilisent ce groupe de paramètres. Pour activer la préparation du cache InnoDB pour des instances de base de API Version 2014-10-31 106 Amazon Relational Database Service Guide de l'utilisateur Fonctions MySQL non prises en charge par Amazon RDS données MySQL spécifiques, vous devrez peut-être créer un groupe de paramètres pour ces instances. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). La préparation du cache InnoDB fournit principalement une amélioration des performances pour les instances de base de données qui utilisent le stockage standard. Si vous utilisez le stockage PIOPS, vous ne constatez généralement pas d'amélioration significative des performances. Important Si votre instance de base de données MySQL ne se ferme pas normalement, comme lors d'un basculement, l'état du pool de mémoires tampons n'est pas enregistré sur le disque. Dans ce cas, MySQL charge n'importe quel fichier du pool de mémoires tampons disponible au redémarrage de l'instance de base de données. Il n'en résulte aucun dommage, mais le pool de tampons restauré peut ne pas refléter l'état le plus récent du pool de tampons avant le redémarrage. Pour vous assurer d'avoir un état récent du pool de mémoires tampons disponible afin de préparer le cache InnoDB au démarrage, il est recommandé que vous vidiez régulièrement le pool de mémoires tampons « à la demande ». Vous pouvez vider ou charger le pool de mémoires tampons à la demande si votre instance de base de données exécute MySQL version 5.6.19 ou ultérieure. Vous pouvez créer un événement pour vider le pool de mémoires tampons automatiquement et à intervalles réguliers. Par exemple, l'instruction suivante crée un événement nommé periodic_buffer_pool_dump qui vide le pool de mémoires tampons toutes les heures. CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now(); Pour plus d'informations sur les événements MySQL, consultez Event Syntax dans la documentation MySQL. Vidage et chargement du pool de tampons à la demande Pour MySQL version 5.6.19 et ultérieure, vous pouvez enregistrer et charger le cache InnoDB « à la demande ». • Pour vider l'état actuel du pool de mémoires tampons sur le disque, appelez la procédure stockée mysql.rds_innodb_buffer_pool_dump_now (p. 167). • Pour charger l'état enregistré du pool de mémoires tampons à partir du disque, appelez la procédure stockée mysql.rds_innodb_buffer_pool_load_now (p. 167). • Pour annuler une opération de chargement en cours, appelez la procédure stockée mysql.rds_innodb_buffer_pool_load_abort (p. 167). Fonctions MySQL non prises en charge par Amazon RDS Amazon RDS ne prend pas en charge actuellement les fonctions MySQL suivantes : • ID de transaction globaux • Espace disque logique transportable • Plug-in d'authentification • Plug-in de niveau de sécurité du mot de passe • Réplication semi-synchrone API Version 2014-10-31 107 Amazon Relational Database Service Guide de l'utilisateur Limites et problèmes connus Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Amazon RDS prend en charge l'accès aux bases de données sur une instance de base de données à l'aide de toute application cliente SQL standard. Amazon RDS n'autorise pas l'accès hôte direct à une instance de base de données via Telnet, Secure Shell (SSH) ou une connexion Bureau à distance Windows. Lorsque vous créez une instance de base de données, le rôle db_owner vous est attribué pour toutes les bases de données sur cette instance, et vous disposez de toutes les autorisations au niveau de la base de données, sauf celles qui sont utilisées pour les sauvegardes (Amazon RDS gère les sauvegardes pour vous). Limites et problèmes connus Version MySQL recommandée pour memcached Nous recommandons d'utiliser l'interface memcached uniquement avec MySQL version 5.6.21b ou ultérieure. En effet, nous procédons ainsi car il existe un certain nombre de résolutions de bogues relatives à l'interface memcached qui sont incluses dans le moteur MySQL démarrant avec la version 5.6.21b. Pour plus d'informations, consultez Changes in MySQL 5.6.20 (2014-07-31) et Changes in MySQL 5.6.21 (2014-09-23) dans la documentation MySQL. Pour plus d'informations sur l'utilisation de memcached avec MySQL sur Amazon RDS, consultez Prise en charge memcached MySQL 5.6 (p. 156) E/S asynchrones de MySQL version 5.5.40 désactivées Il se peut que vous constatiez une diminution des performances d'E/S si vous avez une instance de base de données MySQL créée avant le 23 avril 2014, puis mise à niveau vers MySQL version 5.5.40 après le 17 octobre 2014. Cette baisse des performances peut être due à une erreur qui désactive le paramètre innodb_use_native_aio, même si le groupe de paramètres DB correspondant autorise le paramètre innodb_use_native_aio. Pour résoudre cette erreur, nous vous recommandons de mettre à niveau votre instance de base de données MySQL version 5.5.40 vers la version 5.5.40a, qui corrige ce comportement. Pour plus d'informations sur les mises à niveau de version mineure, consultez Mises à niveau mineures de version de moteur de base de données pour une instance de base de données (p. 396). Pour plus d'informations sur les E/S asynchrones MySQL, consultez Asynchronous I/O on Linux dans la documentation MySQL. L'optimisation de la fusion d'index retourne des résultats erronés Les requêtes qui utilisent l'optimisation de la fusion d'index peuvent retourner des résultats erronés en raison d'un bogue dans l'optimiseur de requêtes introduit dans MySQL 5.5.37. Lorsque vous émettez une requête sur une table à plusieurs index, l'optimiseur analyse les plages de lignes en fonction des différents index, mais ne fusionne pas les résultats correctement. Pour plus d'informations sur le bogue de l'optimiseur de requête, accédez à http://bugs.mysql.com/bug.php?id=72745 et http://bugs.mysql.com/ bug.php?id=68194 dans la base de données des bogues MySQL. Par exemple, imaginons une requête sur une table avec deux index où les arguments de la recherche font référence aux colonnes indexées. SELECT * FROM table1 WHERE indexed_col1 = 'value1' AND indexed_col2 = 'value2'; API Version 2014-10-31 108 Amazon Relational Database Service Guide de l'utilisateur Limites et problèmes connus Dans ce cas, le moteur de recherche analysera les deux index. Néanmoins, en raison du bogue, les résultats fusionnés seront incorrects. Pour résoudre ce problème, vous pouvez procéder de l'une des manières suivantes : • Définissez le paramètre optimizer_switch sur index_merge=off dans le groupe de paramètres DB de votre instance de base de données MySQL. Pour plus d'informations sur la définition des paramètres d'un groupe de paramètres DB, consultez Utilisation des groupes de paramètres DB (p. 466). • Mettez à niveau votre instance de base de données MySQL vers MySQL version 5.6.19a. Pour plus d'informations sur les mises à niveau de version majeure, consultez Mises à niveau majeures de version de moteur de base de données pour une instance de base de données (p. 395). • Si vous ne pouvez pas mettre à niveau votre instance ou modifier le paramètre optimizer_switch, vous pouvez contourner le bogue en identifiant explicitement un index pour la requête, par exemple : SELECT * FROM table1 USE INDEX covering_index WHERE indexed_col1 = 'value1' AND indexed_col2 = 'value2'; Pour plus d'informations, consultez Optimisation de la fusion d'index. Echec de la réplication après la mise à niveau vers MySQL version 5.6.21 Si vous avez une instance de base de données qui exécute une version antérieure à 5.6.4, ou si l'instance de base de données a été mise à niveau depuis une version antérieure à 5.6.4, vous pouvez recevoir l'erreur suivante si vous avez un réplica en lecture qui exécute MySQL version 5.6.21. mysqld got signal 11 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. MySQL version 5.6.4 a introduit un nouveau format de date et d'heure pour les colonnes datetime, time et timestamp qui autorise des composants fractionnaires dans les valeurs de date et d'heure. Cette erreur est provoquée par une incompatibilité des formats de date et d'heure entre le maître et le réplica, et se traduit par une défaillance lorsque la journalisation basée sur les lignes tente de relire une opération depuis l'instance de base de données maître vers l'instance de base de données du réplica. Vous pouvez également voir un certain nombre de messages de journalisation basés sur les lignes concernés dans votre journal des erreurs MySQL, par exemple : Relay_log_info, Rows_log_event, etc. Pour plus d'informations sur le nouveau format date et heure pour MySQL, consultez Mise à niveau de MySQL 5.5 vers 5.6 dans la documentation MySQL.. Pour résoudre l'erreur, vous pouvez procéder de l'une des manières suivantes : • Mettez à niveau votre réplica en lecture vers MySQL version 5.6.23 ou ultérieure. Pour plus d'informations sur la mise à niveau d'une instance de base de données MySQL sur Amazon RDS vers la version 5.6, consultez Mise à niveau des versions de base de données pour une instance DB (p. 394). • Mettez à niveau votre instance de base de données maître vers MySQL version 5.6.12 ou ultérieure, et mettez à niveau le format des colonnes date et heure concernées. Pour plus d'informations sur la mise à API Version 2014-10-31 109 Amazon Relational Database Service Guide de l'utilisateur Limites et problèmes connus niveau d'une instance de base de données MySQL sur Amazon RDS vers la version 5.6, consultez Mise à niveau des versions de base de données pour une instance DB (p. 394). Pour mettre à niveau les colonnes de date et d'heure vers le nouveau format sur votre instance de base de données principale, vous devez émettre la commande ALTER TABLE <table_name> FORCE;. Note Comme la modification d'une table la verrouille en lecture seule, il est recommandé d'effectuer cette mise à jour pendant une fenêtre de maintenance. Vous pouvez exécuter la requête suivante pour trouver toutes les tables dans votre base de données qui ont des colonnes du type datetime, time ou timestamp puis créer une commande ALTER TABLE <table_name> FORCE; pour chaque table. SELECT DISTINCT CONCAT('ALTER TABLE `', REPLACE(is_tables.TABLE_SCHEMA, '`', '``'), '`.`', REPLACE(is_tables.TABLE_NAME, '`', '``'), '` FORCE;') FROM information_schema.TABLES is_tables INNER JOIN information_schema.COLUMNS col ON col.TABLE_SCHEMA = is_tables.TABLE_SCHEMA AND col.TABLE_NAME = is_tables.TABLE_NAME LEFT OUTER JOIN information_schema.INNODB_SYS_TABLES systables ON SUBSTRING_INDEX(systables.NAME, '#', 1) = CONCAT(is_tables.TABLE_SCHEMA,'/',is_tables.TABLE_NAME) LEFT OUTER JOIN information_schema.INNODB_SYS_COLUMNS syscolumns ON syscolumns.TABLE_ID = systables.TABLE_ID AND syscolumns.NAME = col.COLUMN_NAME WHERE col.COLUMN_TYPE IN ('time','timestamp','datetime') AND is_tables.TABLE_TYPE = 'BASE TABLE' AND is_tables.TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema') AND (is_tables.ENGINE = 'InnoDB' AND syscolumns.MTYPE = 6); Taille des fichiers journaux Pour les versions MySQL 5.6.20 et ultérieures, une taille limite est appliquée aux objets BLOB écrits dans le fichier journal redo. Pour prendre en compte cette limite, vérifiez que le paramètre innodb_log_file_size de votre instance de base de données MySQL est dix fois supérieur à la taille des données BLOB les plus volumineuses figurant dans vos tables, plus la longueur des autres champs de longueur variable (VARCHAR, VARBINARY, TEXT) dans ces tables. Pour plus d'informations sur la manière de définir les valeurs des paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Pour plus d'informations sur la taille limite des objets BLOB du fichier journal redo, accédez à Changes in MySQL 5.6.20. Exceptions des paramètres MySQL pour les instances de base de données Amazon RDS Certains paramètres MySQL nécessitent des considérations spéciales lors d'une utilisation avec une instance de base de données Amazon RDS. lower_case_table_names Du fait qu'Amazon RDS utilise un système de fichiers qui respecte la casse, la définition de la valeur du paramètre du serveur lower_case_table_names sur 2 (« noms stockés comme donnés mais comparés en minuscules ») n'est pas prise en charge. Les valeurs prises en charge pour les instances de base de données Amazon RDS sont 0 (« noms stockés comme donnés et les comparaisons respectent la casse »), qui est la valeur par défaut, ou 1 (« noms stockés en minuscules et les comparaisons ne respectent pas la casse »). API Version 2014-10-31 110 Amazon Relational Database Service Guide de l'utilisateur Limites et problèmes connus Le paramètre lower_case_table_names doit être défini dans le cadre d'un groupe de paramètres DB personnalisé avant de créer une instance de base de données. Vous devez éviter de changer le paramètre lower_case_table_names pour les instances de base de données existantes car cela pourrait entraîner des incohérences avec les sauvegardes de restauration à un instant dans le passé et les instances de base de données de Read réplica en lecture. Les réplicas en lecture doivent toujours utiliser la même valeur de paramètre lower_case_table_names que l'instance de base de données maître. long_query_time Vous pouvez définir le paramètre long_query_time sur une valeur à virgule flottante qui vous permet de consigner des requêtes lentes dans le journal des requêtes lentes MySQL avec une résolution en microseconde. Vous pouvez définir une valeur telle que 0,1 seconde, ce qui correspondrait à 100 millisecondes, pour aider lors du débogage de transactions lentes qui durent moins d'une seconde. Limites de taille des fichiers MySQL Du fait de contraintes sous-jacentes du système de fichiers, les instances Amazon RDS peuvent prendre en charge des fichiers d'une taille maximum de 2 To. Avec MySQL, cette limite de taille de fichier restreint chaque table à une taille maximum de 2 To lors de l'utilisation d'espaces de table file-per-table InnoDB. Cette limite restreint également l'espace de table du système à une taille maximum de 2 To. Les espaces de table file-per-table avec des tables chacune dans leur propre espace de table sont définis par défaut dans MySQL version 5.6.6 et ultérieure. Vous devez activer les espaces de table file-per-table InnoDB pour MySQL versions 5.1 et 5.5. Selon votre application, l'utilisation des espaces de table file-per-table InnoDB présente des avantages et des inconvénients. Pour déterminer l'approche optimale pour votre application, consultez InnoDB File-PerTable Mode dans la documentation sur MySQL. Nous ne recommandons pas de laisser les tables atteindre 2 To. En général, une meilleure pratique consiste à partitionner les données en tables plus petites, ce qui peut améliorer la performance et les temps de récupération. Une option que vous pouvez utiliser pour diviser une grande table en plus petites consiste à partitionner. Le partitionnement répartit des portions de votre grande table en fichiers distincts basés sur des règles que vous spécifiez. Par exemple, si vous stockez des transactions par date, vous pouvez créer des règles de partitionnement qui répartissent des transactions plus anciennes en fichiers distincts en utilisant le partitionnement. Ensuite, vous pouvez archiver régulièrement les données de transaction historiques qui n'ont pas besoin d'être rapidement utilisables par votre application. Pour plus d'informations, consultez https://dev.mysql.com/doc/refman/5.6/en/partitioning.html dans la documentation sur MySQL. Pour déterminer la taille de fichier d'une table Utilisez la commande SQL suivante pour déterminer si certaines de vos tables sont trop volumineuses et peuvent faire l'objet d'un partitionnement. SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) As "Approximate size (MB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema'); Pour activer les espaces de table file-per-table InnoDB • Pour activer les espaces de table file-per-table InnoDB, affectez au paramètre innodb_file_per_table la valeur 1 dans le groupe de paramètres relatif à l'instance de base de données. API Version 2014-10-31 111 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données exécutant MySQL Pour désactiver les espaces de table file-per-table InnoDB • Pour désactiver les espaces de table file-per-table InnoDB, affectez au paramètre innodb_file_per_table la valeur 0 dans le groupe de paramètres relatif à l'instance de base de données. Pour plus d'informations sur la mise à jour d'un groupe de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Après avoir activé ou désactivé les espaces de table file-per-table InnoDB, vous pouvez émettre une commande ALTER TABLE pour déplacer une table à partir de l'espace de table global vers son propre espace de table, ou à partir de son propre espace de table vers l'espace de table global, comme illustré dans l'exemple suivant : ALTER TABLE table_name ENGINE=InnoDB; Création d'une instance de base de données exécutant le moteur de base de données MySQL La fondation de base d'Amazon RDS est l'instance de base de données. C'est dans l'instance de base de données que vous créez vos bases de données MySQL. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. AWS Management Console Pour lancer une instance de base de données MySQL 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la AWS Management Console, sélectionnez la région dans laquelle vous voulez créer l'instance DB. 3. Dans le volet de navigation, cliquez sur Instances DB. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Dans la fenêtre Launch DB Instance Wizard, cliquez sur le bouton Select pour le moteur de base de données MySQL. 6. L'étape suivante vous invite à indiquer si vous envisagez d'utiliser l'instance de base de données que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Lorsque vous avez terminé, cliquez sur Next. 7. Sur la page Specify DB Details, spécifiez les informations de votre instance de base de données. La table suivante affiche les paramètres pour un exemple d'instance de base de données. Lorsque vous avez terminé, cliquez sur Next. API Version 2014-10-31 112 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: License Model MySQL n'a qu'un seul modèle de licence. Sélectionnez l'option par défaut, General-Public-License, pour utiliser le contrat de licence général pour MySQL. DB Engine Version Sélectionnez la version de MySQL avec laquelle vous voulez travailler. Veuillez noter que Amazon RDS prend en charge plusieurs versions de MySQL. Classe d'instance de base de données Sélectionnez une classe d'instance de base de données qui définit les exigences de mémoire et de traitement pour l'instance de base de données. Pour plus d'informations sur toutes les options de classe d'instance de base de données, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Déterminez si vous souhaitez créer un réplica de secours de votre instance de base de données dans une autre zone de disponibilité pour la prise en charge du basculement. Pour plus d'informations sur les zones de disponibilité multiples, consultez Régions et Zones de disponibilité (p. 49). Allocated Storage Saisissez une valeur pour allouer du stockage pour votre base de données (en gigaoctets). Dans certains cas, allouer une quantité de stockage pour votre instance de base de données supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Types de stockage Amazon RDS (p. 58). Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données qui est unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, comme suit : mysqlinstance1. Master Username Saisissez un nom en utilisant des caractères alphanumériques que vous utiliserez comme le nom utilisateur maître pour vous connecter sur votre instance de base de données. Les privilèges par défaut accordés au compte du nom utilisateur maître incluent les suivants : create, drop, references, event, alter, delete, index, insert, select, update, create temporary tables, lock tables, trigger, create view, show view, alter routine, create routine, execute, create user, process, show databases, grant option. Master Password Saisissez un mot de passe contenant entre 8 et 16 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur maître. API Version 2014-10-31 113 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console 8. Pour ce paramètre... ...Faites ceci: Confirm Password Ressaisissez le mot de passe maître pour confirmation. Dans la page Configure Advanced Settings, fournissez des informations supplémentaires dont RDS a besoin pour lancer l'instance de base de données MySQL. La table affiche les paramètres pour un exemple d'instance de base de données. Spécifiez vos informations d'instance de base de données, puis cliquez sur Next Step. Pour ce paramètre... ...Faites ceci: VPC Sélectionnez le nom du Virtual Private Cloud (VPC) qui hébergera votre instance de base de données MySQL. Si votre instance de base de données ne va pas être hébergée dans un VPC, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Zone de disponibilité Déterminez si vous voulez spécifier une zone de disponibilité particulière. Si vous avez sélectionné Yes pour le paramètre Multi-AZ Deployment sur la page précédente, vous n'aurez ici aucune option. Pour plus d'informations sur les zones de disponibilité, consultez Régions et Zones de disponibilité (p. 49). DB Security Groups Sélectionnez le groupe de sécurité que vous voulez utiliser avec cette instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Utilisation de groupes de sécurité DB (p. 479). Database Name Saisissez un nom pour votre base de données comprenant entre 1 et 64 caractères alphanumériques. Si vous ne fournissez pas un nom, Amazon RDS ne créera pas une base de données sur l'instance de base de données que vous créez. Database Port Spécifiez le port par lequel les applications et les utilitaires accèdent à la base de données. Par défaut, les installations MySQL adoptent le port 3306. Dans certaines entreprises, les pare-feux bloquent les connexions au port MySQL par défaut. Si le pare-feu de votre entreprise bloque le port par défaut, choisissez un autre port pour la nouvelle instance de base de données. Groupe de paramètres DB Sélectionnez un groupe de paramètres. Chaque version de MySQL a un groupe de paramètres par défaut que vous pouvez utiliser, ou bien vous pouvez créer votre propre groupe de paramètres. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez un groupe d'options. Chaque version de MySQL a un groupe d'options par défaut que vous pouvez utiliser, ou bien vous pouvez créer votre propre groupe d'options. Pour plus d'informations sur les API Version 2014-10-31 114 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: groupes d'options, consultez Utilisation de groupes d'options (p. 455). Enable Encryption Sélectionnez Yes pour activer le chiffrement au repos pour cette instance de base de données. Pour plus d'informations, consultez Chiffrement des ressources Amazon RDS (p. 88). Backup Retention Period Sélectionnez le nombre de jours pour que Amazon RDS sauvegarde automatiquement votre instance de base de données. Vous pouvez récupérer votre base de données à n'importe quel moment dans le passé au cours de cette période de conservation. Pour plus d'informations, consultez Sauvegardes d'instance de base de données (p. 53). Backup Window Spécifiez la période de temps pendant laquelle votre instance de base de données est sauvegardée. Pendant la fenêtre de sauvegarde, les E/S de stockage peuvent être suspendues au cours de la copie de vos données et il se peut que la latence augmente. La suspension des E/ S dure généralement pendant la création de l'instantané. Cette suspension est plus courte pour les déploiements de base de données Multi-AZ, car les données sauvegardées proviennent de l'instance de secours ; la latence peut toutefois augmenter durant la procédure de sauvegarde. Pour plus d'informations, consultez Sauvegardes d'instance de base de données (p. 53). Auto Minor Version Upgrade Sélectionnez Yes si vous voulez activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions du moteur de base de données. Maintenance Window Sélectionnez la plage hebdomadaire pendant laquelle la maintenance du système peut se produire. Pour plus d'informations sur le créneau de maintenance, consultez Ajustement du créneau de maintenance préféré (p. 402). De plus, Federated Storage Engine n'est pour l'instant pas pris en charge par Amazon RDS pour MySQL. Note Les fonctions de restauration à un moment donné et de restauration d'instantané de Amazon RDS pour MySQL nécessitent un moteur de stockage avec option de récupération sur incident et sont toutes deux prises en charge uniquement pour le moteur de stockage InnoDB. Même si MySQL prend en charge plusieurs moteurs de stockage avec diverses capacités, toutes ne sont pas optimisées pour la récupération de plantage et la durabilité des données. Par exemple, le moteur de stockage MyISAM ne prend pas en charge une récupération sur incident fiable et peut causer la perte ou la corruption des données quand MySQL est redémarré après un incident, empêchant la restauration à un instant dans le passé ou la restauration d'instantané de fonctionner comme prévu. Si vous voulez convertir les tables MyISAM existantes en tables InnoDB, vous pouvez utiliser la commande ALTER TABLE (par ex., alter table TABLE_NAME engine=innodb;). Veuillez API Version 2014-10-31 115 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande noter que MyISAM et InnoDB ont des forces et des faiblesses différentes, vous devriez donc commencer par évaluer de façon exhaustive l'impact de ce basculement sur vos applications. 9. Cliquez sur Launch DB Instance pour créer votre instance de base de données MySQL. 10. Sur la dernière page de l'assistant, cliquez sur Close. 11. Sur la console Amazon RDS, la nouvelle instance de base de données s'affiche dans la liste des instances de base de données. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut être disponible au terme de plusieurs minutes. Interface de ligne de commande Pour créer une instance de base de données MySQL • Utilisez la commande CLI rds-create-db-instance pour créer une instance de base de données. Pour plus d'informations, accédez à rds-create-db-instance dans le manuel Amazon Relational Database Service Command Line Reference. Exemples : PROMPT>rds-create-db-instance mydbinstance -s 20 -c db.m1.small -e MySQL - u <masterawsuser> -p <masteruserpassword> --backup-retention-period 3 Cette commande doit produire une sortie similaire à ce qui suit : DBINSTANCE mydbinstance db.m1.small SECGROUP default active PARAMGRP default.mysql5.1 in-sync mysql 20 sa creating 3 **** n 5.1.57 API Pour créer une instance de base de données MySQL • Appelez l'action d'API CreateDBInstance pour créer une instance de base de données. Pour plus d'informations, accédez à CreateDBInstance dans le manuel Amazon Relational Database Service API Reference. Exemples : • DBInstanceIdentifier = mydbinstance • DBInstanceClass = db.m1.small • AllocatedStorage = 20 • BackupRetentionPeriod = 3 • MasterUsername = <masterawsuser> • MasterUserPassword = <masteruserpassword> Example https://rds.us-west-2.amazonaws.com/ ?Action=CreateDBInstance &AllocatedStorage=20 API Version 2014-10-31 116 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes &BackupRetentionPeriod=3 &DBInstanceClass=db.m1.small &DBInstanceIdentifier=mydbinstance &DBName=mydatabase &DBSecurityGroups.member.1=mysecuritygroup &DBSubnetGroup=mydbsubnetgroup &Engine=mysql &MasterUserPassword=<masteruserpassword> &MasterUsername=<masterawsuser> &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140213/us-west-2/rds/aws4_request &X-Amz-Date=20140213T162136Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=8052a76dfb18469393c5f0182cdab0ebc224a9c7c5c949155376c1c250fc7ec3 Rubriques connexes • Instances DB Amazon RDS (p. 43) • Classe d'instance de base de données (p. 44) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 117 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance de base de données exécutant MySQL Connexion à une instance de base de données exécutant le moteur de base de données MySQL Après qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente MySQL standard pour vous connecter à l'instance. Dans la chaîne de connexion, vous spécifiez l'adresse DNS du point de terminaison de l'instance de base de données comme paramètre de l'hôte, et le numéro de port du point de terminaison de l'instance de base de données comme paramètre du port. Vous pouvez utiliser la AWS Management Console, la commande CLI rds-describe-db-instances ou l'action d'API DescribeDBInstances pour répertorier les détails d'une instance de base de données Amazon RDS, y compris son point de terminaison. Si la valeur d'un point de terminaison est myinstance.123456789012.useast-1.rds.amazonaws.com:3306, vous spécifiez les valeurs suivantes dans une chaîne de connexion MySQL : • Pour un hôte ou nom d'hôte, spécifiez myinstance.123456789012.us-east-1.rds.amazonaws.com • Pour un port, spécifiez 3306 Vous pouvez vous connecter à une instance de base de données MySQL Amazon RDS en utilisant des outils tels que l'utilitaire de ligne de commande MySQL. Pour plus d'informations sur l'utilisation de l'utilitaire MySQL, consultez mysql - L'outil de ligne de commande MySQL dans la documentation MySQL. MySQL Workbench est une application basée sur l'interface utilisateur graphique que vous pouvez utiliser pour la connexion. Pour plus d'informations, consultez la page Télécharger MySQL Workbench. Les deux causes les plus courantes d'échec de connexion à une nouvelle instance de base de données sont : • L'instance de base de données a été créée grâce à un groupe de sécurité qui interdit les connexions depuis l'appareil ou l'instance Amazon EC2 où l'application ou l'utilitaire MySQL s'exécute. Si l'instance de base de données a été créée à l'intérieur d'un VPC, elle doit avoir un groupe de sécurité VPC qui autorise les connexions. Si l'instance de base de données a été créée à l'extérieur d'un VPC, elle doit avoir un groupe de sécurité DB qui autorise les connexions. • L'instance de base de données a été créée à l'aide du port par défaut 3306, et votre entreprise dispose de règles de pare-feu bloquant les connexions à ce port depuis les appareils de votre réseau d'entreprise. Pour corriger le problème, recréez l'instance avec un port différent. Vous pouvez utiliser le chiffrement SSL sur les connexions à une instance de base de données MySQL Amazon RDS. Pour plus d'informations, consultez Utilisation de SSL avec une instance de base de données MySQL (p. 106). Connexion depuis l'utilitaire MySQL Pour se connecter à une instance de base de données en utilisant l'utilitaire MySQL • Saisissez la commande suivante dans une invite de commande pour vous connecter à une instance de base de données en utilisant l'utilitaire MySQL. Pour le paramètre -h, remplacez le nom DNS pour votre instance de base de données. Pour le paramètre -P, remplacez le port pour votre instance de base de données. Entrez le mot de passe de l'utilisateur principal quand vous y êtes invité. PROMPT> mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p Vous verrez des résultats similaires à ce qui suit. API Version 2014-10-31 118 Amazon Relational Database Service Guide de l'utilisateur Connexion à SSL Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.1.32-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Connexion à SSL Pour se connecter à une instance de base de données avec SSL en utilisant l'utilitaire MySQL Amazon RDS crée un certificat SSL pour votre instance de base de données lorsque l'instance est créée. Si vous activez la vérification du certificat SSL, ce dernier inclut le point de terminaison de l'instance de base de données en tant que nom commun du certificat SSL pour assurer une protection contre les attaques par usurpation. Pour vous connecter à votre instance de base de données en utilisant SSL, suivez les étapes suivantes : 1. Vous pouvez télécharger un certificat racine valide pour toutes les régions ici. 2. Saisissez la commande suivante dans une invite de commande pour vous connecter à une instance de base de données avec SSL en utilisant l'utilitaire MySQL. Pour le paramètre -h, remplacez le nom DNS pour votre instance de base de données. Pour le paramètre --ssl-ca, remplacez le nom de fichier du certificat SSL par le nom approprié. PROMPT> mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rdsca-2015-root.pem 3. Incluez le paramètre --ssl-verify-server-cert afin que la connexion SSL vérifie le point de terminaison de l'instance de base de données par rapport au point de terminaison dans le certificat SSL. Exemples : PROMPT> mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rdsca-2015-root.pem --ssl-verify-server-cert 4. Entrez le mot de passe de l'utilisateur principal quand vous y êtes invité. Vous verrez des résultats similaires à ce qui suit. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.1.32-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Rubriques connexes • Instances DB Amazon RDS (p. 43) • Création d'une instance de base de données exécutant le moteur de base de données MySQL (p. 112) • Groupes de sécurité Amazon RDS (p. 93) API Version 2014-10-31 119 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 120 Amazon Relational Database Service Guide de l'utilisateur Modification d'une instance de base de données exécutant MySQL Modification d'une instance de base de données exécutant le moteur de base de données MySQL Vous pouvez modifier les paramètres d'une instance de base de données pour accomplir des tâches telles que l'ajout de stockage supplémentaire ou la modification de la classe d'instance. Cette rubrique vous guide dans la modification d'une instance de base de données Amazon RDS MySQL et décrit les paramètres pour les instances MySQL. Pour plus d'informations sur des tâches supplémentaires, telles que renommer, redémarrer, supprimer, baliser ou mettre à niveau une instance de base de données Amazon RDS, consultez Cycle de vie d'une instance de base de données Amazon RDS (p. 389). Nous vous recommandons de tester toutes les modifications apportées à une instance test avant de modifier une instance de production, et ce afin de mieux comprendre l'impact d'une modification. Cela est particulièrement important lors de la mise à niveau de versions de base de données. Vous pouvez appliquer les modifications immédiatement ou les appliquer pendant le créneau de maintenance suivant de l'instance de base de données. Dans certains cas, l'application immédiate de modifications peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately lors de la modification d'une instance de base de données, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). AWS Management Console Pour modifier une instance de base de données MySQL 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. 3. Dans le volet de navigation, cliquez sur Instances. Cochez la case pour l'instance de base de données que vous souhaitez modifier, cliquez sur Instance Actions puis sur Modify. Dans la boîte de dialogue Modify DB Instance, choisissez parmi les paramètres suivants ceux que vous souhaitez modifier : 4. Paramètre Description DB Engine Version Dans la liste fournie, cliquez sur la version du moteur de base de données MySQL que vous souhaitez utiliser. Classe d'instance de base de données Dans la liste fournie, cliquez sur la classe d'instance de base de données que vous souhaitez utiliser. Pour plus d'informations sur les classes d'instances, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Si vous souhaitez déployer votre instance de base de données dans plusieurs zones de disponibilité, cliquez sur Yes. Dans le cas contraire, cliquez sur No. Allocated Storage Spécifiez le volume de stockage, en gigaoctets, qui doit être alloué pour votre instance de base de données. Le volume minimal autorisé est de 5 Go ; le volume maximal est de 6 To. Notez que vous pouvez uniquement augmenter le volume de stockage lors de la modification d'une instance de base de données. Vous ne pouvez pas réduire le volume de stockage alloué. Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Le remplacement du paramètre Magnetic par API Version 2014-10-31 121 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Paramètre Description le paramètre General Purpose (SSD) ou Provisioned IOPS (SSD) entraîne une interruption de service. De même, le remplacement du paramètre IOPS dimensionné (SSD) ou Usage général (SSD) par le paramètre Magnétique entraîne une interruption de service. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Vous pouvez renommer l'instance de base de données en saisissant un nouveau nom. Lorsque vous modifiez l'identifiant d'instance de base de données, un redémarrage d'instance se produit immédiatement si vous définissez Apply Immediately sur true, ou se produira pendant le créneau de maintenance suivant si vous définissez Apply Immediately sur false. Cette valeur est stockée sous la forme d'une chaîne en minuscules. New Master Password Saisissez un mot de passe pour votre utilisateur maître. Le mot de passe doit contenir entre 8 et 41 caractères alphanumériques. Security Group Sélectionnez le groupe de sécurité que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Utilisation de groupes de sécurité DB (p. 479). Parameter Group Sélectionnez le groupe de paramètres que vous voulez associer à l'instance de base de données. La modification de ce paramètre n'entraîne pas de temps d'arrêt. Le nom du groupe de paramètres lui-même est immédiatement changé, mais les modifications réelles des paramètres ne prennent effet qu'après le redémarrage de l'instance, sans basculement. L'instance de base de données NE sera PAS automatiquement redémarrée et les modifications du paramètre NE seront PAS appliquées pendant le créneau de maintenance suivant. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez le groupe d'options que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). Backup Retention Period Spécifiez le nombre de jours de conservation des sauvegardes automatiques. Pour désactiver les sauvegardes automatiques, définissez cette valeur sur 0. Note Une interruption immédiate se produit si vous modifiez la période de rétention des sauvegardes de 0 à une valeur non nulle, ou d'une valeur non nulle à 0. API Version 2014-10-31 122 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande Paramètre Description Backup Window Définissez l'intervalle de temps pendant lequel des sauvegardes automatiques de vos bases de données se produiront. Spécifiez une heure de début en heure UTC (Universal Coordinated Time) et une durée en heures. Auto Minor Version Upgrade Si vous voulez que votre instance de base de données reçoive automatiquement les mises à niveau des versions mineures du moteur lorsqu'elles sont disponibles, cliquez sur Yes. Les mises à niveau sont installées uniquement pendant votre créneau de maintenance planifié. Maintenance Window Définissez l'intervalle de temps pendant lequel la maintenance du système, dont les mises à niveau, se produira. Spécifiez une heure de début en UTC et une durée en heures. 5. Pour appliquer les modifications immédiatement, cochez la case Apply Immediately. Dans certains cas, le choix de cette option peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). 6. Lorsque toutes les modifications correspondent à vos attentes, cliquez sur Continue. Si vous souhaitez à la place annuler des modifications que vous n'avez pas appliquées à l'étape précédente, cliquez sur Cancel. Interface de ligne de commande Pour modifier une instance de base de données MySQL • Utilisez la commande rds-modify-db-instance. API Pour modifier une instance de base de données MySQL • Utilisez la commande ModifyDBInstance action. API Version 2014-10-31 123 Amazon Relational Database Service Guide de l'utilisateur Importation et exportation de données à partir d'une instance de base de données MySQL Importation et exportation de données à partir d'une instance de base de données MySQL Il est recommandé d'utiliser les procédures de cette section pour importer des données ou en exporter à partir d'une instance de base de données MySQL. Vous pouvez utiliser ces procédures pour importer des données à partir d'autres instances de base de données MySQL, d'instances MySQL en cours d'exécution externes à Amazon RDS ou d'autres types de sources de données. Pour utiliser la réplication afin d'exporter des données vers une instance de MySQL qui s'exécute en dehors d'Amazon RDS, il est recommandé d'utiliser la procédure décrite dans Utilisation de la réplication pour exporter les données MySQL 5.6 (p. 147) Présentation Il est recommandé d'utiliser les procédures ci-après pour importer des données dans une instance DB MySQL dans les cas suivants : • Pour importer les données d'une base de données existante dans une instance DB MySQL, vous pouvez créer un réplica en lecture, puis le promouvoir. Pour plus d'informations, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). • Pour déplacer de petites quantités de données MySQL, ou lorsque l'interruption de service sur la base de données MySQL source n'est pas un problème, vous pouvez utiliser une procédure simple afin de copier directement les données sur votre instance de base de données MySQL Amazon RDS à l'aide d'un utilitaire de ligne de commande. Pour plus d'informations, consultez Importation de données à partir d'une base de données MySQL vers une instance de base de données MySQL Amazon RDS (p. 128). • Pour déplacer d'importantes quantités de données MySQL, ou si vous souhaitez réduire l'interruption de service pour les applications ou les sites actifs qui utilisent une instance MySQL externe, vous pouvez sauvegarder les données, les copier sur Amazon Elastic Compute Cloud (Amazon EC2) et les importer dans une instance de base de données MySQL Amazon RDS. Vous pouvez ensuite utiliser la réplication pour synchroniser les données des deux instances ajoutées au système source depuis la copie sur Amazon EC2. Pour plus d'informations, consultez Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit (p. 129). • Pour les données de sources autres qu'une base de données MySQL existante, vous pouvez créer des fichiers plats et les importer à l'aide de l'utilitaire mysqlimport. Pour plus d'informations, consultez Importation de données à partir d'une source vers une instance de base de données MySQL (p. 142). • Pour configurer la réplication à l'aide d'une instance de base de données MySQL existante comme maître de réplication, consultez Réplication avec une instance MySQL s'exécutant à l'extérieur d'Amazon RDS (p. 145). Note La base de données système « mysql » contient les informations d'authentification et d'autorisation requises pour se connecter à l'instance de base de données et accéder aux données. La suppression, la modification et la troncation de tables, données ou autres contenus de la base de données « mysql » de l'instance de base de données, ou la modification de leur nom, peuvent entraîner une erreur et rendre inaccessibles l'instance de base de données et les données. Si cela se produit, l'instance de base de données peut être restaurée depuis un instantané en utilisant la commande rds-restore-db-instance-from-db-snapshot de l'interface de ligne de commande AWS ou récupéré en utilisant la commande rds-restore-db-instance-to-pointin-time. API Version 2014-10-31 124 Amazon Relational Database Service Guide de l'utilisateur Considérations sur l'importation de données Considérations sur l'importation de données Cette section contient des informations techniques supplémentaires relatives au chargement de données dans MySQL. Elle est destinée aux utilisateurs avancés qui connaissent bien l'architecture serveur MySQL. Notez que tous les commentaires relatifs à LOAD DATA LOCAL INFILE s'appliquent également à mysqlimport. Journal binaire Si la journalisation binaire est activée, les chargements de données s'exposent à des pertes de performance et nécessitent un espace disque supplémentaire (jusqu'à 4 fois plus grand), par comparaison avec le chargement des mêmes données quand la journalisation binaire est désactivée. La gravité des pertes de performance et la quantité d'espace disque disponible requis sont directement proportionnelles à la taille des transactions utilisées pour charger les données. Taille de la transaction La taille de la transaction joue un rôle important dans les chargements de données MySQL. Elle exerce une influence majeure sur la consommation des ressources, l'utilisation de l'espace disque, le processus de reprise, la durée de la récupération et le format d'entrée (fichiers plats ou SQL). Cette section décrit comment la taille de la transaction influe sur la journalisation binaire. En outre, elle plaide en faveur de la désactivation de cette même journalisation lors de chargements de données volumineux. Comme évoqué précédemment, la journalisation binaire est activée et désactivée selon la valeur attribuée à la période de rétention des sauvegardes automatiques Amazon RDS. Les valeurs différentes de zéro activent la journalisation binaire, tandis que la valeur zéro la désactive. Nous décrivons aussi l'impact des transactions volumineuses sur InnoDB et expliquons pourquoi il importe que les transactions conservent une petite taille. Petites transactions Pour les petites transactions, la journalisation binaire multiplie par deux le nombre d'écritures sur disque requises pour charger les données. En fonction du taux de chargement, des autres activités de base données se déroulant en parallèle et de la capacité de l'instance de base de données Amazon RDS, la journalisation binaire peut affecter gravement les performances des autres sessions de base de données et accroître le temps requis pour charger les données. Les journaux binaires consomment aussi un espace disque approximativement égal à la quantité de données chargées jusqu'à leur sauvegarde et leur suppression. Heureusement, Amazon RDS réduit cette consommation en sauvegardant et en supprimant régulièrement les journaux binaires. Transactions volumineuses Les transactions volumineuses s'exposent à des pertes de performance 3 fois supérieures pour les IOPS et l'utilisation du disque quand la journalisation binaire est activée. En effet, le cache du journal binaire est alors écrit sur disque, ce qui entraîne une utilisation de l'espace disque et une opération d'E/S supplémentaire pour chaque écriture. Comme le cache ne peut pas être écrit sur le journal binaire tant que la transaction n'est pas validée ou annulée, il utilise de l'espace disque proportionnellement à la quantité de données chargée. Lorsque la transaction est validée, le cache doit être copié sur le journal binaire, ce qui crée une troisième copie des données sur disque. Pour cette raison, il doit y avoir au moins trois fois plus d'espace disque disponible pour charger les données que lorsque la journalisation binaire est désactivée. Par exemple, le chargement de 10 Go de données sous forme d'une seule transaction utilise au moins 30 Go d'espace disque : 10 Go pour la table + 10 Go pour le cache du journal binaire + 10 Go pour le journal binaire lui-même. Le fichier cache demeure sur le disque jusqu'à ce que la session qui l'a créé se termine ou que la session remplisse à nouveau le API Version 2014-10-31 125 Amazon Relational Database Service Guide de l'utilisateur Considérations sur l'importation de données cache du journal binaire lors d'une autre transaction. Comme le journal binaire demeure sur le disque jusqu'à la sauvegarde, un certain temps peut être nécessaire avant que les 20 Go supplémentaires ne soient libérés. Si les données ont été chargées à l'aide de LOAD DATA LOCAL INFILE, une autre copie des données est toutefois créée quand la base de données doit être récupérée à partir d'une sauvegarde exécutée avant le chargement. Lors de la récupération, MySQL extrait les données depuis le journal binaire vers un fichier plat, puis exécute LOAD DATA LOCAL INFILE, tout comme la transaction originale, si ce n'est que, cette fois, le fichier d'entrée se trouve sur le serveur de base de données. Dans le cas de l'exemple ci-dessus, la récupération échoue, à moins que 40 Go d'espace disque ou plus ne soient disponibles. Désactiver la journalisation binaire Chaque fois que possible, désactivez la journalisation binaire lors des chargements de données volumineux afin d'éviter une surcharge des ressources et des contraintes d'espace disque supplémentaire. Dans Amazon RDS, la désactivation de la journalisation binaire consiste simplement à définir la période de rétention des sauvegardes avec la valeur zéro (0). Si vous procédez ainsi, il est recommandé de prendre un snapshot DB de l'instance de base de données immédiatement avant le chargement de telle sorte que vous puissiez rapidement et facilement annuler les modifications effectuées pendant le chargement, si besoin est. Après le chargement, définissez la période de rétention des sauvegardes avec une valeur appropriée, différente de zéro. Vous ne pouvez pas définir cette période avec la valeur zéro si l'instance de base de données est une instance de base de données source pour les réplicas en lecture. InnoDB Les informations de cette section fournissent un puissant argument pour que les transactions conservent une petite taille lors de l'utilisation d'InnoDB. Annuler InnoDB génère l'annulation pour prendre en charge des fonctions telles que la restauration de transaction et MVCC. L'annulation est stockée dans l'espace de table système InnoDB (généralement ibdata1) et conservée jusqu'à ce qu'elle soit supprimée par le thread de purge. Comme le thread de purge ne peut pas aller au-delà de l'annulation de la transaction active la plus ancienne, il est effectivement bloqué jusqu'à ce que la transaction soit validée ou restaurée. Si la base de données traite d'autres transactions pendant le chargement, leur annulation s'accumule également dans l'espace de table système et ne peut pas être supprimée, même si les transactions sont validées et qu'aucune transaction ne nécessite l'annulation pour MVCC. Dans ce cas, toutes les transactions (y compris les transactions en lecture seule) qui accèdent aux lignes modifiées par une transaction quelle qu'elle soit (pas simplement la transaction de chargement) ralentissent, car elles analysent les annulations susceptibles d'avoir été purgées si ce n'est pour la transaction de chargement de longue durée. Comme l'annulation est stockée dans l'espace de table système et que celui-ci ne peut jamais être réduit, les transactions de chargements de données volumineux peuvent entraîne un agrandissement conséquent de l'espace de table système et utiliser ainsi une espace disque qui ne peut pas être revendiqué sans recréer intégralement la base de données. Restauration InnoDB est optimisé pour les validations. La restauration d'une transaction à une version antérieure peut être extrêmement longue. Dans certains cas, il peut être plus rapide d'effectuer une restauration à un instant dans le passé ou de restaurer un snapshot DB. API Version 2014-10-31 126 Amazon Relational Database Service Guide de l'utilisateur Considérations sur l'importation de données Format des données en entrée MySQL peut accepter les données entrantes sous deux formes différentes : fichiers plats et SQL. Cette section soulignes certains des principaux avantages et désavantages de chaque format. Fichiers plats Le chargement de fichiers plats avec LOAD DATA LOCAL INFILE peut être la solution la plus rapide et la moins coûteuse pour charger les données, aussi longtemps que la taille des transactions demeure relativement petite. Comparés au chargement des mêmes données avec SQL, les fichiers plats nécessitent généralement moins de trafic réseau, des coûts de transmission inférieurs et un chargement plus rapide en raison d'une surcharge réduite de la base de données. Une seule transaction de grande taille LOAD DATA LOCAL INFILE charge la totalité du fichier plat comme une seule transaction. Ce n'est pas nécessairement un inconvénient. Si la taille des fichiers individuels peut demeurer petite, cette situation présente un certain nombre d'avantages : • Capacité de reprise : il est facile de suivre les fichiers qui ont été chargés. Si un problème survient pendant le chargement, vous pouvez reprendre la transaction là où elle s'est arrêtée sans trop de peine. Il se peut que certaines données doivent être retransmises vers Amazon RDS, mais dans le cas de petits fichiers, la quantité retransmise est minimale. • Chargement de données en parallèle : si vous devez économiser les opérations d'E/S par seconde et la bande passante réseau avec un seul chargement de fichier, le chargement en parallèle peut permettre d'économiser du temps. • Limitation du taux de chargement : le chargement des données impacte-t-il d'autres processus ? Limitez le chargement en augmentant l'intervalle entre les fichiers. Soyez vigilant Les avantages de LOAD DATA LOCAL INFILE diminuent rapidement lorsque la taille des transactions augmente. Si la décomposition d'un ensemble de données volumineux en ensembles de plus petite taille n'est pas une option, il se peut que SQL soit le meilleur choix. SQL SQL possède un avantage principal sur les fichiers plats : il permet facilement de conserver aux transactions une petite taille. Cependant, le chargement de SQL peut prendre significativement plus de temps que les fichiers plats et il peut être difficile de définir à quel endroit reprendre le chargement après une défaillance. Par exemple, il n'est pas possible de redémarrer les fichiers mysqldump. Si une défaillance se produit lors du chargement d'un fichier mysqldump, celui-ci nécessitera une modification ou un remplacement avant que le chargement puisse reprendre. La solution consiste à procéder à une restauration à un instant dans le passé avant le chargement et à relire le fichier, une fois que l'origine de la défaillance a été corrigée. Effectuer des points de contrôle à l'aide des instantanés Amazon RDS Si vous avez un chargement qui va nécessiter plusieurs heures, voire plusieurs jours, le chargement sans journalisation binaire n'est pas une perspective très attrayante, à moins que vous ne puissiez effectuer des points de contrôle réguliers. C'est là que la fonction de snapshot DB Amazon RDS se révèle très pratique. Un snapshot DB crée une copie cohérente à un instant donné de votre instance de base de données, copie API Version 2014-10-31 127 Amazon Relational Database Service Guide de l'utilisateur Importation de données à partir d'une base de données MySQL vers une instance de base de données MySQL Amazon RDS qui peut être utilisée pour restaurer la base de données à ce point dans le passé en cas d'incident ou autre contretemps. Pour créer un point de contrôle, prenez simplement un snapshot DB. Tous les snapshots DB précédents pris pour les points de contrôle peuvent être supprimés sans affecter la durabilité ou le temps de restauration. Comme les instantanés sont également rapides, les points de contrôle fréquents n'allongent pas de façon significative le temps de chargement. Diminution du temps de chargement Voici quelques conseils supplémentaires pour réduire les temps de chargement : • Créez tous les index secondaires avant le chargement. Cette solution est contre-intuitive pour ceux qui connaissent d'autres bases de données. L'ajout ou la modification d'un index secondaire entraîne la création par MySQL d'une nouvelle table avec les modifications d'index, la copie des données de la table existante vers la nouvelle table et la suppression de la table d'origine. • Chargez les données dans l'ordre PK. Ce conseil est particulièrement utile pour les tables InnoDB où les temps de chargement peuvent être réduits de 75 à 80 % et la taille des fichiers de données divisée par deux. • Désactivez les contraintes de clé étrangère foreign_key_checks=0 Pour les fichiers plats chargés avec LOAD DATA LOCAL INFILE, ceci est obligatoire dans de nombreux cas. Pour tout chargement, la désactivation des contrôles FK offrira des gains de performance significatifs. Veillez simplement à bien activer les contraintes et à vérifier les données après le chargement. • Effectuez un chargement en parallèle à moins que vos ressources ne soient proches d'une limite. Utilisez des tables partitionnées le cas échéant. • Utilisez les insertions à valeur multiples lors du chargement avec SQL afin de réduire le traitement d'exécution des instructions. Si vous utilisez mysqldump, cela est fait automatiquement. • Réduisez les E/S du journal InnoDB innodb_flush_log_at_trx_commit=0 Note L'utilisation d'innodb_flush_log_at_trx_commit=0 oblige InnoDB à vider ses journaux toutes les secondes, et non à chaque validation. Il en résulte un avantage conséquent en termes de vitesse, mais cela peut aussi conduire à une perte des données lors d'un incident. A utiliser avec précaution. Importation de données à partir d'une base de données MySQL vers une instance de base de données MySQL Amazon RDS La solution la plus simple pour importer des données à partir d'une base de données existante MySQL vers une instance de base de données MySQL Amazon RDS consiste à copier la base de données mysqldump et à la relier directement à l'instance de base de données MySQL Amazon RDS. L'utilitaire de ligne de commande mysqldump est généralement utilisé pour effectuer des sauvegardes et des transferts de données d'un serveur MySQL vers un autre. Il est fourni avec les logiciels clients MySQL. L'exemple suivant copie l'exemple de base de données world de l'hôte local sur une instance de base de données MySQL Amazon RDS. sudo mysqldump –u <local_user> --databases world --single-transaction --compress --orderby-primary -p<local_password> | API Version 2014-10-31 128 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit mysql –u <RDS_user_name> –-port=3306 --host=hostname –p<RDS_password> Note Veillez bien à ce qu'il n'y ait pas d'espace entre l'option -p et le mot de passe saisi. Utilisez les options –-host, –-user (-u), --port et –p de la commande mysql pour spécifier le nom d'hôte, le nom utilisateur, le port et le mot de passe, et vous connecter à votre instance de base de données MySQL Amazon RDS. Le nom d'hôte est le nom DNS du point de terminaison de l'instance de base de données MySQL Amazon RDS. Par exemple, myinstance.123456789012.us-east-1.rds.amazonaws.com. Vous pouvez trouver la valeur du point de terminaison dans les détails de l'instance dans Amazon RDS Management Console. Les options mysqldump supplémentaires qui ont été spécifiées pour aider à améliorer les performances des opérations et l'intégrité des données fonctionnent comme suit : • Triez les données de chaque table sur la clé primaire à l'aide du paramètre --order-by-primary. L'adoption de cette approche peut réduire les temps de chargement de façon spectaculaire. • Compressez les données avant de les envoyer vers Amazon RDS à l'aide du paramètre --compress. Cette option peut réduire la consommation de la bande passante réseau. • Assurez-vous que toutes les données sont en adéquation avec un point dans le temps unique à l'aide du paramètre --single-transaction. S'il existe d'autres processus qui modifient les données lorsque mysqldump les lit, utilisez cette option pour maintenir l'intégrité des données. • Vous devez créer manuellement les procédures stockées, déclencheurs, fonctions ou événements dans votre base de données Amazon RDS. Si vous avez l'un quelconque de ces objets dans la base de données que vous copiez, excluez-les lorsque vous exécutez mysqldump en associant les arguments suivants à votre commande mysqldump : --routines=0 --triggers=0 --events=0. Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Lors de l'importation de données à partir d'une base de données MySQL prenant en charge une application active vers une instance de base de données MySQL Amazon RDS, vous pouvez utiliser la procédure suivante pour réduire l'impact sur la disponibilité des applications. Cette procédure peut aussi vous aider si vous utilisez une base de données très volumineuse, parce que vous pouvez réduire le coût de l'importation en réduisant la quantité de données transmises à AWS via le réseau. Dans cette procédure, vous transférez une copie des données de la base de données vers une instance Amazon EC2 et importer les données dans une nouvelle instance de base de données MySQL Amazon RDS. Vous utiliser ensuite la réplication pour mettre à jour l'instance de base de données MySQL Amazon RDS avec votre base de données MySQL active, avant de diriger votre application vers l'instance de base de données MySQL Amazon RDS. API Version 2014-10-31 129 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Note Il est déconseillé d'utiliser cette procédure avec les bases de données MySQL source à partir des versions MySQL antérieures à la version 5.1, en raison de problèmes potentiels de réplication. Pour plus d'informations, consultez Compatibilité de réplication entre versions MySQL dans la documentation MySQL. Créer une copie de votre base de données existante La première étape de la migration d'un volume important de données vers une instance de base de données MySQL Amazon RDS avec un arrêt minimal consiste à créer une copie des données source. API Version 2014-10-31 130 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Vous pouvez recourir à l'utilitaire mysqldump pour créer une sauvegarde de base de données au format SQL ou texte délimité. Vous devez procéder à une série de tests avec chaque format dans un environnement autre que de production pour voir quelle méthode diminue le temps d'exécution de mysqldump. Vous pouvez aussi évaluer les performances de mysqldump par rapport à l'avantage offert par l'utilisation du format texte délimité pour le chargement. Une sauvegarde à l'aide du format texte délimité crée un fichier texte séparé par des tabulations pour chaque table vidée. Vous pouvez charger ces fichiers en parallèle à l'aide de la commande LOAD DATA LOCAL INFILE pour réduire le temps requis pour importer votre base de données. Pour plus d'informations sur le choix d'un format mysqldump et le chargement des données, consultez Utilisation de mysqldump pour les sauvegardes dans la documentation MySQL. Avant de démarrer l'opération de sauvegarde, vous devez définir les options de réplication sur la base de données MySQL que vous copiez sur Amazon RDS. Les options de réplication incluent l'activation de la journalisation binaire et la configuration d'un ID serveur unique. La définition de ces options va obliger votre serveur à démarrer la journalisation des transactions de base de données et le préparer à être un serveur de réplication principal ultérieurement dans le processus. Note Comme votre base de données doit être arrêtée pour définir les options de réplication et être en mode lecture seule lorsque la copie de sauvegarde est créée, vous devez planifier une fenêtre de maintenance pour ces opérations. Pour définir les options de réplication 1. Depuis un shell de commande, arrêtez le service mysql : sudo service mysqld stop 2. Modifiez le fichier my.cnf (il se trouve généralement sous /etc) : sudo vi /etc/my.cnf API Version 2014-10-31 131 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Ajoutez les options log_bin et server_id à la section [mysqld]. L'option log_bin fournit un identifiant de nom de fichier pour les fichiers journaux binaires. L'option server_id fournit un identifiant unique pour le serveur dans les relations maître/réplica. L'exemple suivant illustre la section [mysqld] mise à jour d'un fichier my.cnf : [mysqld] log-bin=mysql-bin server-id=1 Pour plus d'informations, consultez Définition de la configuration du maître de réplication dans la documentation MySQL. 3. Démarrez le service mysql : sudo service mysqld start Pour créer une copie de sauvegarde de votre base de données existante 1. Créez une sauvegarde de vos données à l'aide de l'utilitaire mysqldump, en spécifiant un format SQL ou un format texte délimité. Vous devez spécifier --master-data=2 pour pouvoir créer un fichier de sauvegarde qui puisse être utilisé pour démarrer la réplication entre les serveurs. Pour plus d'informations, consultez la documentation mysqldump. Pour améliorer les performances et assurer l'intégrité des données, utilisez les options --order-byprimary et --single-transaction de mysqldump. Pour éviter d'inclure la base de données système MySQL dans la sauvegarde, n'utilisez pas l'option -all-databases avec mysqldump. Pour plus d'informations, consultez Création d'un instantané de vidage avec mysqldump dans la documentation MySQL. Utilisez chmod si nécessaire pour vous assurer que le répertoire où le fichier de sauvegarde est en cours de création est accessible en écriture. • Pour produire une sortie SQL, utilisez la commande suivante : sudo mysqldump --databases <database_name> --master-data=2 --order-by-primary -r backup.sql –u <local_user> -p --single-transaction • Pour produire une sortie texte délimité, utilisez la commande suivante : sudo mysqldump --tab=<target_directory> --fields-terminated-by=, --fields-enclosedby='"' --lines-terminated-by=0x0d0a <database_name> --master-data=2 --single-transaction --order-by-primary -p Note Vous devez créer manuellement les procédures stockées, déclencheurs, fonctions ou événements dans votre base de données Amazon RDS. Si vous avez l'un quelconque de ces objets dans la base de données que vous copiez, excluez-les lorsque vous exécutez mysqldump en associant les arguments suivants à votre commande mysqldump : -routines=0 --triggers=0 --events=0. API Version 2014-10-31 132 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Lors de l'utilisation du format texte délimité, un commentaire CHANGE MASTER TO est retourné quand vous exécutez mysqldump. Ce commentaire contient le nom du fichier journal maître et son emplacement. Notez les valeurs de MASTER_LOG_FILE et MASTER_LOG_POS ; vous en aurez besoin lors de la configuration de la réplication. -- Position to start replication or point-in-time recovery from --- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000001', MASTER_LOG_POS=107; 2. Compressez les données copiées afin de réduire la quantité de ressources réseau nécessaires pour copier vos données MySQL sur l'instance de base de données MySQL Amazon RDS. Notez la taille du fichier de sauvegarde ; vous aurez besoin de cette information lorsque vous déterminerez la taille elle-même de l'instance Amazon EC2 à créer. Lorsque vous avez terminé, compressez le fichier de sauvegarde à l'aide de GZIP ou de votre utilitaire de compression favori. • Pour compresser une sortie SQL, utilisez la commande suivante : gzip backup.sql • Pour compresser une sortie texte délimité, utilisez la commande suivante : tar -zcvf backup.tar.gz <target_directory> Créer une instance Amazon EC2 et copier la base de données compressée La copie du fichier de sauvegarde compressé de votre base de données sur une instance Amazon EC2 nécessite moins de ressources réseau que l'exécution d'une copie directe de données non compressées entre instances MySQL. Une fois que vos données sont dans Amazon EC2, vous pouvez les copier directement de cet emplacement vers votre instance de base de données MySQL Amazon RDS. Notez que pour que vous économisiez sur le coût des ressources réseau, votre instance Amazon EC2 doit se trouver dans la même région que votre instance de base de données MySQL Amazon RDS. Le fait d'avoir l'instance Amazon EC2 dans la même région que votre instance de base de données MySQL Amazon RDS vous permet de réduire aussi la latence réseau pendant l'importation. API Version 2014-10-31 133 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Pour créer une instance Amazon EC2 et copier vos données 1. Dans la région où vous allez créer votre instance Amazon RDS créez un Amazon Virtual Private Cloud (VPC), un groupe de sécurité VPC et un sous-réseau VPC. Assurez-vous que les règles entrantes de votre groupe de sécurité VPC autorisent les adresses IP requises pour que votre application se connecte à AWS. Il peut s'agir d'une plage d'adresses IP (par exemple, 203.0.113.0/24) ou d'un autre groupe de sécurité VPC. Vous pouvez utiliser la console Amazon VPC pour créer et gérer des VPC, des sousréseaux et des groupes de sécurité. Pour plus d'informations, consultez Démarrez avec Amazon VPC dans le Guide de démarrage Amazon Virtual Private Cloud. Note Les comptes AWS plus anciens peuvent aussi lancer des instances en mode Amazon EC2Classic. Dans ce cas, assurez-vous que les règles entrantes du groupe de sécurité DB de votre instance Amazon RDS autorisent l'accès à votre instance EC2-Classic à l'aide de l'adresse IP privée Amazon EC2. Pour plus d'informations, consultez Utilisation de groupes de sécurité DB (p. 479). 2. Ouvrez la console Amazon EC2 et sélectionnez la région qui contiendra votre instance Amazon EC2 et votre instance de base de données MySQL Amazon RDS. Lancez une instance Amazon EC2 à l'aide du VPC, du sous-réseau et du groupe de sécurité que vous avez créés à l'étape 1. Vérifiez que vous sélectionnez un type d'instance avec un stockage suffisant pour le fichier de sauvegarde de votre base de données une fois qu'il est décompressé. Pour plus d'informations sur les instances Amazon EC2, consultez Démarrez avec les instances Amazon EC2 Linux dans le Guide de l'utilisateur Amazon Elastic Compute Cloud pour Linux. 3. Modifiez le groupe de sécurité du VPC et ajoutez l'adresse IP privée de votre nouvelle instance Amazon EC2. L'adresse IP privée sera utilisée pour la connexion à votre instance de base de données MySQL Amazon RDS. L'adresse IP privée se trouve sous l'onglet Details du volet Instance de la fenêtre de la console Amazon EC2. Pour plus d'informations sur la modification d'un groupe de sécurité du VPC, consultez Groupes de sécurité pour votre VPC dans le Guide de l'utilisateur Amazon Virtual Private Cloud. 4. Copiez le fichier de sauvegarde compressé de votre base de données depuis votre système local vers votre instance Amazon EC2. Utilisez chmod si nécessaire pour vous assurer d'avoir l'autorisation API Version 2014-10-31 134 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit d'écriture pour le répertoire cible de l'instance Amazon EC2. Vous pouvez utiliser scp ou un client SSH pour copier le fichier. Voici un exemple : $ scp -r -i <key pair>.pem backup.sql.gz ec2-user@<EC2 DNS>:/<target_directory>/ backup.sql.gz Important Assurez-vous de copier les données sensibles à l'aide d'un protocole de transfert réseau sécurisé. 5. Connectez-vous à votre instance Amazon EC2, puis installez les dernières mises à jour et les outils clients MySQL à l'aide des commandes suivantes : sudo yum update –y sudo yum install mysql-server –y Pour plus d'informations, consultez Connectez-vous à votre instance dans le Guide de l'utilisateur Amazon Elastic Compute Cloud pour Linux. 6. Une fois connecté à votre instance Amazon EC2, décompressez le fichier de sauvegarde de votre base de données. Exemples : • Pour décompresser une sortie SQL, utilisez la commande suivante : gzip backup.sql.gz –d • Pour décompresser une sortie texte délimité, utilisez la commande suivante : tar xzvf backup.tar.gz Créer une instance de base de données MySQL Amazon RDS et importer les données de l'instance Amazon EC2 En créant une instance de base de données MySQL Amazon RDS dans la même région que votre instance Amazon EC2, vous pouvez importer le fichier de sauvegarde d'Amazon EC2 plus rapidement que via Internet. API Version 2014-10-31 135 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Pour créer une instance de base de données MySQL Amazon RDS et importer vos données 1. Déterminez quelle classe d'instance de base de données et quelle quantité d'espace de stockage sont nécessaires pour prendre en charge la charge de travail attendue pour cette instance de base de données MySQL Amazon RDS. Ce processus doit inclure la décision relative à l'espace suffisant et à la capacité de traitement de vos procédures de chargement des données, ainsi qu'à ce qui est requis pour gérer la charge de travail de production. Vous pouvez estimer ces éléments en fonction de la taille et des ressources de la base de données source MySQL. Pour plus d'informations, consultez Classe d'instance de base de données (p. 44). 2. Déterminez si les IOPS provisionnées Amazon RDS sont nécessaires pour prendre en charge les charges de travail. Le stockage des IOPS provisionnées fournit un débit rapide pour les charges de travail de traitement transactionnel en ligne (OLTP), très gourmandes en opérations d'E/S. Pour plus d'informations, consultez Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63). 3. Ouvrez la console Amazon RDS. Dans le coin supérieur droit, sélectionnez la région qui contient votre instance Amazon EC2. 4. Cliquez sur Lancement d'une instance DB, puis parcourez les différentes étapes de sélection des options de votre instance de base de données : a. Sur la page Sélectionner un moteur, cliquez sur MySQL. b. Dans la page Do you plan to use this database for production purposes?, cliquez sur Non pour ignorer la configuration du déploiement Multi-AZ et le stockage des IOPS provisionnées. c. Dans la section Instance Specifications de la page Specify DB Details, vérifiez que la classe d'instance de base de données et la taille du stockage alloué que vous avez déterminées sont correctes. Sélectionnez Non pour Multi-AZ Deployment. Spécifiez si les IOPS provisionnées doivent ou non être utilisées comme vous l'avez déterminé à l'étape 2. Pour Version du moteur de base de données, sélectionnez la version compatible avec votre instance MySQL source, comme suit : • Si votre instance MySQL source est la version 5.1.x, l'instance de base de données MySQL Amazon RDS doit être 5.5.x. • Si votre instance MySQL source est la version 5.5.x, l'instance de base de données MySQL Amazon RDS peut être 5.5.x ou 5.6.23 ou version ultérieure. API Version 2014-10-31 136 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit • Si votre instance MySQL source est la version 5.6.x, l'instance de base de données MySQL Amazon RDS doit être 5.6.x. Important Si votre instance source MySQL exécute une version antérieure à la version 5.6.4, ou si l'instance source MySQL a été mise à niveau à partir d'une version antérieure à la version 5.6.4, vous devez créer une instance DB MySQL Amazon RDS exécutant la version 5.6.23 ou version ultérieure. Acceptez les valeurs par défaut pour toutes les autres zones de cette section. Dans la section Settings, spécifiez la base de données demandée et les informations sur l'utilisateur. Cliquez sur Suivant lorsque vous avez terminé. d. Dans la section Network & Security de la page Configure Advanced Settings, sélectionnez le même VPC et le même groupe de sécurité de VPC que ceux de votre instance Amazon EC2. Cette approche garantit que votre instance Amazon EC2 et votre instance Amazon RDS sont visibles l'une de l'autre sur le réseau. Acceptez les valeurs par défaut pour toutes les autres zones de cette section. Dans la section Database Options, spécifiez un nom de base de données. Acceptez les valeurs par défaut pour toutes les autres zones de cette section. Dans la section Backup, définissez la période de rétention des sauvegardes avec la valeur 0. Acceptez les valeurs par défaut pour toutes les autres zones de cette section. Dans la section Maintenance, acceptez les valeurs par défaut de toutes les zones. Lorsque vous avez terminé, cliquez sur Lancer une instance. Ne configurez pas les zones de disponibilité multiples, la rétention des sauvegardes ou les réplicas en lecture tant que vous n'avez pas importé la sauvegarde de la base de données. Lorsque l'importation est terminée, vous pouvez définir l'option Multi-AZ et la rétention des sauvegardes comme vous le souhaitez pour l'instance de production. Pour obtenir une procédure pas à pas de la création d'une instance de base de données MySQL Amazon RDS, consultez Création d'une instance de base de données exécutant le moteur de base de données MySQL (p. 112). 5. Vérifiez les options de configuration par défaut de l'instance de base de données MySQL Amazon RDS. Dans le volet de navigation gauche d'Amazon RDS Management Console, cliquez sur Groupe de paramètres, puis cliquez sur l'icône loupe à côté du groupe de paramètres default.mysqlx.x. Si ce groupe de paramètres ne dispose pas des options de configuration que vous voulez, trouvez un autre groupe qui les possède ou créez un groupe de paramètres. Pour plus d'informations sur la création d'un groupe de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Si vous choisissez d'utiliser un autre groupe de paramètres que le groupe par défaut, associez-le à votre instance de base de données MySQL Amazon RDS. Pour plus d'informations, consultez Modification d'une instance de base de données exécutant le moteur de base de données MySQL (p. 121). 6. Connectez-vous à l'instance de base de données MySQL Amazon RDS comme utilisateur maître et créez les utilisateurs requis pour prendre en charge les administrateurs, les applications et les services qui doivent accéder à l'instance. Le nom d'hôte de l'instance de base de données MySQL Amazon RDS est la valeur Endpoint de cette instance sans le numéro de port : par exemple, mysampledb.claxc2oy9ak1.us-west-2.rds.amazonaws.com. Vous pouvez trouver la valeur du point de terminaison dans les détails de l'instance dans Amazon RDS Management Console. 7. Connectez-vous à votre instance Amazon EC2. Pour plus d'informations, consultez Connectez-vous à votre instance dans le Guide de l'utilisateur Amazon Elastic Compute Cloud pour Linux. 8. Connectez-vous à votre instance de base de données MySQL Amazon RDS comme hôte distant depuis votre instance Amazon EC2 à l'aide de la commande mysql. Voici un exemple : mysql –h <host_name> -port=3306 –u <db_master_user> -p API Version 2014-10-31 137 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Le nom d'hôte est le nom DNS du point de terminaison de l'instance de base de données MySQL Amazon RDS. 9. A l'invite de commande mysql, exécutez la commande source et transmettez-lui le nom du fichier de vidage de votre base de données pour charger les données dans l'instance de base de données MySQL Amazon RDS. • Pour le format SQL, utilisez la commande suivante : mysql> source backup.sql; • Pour le format texte délimité, créez d'abord la base de données (s'il ne s'agit pas de la base de données par défaut que vous avez créée lors de la configuration de l'instance de base de données MySQL Amazon RDS) : $ mysql> create database <database_name>; $ mysql> use <database_name>; Puis, créez les tables : $ mysql> source <table1>.sql $ mysql> source <table2>.sql etc… Enfin, importez les données : $ mysql> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; $ mysql> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; etc… Pour améliorer les performances, vous pouvez exécuter ces opérations en parallèle à partir de plusieurs connexions de telle sorte que l'ensemble de vos tables soient créées et chargées simultanément. Note Si vous avez utilisé des options de mise en forme des données avec mysqldump lorsque vous avez initialement vidé la table, vous devez utiliser les mêmes options avec mysqlimport ou LOAD DATA LOCAL INFILE pour garantir une interprétation correcte du contenu du fichier de données. 10.Exécutez une simple requête SELECT sur l'une ou les deux tables de la base de données importée afin de vérifier que l'importation s'est déroulée avec succès. Répliquer entre votre base de données MySQL et la nouvelle instance de base de données MySQL Amazon RDS Comme votre base de données source a probablement été mise à jour pendant le temps nécessaire à la copie et au transfert des données vers l'instance de base de données MySQL Amazon RDS, vous pouvez utiliser la réplication pour mettre à jour la base de données copiée avec la base de données source. API Version 2014-10-31 138 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Note Les autorisations requises pour démarrer la réplication sur une instance de base de données MySQL Amazon RDS sont restreintes et ne sont pas disponibles pour votre utilisateur principal Amazon RDS. Pour cette raison, vous devez utiliser les commandes Amazon RDS mysql.rds_set_external_master (p. 160) et mysql.rds_start_replication (p. 163) pour configurer la réplication entre votre base de données active et votre base de données MySQL Amazon RDS. Pour démarrer la réplication Précédemment, vous avez activé la journalisation binaire et défini un ID serveur unique pour votre base de données MySQL source. Maintenant, vous pouvez configurer votre instance de base de données MySQL Amazon RDS comme réplica avec votre base de données active comme maître de réplication. 1. Dans Amazon RDS Management Console, ajoutez l'adresse IP du serveur qui héberge la base de données MySQL source au groupe de sécurité du VPC de l'instance de base de données MySQL Amazon RDS. Pour plus d'informations sur la modification d'un groupe de sécurité du VPC, consultez Groupes de sécurité pour votre VPC dans le Guide de l'utilisateur Amazon Virtual Private Cloud. Il se peut aussi que vous ayez besoin de configurer votre réseau local pour autoriser les connexions à partir de l'adresse IP de votre instance de base de données MySQL Amazon RDS, de telle sorte qu'elle puisse communiquer avec votre instance MySQL source. Pour obtenir l'adresse IP de l'instance de base de données MySQL Amazon RDS, utilisez la commande host : host <RDS_MySQL_DB_host_name> Le nom d'hôte est le nom DNS du point de terminaison de l'instance de base de données MySQL Amazon RDS. Par exemple, myinstance.123456789012.us-east-1.rds.amazonaws.com. Vous pouvez trouver la valeur du point de terminaison dans les détails de l'instance dans Amazon RDS Management Console. API Version 2014-10-31 139 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit 2. A l'aide du client de votre choix, connectez-vous à l'instance MySQL source et créez un utilisateur MySQL à utiliser pour la réplication. Ce compte est utilisé exclusivement pour la réplication et doit être limité à votre domaine pour améliorer la sécurité. Voici un exemple : CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>'; 3. Pour l'instance MySQL source, attribuez les privilèges REPLICATION CLIENT et REPLICATION SLAVE à votre utilisateur de réplication. Par exemple, pour accorder les privilèges REPLICATION CLIENT et REPLICATION SLAVE sur toutes les bases de données à l'utilisateur « repl_user » de votre domaine, émettez la commande suivante : GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>'; 4. Si vous avez utilisé le format SQL pour créer votre fichier de sauvegarde, examinez le contenu de ce fichier : cat backup.sql Le fichier dot inclure un commentaire CHANGE MASTER TO qui contient le nom du fichier journal maître et son emplacement. Ce commentaire est inclus dans le fichier de sauvegarde quand vous utilisez l'option -–master-date avec mysqldump. Notez les valeurs de MASTER_LOG_FILE et MASTER_LOG_POS. --- Position to start replication or point-in-time recovery from --- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000001', MASTER_LOG_POS=107; 5. Transformez l'instance de base de données MySQL Amazon RDS en réplica. Connectez-vous à l'instance de base de données MySQL Amazon RDS comme utilisateur maître et identifiez la base de données MySQL source comme maître de réplication à l'aide de la commande mysql.rds_set_external_master (p. 160). Utilisez le nom et l'emplacement du fichier journal maître que vous avez déterminés dans l'étape précédente si vous avez un fichier de sauvegarde au format SQL ou lors de la création des fichiers de sauvegarde si vous avez utilisé le format texte délimité. Voici un exemple : CALL mysql.rds_set_external_master ('mymasterserver.mydomain.com', 3306, 'repl_user', '<password>', 'mysql-bin-changelog.000001', 107, 0); 6. Sur l'instance de base de données MySQL Amazon RDS, émettez la commande mysql.rds_start_replication (p. 163) pour démarrer la réplication : CALL mysql.rds_start_replication; 7. Sur l'instance de base de données MySQL Amazon RDS, exécutez la commande SHOW SLAVE STATUS pour déterminer quand le réplica est à jour avec le maître de réplication. Les résultats de la commande SHOW SLAVE STATUS incluent le champ Seconds_Behind_Master. Lorsque le champ Seconds_Behind_Master retourne la valeur 0, le réplica est à jour avec le maître de réplication. 8. Une fois que l'instance de base de données MySQL Amazon RDS est à jour, activez les sauvegardes automatiques de façon à pouvoir restaurer la base de données si nécessaire. Vous pouvez activer ou modifier les sauvegardes automatiques de votre instance de base de données MySQL Amazon RDS avec Amazon RDS Management Console. Pour plus d'informations, consultez Utilisation des sauvegardes automatiques (p. 442). API Version 2014-10-31 140 Amazon Relational Database Service Guide de l'utilisateur Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit Rediriger votre application active vers votre instance MySQL Amazon RDS Une fois que l'instance de base de données MySQL Amazon RDS est à jour avec le maître de réplication, vous pouvez mettre à jour votre application active et utiliser l'instance Amazon RDS. Pour rediriger votre application active vers votre instance MySQL Amazon RDS et arrêter la réplication 1. Pour ajouter le groupe de sécurité VPC pour l'instance de base de données MySQL Amazon RDS, ajoutez l'adresse IP du serveur qui héberge l'application. Pour plus d'informations sur la modification d'un groupe de sécurité du VPC, consultez Groupes de sécurité pour votre VPC dans le Guide de l'utilisateur Amazon Virtual Private Cloud. 2. Vérifiez que le champ Seconds_Behind_Master de la commande SHOW SLAVE STATUS a pour résultat 0, valeur indiquant que le réplica est à jour avec le maître de réplication : SHOW SLAVE STATUS; 3. Arrêtez la réplication pour l'instance Amazon RDS avec la commande mysql.rds_stop_replication (p. 164) : CALL mysql.rds_stop_replication; 4. Mettez à jour votre application pour utiliser l'instance de base de données MySQL Amazon RDS. Cette mise à jour va impliquer généralement de modifier les paramètres de connexion pour identifier le nom d'hôte et le port de l'instance de base de données MySQL Amazon RDS, le compte utilisateur et le mot de passe avec lesquels se connecter, et la base de données à utiliser. 5. Exécutez la commande mysql.rds_reset_external_master (p. 162) sur votre instance de base de données MySQL Amazon RDS pour réinitialiser la configuration de réplication de telle sorte que cette instance ne soit plus identifiée comme réplica : API Version 2014-10-31 141 Amazon Relational Database Service Guide de l'utilisateur Importation de données à partir d'une source vers une instance de base de données MySQL CALL mysql.rds_reset_external_master; 6. Activez les fonctions MySQL Amazon RDS supplémentaires, telles que le support Multi-AZ et les réplicas en lecture. Pour plus d'informations, consultez Haute disponibilité (Multi-AZ) (p. 51) et Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). Importation de données à partir d'une source vers une instance de base de données MySQL Si vous avez plus d'1 Go de données à charger, ou si vos données proviennent d'un autre emplacement qu'une base de données MySQL, il est recommandé de créer des fichiers plats et de les charger avec mysqlimport. mysqlimport est un autre utilitaire de ligne de commande fourni avec le logiciel client MySQL, et dont l'objectif est de charger des fichiers plats dans MySQL. Pour plus d'informations sur mysqlimport, consultez mysqlimport - Programme d'importation de données dans la documentation MySQL. Il est également recommandé de créer des snapshots DB de l'instance DB Amazon RDS cible avant et après le chargement de données. Les snapshots DB Amazon RDS sont des sauvegardes complètes de votre instance de base de données qui peuvent être utilisées pour restaurer votre instance de base de données à un état connu. Lorsque vous lancez un snapshot DB, les opérations d'E/S sur votre instance de base de données sont momentanément suspendues pendant la sauvegarde de la base de données. La création d'un snapshot DB juste après le chargement vous permet, si besoin est, de restaurer la base de données à son état qui était le sien avant le chargement. Un snapshot DB pris immédiatement après le chargement vous évite de devoir charger les données à nouveau en cas d'incident et peut être utilisé pour faire naître de nouvelles instances de base de données. La liste suivante montre les étapes à suivre. Chaque étape est présentée plus en détail ci-après. 1. Créer les fichiers plats contenant les données à charger. 2. Arrêter les applications accédant à l'instance de base de données cible. 3. Créer un snapshot DB. 4. Envisager la désactivation des sauvegardes Amazon RDS automatiques. 5. Charger les données à l'aide de mysqlimport. 6. Activer à nouveau les sauvegardes automatiques. Etape 1 : Créer les fichiers plats contenant les données à charger Utilisez un format courant, tel que CSV (valeurs séparées par des virgules), pour stocker les données à charger. Chaque table doit avoir son propre fichier ; les données de plusieurs tables ne peuvent pas être combinées dans le même fichier. Attribuez à chaque fichier le même nom que celui de la table à laquelle il correspond. L'extension du fichier est laissée à votre libre choix. Par exemple, si le nom de la table est « ventes », le nom du fichier peut être « ventes.csv » ou « ventes.txt », mais pas « sales_01.csv ». Chaque fois que possible, triez les données sur la clé primaire de la table en cours de chargement. Cela améliore de façon spectaculaire les temps de chargement et réduit le stockage disque requis. Cette procédure est d'autant plus rapide et efficace que les fichiers ont une petite taille. Si la taille non compressée d'un fichier est supérieure à 1 Go, scindez-le en plusieurs fichiers et chargez chacun d'eux séparément. Sur les systèmes Unix (Linux inclus), utilisez la commande « split ». Par exemple, la commande suivante fractionne le fichier sales.csv en plusieurs fichiers de moins d'1 Go, le fractionnement n'intervenant qu'aux sauts de ligne (-C 1024m). Les nouveaux fichiers sont appelées sales.part_00, sales.part_01, etc. API Version 2014-10-31 142 Amazon Relational Database Service Guide de l'utilisateur Importation de données à partir d'une source vers une instance de base de données MySQL split -C 1024m -d sales.csv sales.part_ Des utilitaires semblables sont disponibles sur les autres systèmes d'exploitation. Etape 2 : Arrêter les applications accédant à l'instance de base de données cible Avant de démarrer un chargement volumineux, arrêtez toute activité d'application accédant à l'instance de base de données cible sur laquelle s'effectuera le chargement (notamment si d'autres sessions doivent modifier les tables à charger ou les tables qu'elles référencent). Cela réduit le risque de violation des contraintes intervenant pendant le chargement, améliore les performances de chargement et permet de restaurer l'instance de base de données au point juste antérieur au chargement sans perdre les modifications effectuées par les processus non impliqués dans le chargement. Bien sûr, il se peut que ce ne soit pas possible ou pratique. Si vous ne pouvez pas empêcher les applications d'accéder à l'instance de base de données avant le chargement, prenez les mesures nécessaires pour garantir la disponibilité et l'intégrité de vos données. Les étapes spécifiques requises varient grandement en fonction de cas d'utilisation spécifiques et des exigences du site. Etape 3 : Créer un snapshot DB Si vous devez charger des données dans une nouvelle instance de base de données qui ne contient aucune donnée, vous pouvez ignorer cette étape. Sinon, la création d'un snapshot DB de votre instance de base de données vous permettra, si nécessaire, de restaurer l'instance de base de données à son état qui était le sien avant le chargement. Comme précédemment évoqué, lorsque vous lancez un snapshot DB, les opérations d'E/S sur votre instance de base de données sont suspendues quelques minutes pendant la sauvegarde de la base de données. Dans l'exemple ci-dessous, nous utilisons la commande rds-create-db-snapshot pour créer un snapshot DB de notre instance AcmeRDS et attribuer au snapshot DB l'identifiant « preload ». rds-create-db-snapshot AcmeRDS --db-snapshot-identifier=preload Vous pouvez aussi utiliser la restauration de la fonctionnalité de snapshot DB pour créer des instances de base de données de test pour des essais ou pour annuler les modifications effectuées pendant le chargement. Il importe de garder à l'esprit que la restauration d'une base de données à partir d'un snapshot DB crée une nouvelle instance de base de données qui, comme toutes les instances de base de données, possède un point de terminaison et un identifiant unique. Si vous devez restaurer l'instance de base de données sans modifier le point de terminaison, vous devez d'abord supprimer l'instance de base de données de telle sorte que le point de terminaison puisse être réutilisé. Par exemple, pour créer une instance de base de données pour les essais ou autres tests, vous attribuez à l'instance de base de données son propre identifiant. Dans l'exemple, « AcmeRDS-2 » est l'identifiant et nous nous connectons à l'instance de base de données à l'aide du point de terminaison associé à AcmeRDS-2. rds-restore-db-instance-from-db-snapshot AcmeRDS-2 --db-snapshot-identifier=preload API Version 2014-10-31 143 Amazon Relational Database Service Guide de l'utilisateur Importation de données à partir d'une source vers une instance de base de données MySQL Pour réutiliser le point de terminaison existant, nous devons d'abord supprimer l'instance de base de données, puis attribuer à la base de données restaurée le même identifiant : rds-delete-db-instance AcmeRDS --final-db-snapshot-identifier AcmeRDS-Final rds-restore-db-instance-from-db-snapshot AcmeRDS --db-snapshot-identifier=preload Notez que l'exemple prend un snapshot DB final de l'instance de base de données avant de la supprimer. Cette action est facultative, mais recommandée. Etape 4 : Envisager la désactivation des sauvegardes Amazon RDS automatiques Attention : NE PAS DESACTIVER LES SAUVEGARDES AUTOMATIQUES SI VOUS DEVEZ CONSERVER LA POSSIBILITE D'EFFECTUER UNE RESTAURATION A UN INSTANT DANS LE PASSE. Comme la désactivation des sauvegardes automatiques efface toutes les sauvegardes existantes, la restauration à un instant dans le passé n'est pas possible après que les sauvegardes automatiques ont été désactivées. La désactivation des sauvegardes automatiques est une optimisation des performances et n'est pas requise pour les chargements de données. Notez que les snapshots DB ne sont pas affectés par la désactivation des sauvegardes automatiques. Tous les snapshots DB existants demeurent disponibles pour la restauration. La désactivation des sauvegardes automatiques réduit le temps de chargement de près de 25 %, ainsi que la quantité d'espace de stockage requise pendant le chargement. Si vous devez charger des données dans une nouvelle instance de base de données qui ne contient aucune donnée, la désactivation des sauvegardes constitue un moyen simple d'accélérer le chargement et d'éviter d'utiliser le stockage supplémentaire nécessaire pour les sauvegardes. Cependant, si vous effectuez le chargement dans une instance de base de données qui contient déjà des données, vous devez évaluer les avantages de la désactivation des sauvegardes par rapport aux conséquences de la perte de la possibilité d'exécuter une restauration à un instant dans le passé. Les instances de base de données ont les sauvegardes automatiques activées par défaut (avec une période de rétention égale à une journée). Pour désactiver les sauvegardes automatiques, vous devez définir la période de rétention des sauvegardes avec la valeur zéro. Après le chargement, vous pouvez réactiver les sauvegardes en définissant la période de rétention des sauvegardes avec une valeur différente de zéro. Pour activer ou désactiver les sauvegardes, Amazon RDS doit arrêter l'instance de base de données et la redémarrer pour activer ou désactiver la journalisation MySQL. Utilisez la commande rds-modify-db-instance de l'interface de ligne de commande AWS pour définir la période de rétention avec la valeur zéro et appliquer la modification immédiatement. Comme la définition de la période de rétention à la valeur zéro nécessite un redémarrage de l'instance de base de données, attendez que le redémarrage soit terminé avant de poursuivre. rds-modify-db-instance AcmeRDS --apply-immediately --backup-retention-period=0 Vous pouvez vérifier le statut de votre instance de base de données avec la commande rds-describedb-instances. L'exemple affiche le statut de l'instance de base de données AcmeRDS et inclut l'option -headers pour afficher les en-têtes de colonne. rds-describe-db-instances AcmeRDS --headers API Version 2014-10-31 144 Amazon Relational Database Service Guide de l'utilisateur Réplication avec une instance MySQL s'exécutant à l'extérieur d'Amazon RDS Quand la colonne relative au statut (Status) montre que la base de données est disponible, vous êtes prêt à poursuivre. Etape 5 : Charger les données Choisissez l'utilitaire mysqlimport pour charger les fichiers plats dans Amazon RDS. Dans l'exemple, nous demandons à mysqlimport de charger tous les fichiers « sales » dont l'extension commence par « part_ ». Il s'agit d'un moyen pratique de charger tous les fichiers créés dans l'exemple « split ». Utilisez l'option -compress pour réduire le trafic réseau. L'option --fields-terminated-by=',' est utilisée pour les fichiers CSV et l'option --local spécifie que les données entrantes se trouvent sur le client. Comme sans l'option --local, MySQL recherche les données sur l'hôte de base de données, spécifiez toujours l'option --local. mysqlimport --local --compress --user=username --password --host=hostname \ --fields-terminated-by=',' Acme sales.part_* Pour les chargements de données très volumineux, prenez régulièrement des snapshots DB supplémentaires entre les chargements de fichiers et notez les fichiers chargés. Si un problème se produit, vous pouvez sans peine reprendre à partir du point du dernier snapshot DB et éviter ainsi les rechargements très longs. Etape 6 : Activer les sauvegardes automatiques Amazon RDS Une fois le chargement terminé, réactivez les sauvegardes automatiques Amazon RDS en redéfinissant la période de rétention des sauvegardes à la valeur qui était la sienne avant le chargement. Comme noté précédemment, Amazon RDS redémarrera l'instance de base de données. Par conséquent, soyez prêt à une brève interruption de service. Dans l'exemple, nous utilisons la commande rds-modify-db-instance pour activer les sauvegardes automatisées pour l'instance de base de données AcmeRDS et définir la période de rétention sur 1 journée. rds-modify-db-instance AcmeRDS --apply-immediately --backup-retention-period=1 Réplication avec une instance MySQL s'exécutant à l'extérieur d'Amazon RDS Vous pouvez configurer la réplication entre une instance de base de données MySQL Amazon RDS et une instance MySQL externe à Amazon RDS. Veillez à suivre ces instructions lorsque vous configurez un maître de réplication externe et un réplica sur Amazon RDS : • Surveillez les événements de basculement de l'instance de base de données MySQL Amazon RDS qui constitue votre réplica. En cas de basculement, l'instance de base de données qui est votre réplica peut alors être recréée sur un nouvel hôte avec une autre adresse réseau. Pour plus d'informations sur la surveillance des événements de basculement, consultez Utilisation de la notification d'événement Amazon RDS (p. 509). • Tenez à jour les journaux binaires sur votre instance maître, jusqu'à ce que vous ayez vérifié qu'ils ont été appliqués au réplica. Cette maintenance garantit que vous pouvez restaurer votre instance maître en cas de défaillance. API Version 2014-10-31 145 Amazon Relational Database Service Guide de l'utilisateur Réplication avec une instance MySQL s'exécutant à l'extérieur d'Amazon RDS • Activez les sauvegardes automatiques sur votre instance de base de données MySQL sur Amazon RDS. L'activation des sauvegardes automatiques garantit que vous pouvez restaurer votre réplica sur un instant donné si vous devez resynchroniser votre maître et votre réplica. Pour plus d'informations sur les sauvegardes et la restauration à un instant dans le passé, consultez Sauvegarde et restauration (p. 441). Note Les autorisations requises pour démarrer la réplication sur une instance de base de données MySQL Amazon RDS sont restreintes et ne sont pas disponibles pour votre utilisateur principal Amazon RDS. Pour cette raison, vous devez utiliser les commandes Amazon RDS mysql.rds_set_external_master (p. 160) et mysql.rds_start_replication (p. 163) pour configurer la réplication entre votre base de données active et votre base de données MySQL Amazon RDS. Démarrer la réplication entre une instance maître externe et une instance DB MySQL sur Amazon RDS 1. Passez l'instance MySQL source en lecture seule : mysql> FLUSH TABLES WITH READ LOCK; mysql> SET GLOBAL read_only = ON; 2. Exécutez la commande SHOW MASTER STATUS sur l'instance MySQL source pour déterminer l'emplacement du journal binaire. Vous obtenez une sortie similaire à ce qui suit : File Position -----------------------------------mysql-bin-changelog.000031 107 ------------------------------------ 3. Copiez la base de données de l'instance externe MySQL vers l'instance de base de données MySQL Amazon RDS à l'aide de mysqldump. Pour les bases de données très volumineuses, il se peut que vous vouliez utiliser la procédure décrite dans Importation de données vers une instance de base de données MySQL Amazon RDS avec un temps réduit (p. 129). mysqldump --databases <database_name> --single-transaction --compress --order-by-primary –u <local_user> -p<local_password> | mysql --host=hostname –-port=3306 –u <RDS_user_name> –p<RDS_password> Note Veillez bien à ce qu'il n'y ait pas d'espace entre l'option -p et le mot de passe saisi. Utilisez les options –-host, –-user (-u), --port et –p de la commande mysql pour spécifier le nom d'hôte, le nom utilisateur, le port et le mot de passe, et vous connecter à votre instance de base de données MySQL Amazon RDS. Le nom d'hôte est le nom DNS du point de terminaison de l'instance de base de données MySQL Amazon RDS. Par exemple, myinstance.123456789012.useast-1.rds.amazonaws.com. Vous pouvez trouver la valeur du point de terminaison dans les détails de l'instance dans Amazon RDS Management Console. 4. Transformez l'instance MySQL source en instance accessible de nouveau en écriture : mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES; API Version 2014-10-31 146 Amazon Relational Database Service Guide de l'utilisateur Utilisation de la réplication pour exporter les données MySQL 5.6 Pour plus d'informations sur la création de sauvegardes à utiliser avec la réplication, consultez Sauvegarde d'une instance maître ou esclave en la définissant en lecture seule dans la documentation MySQL. 5. Dans Amazon RDS Management Console, ajoutez l'adresse IP du serveur qui héberge la base de données MySQL externe au groupe de sécurité du VPC de l'instance de base de données MySQL Amazon RDS. Pour plus d'informations sur la modification d'un groupe de sécurité du VPC, consultez Groupes de sécurité pour votre VPC dans le Guide de l'utilisateur Amazon Virtual Private Cloud. Il se peut aussi que vous ayez besoin de configurer votre réseau local pour autoriser les connexions à partir de l'adresse IP de votre instance de base de données MySQL Amazon RDS, de telle sorte qu'elle puisse communiquer avec votre instance MySQL externe. Pour obtenir l'adresse IP de l'instance de base de données MySQL Amazon RDS, utilisez la commande host : host <RDS_MySQL_DB_host_name> Le nom d'hôte est le nom DNS du point de terminaison de l'instance de base de données MySQL Amazon RDS. 6. A l'aide du client de votre choix, connectez-vous à l'instance MySQL externe et créez un utilisateur MySQL à utiliser pour la réplication. Ce compte est utilisé exclusivement pour la réplication et doit être limité à votre domaine pour améliorer la sécurité. Voici un exemple : CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>'; 7. Pour l'instance MySQL externe, attribuez les privilèges REPLICATION CLIENT et REPLICATION SLAVE à votre utilisateur de réplication. Par exemple, pour accorder les privilèges REPLICATION CLIENT et REPLICATION SLAVE sur toutes les bases de données à l'utilisateur « repl_user » de votre domaine, émettez la commande suivante : GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>'; 8. Transformez l'instance de base de données MySQL Amazon RDS en réplica. Connectez-vous à l'instance de base de données MySQL Amazon RDS comme utilisateur maître et identifiez la base de données MySQL externe comme maître de réplication à l'aide de la commande mysql.rds_set_external_master (p. 160). Utilisez le nom et la position du fichier journal maître que vous avez déterminés à l'étape 2. Voici un exemple : CALL mysql.rds_set_external_master ('mymasterserver.mydomain.com', 3306, 'repl_user', '<password>', 'mysql-bin-changelog.000031', 107, 0); 9. Sur l'instance de base de données MySQL Amazon RDS, émettez la commande mysql.rds_start_replication (p. 163) pour démarrer la réplication : CALL mysql.rds_start_replication; Utilisation de la réplication pour exporter les données MySQL 5.6 Vous pouvez utiliser la réplication pour exporter les données d'une instance de base de données MySQL 5.6 vers une instance MySQL s'exécutant en dehors d'Amazon RDS. L'instance MySQL extérieure à Amazon RDS peut s'exécuter sur site dans votre centre de données ou sur une instance Amazon EC2. L'instance de base de données MySQL doit exécuter la version 5.6.13 ou version ultérieure. L'instance API Version 2014-10-31 147 Amazon Relational Database Service Guide de l'utilisateur Utilisation de la réplication pour exporter les données MySQL 5.6 MySQL extérieure à Amazon RDS doit exécuter la même version que l'instance Amazon RDS ou une version ultérieure. La réplication sur une instance de MySQL s'exécutant en dehors d'Amazon RDS n'est prise en charge que le temps nécessaire à l'exportation d'une base de données à partir d'une instance de base de données MySQL. La réplication doit être terminée une fois que les données ont été exportées et que les applications peuvent commencer à accéder à l'instance externe. La liste suivante montre les étapes à suivre. Chaque étape est présentée plus en détail dans les sections ultérieures. 1. Préparer une instance de MySQL s'exécutant en dehors d'Amazon RDS. 2. Configurer l'instance de base de données MySQL comme source de la réplication. 3. Utiliser mysqldump pour transférer la base de données de l'instance Amazon RDS vers l'instance extérieure à Amazon RDS. 4. Démarrer la réplication vers l'instance s'exécutant en dehors d'Amazon RDS. 5. Une fois l'exportation terminée, arrêtez la réplication. Préparer une instance de MySQL extérieure à Amazon RDS Installez une instance de MySQL extérieure à Amazon RDS. Connectez-vous à l'instance comme utilisateur maître et créez les utilisateurs requis pour prendre en charge les administrateurs, les applications et les services qui accèdent à l'instance. Suivez les directions de la documentation MySQL pour préparer l'instance de MySQL s'exécutant en dehors d'Amazon RDS comme réplica. Pour plus d'informations, consultez Définition de la configuration de l'esclave de réplication. Configurez une règle de sortie pour que l'instance externe fonctionne comme réplica en lecture pendant l'exportation. La règle de sortie permet au réplica en lecture MySQL de se connecter à l'instance de base de données MySQL pendant la réplication. Spécifiez une règle de sortie qui permette les connexions TCP au port et à l'adresse IP de l'instance de base de données MySQL Amazon RDS source. Si le réplica en lecture s'exécute dans une instance Amazon EC2 d'un Amazon VPC, spécifiez les règles de sortie dans un groupe de sécurité VPC. Si le réplica en lecture s'exécute dans une instance Amazon EC2 qui ne se trouve pas dans un VPC, spécifiez la règle de sortie dans un groupe de sécurité Amazon EC2. Si le réplica en lecture est installé sur site, spécifiez la règle de sortie dans un pare-feu. Si le réplica en lecture s'exécute dans un VPC, configurez les règles des listes ACL du VPC en plus de la règle de sortie du groupe de sécurité. Pour plus d'informations sur les listes ACL réseau Amazon VPC, consultez Listes ACL réseau. • Règle d'entrée de liste ACL : autorise le trafic TCP vers les ports 1024-65535 à partir de l'adresse IP de l'instance DB MySQL source. • Règle de sortie de liste ACL : autorise le trafic TCP sortant vers le port et l'adresse IP de l'instance de base de données MySQL source. Préparer la source de réplication Préparez l'instance de base de données MySQL comme source de la réplication. Assurez-vous que votre ordinateur client possède assez d'espace disque pour enregistrer les journaux binaires lors de la configuration de la réplication. API Version 2014-10-31 148 Amazon Relational Database Service Guide de l'utilisateur Utilisation de la réplication pour exporter les données MySQL 5.6 Créez un compte de réplication en suivant les instructions définies dans Création d'un utilisateur pour la réplication. Configurez les règles d'entrée sur le système exécutant l'instance de base de données MySQL source de réplication qui permettent au réplica en lecture extérieur à MySQL de se connecter pendant la réplication. Spécifiez une règle d'entrée qui autorise les connexions TCP au port utilisé par l'instance Amazon RDS à partir de l'adresse IP du réplica en lecture MySQL s'exécutant en dehors d'Amazon RDS. Si l'instance Amazon RDS s'exécute dans un VPC, spécifiez les règles d'entrée dans un groupe de sécurité VPC. Si l'instance Amazon RDS ne s'exécute pas dans un VPC, spécifiez les règles d'entrée dans un groupe de sécurité de base de données. Si l'instance Amazon RDS s'exécute dans un VPC, configurez les règles de liste ACL du VPC en plus de la règle d'entrée du groupe de sécurité. Pour plus d'informations sur les listes ACL réseau Amazon VPC, consultez Listes ACL réseau. • Règle d'entrée de liste ACL : autoriser les connexions TCP au port utilisé par l'instance Amazon RDS à partir de l'adresse IP du réplica en lecture MySQL externe. • Règle de sortie de liste ACL : autoriser les connexions TCP à partir des ports 1024-65535 à l'adresse IP du réplica en lecture MySQL externe. Assurez-vous que la période de rétention des sauvegardes soit assez longue pour qu'aucun journal binaire ne soit purgé pendant l'exportation. Si l'un des journaux est purgé avant que l'exportation ne soit terminée, vous devez redémarrer la réplication depuis le début. Pour plus d'informations sur la configuration de la période de rétention des sauvegardes, consultez Utilisation des sauvegardes automatiques (p. 442). Utilisez la procédure stockée mysql.rds_set_configuration pour définir une période de rétention des journaux binaires assez longue afin que ceux-ci ne soient pas purgés pendant l'exportation. Pour plus d'informations, consultez Accès aux journaux binaires MySQL 5.6 (p. 529). Pour mieux vous assurer que les journaux binaires de l'instance source ne sont pas purgés, créez un réplica en lecture Amazon RDS à partir de l'instance source. Pour plus d'informations, consultez Création d'un réplica en lecture (p. 426). Après que le réplica en lecture Amazon RDS a été créé, appelez la procédure stockée mysql.rds_stop_replication pour arrêter le processus de réplication. Comme l'instance source ne purgera plus ses fichiers journaux binaires, ils seront disponibles pour le processus de réplication. Copier la base de données Exécutez l'instruction MySQL SHOW SLAVE STATUS sur l'instance MySQL s'exécutant à l'extérieur d'Amazon RDS, puis notez les valeurs master_host, master_port, master_log_file et read_master_log_pos. Choisissez l'utilitaire mysqldump pour créer un instantané, qui copie les données depuis Amazon RDS vers votre ordinateur client local. Pui, exécutez un autre utilitaire pour charger les données dans l'instance MySQL s'exécutant en dehors de RDS. Assurez-vous que votre ordinateur client possède assez d'espace disque pour contenir les fichiers mysqldump des bases de données à répliquer. Ce processus peut prendre plusieurs heures pour les bases de données très volumineuses. Suivez les instructions proposées dans Création d'un instantané de vidage avec mysqldump. L'exemple suivant montre comment exécuter mysqldump sur un client, puis achemine le vidage vers l'utilitaire client mysql, qui charge les données dans l'instance MySQL externe. mysqldump -h RDS instance endpoint -u user -p password --port=3306 --single-transaction -routines --triggers --databases database database2 --compress --compact | mysql -h MySQL host -u master user -p password --port 3306 L'exemple suivant montre comment exécuter mysqldump sur un client et écrire le vidage sur un fichier. API Version 2014-10-31 149 Amazon Relational Database Service Guide de l'utilisateur Utilisation de la réplication pour exporter les données MySQL 5.6 mysqldump -h RDS instance endpoint -u user -p password --port=3306 --single-transaction -routines --triggers --databases database database2 > path/rds-dump.sql Terminer l'exportation Après que vous avez chargé les fichiers mysqldump pour créer les bases de données sur l'instance MySQL s'exécutant en dehors d'Amazon RDS, démarrez la réplication à partir de l'instance de base de données MySQL source pour exporter toutes les modifications de la source intervenues après que vous avez arrêté la réplication à partir du réplica en lecture Amazon RDS. Utilisez l'instruction MySQL CHANGE MASTER pour configurer l'instance MySQL externe. Spécifiez l'ID et le mot de passe de l'utilisateur auquel ont été attribuées les autorisations REPLICATION SLAVE. Spécifiez les valeurs master_host, master_port, master_log_file et read_master_log_pos obtenues avec l'instruction Mysql SHOW SLAVE STATUS que vous avez exécutée sur le réplica en lecture RDS. Pour plus d'informations, consultez Définition de la configuration maître sur l'esclave. Utilisez la commande MySQL START SLAVE pour démarrer la réplication à partir de l'instance DB MySQL source et du réplica MySQL. Exécutez la commande MySQL SHOW SLAVE STATUS sur l'instance Amazon RDS pour vérifier qu'elle fonctionne en tant que réplica en lecture. Pour plus d'informations sur l'interprétation des résultats, consultez Syntaxe de SHOW SLAVE STATUS. Une fois que la réplication sur l'instance MySQL est au niveau de la source Amazon RDS, utilisez la commande MySQL STOP SLAVE pour terminer la réplication à partir de l'instance DB MySQL source. Sur le réplica en lecture Amazon RDS, appelez la procédure stockée mysql.rds_start_replication. Cela permet à Amazon RDS de démarrer la purge des fichiers journaux binaires à partir de l'instance de base de données MySQL source. API Version 2014-10-31 150 Amazon Relational Database Service Guide de l'utilisateur Annexe : Tâches courantes DBA pour MySQL Annexe : Tâches courantes DBA pour MySQL Cette section décrit les implémentations spécifiques à Amazon RDS de certaines tâches DBA courantes pour les instances de base de données exécutant le moteur de base de données MySQL. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Pour plus d'informations sur l'utilisation des fichiers journaux MySQL sur Amazon RDS, consultez Fichiers journaux de base de données MySQL (p. 525) Rubriques • Arrêt d'un session ou d'une requête (p. 151) • Ignorer une erreur de réplication (p. 151) • Utilisation des espaces de table InnoDB pour améliorer les temps de récupération sur incident (p. 152) • Gestion de l'historique global des statuts (GoSH) (p. 154) Arrêt d'un session ou d'une requête Pour mettre fin aux sessions utilisateurs ou aux requêtes sur les instances de base de données, Amazon RDS fournit les commandes suivantes : PROMPT> CALL mysql.rds_kill(thread-ID) PROMPT> CALL mysql.rds_kill_query(thread-ID) Par exemple, pour arrêter la session qui s'exécute sur le thread 99, entrez la commande suivante : PROMPT> CALL mysql.rds_kill(99); Pour arrêter la requête qui s'exécute sur le thread 99, entrez la commande suivante : PROMPT> CALL mysql.rds_kill_query(99); Ignorer une erreur de réplication Amazon RDS fournit un mécanisme qui vous permet d'ignorer une erreur sur vos réplicas en lecture, si l'erreur entraîne une absence de réponse du réplica en lecture et qu'elle n'affecte pas l'intégrité de vos données. Note D'abord, vérifiez que l'erreur peut être ignorée en toute sécurité. Dans un utilitaire MySQL, connectez-vous au réplica en lecture et exécutez la commande MySQL suivante : SHOW SLAVE STATUS\G API Version 2014-10-31 151 Amazon Relational Database Service Guide de l'utilisateur Utilisation des espaces de table InnoDB pour améliorer les temps de récupération sur incident Pour plus d'informations sur les valeurs retournées, consultez Syntaxe de SHOW SLAVE STATUS dans la documentation MySQL. Pour ignorer l'erreur, vous pouvez émettre la commande suivante : CALL mysql.rds_skip_repl_error; Cette commande n'a aucun effet si vous l'exécutez sur l'instance de base de données source ou sur un réplica en lecture qui n'a rencontré aucune erreur de réplication. Pour plus d'informations, telles que les versions de MySQL qui prennent en charge mysql.rds_skip_repl_error, consultez mysql_rds_skip_repl_error (p. 164). Important Si vous essayez d'appeler mysql.rds_skip_repl_error et que vous rencontrez l'erreur suivante : ERROR 1305 (42000): PROCEDURE mysql.rds_skip_repl_error does not exist, mettez à niveau votre instance de base de données MySQL avec la dernière version mineure ou avec l'une des versions mineures minimales répertoriées dans mysql_rds_skip_repl_error (p. 164). Utilisation des espaces de table InnoDB pour améliorer les temps de récupération sur incident Chaque table de MySQL se compose d'une définition de table, de données et d'index. Le moteur de stockage MySQL InnoDB stocke les données de table et les index dans un espace de table. InnoDB crée un espace de table global partagé qui contient un dictionnaire de données et autres métadonnées pertinentes, et peut contenir des données de table et des index. InnoDB peut aussi créer des espaces de table distincts pour chaque table et partition. Ces espaces de table distincts sont stockés dans des fichiers ayant .ibd comme extension et l'en-tête de chaque espace de table contient un numéro qui l'identifie de façon unique. Amazon RDS fournit un paramètre dans un groupe de paramètres MySQL appelé innodb_file_per_table. Ce paramètre contrôle si InnoDB ajoute de nouvelles données et de nouveaux index à l'espace de table partagé (en définissant le paramètre à la valeur 0) ou aux espaces de table individuels (en définissant le paramètre à la valeur 1). Amazon RDS définit par défaut le paramètre innodb_file_per_table à la valeur 1, qui vous permet de supprimer les tables InnoDB individuelles et de récupérer le stockage utilisé par ces tables pour l'instance de base de données. Dans la plupart des cas d'utilisation, la définition du paramètre innodb_file_per_table à la valeur 1 est celle recommandée. Vous devez définir le paramètre innodb_file_per_table à la valeur 0 quand vous avez un nombre important de tables, tel que plus de 1 000 tables quand vous utilisez le stockage SSD standard (magnétique) ou à visée générale, ou plus de 10 000 tables quand vous utilisez le stockage IOPS provisionnées. Lorsque vous définissez ce paramètre à la valeur 0, les espaces de table individuels ne sont pas créés et cela peut améliorer le temps nécessaire pour la récupération sur incident de base de données. MySQL traite chaque fichier de métadonnées, espaces de tables inclus, pendant le cycle de récupération sur incident. Le temps nécessaire à MySQL pour traiter les informations de métadonnées dans l'espace de table partagé est négligeable en comparaison du temps qu'il faut pour traiter des milliers de fichiers d'espace de table quand il y a plusieurs espaces de table. Comme le nombre d'espaces de table est stocké au sein de l'en-tête de chaque fichier, le temps total nécessaire pour lire tous les fichiers d'espace de table peut prendre jusqu'à plusieurs heures. Par exemple, un million d'espaces de table InnoDB sur un stockage standard peut nécessiter entre cinq et huit heures de traitement pendant un cycle de récupération sur incident. Dans certains, InnoDB peut déterminer qu'il a besoin d'un nettoyage supplémentaire après un cycle de récupération sur incident et, par conséquent, entamera un autre cycle de récupération sur incident, ce qui augmente le temps total de récupération. Gardez à l'esprit qu'un cycle de récupération sur incident API Version 2014-10-31 152 Amazon Relational Database Service Guide de l'utilisateur Utilisation des espaces de table InnoDB pour améliorer les temps de récupération sur incident implique aussi la restauration de transactions, la correction des pages rompues et autres opérations en plus du traitement des informations sur les espaces de table. Comme le paramètre innodb_file_per_table réside dans un groupe de paramètres, vous pouvez modifier la valeur du paramètre en modifiant le groupe de paramètres utilisé par votre instance de base de données sans avoir à redémarrer celle-ci. Une fois que la valeur est modifiée, de la valeur 1 (créer des tables individuelles) à la valeur 0 (utiliser un espace de table partagé), par exemple, les nouvelles tables InnoDB sont ajoutées à l'espace de table partagé, pendant que les tables existantes continuent d'avoir des espaces de table individuels. Pour déplacer une table InnoDB vers l'espace de table partagé, vous devez utiliser la commande ALTER TABLE. Migration de plusieurs espaces de table vers l'espace de table partagé Vous pouvez déplacer les métadonnées d'une table InnoDB de son propre espace de table vers l'espace de table partagé à l'aide de la commande ci-après, ce qui recrée les métadonnées de la table selon la valeur du paramètre innodb_file_per_table. PROMPT>ALTER TABLE name ENGINE = InnoDB Par exemple, la requête suivante retourne une instruction ALTER TABLE pour chaque table InnoDB. SELECT CONCAT('ALTER TABLE `', REPLACE(TABLE_SCHEMA, '`', '``'), '`.`', REPLACE(TABLE_NAME, '`', '``'), '` ENGINE=InnoDB;') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND ENGINE = 'InnoDB' AND TABLE_SCHEMA <> 'mysql'; La reconstruction d'une table MySQL pour déplacer les métadonnées de la table vers l'espace de table partagé nécessite temporairement un espace de stockage supplémentaire pour recréer la table et, par conséquent, l'instance de base de données doit avoir un espace de stockage disponible. Pendant la reconstruction, la table est verrouillée et inaccessible aux requêtes. Pour les petites tables ou les tables qui ne sont pas fréquemment accédées, cela peut ne pas être un problème ; pour les tables volumineuses ou fréquemment accédées dans un environnement fortement concurrentiel, vous pouvez recréer les tables sur un réplica en lecture. Vous pouvez créer un réplica en lecture et migrer les métadonnées de la table vers l'espace de table partagé du réplica en lecture. Tant que l'instruction ALTER TABLE bloque l'accès sur le réplica en lecture, l'instance de base de données source n'est pas affectée. L'instance de base de données source continue à générer ses journaux binaires, tandis que le réplica en lecture devient plus lent pendant le processus de reconstruction de la table. Comme la reconstruction nécessite un espace de stockage supplémentaire et que fichier journal de la relecture peut devenir volumineux, vous devez créer un réplica en lecture avec un stockage alloué supérieur à l'instance de base de données source. Suivez les étapes ci-dessous pour créer un réplica en lecture et recréer les tables InnoDB afin d'utiliser l'espace de table partagé : 1. Assurez-vous que la rétention des sauvegardes est activée sur l'instance de base de données source de telle sorte que la journalisation binaire soit activée. 2. Utilisez la console AWS ou l'interface de ligne de commande RDS pour créer un réplica en lecture pour l'instance de base de données source. Comme la création d'un réplica en lecture implique un grand nombre de processus semblables à ceux de la récupération sur incident, le processus de création peut API Version 2014-10-31 153 Amazon Relational Database Service Guide de l'utilisateur Gestion de l'historique global des statuts (GoSH) prendre un certain temps s'il y a un nombre élevé d'espaces de table InnoDB. Allouez plus d'espace de stockage sur le réplica en lecture qu'il n'en est actuellement utilisé sur l'instance de base de données source. 3. Une fois que le réplica en lecture a été créé, créez un groupe de paramètres avec les valeurs de paramètre read_only = 0 et innodb_file_per_table = 0, puis associez le groupe de paramètres au réplica en lecture. 4. Exécutez la commande ALTER TABLE <nom> ENGINE = InnoDB sur toutes les tables qui doivent être migrées sur le réplica. 5. Une fois que toutes vos instructions ALTER TABLE sont terminées sur le réplica en lecture, vérifiez que celui-ci est connecté à l'instance de base de données source et que les deux instances sont synchronisées. 6. Quand vous êtes prêt, utilisez la console AWS ou l'interface de ligne de commande RDS pour promouvoir le réplica en lecture comme instance maître. Veillez à ce que le paramètre innodb_file_per_table du groupe de paramètres utilisé pour le nouveau maître a la valeur 0. Modifiez le nom du nouveau maître et pointez les applications sur la nouvelle instance maître. Gestion de l'historique global des statuts (GoSH) MySQL gère de nombreuses variables d'état qui fournissent des informations sur son fonctionnement. Leur valeur peut vous aider à détecter les problèmes de verrouillage ou de mémoire d'une instance de base de données. Les valeurs de ces variables d'état se cumulent depuis le dernier démarrage de l'instance de base de données. Vous pouvez réinitialiser à la valeur 0 la plupart des variables d'état à l'aide de la commande FLUSH STATUS. Pour autoriser la supervision de ces valeurs au fil du temps, Amazon RDS fournit un ensemble de procédures qui prennent un instantané des valeurs de ces variables et les écrivent dans une table, ainsi que toutes les modifications intervenues depuis le dernier instantané. Cette infrastructure, appelée historique global des statuts (GoSH, Global Status History), est installée sur toutes les instances DB MySQL à partir des versions 5.1.62 et 5.5.23. GoSH est désactivée par défaut. Pour activer GoSH, vous devez d'abord activer le planificateur d'événement à partir d'un groupe de paramètres DB en définissant le paramètre event_scheduler avec la valeur ON. Pour plus d'informations sur la création et la modification d'un groupe de paramètres DB, consultez Utilisation des groupes de paramètres DB (p. 466). Vous pouvez ensuite utiliser les procédures du tableau suivant pour activer et configurer GoSH. Pour chaque procédure, à l'invite de commande, entrez ce qui suit : PROMPT> CALL procedure-name; où procedure-name est l'une des procédures du tableau. Procédure Description rds_enable_gsh_collector Active l'infrastructure GoSH pour prendre des instantanés par défaut à intervalles spécifiés par rds_set_gsh_collector. rds_set_gsh_collector Spécifie l'intervalle, en minutes, entre les instantanés. La valeur par défaut est 5. rds_disable_gsh_collector Désactive les instantanés. rds_collect_global_status_history Prend un instantané sur demande. API Version 2014-10-31 154 Amazon Relational Database Service Guide de l'utilisateur Gestion de l'historique global des statuts (GoSH) Procédure Description rds_enable_gsh_rotation Active la rotation du contenu de la table mysql.global_status_history en mysql.global_status_history_old à intervalles spécifiés par rds_set_gsh_rotation. rds_set_gsh_rotation Spécifie l'intervalle, en jours, entre deux rotations de table. La valeur par défaut est 7. rds_disable_gsh_rotation Désactive la rotation de table. rds_rotate_global_status_history Effectue une rotation du contenu de la table mysql.global_status_history en mysql.global_status_history_old à la demande. Lorsque l'infrastructure GoSH est en cours d'exécution, vous pouvez interroger les tables sur lesquelles elle écrit. Par exemple, pour interroger le taux d'accès du groupe de tampons Innodb, vous devez émettre la requête suivante : select a.collection_end, a.collection_start, (( a.variable_Deltab.variable_delta)/a.variable_delta)*100 as "HitRatio" from rds_global_status_history as a join rds_global_status_history as b on a.collection_end = b.collection_end where a. variable_name = 'Innodb_buffer_pool_read_requests' and b.variable_name = 'Innodb_buffer_pool_reads' API Version 2014-10-31 155 Amazon Relational Database Service Guide de l'utilisateur Annexe : options pour MySQL Annexe : options pour le moteur de base de données MySQL Cette annexe décrit les options, ou fonctions supplémentaires, disponibles pour les instances Amazon RDS exécutant le moteur de base de données MySQL. Pour activer ces options, vous pouvez les ajouter à un groupe d'options personnalisé, puis associer ce dernier à votre instance DB. Pour plus d'informations sur l'utilisation de ces options, consultez Présentation des groupes d'options (p. 455). Les options suivantes sont actuellement prises en charge pour MySQL 5.6 : • MEMCACHED Prise en charge memcached MySQL 5.6 Amazon RDS prend en charge l'utilisation de l'interface memcached pour les tables InnoDB qui a été introduite dans MySQL 5.6. L'API memcached permet aux applications d'utiliser les tables InnoDB de la même façon que les magasins de données clé-valeur NoSQL. Important Nous recommandons d'utiliser l'interface memcached uniquement avec MySQL version 5.6.21b ou ultérieure. En effet, nous procédons ainsi car il existe un certain nombre de résolutions de bogues relatives à l'interface memcached qui sont incluses dans le moteur MySQL démarrant avec la version 5.6.21b. Pour plus d'informations, consultez Changes in MySQL 5.6.20 (2014-07-31) et Changes in MySQL 5.6.21 (2014-09-23) dans la documentation MySQL. memcached est un cache simple basé sur les clés. Les applications utilisent memcached pour insérer, manipuler et récupérer les paires de données clé-valeur du cache. MySQL 5.6 présente un plug-in qui implémente un service démon exposant les données des tables InnoDB via le protocole memcached. Pour plus d'informations sur le plug-in MySQL memcached, consultez InnoDB Integration with memcached. Vous activez la prise en charge memcached pour une instance MySQL 5.6 Amazon RDS en : 1. Déterminant le groupe de sécurité à utiliser pour contrôler l'accès à l'interface memcached. Si l'ensemble d'applications qui utilise déjà l'interface SQL est identique à celui qui accède à l'interface memcached, vous pouvez utiliser le groupe de sécurité VPC ou DB existant utilisé par l'interface SQL. Si un ensemble différent d'applications accède à l'interface memcached, définissez un nouveau groupe de sécurité VPC ou DB. Pour plus d'informations sur la gestion des groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). 2. Créant un groupe d'options de base de données personnalisé, en sélectionnant MySQL comme type de moteur et une version 5.6. Pour plus d'informations sur la création d'un groupe d'options, consultez Création d'un groupe d'options (p. 458). 3. Ajoutant l'option MEMCACHED au groupe d'options. Spécifiez le port que l'interface memcached utilisera, et le groupe de sécurité à utiliser pour contrôler l'accès à l'interface. Pour plus d'informations sur l'ajout d'options, consultez Ajout d'une option à un groupe d'options (p. 460). 4. Modifiant les options pour configurer les paramètres memcached, le cas échéant. Pour plus d'informations sur la modification des paramètres d'options, consultez Modification d'un paramètre d'option (p. 463). 5. Appliquant le groupe d'options à une instance. Amazon RDS active la prise en charge memcached pour cette instance lorsque le groupe d'options est appliqué : • Vous activez la prise en charge memcached pour une nouvelle instance en spécifiant le groupe d'options personnalisé lorsque vous lancez l'instance. Pour plus d'informations sur le lancement d'une instance MySQL, consultez Création d'une instance de base de données exécutant le moteur de base de données MySQL (p. 112). API Version 2014-10-31 156 Amazon Relational Database Service Guide de l'utilisateur Prise en charge memcached MySQL 5.6 • Vous activez la prise en charge memcached pour une instance existante en spécifiant le groupe d'options personnalisé lorsque vous modifiez l'instance. Pour plus d'informations sur la modification d'une instance MySQL, consultez Modification d'une instance de base de données exécutant le moteur de base de données MySQL (p. 121). 6. Spécifiant les colonnes dans vos tables MySQL accessibles via l'interface memcached. Le plug-in memcached crée une table de catalogue appelée containers dans une base de données dédiée appelée innodb_memcache. Vous insérez une ligne dans la table containers pour mapper une table InnoDB et y accéder via memcached. Vous spécifiez une colonne dans la table InnoDB qui est utilisée pour stocker les valeurs de clé memcached, et une ou plusieurs colonnes qui sont utilisées pour stocker les valeurs de données associées à la clé. Vous spécifiez également un nom qu'une application memcached utilise pour faire référence à cet ensemble de colonnes. Pour plus de détails sur l'insertion des lignes dans la table containers, consultez Internals of the InnoDB memcached Plugin. Pour obtenir un exemple de mapping et d'accès à une table InnoDB via memcached, consultez Specifying the Table and Column Mappings for an InnoDB + memcached Application. 7. Si les applications qui accèdent à l'interface memcached sont sur différents ordinateurs ou instances EC2 que les applications qui utilisent l'interface SQL, ajoutez les informations de connexion de ces ordinateurs au groupe de sécurité VPC et DB associé à l'instance MySQL. Pour plus d'informations sur la gestion des groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). Vous désactivez la prise en charge memcached pour une instance en modifiant l'instance et en spécifiant le groupe d'options par défaut MySQL 5.6. Pour plus d'informations sur la modification d'une instance MySQL, consultez Modification d'une instance de base de données exécutant le moteur de base de données MySQL (p. 121). Considérations de sécurité memcached MySQL Le protocole memcached ne prend pas en charge l'authentification utilisateur. Pour plus d'informations sur les considérations de sécurité MySQL memcached, consultez memcached Deployment et Using memcached as a MySQL Caching Layer. Vous pouvez prendre les mesures suivantes pour aider à augmenter la sécurité de l'interface memcached : • Spécifiez un port différent du port par défaut 11211 lorsque vous ajoutez l'option MEMCACHED au groupe d'options. • Veillez à associer l'interface memcached avec un groupe de sécurité VPC ou DB qui limite l'accès aux adresses client ou instances EC2 fiables et connues. Pour plus d'informations sur la gestion des groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). Informations de connexion memcached MySQL Pour accéder à l'interface memcached, une application doit spécifier le nom DNS de l'instance Amazon RDS et le numéro de port memcached. Par exemple, si une instance possède un nom DNS de my-cacheinstance.cg034hpkmmjt.region.rds.amazonaws.com et l'interface memcached utilise le port 11212, les informations de connexion spécifiées dans PHP seront : <?php $cache = new Memcache; $cache->connect('my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com',11212); ?> API Version 2014-10-31 157 Amazon Relational Database Service Guide de l'utilisateur Prise en charge memcached MySQL 5.6 Pour trouver le nom DNS et le port memcached d'une instance MySQL Amazon RDS 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la AWS Management Console, sélectionnez la région qui contient l'instance de base de données. 3. Dans le volet de navigation, cliquez sur Instances. 4. Sélectionnez la flèche à gauche du nom de l'instance de base de données qui exécute le moteur de base de données MySQL. Dans l'affichage de la description, notez la valeur du champ endpoint. Le nom DNS est la partie du point de terminaison jusqu'au deux-points (:). Ignorez les deux-points et le numéro de port qui les suit, ce port n'est pas utilisé pour accéder à l'interface memcached. 5. Notez le nom figurant dans le champ Option Group(s). 6. Dans le volet de navigation, cliquez sur Option Groups. 7. Sélectionnez la flèche à gauche du nom du groupe d'options utilisé par l'instance de base de données MySQL. Dans l'affichage de la description, notez la valeur du paramètre port dans l'option MEMCACHED. Paramètres d'option memcached MySQL Amazon RDS expose les paramètres memcached MySQL comme paramètres d'option dans l'option Amazon RDS MEMCACHED. Paramètres memcached MySQL • DAEMON_MEMCACHED_R_BATCH_SIZE - un nombre entier qui spécifie combien d'opérations de lecture (get) memcached doivent être effectuées avant d'exécuter un COMMIT pour lancer une nouvelle transaction. Les valeurs autorisées sont comprises entre 1 et 4294967295, et celle par défaut est 1. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • DAEMON_MEMCACHED_W_BATCH_SIZE - un nombre entier qui spécifie combien d'opérations d'écriture memcached comme add, set ou incr doivent être effectuées avant d'exécuter un COMMIT pour lancer une nouvelle transaction. Les valeurs autorisées sont comprises entre 1 et 4294967295, et celle par défaut est 1. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • INNODB_API_BK_COMMIT_INTERVAL - un nombre entier qui spécifie la fréquence d'auto-commit des connexions inactives qui utilisent l'interface memcached InnoDB. Les valeurs autorisées sont comprises entre 1 et 1073741824, et celle par défaut est 5. L'option prend effet immédiatement, sans que vous ayez besoin de redémarrer l'instance. • INNODB_API_DISABLE_ROWLOCK - un booléen qui désactive (1 (vrai)) ou désactive (0 (faux)) l'utilisation des verrouillages de ligne lorsque vous utilisez l'interface memcached InnoDB. La valeur par défaut est 0 (faux). L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • INNODB_API_ENABLE_MDL - un booléen configuré sur 0 (faux) verrouille la table utilisée par le plug-in memcached InnoDB, pour ne pas qu'il puisse être abandonné ou modifié par DDL via l'interface SQL. La valeur par défaut est 0 (faux). L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • INNODB_API_TRX_LEVEL - un nombre entier qui spécifie le niveau d'isolation de la transaction pour les requêtes traitées par l'interface memcached. Les valeurs autorisées sont comprises entre 0 et 3. La valeur par défaut est0. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. Amazon RDS configure ces paramètres memcached MySQL, ils ne peuvent pas être modifiés : DAEMON_MEMCACHED_LIB_NAME, DAEMON_MEMCACHED_LIB_PATH et INNODB_API_ENABLE_BINLOG. Les paramètres que les administrateurs MySQL configurent en utilisant daemon_memcached_options sont disponibles comme paramètres d'options MEMCACHED individuels dans Amazon RDS. API Version 2014-10-31 158 Amazon Relational Database Service Guide de l'utilisateur Prise en charge memcached MySQL 5.6 Paramètres daemon_memcached_options MySQL • BINDING_PROTOCOL - une chaîne qui spécifie le protocole de liaison à utiliser. Les valeurs autorisées sont auto, ascii ou binary. La valeur par défaut est auto, ce qui signifie que le serveur négocie automatiquement le protocole avec le client. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • BACKLOG_QUEUE_LIMIT - un nombre entier qui spécifie combien de connexions réseau peuvent être en attente de traitement par memcached. L'augmentation de cette limite peut réduire les erreurs reçues par un client qui ne peut pas se connecter à l'instance memcached, mais n'améliore pas les performances du serveur. Les valeurs autorisées sont comprises entre 1 et 2048, et celle par défaut est 1024. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • CAS_DISABLED - un booléen qui active (1 (vrai)) ou désactive (0 (faux)) l'utilisation de la fonction CAS (Compare and Swap), ce qui réduit la taille par élément de 8 octets. La valeur par défaut est 0 (faux). L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • CHUNK_SIZE - un nombre entier qui spécifie la taille minimum du bloc, en octet, à attribuer à la clé, à la valeur et aux indicateurs de l'élément le plus petit. Les valeurs autorisées sont comprises entre 1 et 48. La valeur par défaut est 48 et vous pouvez considérablement améliorer l'efficacité de la mémoire avec une valeur inférieure. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • CHUNCK_SIZE_GROWTH_FACTOR - un nombre flottant qui contrôle la taille des nouveaux blocs. La taille d'un nouveau bloc correspond à la taille du bloc précédent multipliée par CHUNCK_SIZE_GROWTH_FACTOR. Les valeurs autorisées sont comprises entre 1 et 2, la valeur par défaut est 1,25. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • ERROR_ON_MEMORY_EXHAUSTED - un booléen, lorsqu'il est configuré sur 1 (vrai) spécifie que memcached renverra une erreur plutôt que d'expulser les éléments lorsqu'il n'y a plus de mémoire pour les stocker. S'il est configuré sur 0 (faux), memcached expulse les éléments s'il n'y a plus de mémoire. La valeur par défaut est 0 (faux). L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • MAX_SIMULTANEOUS_CONNECTIONS - un nombre entier qui spécifie le nombre maximum de connexions simultanées. La configuration de cette valeur sur n'importe quel chiffre inférieur à 10 empêche MySQL de démarrer. Les valeurs autorisées sont comprises entre 10 et 1024, et celle par défaut est 1024. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. • VERBOSITY - une chaîne qui spécifie le niveau d'informations consignées dans le journal d'erreurs MySQL par le service memcached. La valeur par défaut est v. L'option ne prend pas effet tant que l'instance n'est pas redémarrée. Les valeurs autorisées sont : • v - Les erreurs et avertissements du journal pendant l'exécution de la boucle principale d'évènements. • vv - Outre les informations consignées par v, le journal consigne également la commande de chaque client et la réponse. • vvv - Outre les informations consignées par vv, le journal consigne également les transitions d'état interne. Amazon RDS configure ces paramètres MySQL DAEMON_MEMCAHCED_OPTIONS, ils ne peuvent pas être modifiés : DAEMON_PROCESS, LARGE_MEMORY_PAGES, MAXIMUM_CORE_FILE_LIMIT, MAX_ITEM_SIZE, LOCK_DOWN_PAGE_MEMORY, MASK, IDFILE, REQUESTS_PER_EVENT, SOCKET et USER. API Version 2014-10-31 159 Amazon Relational Database Service Guide de l'utilisateur Annexe : Guide de référence MySQL sur Amazon RDS SQL Annexe : Guide de référence MySQL sur Amazon RDS SQL Cette annexe décrit les procédures stockées système disponibles pour les instances Amazon RDS exécutant le moteur de base de données MySQL. Présentation Les procédures stockées système suivantes sont prises en charge pour les instances de base de données Amazon RDS exécutant MySQL pour gérer la réplication. • mysql.rds_set_external_master (p. 160) • mysql.rds_reset_external_master (p. 162) • mysql.rds_start_replication (p. 163) • mysql.rds_stop_replication (p. 164) • mysql_rds_skip_repl_error (p. 164) • mysql.rds_next_master_log (p. 165) • mysql.rds_innodb_buffer_pool_dump_now (p. 167) • mysql.rds_innodb_buffer_pool_load_now (p. 167) • mysql.rds_innodb_buffer_pool_load_abort (p. 167) Conventions du guide de référence SQL Cette section explique les conventions utilisées pour décrire les tables et les procédures stockées système présentées dans la section de référence SQL. Caractère Description MAJUSCULE Les mots en lettres majuscules sont des mots clés. [] Les crochets indiquent des arguments facultatifs. {} Les accolades indiquent que vous devez choisir l'un des arguments proposés. | Le caractère « pipe » sépare les arguments entre lesquels vous pouvez choisir. italique Les mots en italique correspondent à des espaces réservés. Vous devez insérer la valeur appropriée à la place du mot en italique. … Les trois points de suspension indiquent que vous pouvez répéter l'élément précédent. ' Les mots entres apostrophes droits signifient que vous devez taper les apostrophes. mysql.rds_set_external_master Configure une instance de base de données MySQL comme réplica en lecture d'une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS. API Version 2014-10-31 160 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_set_external_master Syntaxe CALL mysql.rds_set_external_master ( host_name , host_port , replication_user_name , replication_user_password , mysql_binary_log_file_name , mysql_binary_log_file_location , ssl_encryption ); Paramètres host_name Nom d'hôte ou adresse IP de l'instance MySQL s'exécutant à l'extérieur d'Amazon RDS et qui deviendra le maître de réplication. host_port Port utilisé par l'instance MySQL s'exécutant à l'extérieur d'Amazon RDS et à configurer comme maître de réplication. Si votre configuration réseau inclut une réplication de port ssh qui convertit le numéro de port, spécifiez le numéro de port qui est exposé par ssh. replication_user_name ID d'un utilisateur avec les autorisations REPLICATION SLAVE de l'instance DB MySQL à configurer comme réplica en lecture. replication_user_password Mot de passe de l'ID utilisateur spécifié dans replication_user_name. mysql_binary_log_file_name Nom du journal binaire sur le maître de réplication qui contient les informations de réplication. mysql_binary_log_file_location Emplacement dans le journal binaire mysql_binary_log_file_name à partir duquel la réplication commence à lire les informations de réplication. ssl_encryption Cette option n'est pas actuellement implémentée. La valeur par défaut est 0. Notes d'utilisation mysql.rds_set_external_master doit être exécuté par l'utilisateur maître. Elle doit être exécutée sur l'instance DB MySQL à configurer comme réplica en lecture d'une instance MySQL s'exécutant en dehors d'Amazon RDS. Avant d'exécuter mysql.rds_set_external_master, vous devez avoir configuré l'instance de MySQL s'exécutant en dehors d'Amazon RDS comme maître de réplication. Pour de plus amples informations, veuillez consulter Importation et exportation de données à partir d'une instance de base de données MySQL (p. 124). Warning N'utilisez pas mysql.rds_set_external_master pour gérer la réplication entre deux instances de base de données Amazon RDS. N'utilisez la procédure que lors de la réplication avec une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS. Pour plus d'informations sur la gestion de la réplication entre les instances de base de données Amazon RDS, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). API Version 2014-10-31 161 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_reset_external_master Après avoir appelé mysql.rds_set_external_master pour configurer une instance de base de données Amazon RDS comme réplica en lecture, vous pouvez appeler mysql.rds_start_replication (p. 163) pour démarrer le processus de réplication. Vous pouvez appeler mysql.rds_reset_external_master (p. 162) pour supprimer la configuration du réplica en lecture. Quand la procédure mysql.rds_set_external_master est appelée, Amazon RDS enregistre l'heure, l'utilisateur et une action de « set master » dans les tables mysql.rds_history et mysql.rds_replication_status. mysql.rds_set_external_master est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.5 version 5.5.33 ou ultérieure • MySQL 5.6 version 5.6.13 ou ultérieure Exemples Lors d'une exécution sur une instance de base de données MySQL, l'exemple suivant configure l'instance de base de données comme réplica en lecture d'une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS. call mysql.rds_set_external_master('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','mysqlbin-changelog.0777',120,0); Rubriques connexes • mysql.rds_reset_external_master (p. 162) • mysql.rds_start_replication (p. 163) • mysql.rds_stop_replication (p. 164) mysql.rds_reset_external_master Reconfigure une instance de base de données MySQL comme n'étant plus un réplica en lecture d'une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS. Syntaxe CALL mysql.rds_reset_external_master; Notes d'utilisation mysql.rds_reset_external_master doit être exécuté par l'utilisateur maître. Elle doit être exécutée sur l'instance de base de données MySQL à supprimer comme réplica en lecture d'une instance MySQL s'exécutant en dehors d'Amazon RDS. Warning N'utilisez pas mysql.rds_reset_external_master pour gérer la réplication entre deux instances de base de données Amazon RDS. N'utilisez la procédure que lors de la réplication avec une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS. Pour plus d'informations sur la gestion de la réplication entre les instances de base de données Amazon RDS, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). API Version 2014-10-31 162 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_start_replication Pour plus d'informations sur l'utilisation de la réplication pour importer les données à partir d'une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS, consultez Importation et exportation de données à partir d'une instance de base de données MySQL (p. 124). mysql.rds_reset_external_master est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.5 version 5.5.33 ou ultérieure • MySQL 5.6 version 5.6.13 ou ultérieure Rubriques connexes • mysql.rds_set_external_master (p. 160) • mysql.rds_start_replication (p. 163) • mysql.rds_stop_replication (p. 164) mysql.rds_start_replication Démarre la réplication à partir d'une instance de base de données MySQL. Syntaxe CALL mysql.rds_start_replication; Notes d'utilisation mysql.rds_start_replication doit être exécuté par l'utilisateur maître. Si vous configurez la réplication pour importer des données à partir d'une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS, vous appelez mysql.rds_start_replication pour démarrer le processus de réplication après que vous avez appelé mysql.rds_set_external_master (p. 160) pour créer la configuration de réplication. Pour plus d'informations, consultez Importation et exportation de données à partir d'une instance de base de données MySQL (p. 124). Si vous configurez la réplication pour exporter les données vers une instance de MySQL extérieure à Amazon RDS, vous appelez mysql.rds_start_replication et mysql.rds_stop_replication pour contrôler certaines actions de réplication, telles que la purge des journaux binaires. Pour plus d'informations, consultez Utilisation de la réplication pour exporter les données MySQL 5.6 (p. 147). Vous pouvez aussi utiliser mysql.rds_start_replication pour redémarrer un processus de réplication que vous avez précédemment arrêté en appelant mysql.rds_stop_replication (p. 164). Pour plus d'informations, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). mysql.rds_start_replication est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.5 version 5.5.33 ou ultérieure • MySQL 5.6 version 5.6.13 ou ultérieure Rubriques connexes • mysql.rds_set_external_master (p. 160) • mysql.rds_reset_external_master (p. 162) • mysql.rds_stop_replication (p. 164) API Version 2014-10-31 163 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_stop_replication mysql.rds_stop_replication Termine la réplication à partir d'une instance de base de données MySQL. Syntaxe CALL mysql.rds_stop_replication; Notes d'utilisation mysql.rds_stop_replication doit être exécuté par l'utilisateur maître. Si vous configurez la réplication pour importer des données à partir d'une instance de MySQL s'exécutant à l'extérieur d'Amazon RDS, vous appelez mysql.rds_stop_replication pour arrêter le processus de réplication après que l'importation est terminée. Pour plus d'informations, consultez Importation et exportation de données à partir d'une instance de base de données MySQL (p. 124). Si vous configurez la réplication pour exporter les données vers une instance de MySQL extérieure à Amazon RDS, vous appelez mysql.rds_start_replication et mysql.rds_stop_replication pour contrôler certaines actions de réplication, telles que la purge des journaux binaires. Pour plus d'informations, consultez Utilisation de la réplication pour exporter les données MySQL 5.6 (p. 147). Vous pouvez aussi utiliser mysql.rds_stop_replication pour arrêter la réplication entre deux instances de base de données Amazon RDS. Vous arrêtez généralement la réplication pour exécuter une longue opération sur le réplica, comme la création d'un index volumineux sur le réplica. Vous pouvez redémarrer tout processus de réplication que vous avez arrêté en appelant mysql.rds_start_replication (p. 163). Pour plus d'informations, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). mysql.rds_stop_replication est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.5 version 5.5.33 ou ultérieure • MySQL 5.6 version 5.6.13 ou ultérieure Rubriques connexes • mysql.rds_set_external_master (p. 160) • mysql.rds_reset_external_master (p. 162) • mysql.rds_start_replication (p. 163) mysql_rds_skip_repl_error Ignore et supprime une erreur de réplication sur une instance de base de données MySQL. Syntaxe CALL mysql.rds_skip_repl_error; Notes d'utilisation mysql.rds_skip_repl_error doit être exécuté par l'utilisateur maître. API Version 2014-10-31 164 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_next_master_log Exécutez la commande MySQL show slave status\G pour déterminer s'il y a des erreurs. Si une erreur de réplication n'est pas critique, vous pouvez choisir d'utiliser mysql.rds_skip_repl_error pour ignorer l'erreur. S'il y a plusieurs erreurs, mysql.rds_skip_repl_error supprime la première erreur, puis avertit qu'il y a d'autres erreurs. Vous pouvez alors utiliser show slave status\G pour déterminer l'action appropriée pour l'erreur suivante. Pour plus d'informations sur les valeurs retournées, consultez Syntaxe de SHOW SLAVE STATUS dans la documentation MySQL. Pour plus d'informations sur le traitement des erreurs de réplication avec Amazon RDS, consultez Résolution d'un problème de réplica en lecture MySQL (p. 433). mysql.rds_skip_repl_error est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.1 version 5.1.62 ou ultérieure. • MySQL 5.5 version 5.5.23 ou ultérieure. • MySQL 5.6 version 5.6.12 ou ultérieure. Important Si vous essayez d'appeler mysql.rds_skip_repl_error et que vous rencontrez l'erreur suivante : ERROR 1305 (42000): PROCEDURE mysql.rds_skip_repl_error does not exist, mettez à niveau votre instance DB MySQL sur la dernière version mineure ou sur l'une des versions mineures minimales répertoriées dans cette rubrique. mysql.rds_next_master_log Modifie la position du journal maître de réplication au début du journal binaire suivant sur le maître de réplication. N'utilisez cette procédure que si vous recevez une erreur 1236 d'E/S de réplication sur un réplica en lecture de Amazon RDS. Syntaxe CALL mysql.rds_next_master_log( curr_master_log ); Paramètres curr_master_log Index du fichier journal maître actif. Par exemple, si le fichier en cours se nomme mysql-binchangelog.012345, l'index est 12345. Pour déterminer le nom du fichier journal maître actif, exécutez la commande SHOW SLAVE STATUS et affichez le champ Master_Log_File. Notes d'utilisation mysql.rds_next_master_log doit être exécuté par l'utilisateur maître. Warning Appelez mysql.rds_next_master_log uniquement si la réplication échoue après le basculement d'une instance de base de données multi-AZ qui est la source de la réplication, et que le champ Last_IO_Errno de SHOW SLAVE STATUS signale une erreur d'E/S 1236. L'appel de mysql.rds_next_master_log peut se traduire par une perte des données dans le réplica en lecture si les transactions de l'instance source n'ont pas été écrites dans le journal API Version 2014-10-31 165 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_next_master_log binaire sur disque avant que le basculement n'intervienne. Vous pouvez réduire la probabilité que cela se produise en configurant les paramètres de l'instance source sync_binlog = 1 et innodb_support_xa = 1, même si les performances peuvent s'en trouver réduites. Pour plus d'informations, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). mysql.rds_next_master_log est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.1 version 5.1.71 ou ultérieure • MySQL 5.5 version 5.5.33 ou ultérieure • MySQL 5.6 version 5.6.13 ou ultérieure Exemples Présumons que la réplication ait échoué sur un réplica en lecture Amazon RDS. L'exécution de SHOW SLAVE STATUS\G sur le réplica retourne le résultat suivant : *************************** 1. row *************************** Slave_IO_State: Master_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Master_User: MasterUser Master_Port: 3306 Connect_Retry: 10 Master_Log_File: mysql-bin-changelog.012345 Read_Master_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Master_Log_File: mysql-bin-changelog.012345 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/ log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/ binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 67285976 API Version 2014-10-31 166 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_innodb_buffer_pool_dump_now Le champ Last_IO_Errno montre que l'instance reçoit une erreur 1236 d'E/S. Le champ Master_Log_File montre que le nom du fichier est mysql-bin-changelog.012345, ce qui signifie que l'index du fichier journal est 12345. Pour résoudre l'erreur, vous pouvez appeler mysql.rds_next_master_log avec le paramètre suivant : CALL mysql.rds_next_master_log(12345); mysql.rds_innodb_buffer_pool_dump_now Vide l'état actuel du pool de tampons sur le disque. Pour plus d'informations, consultez Préparation du cache InnoDB (p. 106). Syntaxe CALL mysql.rds_innodb_buffer_pool_dump_now(); Notes d'utilisation mysql.rds_innodb_buffer_pool_dump_now doit être exécuté par l'utilisateur maître. mysql.rds_innodb_buffer_pool_dump_now est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.6 version 5.6.19 et version ultérieure mysql.rds_innodb_buffer_pool_load_now Charge l'état enregistré du pool de tampons à partir du disque. Pour plus d'informations, consultez Préparation du cache InnoDB (p. 106). Syntaxe CALL mysql.rds_innodb_buffer_pool_load_now(); Notes d'utilisation mysql.rds_innodb_buffer_pool_load_now doit être exécuté par l'utilisateur maître. mysql.rds_innodb_buffer_pool_load_now est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.6 version 5.6.19 et version ultérieure mysql.rds_innodb_buffer_pool_load_abort Annule un chargement en cours de l'état du groupe de tampons enregistré. Pour plus d'informations, consultez Préparation du cache InnoDB (p. 106). Syntaxe CALL mysql.rds_innodb_buffer_pool_load_abort(); API Version 2014-10-31 167 Amazon Relational Database Service Guide de l'utilisateur mysql.rds_innodb_buffer_pool_load_abort Notes d'utilisation mysql.rds_innodb_buffer_pool_load_abort doit être exécuté par l'utilisateur maître. mysql.rds_innodb_buffer_pool_load_abort est disponible dans les versions MySQL Amazon RDS suivantes : • MySQL 5.6 version 5.6.19 et version ultérieure API Version 2014-10-31 168 Amazon Relational Database Service Guide de l'utilisateur Tâches courantes de gestion pour Oracle sur Amazon RDS Oracle sur Amazon RDS Amazon RDS prend en charge les instances DB qui exécutent une des différentes éditions d'Oracle Database. Vous pouvez créer des instances DB et des snapshots DB, des restaurations à un moment donné ainsi que des sauvegardes automatiques ou manuelles. Les instances de base de données exécutant Oracle peuvent être utilisées dans un VPC. Vous pouvez également activer plusieurs options pour ajouter des fonctions supplémentaires à votre instance de base de données Oracle. Amazon RDS prend actuellement en charge des déploiements Multi-AZ pour Oracle comme une solution de basculement haute disponibilité. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances DB et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Amazon RDS prend en charge l'accès à des bases de données sur une instance DB en utilisant toute application client SQL standard, telle qu'Oracle SQL Plus. Amazon RDS n'autorise pas l'accès direct des hôtes à une instance de base de données via Telnet ou Secure Shell (SSH). Lorsque vous créez une instance de base de données, vous créez un compte principal qui obtient des privilèges d'utilisateur DBA (avec certaines restrictions) et le mot de passe SYS ou les privilèges SYSDBA ne sont pas fournis. Avant de créer une instance DB, vous devez suivre la procédure de la section Configuration d'Amazon RDS (p. 7) du présent guide. Tâches courantes de gestion pour Oracle sur Amazon RDS Il s'agit des tâches courantes de gestion que vous exécutez avec une instance DB Oracle Amazon RDS, avec des liens vers les informations relatives à chaque tâche : • Pour plus d'informations sur la planification, telles que les versions Oracle, les moteurs de stockage, la sécurité et les fonctions prises en charge dans Amazon RDS, consultez Planification de votre instance DB Oracle Amazon RDS (p. 170). • Si vous créez une instance DB à des fins de production, vous devez comprendre comment les classes d'instance, le stockage et les IOPS provisionnées fonctionnent dans Amazon RDS. Pour plus d'informations sur les classes d'instance DB, consultez Classe d'instance de base de données (p. 44). Pour plus d'informations sur le stockage Amazon RDS, consultez Types de stockage Amazon RDS (p. 58). Pour plus d'informations sur les IOPS provisionnées, consultez Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63). • Une instance DB de production doit également utiliser des déploiements multi-AZ. Tous les déploiements multi-AZ améliorent la disponibilité, la durabilité des donnés et la tolérance aux pannes API Version 2014-10-31 169 Amazon Relational Database Service Guide de l'utilisateur Planification de votre instance DB Oracle Amazon RDS pour les instances DB. Pour plus d'informations sur les déploiements multi-AZ, consultez Haute disponibilité (Multi-AZ) (p. 51). • Des prérequis doivent être effectués avant la création de votre instance DB. Par exemple, des instances DB sont créées par défaut avec un pare-feu qui empêche d'y accéder. Vous devez donc créer un groupe de sécurité avec les adresses IP correctes et la configuration réseau que vous utiliserez pour accéder à l'instance DB. Le groupe de sécurité que vous devez créer dépend de la plateforme EC2 sur laquelle se trouve votre instance DB, et de si vous accédez à votre instance DB depuis une instance EC2. Pour plus d'informations sur les deux plateformes EC2 prises en charge par Amazon RDS, EC2-VPC et EC2-Classic, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2Classic (p. 498). En général, si votre instance DB est sur la plateforme EC2-Classic, vous devez créer un groupe de sécurité DB ; si votre instance DB est sur la plateforme EC2-VPC, vous devez créer un groupe de sécurité VPC. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93) ou la section Configuration d'Amazon RDS (p. 7) de ce guide. • Si votre compte AWS contient un VPC par défaut (un réseau privé virtuel par défaut), alors votre instance DB sera automatiquement créée dans le VPC par défaut. Si votre compte n'a pas de VPC par défaut et que vous voulez que l'instance DB soit à l'intérieur d'un VPC, vous devez créer le VPC et les groupes de sous-réseau avant de créer l'instance DB. Pour plus d'informations sur la façon de déterminer si votre compte possède un VPC par défaut, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic (p. 498). Pour plus d'informations sur l'utilisation des VPC avec Amazon RDS, consultez Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497). • Si votre instance DB doit nécessiter des options ou des paramètres de base de données spécifiques, vous devez créer les groupes d'options ou de paramètres avant de créer l'instance DB. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Pour plus d'informations sur les options pour Oracle, consultez Annexe : Options pour le moteur de base de données Oracle (p. 198). • Après avoir créé un groupe de sécurité et l'avoir associé à une instance DB, vous pouvez vous connecter à l'instance DB en utilisant une application cliente SQL standard quelconque telle qu'Oracle SQL Plus. Pour plus d'informations sur la connexion à une instance DB, consultez Connexion à une instance de base de données exécutant le moteur de base de données Oracle (p. 186). • Vous pouvez configurer votre instance DB pour que les sauvegardes soient exécutées automatiquement ou que les instantanés soient créés manuellement, puis que les instances soient restaurées à partir des sauvegardes ou des instantanés. Pour plus d'informations, consultez Sauvegarde et restauration (p. 441). • Vous pouvez superviser une instance via différentes actions telles que l'affichage des journaux Oracle, événements et métriques CloudWatch Amazon RDS. Pour plus d'informations, consultez Supervision de Amazon RDS (p. 506). Il y a également plusieurs annexes incluant des informations utiles sur l'utilisation des instances DB Oracle : • Pour plus d'informations sur les tâches DBA courantes pour Oracle sur Amazon RDS, consultez Annexe : Tâches courantes DBA pour Oracle (p. 212). • Pour plus d'informations sur les options que vous pouvez utiliser avec Oracle sur Amazon RDS, consultez Annexe : Options pour le moteur de base de données Oracle (p. 198). Planification de votre instance DB Oracle Amazon RDS Amazon RDS prend en charge les instances DB qui exécutent plusieurs éditions d'Oracle Database. Cette section montre comment utiliser Oracle sur Amazon RDS. Vous devez également être conscient des limites des instances DB Oracle. API Version 2014-10-31 170 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle Pour plus d'informations sur l'importation des données Oracle dans une instance DB, consultez Importation de données dans Oracle sur Amazon RDS (p. 191). Rubriques • Options du moteur de base de données Oracle (p. 171) • Sécurité (p. 178) • Gestion de version Oracle (p. 179) • Licences (p. 179) • Utilisation d'OEM, d'APEX, de TDE et d'autres options (p. 180) Options du moteur de base de données Oracle La liste suivante affiche un sous-ensemble des fonctions clés du moteur de base de données Oracle qui sont actuellement prises en charge par Amazon RDS. La disponibilité de la fonction Oracle dépend de l'édition d'Oracle que vous choisissez. Par exemple, les packs facultatifs OEM comme le Database Diagnostic Pack et le Database Tuning Pack sont uniquement disponibles avec Oracle Enterprise Edition. Oracle 12c avec Amazon RDS Oracle version 12c offre plus de 500 nouvelles fonctions et mises à jour à partir de la version précédente. Cette section couvre les fonctions et changements importants dans l'utilisation d'Oracle 12c sur Amazon RDS. Pour obtenir la liste complète des changements, consultez la documentation Oracle 12c. Oracle 12c inclut seize nouveaux paramètres qui impactent votre instance DB Amazon RDS, ainsi que dix-huit nouveaux privilèges système, plusieurs packages qui ne sont plus pris en charge, et plusieurs nouveaux paramètres de groupe d'options. Les sections suivantes fournissent plus d'informations sur ces changements. Changements des paramètres Amazon RDS pour Oracle 12c Oracle 12c inclut seize nouveaux paramètres en plus des nombreux paramètres avec de nouvelles plages et de nouvelles valeurs par défaut. Le tableau suivant indique les nouveaux paramètres Amazon RDS pour Oracle 12c : Nom Valeurs Adaptabilité Description connection_brokers CONNECTION_BROKERS N = broker_description[,...] Spécifie les types de broker de connexion, le nombre de broker de connexion de chaque type et le nombre maximum de connexions par broker. db_index_compression_inheritance TABLESPACE, TABL, ALL, NONE O Affiche les options définies pour l'héritage de compression au niveau de la table ou de l'espace de table. db_big_table_cache_percent_target 0-90 O Spécifie la taille cible de la section cache pour mettre en cache automatiquement des tables volumineuses, comme le pourcentage du cache en mémoire. heat_map O Permet à la base de données de suivre l'accès en lecture et écriture de tous les segments, ainsi que les ON,OFF API Version 2014-10-31 171 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle Nom Valeurs Adaptabilité Description modifications des blocs de base de données, dues aux DML et DDL. inmemory_clause_default INMEMORY,NO INMEMORY O INMEMORY_CLAUSE_DEFAULT vous permet de spécifier une clause de stockage de colonnes en mémoire (IM column store) par défaut pour les nouvelles tables et les vues matérialisées. inmemory_clause_default_memcompress NO O Consultez MEMCOMPRESS,MEMCOMPRESS INMEMORY_CLAUSE_DEFAULT. FOR DML,MEMCOMPRESS FOR QUERY, MEMCOMPRESS FOR QUERY LOW,MEMCOMPRESS FOR QUERY HIGH,MEMCOMPRESS FOR CAPACITY,MEMCOMPRESS FOR CAPACITY LOW,MEMCOMPRESS FOR CAPACITY HIGH inmemory_clause_default_priorityPRIORITY LOW,PRIORITY MEDIUM,PRIORITY HIGH,PRIORITY CRITICAL,PRIORITY NONE O Consultez INMEMORY_CLAUSE_DEFAULT. inmemory_force O IINMEMORY_FORCE vous permet de spécifier si les tables et les vues matérialisées qui sont définies comme INMEMORY sont remplies ou non dans le stockage de colonnes en mémoire (IM column store). inmemory_max_populate_serversNull N INMEMORY_MAX_POPULATE_SERVERS spécifie le nombre maximum de serveurs en arrière-plan à utiliser pour le remplissage du stockage de colonnes en mémoire (IM column store), afin que ces serveurs ne surchargent pas le reste du système. inmemory_query O INMEMORY_QUERY est utilisé pour activer ou désactiver les requêtes en mémoire pour la base de données entière au niveau de la session ou du système. DEFAULT, OFF ENABLE (par défaut), DISABLE API Version 2014-10-31 172 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle Nom Valeurs Adaptabilité Description inmemory_size 0,104857600-274877906944 O INMEMORY_SIZE définit la taille du stockage de colonnes en mémoire (IM column store) sur une instance de base de données. inmemory_trickle_repopulate_servers_percent 0 à 50 O INMEMORY_TRICKLE_REPOPULATE_SERVERS_P limite le nombre maximum de serveurs en arrière-plan utilisés pour le reremplissage du stockage de colonnes en mémoire (IM column store), car le re-remplissage au compte-gouttes est conçu pour utiliser uniquement un faible pourcentage de ces serveurs. max_string_size STANDARD (par défaut), EXTENDED N Contrôle la taille maximum de VARCHAR2, NVARCHAR2 et RAW. optimizer_adaptive_features TRUE (par défaut), FALSE O Active ou désactive toutes les fonctions d'optimiseur adaptatives. optimizer_adaptive_reporting_onlyTRUE,FALSE (par défaut) O Contrôle le mode rapport seulement pour les optimisations adaptatives. pdb_file_name_convert N Mappe les noms des fichiers existants vers les noms de nouveaux fichiers. O Spécifie une limite sur la mémoire PGA cumulée consommée par l'instance. N Demande à l'instance de base de données de s'exécuter dans le groupe de processeurs du système d'exploitation spécifié. pga_aggregate_limit 1-max de mémoire processor_group_name spatial_vector_acceleration TRUE,FALSE N Active ou désactive l'accélération des vecteurs spatiaux, une partie de l'option spatiale. temp_undo_enabled TRUE,FALSE (par défaut) O Détermine si les transactions dans une session particulière peuvent avoir un journal de transaction temporaire. threaded_execution TRUE,FALSE N Active le modèle Oracle multitâches, mais empêche l'authentification du système d'exploitation. unified_audit_sga_queue_size 1 Mo - 30 Mo O Spécifie la taille de la file d'attente SGA pour l'audit unifié. use_dedicated_broker TRUE,FALSE N Détermine comment les serveurs dédiés sont générés. Plusieurs paramètres ont de nouvelles plages de valeur pour Oracle 12c sur Amazon RDS. Le tableau suivant montre les nouvelles et anciennes plages de valeur : API Version 2014-10-31 173 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle Nom du paramètre Plage 12c Plage 11g audit_trail os | db [, extended] | xml [, extended] compatible Commence par 11.0.0 Commence par 10.0.0 db_securefile PERMITTED | PREFERRED | ALWAYS | IGNORE | FORCE PERMITTED | ALWAYS | IGNORE | FORCE db_writer_processes 1-100 1-36 optimizer_features_enable 8.0.0 à 12.1.0.1 8.0.0 à 11.2.0.1 parallel_degree_policyMANUAL,LIMITED,AUTO,ADAPTIVE MANUAL,LIMITED,AUTO parallel_min_server 0 à parallel_max_servers CPU_COUNT * PARALLEL_THREADS_PER_CPU * 2 à parallel_max_servers Un paramètre a une nouvelle valeur par défaut pour Oracle 12c sur Amazon RDS. Le tableau suivant montre la nouvelle valeur par défaut : Nom du paramètre Valeur par défaut d'Oracle 12c job_queue_processes 50 Valeur par défaut d'Oracle 11g 1 000 Privilèges système Amazon RDS pour Oracle 12c Plusieurs nouveaux privilèges système ont été accordés au compte du système pour Oracle 12c. Ces nouveaux privilèges système incluent : • ALTER ANY CUBE BUILD PROCESS • ALTER ANY MEASURE FOLDER • ALTER ANY SQL TRANSLATION PROFILE • CREATE ANY SQL TRANSLATION PROFILE • CREATE SQL TRANSLATION PROFILE • DROP ANY SQL TRANSLATION PROFILE • EM EXPRESS CONNECT • EXEMPT DDL REDACTION POLICY • EXEMPT DML REDACTION POLICY • EXEMPT REDACTION POLICY • LOGMINING • REDEFINE ANY TABLE • SELECT ANY CUBE BUILD PROCESS • SELECT ANY MEASURE FOLDER • USE ANY SQL TRANSLATION PROFILE Options Amazon RDS pour Oracle 12c Plusieurs options Oracle ont changé entre Oracle 11g et Oracle 12c, bien que la plupart soient identiques entre les deux versions. Les changements d'Oracle 12c sont les suivants : API Version 2014-10-31 174 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle • Oracle Enterprise Manager Express (EM Express) a remplacé Oracle Enterprise Manager DB Control. Pour plus d'informations, consultez Oracle Database 12c: EM Database Express. • L'option XMLDB est installée par défaut dans Oracle 12c. Vous n'aurez plus à l'installer. • Oracle APEX Listener a été renommé Oracle Rest Data Service (ORDS). ORDS est installé sur une instance EC2 séparée comme l'était APEX Listener dans la version 11g. Le processus d'installation d'ORDS n'est pas le même que pour l'installation d'APEX Listener. Pour obtenir des instructions sur l'installation d'ORDS, consultez Oracle APEX sur Amazon RDS Oracle 12c (p. 202). • APEX et APEX Dev n'ont plus de dépendance sur XMLDB depuis que XMLDB est installé par défaut. Packages PL/SQL Amazon RDS pour Oracle 12c Oracle 12c inclut un nombre de nouveaux packages PL/SQL intégrés. Les packages inclus avec Amazon RDS Oracle 12c sont les suivants : Nom du package Description CTX_ANL Le package CTX_ANL est utilisé avec AUTO_LEXER et fournit des procédures pour l'ajout et le dépôt d'un dictionnaire personnalisé depuis lexer. DBMS_APP_CONT Le package DBMS_APP_CONT fournit une interface pour déterminer si la transaction à la volée sur une session désormais indisponible est validée ou non, et si le dernier appel sur cette session est terminé ou non. DBMS_AUTO_REPORT Le package DBMS_AUTO_REPORT fournit une interface pour consulter les données SQL Monitoring et Real-time Automatic Database Diagnostic Monitor (ADDM) qui ont été capturées dans Automatic Workload Repository (AWR). DBMS_GOLDENGATE_AUTH Le package DBMS_GOLDENGATE_AUTH fournit des sousprogrammes pour accorder et révoquer des privilèges aux administrateurs GoldenGate. DBMS_HEAT_MAP Le package DBMS_HEAT_MAP fournit une interface pour externaliser les cartes thermiques à différents niveaux de stockage dont le bloc, l'extension, le segment, l'objet et l'espace de table. DBMS_ILM Le package DBMS_ILM fournit une interface pour implémenter des stratégies de gestion du cycle de vie des informations en utilisant les stratégies Automatic Data Optimization (ADO). DBMS_ILM_ADMIN Le package DBMS_ILM_ADMIN fournit une interface pour personnaliser l'exécution de la stratégie Automatic Data Optimization (ADO). DBMS_PART Le package DBMS_PART fournit une interface pour les opérations de maintenance et de gestion sur les objets partitionnés. DBMS_PRIVILEGE_CAPTURE Le package DBMS_PRIVILEGE_CAPTURE fournit une interface pour analyser les privilèges de base de données. DBMS_QOPATCH Le package DBMS_QOPATCH fournit une interface pour consulter les correctifs de base de données installés. DBMS_REDACT Le package DBMS_REDACT fournit une interface vers Oracle Data Redaction, qui vous permet de masquer (censurer) les données API Version 2014-10-31 175 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle Nom du package Description qui sont renvoyées par les requêtes émises par des utilisateurs aux privilèges restreints ou une application. DBMS_SPD Le package DBMS_SPD fournit des sous-programmes pour la gestion des directives de plan SQL (SPD). DBMS_SQL_TRANSLATOR Le package DBMS_SQL_TRANSLATOR fournit une interface pour créer, configurer et utiliser des profils de traduction SQL. DBMS_SQL_MONITOR Le package DBMS_SQL_MONITOR fournit des informations sur la supervision SQL en temps réel et la supervision des opérations de base de données en temps réel. DBMS_SYNC_REFRESH Le package DBMS_SYNC_REFRESH fournit une interface pour réaliser une actualisation synchrone des vues matérialisées. DBMS_TSDP_MANAGE Le package DBMS_TSDP_MANAGE fournit une interface pour importer et gérer des colonnes sensibles et des types de colonne sensible dans la base de données, et est utilisé conjointement avec le package DBMS_TSDP_PROTECT concernant les stratégies de Transparent Sensitive Data Protection (TSDP). DBMS_TSDP_MANAGE est disponible uniquement avec la version Enterprise Edition. DBMS_TSDP_PROTECT Le package DBMS_TSDP_PROTECT fournit une interface pour configurer des stratégies de Transparent Sensitive Data Protection (TSDP) conjointement avec le package DBMS_TSDP_MANAGE. DBMS_TSDP_PROTECT est disponible uniquement avec la version Enterprise Edition. DBMS_XDB_CONFIG Le package DBMS_XDB_CONFIG fournit une interface pour configurer Oracle XML DB et son référentiel. DBMS_XDB_CONSTANTS Le package DBMS_XDB_CONSTANTS fournit une interface vers les constantes communément utilisées. Les utilisateurs devraient utiliser des constantes plutôt que des chaînes dynamiques pour éviter les erreurs typographiques. DBMS_XDB_REPOS Le package DBMS_XDB_REPOS fournit une interface pour fonctionner sur le référentiel de la base de données Oracle XML. DBMS_XMLSCHEMA_ANNOTATE Le package DBMS_XMLSCHEMA_ANNOTATE fournit une interface pour gérer et configurer le modèle de stockage structuré, principalement via l'utilisation des annotations de schéma de préinscription. DBMS_XMLSTORAGE_MANAGE Le package DBMS_XMLSTORAGE_MANAGE fournit une interface pour gérer et modifier le stockage XML une fois que l'inscription du schéma est terminée. DBMS_XSTREAM_ADM Le package DBMS_XSTREAM_ADM fournit des interfaces pour les changements de base de données en streaming entre une base de données Oracle et d'autres systèmes. XStream permet aux applications d'envoyer ou de récupérer en streaming les changements de base de données. API Version 2014-10-31 176 Amazon Relational Database Service Guide de l'utilisateur Options du moteur de base de données Oracle Nom du package Description DBMS_XSTREAM_AUTH Le package DBMS_XSTREAM_AUTH fournit des sous-programmes pour accorder et révoquer des privilèges aux administrateurs XStream. UTL_CALL_STACK Le package UTL_CALL_STACK fournit une interface pour communiquer des informations sur les sous-programmes en cours d'exécution. Les fonctions suivantes ne sont pas prises en charge pour Oracle 12c sur Amazon RDS : • Real Application Clusters (RAC) • Data Guard / Active Data Guard • Cloud Control (appelé Oracle Enterprise Manager Grid Control dans les précédentes versions Oracle) • Automated Storage Management • Database Vault • Java Support • Locator • Spatial Plusieurs packages PL/SQL Oracle 11g ne sont pas pris en charge dans Oracle 12c. Ces packages sont les suivants : • DBMS_AUTO_TASK_IMMEDIATE • DBMS_CDC_PUBLISH • DBMS_CDC_SUBSCRIBE • DBMS_EXPFIL • DBMS_OBFUSCATION_TOOLKIT • DBMS_RLMGR • SDO_NET_MEM Oracle 11g avec Amazon RDS La liste suivante indique les fonctions Oracle 11g prises en charge par Amazon RDS ; pour obtenir la liste complète des fonctions prises en charge par chaque édition Oracle 11g, consultez Oracle Database 11g Editions. • Total Recall • Flashback Table, Query et Transaction Query • Virtual Private Database • Fine-Grained Auditing • Comprehensive support pour Microsoft .NET, OLE DB et ODBC • Automatic Memory Management • Automatic Undo Management • Advanced Compression • Partitioning • Star Query Optimization • Summary Management - Materialized View Query Rewrite API Version 2014-10-31 177 Amazon Relational Database Service Guide de l'utilisateur Sécurité • Oracle Data Redaction (version 11.2.0.4 ou supérieure) • Distributed Queries/Transactions • Texte • Materialized Views • Import/Export et sqlldr Support • Oracle Enterprise Manager Database Control • Oracle XML DB (sans XML DB Protocol Server) • Oracle Application Express • Automatic Workload Repository pour Enterprise Edition (AWR). Pour plus d'informations, consultez Utilisation d'AWR (Automatic Workload Repository) (p. 222) • Datapump (réseau uniquement) • Native network encryption (partie de la fonction Oracle Advanced Security) • Transparent data encryption (Oracle TDE, partie de la fonction Oracle Advanced Security) Les fonctions du moteur de base de données Oracle qui ne sont actuellement pas prises en charge sont les suivantes : • Real Application Clusters (RAC) • Real Application Testing • Data Guard / Active Data Guard • Oracle Enterprise Manager Grid Control • Automated Storage Management • Database Vault • Streams • Java Support • Locator • Spatial • Oracle XML DB Protocol Server • La fonction Network access utilities comme utl_http, utl_tcp, utl_smtp, and utl_mail, n'est pas prise en charge à l'heure actuelle. Sécurité Le moteur de base de données Oracle utilise une sécurité basée sur le rôle. Un rôle est un ensemble de privilèges pouvant être accordés ou révoqués à un utilisateur. Un rôle prédéfini, appelé DBA, autorise normalement tous les privilèges d'administration sur un moteur de base de données Oracle. Les privilèges suivants ne sont pas disponibles pour le rôle DBA sur une instance DB Amazon RDS en utilisant le moteur Oracle : • Alter database • Alter system • Create any directory • Drop any directory • Grant any privilege • Grant any role Alors qu'Amazon RDS Oracle ne prend pas en charge les connexions chiffrées SSL/TLS, vous pouvez utiliser l'option Oracle Native Network Encryption (NNE) pour chiffrer les connexions entre votre application API Version 2014-10-31 178 Amazon Relational Database Service Guide de l'utilisateur Gestion de version Oracle et votre instance DB Oracle. Pour plus d'informations sur l'option Oracle Native Network Encryption, consultez Oracle NNE (Native Network Encryption) (p. 205). Gestion de version Oracle La gestion de version de moteur DB est une fonction d'Amazon RDS qui vous permet de contrôler quand et comment le logiciel du moteur de base de données exécutant vos instances DB est corrigé et mis à niveau. Cette fonction vous donne la flexibilité de maintenir la compatibilité avec les versions corrigées du moteur de base de données, de tester l'efficacité des nouvelles versions corrigées avec votre application avant le déploiement en production et d'effectuer des mises à niveau de versions selon les conditions et les délais qui vous conviennent le mieux. Note Amazon RDS ajoute régulièrement des correctifs de base de données Oracle officiels en utilisant une version de moteur DB propre à Amazon RDS. Pour obtenir une liste des correctifs Oracle inclus dans une version de moteur propre à Amazon RDS Oracle, consultez Annexe : Notes de mise à jour pour le moteur de base de données Oracle (p. 252). Vous pouvez facilement profiter de la fonction de gestion de version de moteur de base de données d'Amazon RDS en utilisant l'appel d'API ModifyDBInstance ou l'utilitaire de ligne de commande rds-modifydb-instance. Vos instances DB sont mises à niveau avec des correctifs mineurs par défaut (vous pouvez remplacer ce paramètre). Licences Il y a deux types d'options de licence disponibles pour utiliser Amazon RDS pour Oracle. Bring Your Own License (BYOL) Dans ce modèle de licence, vous pouvez utiliser vos licences Oracle Database pour exécuter vos déploiements Oracle sur Amazon RDS. Pour exécuter une instance DB sous le modèle « BYOL » (licence à fournir), vous devez posséder la licence Oracle Database appropriée (avec la licence de mise à jour du logiciel et le support) pour la classe d'instance DB et l'édition d'Oracle Database que vous souhaitez exécuter. Vous devez aussi suivre les politiques d'Oracle pour obtenir la licence du logiciel de base de données Oracle dans l'environnement de cloud computing. Pour plus d'informations sur la politique de gestion de la licence Oracle pour Amazon EC2, consultez Licensing Oracle Software in the Cloud Computing Environment. Licence incluse Sous le modèle de service Licence incluse, vous n'avez pas besoin d'acheter séparément les licences Oracle ; AWS gère la licence du logiciel de base de données Oracle. Licence Oracle et Amazon RDS Amazon RDS prend actuellement en charge les éditions d'Oracle Database suivantes, sous chacun des modèles de licence ci-dessous : • BYOL : Standard Edition One (SE1), Standard Edition (SE) et Enterprise Edition (EE) Pour exécuter une instance DB sous le modèle « BYOL » (licence à fournir), vous devez posséder la licence Oracle Database appropriée (avec la licence de mise à jour du logiciel et le support) pour la classe d'instance DB et l'édition d'Oracle Database que vous souhaitez exécuter. Vous devez aussi suivre les politiques d'Oracle pour obtenir la licence du logiciel de base de données Oracle dans l'environnement de cloud computing. Les instances DB résident dans l'environnement Amazon EC2, et la politique de gestion de la licence Oracle pour Amazon EC2 est située ici. API Version 2014-10-31 179 Amazon Relational Database Service Guide de l'utilisateur Utilisation d'OEM, d'APEX, de TDE et d'autres options Sous ce modèle, vous continuez d’utiliser votre compte support Oracle actif directement pour les requêtes de service propres à Oracle Database. Si vous avez un compte AWS Premium Support actif, vous pouvez contacter AWS Premium Support pour les problèmes spécifiques à Amazon RDS. Amazon Web Services et Oracle disposent de processus de support multi-vendeurs pour les cas qui nécessitent une assistance de la part de deux organisations. • License Included : Standard Edition One (SE1) Sous le modèle de service « Licence Included » (licence incluse), vous n'avez pas besoin d'acheter séparément les licences Oracle, la licence du logiciel de base de données Oracle est gérée par AWS. Sous ce modèle, si vous avez un compte AWS Premium Support actif, vous devez contacter AWS Premium Support à la fois pour les demandes de service propres à Amazon RDS et Oracle Database. Utilisation d'OEM, d'APEX, de TDE et d'autres options La plupart des moteurs de base de données Amazon RDS prennent en charge des groupes d'options qui vous permettent de sélectionner des fonctions supplémentaires pour votre instance DB. Les instances DB Oracle prennent en charge plusieurs options, dont OEM, TDE, APEX et Native Network Encryption. Pour obtenir une liste complète des options Oracle prises en charge, consultez Annexe : Options pour le moteur de base de données Oracle (p. 198). Pour plus d'informations sur l'utilisation de groupes d'options, consultez Utilisation de groupes d'options (p. 455). API Version 2014-10-31 180 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données exécutant Oracle Création d'une instance de base de données exécutant le moteur de base de données Oracle La fondation de base d'Amazon RDS est l'instance de base de données. Il s'agit de l'environnement dans lequel vous exécuterez vos bases de données Oracle. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. AWS Management Console Pour lancer une instance de base de données Oracle 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la AWS Management Console, sélectionnez la région dans laquelle vous voulez créer l'instance DB. 3. Dans le volet de navigation, cliquez sur Instances DB. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. Les éditions d'Oracle disponibles varient en fonction de la région. 5. Dans la fenêtre Select Engine, cliquez sur le bouton Select pour le moteur de base de données Oracle que vous souhaitez utiliser. 6. L'étape suivante vous invite à indiquer si vous envisagez d'utiliser l'instance DB que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Lorsque vous avez terminé, cliquez sur Next Step. 7. Sur la page Specify DB Details, spécifiez les informations de votre instance DB. Le tableau suivant affiche les paramètres que vous devez configurer pour créer une instance DB. Lorsque vous avez terminé, cliquez sur Next. Pour ce paramètre... ...Faites ceci: License Model Sélectionnez l'option de licence que vous souhaitez utiliser. Certaines régions prennent en charge des options de licence supplémentaires pour Oracle. DB Engine Version Sélectionnez la version d'Oracle que vous souhaitez utiliser. Classe d'instance DB Sélectionnez la classe d'instance DB que vous souhaitez utiliser. Pour plus d'informations sur toutes les options de classe d'instance DB, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Déterminez si vous souhaitez créer un réplica de secours de votre instance DB dans une autre zone de disponibilité pour la prise en charge du basculement. Cette fonction est disponible pour les instances DB Oracle et MySQL. Pour API Version 2014-10-31 181 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: plus d’informations sur les zones de disponibilité multiples, consultez Régions et Zones de disponibilité (p. 49). 8. Allocated Storage Saisissez une valeur pour allouer du stockage pour votre base de données (en gigaoctets). Dans certains cas, allouer une quantité de stockage pour votre instance DB supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Types de stockage Amazon RDS (p. 58). Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données qui est unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, comme suit : oracle-instance1. Master User Name Saisissez un nom que vous utiliserez comme le nom utilisateur maître pour vous connecter à votre instance de base de données avec tous les privilèges de base de données. Ce compte utilisateur est utilisé pour se connecter à l'instance de base de données et bénéficie des privilèges DBA. Master User Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 30 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur principal. Saisissez à nouveau le mot de passe dans la zone de texte Confirm Password. Dans la page Configure Advanced Settings, vous fournissez des informations supplémentaires dont RDS a besoin pour lancer l'instance DB Oracle. Le tableau suivant affiche les paramètres supplémentaires que vous fournissez pour une instance DB. Spécifiez vos informations d'instance DB, puis cliquez sur Launch DB Instance. Pour ce paramètre... ...Faites ceci: VPC Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Si vous créez une instance DB sur la plateforme E2-Classic précédente, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). DB Subnet Group Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez default, qui correspondra au groupe de sous-réseaux DB par défaut qui a été créé pour votre compte. Si vous créez une instance de base de données sur la plateforme E2Classic précédente et que vous souhaitez que votre instance de base de données soit dans un VPC spécifique, API Version 2014-10-31 182 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: sélectionnez le groupe de sous-réseaux DB que vous avez créé pour ce VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Publicly Accessible Sélectionnez Oui pour associer une adresse IP publique à l'instance de base de données, ce qui signifie qu'elle sera accessible en dehors du réseau VPC. Sinon, sélectionnez Non pour que l'instance de base de données soit accessible uniquement de l'intérieur du réseau VPC. Pour plus d'informations sur la manière de masquer les instances DB d'un accès public, consultez Masquer une instance DB dans un VPC depuis Internet. Zone de disponibilité Utilisez la valeur par défaut No Preference sauf si vous avez besoin de spécifier une zone de disponibilité particulière. VPC Security Group Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Si vous avez créé votre propre groupe de sécurité VPC, sélectionnez le groupe de sécurité VPC créé précédemment. Database Name Saisissez un nom pour votre base de données commençant par une lettre et contenant jusqu'à 8 caractères alphanumériques. Si vous ne fournissez pas un nom, Amazon RDS ne créera pas une base de données sur l'instance de base de données que vous créez. Database Port Spécifiez le port par lequel vous souhaitez accéder à la base de données. Par défaut, les installations Oracle adoptent le port 1521. Parameter Group Sélectionnez un groupe de paramètres. Vous pouvez choisir le groupe de paramètres par défaut ou créer un groupe de paramètres et le sélectionner. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez un groupe d'options. Vous pouvez choisir le groupe d’options par défaut ou créer un groupe d’options et le sélectionner. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). Enable Encryption Sélectionnez Yes pour activer le chiffrement au repos pour cette instance de base de données. Pour de plus amples informations, veuillez consulter Chiffrement des ressources Amazon RDS (p. 88). Character Set Name Sélectionnez un jeu de caractères pour l'instance DB. La valeur par défaut de AL32UTF8 est utilisée pour le jeu de caractères universel UTF-8 Unicode 5.0. Veuillez noter que vous ne pouvez pas modifier le jeu de caractères après que l'instance DB a été créée. API Version 2014-10-31 183 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande 9. Pour ce paramètre... ...Faites ceci: Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. Pour toute instance importante, vous devez définir cette valeur sur 1 ou supérieur. Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. Sur la dernière page de l'assistant, cliquez sur Close. 10. Sur la console RDS, la nouvelle instance DB s'affiche dans la liste des instances DB. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance peut avoir besoin de plusieurs minutes avant d'être disponible. Interface de ligne de commande Pour créer une instance de base de données Oracle • Utilisez la commande rds-create-db-instance pour créer une instance de base de données. La commande suivante lance l'exemple d'instance de base de données. PROMPT>rds-create-db-instance mydbinstance -s 20 -c db.m1.small -e oracle-se1 - u <masterawsuser> -p <masteruserpassword> --backup-retention-period 3 Cette commande doit produire une sortie similaire à ce qui suit : DBINSTANCE mydbinstance db.m1.small oracle-se1 11.2.0.3.v1 SECGROUP default active PARAMGRP default.oracle-se1-11.2 in-sync 20 sa creating 3 **** n API Pour créer une instance de base de données Oracle • Appelez l'action CreateDBInstance. Par exemple, vous pouvez utiliser les paramètres suivants : API Version 2014-10-31 184 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes • DBInstanceIdentifier = mydbinstance • • • • • Engine = oracle-se1 DBInstanceClass = db.m1.small AllocatedStorage = 20 BackupRetentionPeriod = 3 MasterUsername = <masterawsuser> • MasterUserPassword = <masteruserpassword> Example https://rds.amazonaws.com/ ?Action=CreateDBInstance &AllocatedStorage=20 &BackupRetentionPeriod=3 &DBInstanceClass=db.m1.small &DBInstanceIdentifier=mydbinstance &DBName=mydatabase &DBSecurityGroups.member.1=mysecuritygroup &DBSubnetGroup=mydbsubnetgroup &Engine=oracle-se1 &MasterUserPassword=<masteruserpassword> &MasterUsername=<masterawsuser> &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140202/us-west-2/rds/aws4_request &X-Amz-Date=20140202T190545Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=60e907d8d43fdc978941c1566f7b3c5054e0328622a871fb59b61782ee1f30d8 Rubriques connexes • Instances DB Amazon RDS (p. 43) • Groupes de sécurité Amazon RDS (p. 93) • Classe d'instance de base de données (p. 44) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 185 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance de base de données exécutant Oracle Connexion à une instance de base de données exécutant le moteur de base de données Oracle Après qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à l'instance. Dans cet exemple, vous vous connectez à une instance de base de données exécutant le moteur de base de données Oracle en utilisant les outils de ligne de commande Oracle. Pour plus d'informations sur l'utilisation d'Oracle, consultez le site Web Oracle. Note Cet exemple utilise l'utilitaire de la ligne de commande sqlplus Oracle. Cet utilitaire fait partie de la distribution de logiciel Oracle. Pour télécharger une version autonome de cet utilitaire, consultez SQL*Plus User's Guide and Reference. Interface de ligne de commande ou console Se connecter à une instance de base de données à l'aide de sqlplus 1. Trouvez le nom DNS pour votre instance de base de données à l'aide de la commande rds-describedb-instances, ou utilisez la console Amazon RDS pour trouver les informations nécessaires. PROMPT>rds-describe-db-instances --headers Vous verrez des résultats similaires à ce qui suit : DBINSTANCE DBInstanceId Created Class Engine Storage Master Username Status Endpoint Address Port AZ Backup Retention Multi-AZ Version Read Replica Source ID License DBINSTANCE oracledb 2011-05-14T01:11:01.727Z db.m1.small oracle-ee 20 mydbusr available oracledb.mydnsnameexample.rds.amazonaws .com 1521 us-east-1a 1 n 11.2.0.2.v3 bring-your-own-license 2. Saisissez la commande suivante sur une ligne dans une invite de commande pour vous connecter à une instance de base de données à l'aide de l'utilitaire sqlplus. Remplacez le nom DNS pour votre instance de base de données, puis incluez le port et le SID Oracle. La valeur SID est le nom de la base de données de l'instance que vous avez spécifiée lorsque vous avez créé l'instance de base de données, pas le nom de l'instance de base de données. Lorsque vous utilisez sqlplus depuis une ligne de commande Windows, n'utilisez pas de guillemets simples. PROMPT>sqlplus 'mydbusr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<dns name of db instance>) (PORT=<listener port>))(CONNECT_DATA=(SID=<database name>)))' Note La chaîne de connexion de format court, comme PROMPT>sqlplus USER/PASSWORD@LONGERTHAN-63-CHARS-RDS-ENDPOINT-HERE:1521/DATABASE_IDENTIFIER, peut comporter une limite de caractères maximum et ne doit pas être utilisée pour se connecter. API Version 2014-10-31 186 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes Vous verrez des résultats similaires à ce qui suit. SQL*Plus: Release 11.1.0.7.0 - Production on Wed May 25 15:13:59 2011 SQL> Rubriques connexes • Instances DB Amazon RDS (p. 43) • Création d'une instance de base de données exécutant le moteur de base de données MySQL (p. 112) • Groupes de sécurité Amazon RDS (p. 93) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 187 Amazon Relational Database Service Guide de l'utilisateur Modification d'une instance de base de données exécutant Oracle Modification d'une instance de base de données exécutant le moteur de base de données Oracle Vous pouvez modifier les paramètres d'une instance DB pour accomplir des tâches telles que l'ajout de stockage supplémentaire ou la modification de la classe d'instance. Cette rubrique vous guide dans la modification d'une instance DB Oracle Amazon RDS et décrit les paramètres pour les instances Oracle. Pour plus d'informations sur des tâches supplémentaires, telles que renommer, redémarrer, supprimer, baliser ou mettre à niveau une instance DB Amazon RDS, consultez Cycle de vie d'une instance de base de données Amazon RDS (p. 389). Avant de mettre à niveau vos instances DB de production vers une nouvelle version de base de données Oracle, nous vous recommandons de tester le processus de mise à niveau sur une instance de test afin de vérifier sa durée et de valider vos applications. Nous vous déconseillons de mettre à niveau des microinstances DB, car elles ont des ressources d'UC limitées et que le processus de mise à niveau peut prendre des heures. Une alternative à la mise à niveau de micro-instances DB avec stockage réduit (10– 20 Go) serait de copier vos données à l'aide de Data Pump, mais là encore nous recommandons un test avant la migration de vos instances de production. Vous pouvez appliquer les modifications immédiatement ou les appliquer pendant le créneau de maintenance suivant de l'instance DB. Dans certains cas, l'application immédiate de modifications peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately lors de la modification d'une instance de base de données, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). AWS Management Console Pour modifier une instance DB Oracle 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le volet de navigation, cliquez sur Instances DB. 3. Cochez la case pour l'instance DB que vous souhaitez modifier, puis cliquez sur Modify. 4. Dans la boîte de dialogue Modify DB Instance, choisissez parmi les paramètres suivants ceux que vous souhaitez modifier : Paramètre Description DB Engine Version Dans la liste fournie, cliquez sur la version du moteur de base de données Oracle que vous souhaitez utiliser. Avant de mettre à niveau vos instances de base de données de production, nous vous recommandons de tester le processus de mise à niveau sur une instance de test afin de vérifier sa durée et de valider vos applications. Nous vous déconseillons de mettre à niveau des micro-instances DB, car elles ont des ressources d'UC limitées et que le processus de mise à niveau peut prendre des heures. Une alternative pour mettre à niveau des micro-instances DB avec stockage réduit (10–20 Go) serait de copier vos données à l'aide de Data Pump, mais là encore nous recommandons un test avant la migration de vos instances de production. Classe d'instance DB Dans la liste fournie, cliquez sur la classe d'instance de base de données que vous souhaitez utiliser. Pour plus API Version 2014-10-31 188 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Paramètre Description d'informations sur les classes d'instances, consultez Classe d'instance de base de données (p. 44). Déploiement multi-AZ Si vous souhaitez déployer votre instance DB dans plusieurs zones de disponibilité, cliquez sur Yes. Dans le cas contraire, cliquez sur No. Allocated Storage Spécifiez le volume de stockage, en gigaoctets, qui sera alloué initialement pour votre instance DB. Le volume minimal autorisé est de 10 Go ; le volume maximal est de 6 To. Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Le remplacement du paramètre Magnetic par le paramètre General Purpose (SSD) ou Provisioned IOPS (SSD) entraîne une interruption de service. De même, le remplacement du paramètre IOPS dimensionné (SSD) ou Usage général (SSD) par le paramètre Magnétique entraîne une interruption de service. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Vous pouvez renommer l'instance de base de données en saisissant un nouveau nom. Lorsque vous modifiez l'identifiant d'instance de base de données, un redémarrage d'instance se produit immédiatement si vous définissez Apply Immediately sur true, ou se produira pendant le créneau de maintenance suivant si vous définissez Apply Immediately sur false. Cette valeur est stockée sous la forme d'une chaîne en minuscules. New Master Password Saisissez un mot de passe pour votre utilisateur maître. Le mot de passe doit contenir entre 8 et 30 caractères alphanumériques. Security Group Sélectionnez le groupe de sécurité que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Utilisation de groupes de sécurité DB (p. 479). Parameter Group Sélectionnez le groupe de paramètres que vous voulez associer à l'instance de base de données. La modification de ce paramètre n'entraîne pas de temps d'arrêt. Le nom du groupe de paramètres lui-même est immédiatement changé, mais les modifications réelles des paramètres ne prennent effet qu'après le redémarrage de l'instance, sans basculement. L'instance de base de données NE sera PAS automatiquement redémarrée et les modifications du paramètre NE seront PAS appliquées pendant le créneau de maintenance suivant. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez le groupe d'options que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). API Version 2014-10-31 189 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande Paramètre Description Backup Retention Period Spécifiez le nombre de jours de conservation des sauvegardes automatiques. Pour désactiver les sauvegardes automatiques, définissez cette valeur sur 0. Note Une interruption immédiate se produit si vous modifiez la période de rétention des sauvegardes de 0 à une valeur non nulle, ou d'une valeur non nulle à 0. Backup Window Définissez l'intervalle de temps pendant lequel des sauvegardes automatiques de vos bases de données se produiront. Spécifiez une heure de début en heure UTC (Universal Coordinated Time) et une durée en heures. Auto Minor Version Upgrade Si vous voulez que votre instance de base de données reçoive automatiquement les mises à niveau des versions mineures du moteur lorsqu'elles sont disponibles, cliquez sur Yes. Les mises à niveau sont installées uniquement pendant votre créneau de maintenance planifié. Maintenance Window Définissez l'intervalle de temps pendant lequel la maintenance du système, dont les mises à niveau, se produira. Spécifiez une heure de début en UTC et une durée en heures. 5. Pour appliquer les modifications immédiatement, cochez la case Apply Immediately. Dans certains cas, le choix de cette option peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). 6. Lorsque toutes les modifications correspondent à vos attentes, cliquez sur Yes, Modify. Si vous souhaitez à la place annuler des modifications que vous n'avez pas appliquées à l'étape précédente, cliquez sur Cancel. Interface de ligne de commande Pour modifier une instance de base de données Oracle • Utilisez la commande rds-modify-db-instance. API Pour modifier une instance de base de données Oracle • Utilisez la commande ModifyDBInstance action. API Version 2014-10-31 190 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans Oracle sur Amazon RDS Importation de données dans Oracle sur Amazon RDS La façon dont vous importez des données dans une instance DB Amazon RDS dépend du volume de données dont vous disposez ainsi que du nombre et de la variété des objets de base de données dans votre base de données. Par exemple, vous pouvez utiliser Oracle SQL Developer pour importer une base de données de 20 Mo simple ; vous pouvez utiliser Oracle Data Pump pour importer des bases de données complexes ou des bases de données de centaines de mégaoctets ou de plusieurs téraoctets. Avant d'utiliser ces techniques de migration, nous vous recommandons la bonne pratique de réaliser une sauvegarde de votre base de données. Vous pouvez sauvegarder vos instances Amazon RDS en créant des snapshots. Vous pouvez ultérieurement restaurer la base de données à partir des snapshots en utilisant l'option Restore from DB Snapshot ou Restore To Point In Time dans l'onglet RDS de la AWS Management Console. Vous pouvez aussi utiliser les méthodes de ligne de commande Amazon RDS rdsrestore-db-instance-from-db-snapshot ou rds-restore-db-instance-to-point-in-time. Ces bonnes pratiques et d'autres sont abordées dans cette section. Oracle SQL Developer Pour les petites bases de données, vous pouvez utiliser Oracle SQL Developer, un outil Java graphique distribué gratuitement par Oracle. Vous pouvez installer cet outil sur votre ordinateur de bureau (Windows, Linux ou Mac) ou l'un de vos serveurs. Oracle SQL Developer fournit des options pour la migration des données entre deux bases de données Oracle, ou pour la migration des données depuis d'autres bases de données, comme MySQL, vers Oracle. Oracle SQL Developer convient parfaitement à la migration de bases de données peu volumineuses. Nous vous recommandons de lire la documentation de produit Oracle SQL Developer avant de commencer à migrer vos données. Après avoir installé SQL Developer, vous pouvez l'utiliser pour vous connecter à vos bases de données source et cible. Utilisez la commande Database Copy (Copie de base de données) dans le menu Tools (Outils) pour copier vos données vers votre instance Amazon RDS. Pour télécharger Oracle SQL Developer, consultez http://www.oracle.com/technetwork/developer-tools/sqldeveloper. Oracle possède également une documentation sur la façon de migrer depuis d'autres bases de données dont MySQL et SQL Server. Pour plus d'informations, consultez http://www.oracle.com/technetwork/ database/migration. Oracle Data Pump Oracle Data Pump remplace à long terme les utilitaires Oracle Export/Import et constitue le meilleur moyen pour déplacer d'importants volumes de données depuis une installation Oracle vers une instance DB Amazon RDS. Vous pouvez utiliser Oracle Data Pump pour plusieurs scénarios : • Importez des données depuis une instance Amazon EC2 avec une base de données Oracle vers une instance de base de données Oracle • Importez des données depuis une base de données sur une instance de base de données Oracle vers une autre instance de base de données Oracle • Importez des données depuis une base de données sur une instance DB Oracle dans un VPC vers une autre instance DB Oracle avec ou sans VPC • Importez des données depuis une base de données Oracle locale vers une instance DB Amazon RDS Le processus suivant utilise Oracle Data Pump et le package DBMS_FILE_TRANSFER. Le processus se connecte à une instance Oracle et exporte des données en utilisant Oracle Data Pump. Il utilise ensuite API Version 2014-10-31 191 Amazon Relational Database Service Guide de l'utilisateur Oracle Data Pump la méthode DBMS_FILE_TRANSFER.PUT_FILE pour copier le fichier de vidage depuis l'instance Oracle vers DATA_PUMP_DIR sur l'instance de base de données cible qui est connectée via un lien de base de données. L'étape finale importe les données du fichier de vidage copié dans l'instance RDS. Le processus est soumis aux exigences suivantes : • Vous devez avoir exécuté des privilèges sur le package DBMS_FILE_TRANSFER • L'instance de base de données cible doit être la version 11.2.0.2.v6 ou supérieure • Vous devez disposer de privilèges d'écriture pour le répertoire DATA_PUMP_DIR sur l'instance de base de données source • Vous devez veiller à disposer de suffisamment d'espace de stockage pour stocker le fichier de vidage sur l'instance source et l'instance de base de données cible Note Ce processus importe un fichier de vidage dans le répertoire DATA_PUMP_DIR, un répertoire préconfiguré sur toutes les instances de base de données Oracle. Ce répertoire est situé sur le même volume de stockage que vos fichiers de données. Lorsque vous importerez le fichier de vidage, les fichiers de données Oracle existants utiliseront plus d'espace, vous devrez donc veiller à ce que votre instance de base de données puisse aussi accueillir cette utilisation d'espace supplémentaire. Etant donné que la limite de taille de stockage actuelle d'une instance de base de données Oracle est de 3 To, vous ne pouvez pas utiliser ce processus pour charger un fichier de vidage d'une taille supérieure à 1,3 To. Notez que le fichier de vidage importé n'est pas automatiquement supprimé ou purgé du répertoire DATA_PUMP_DIR. Utilisez UTL_FILE.FREMOVE pour supprimer le fichier de vidage importé. Le processus d'importation qui utilise Oracle Data Pump et le package DBMS_FILE_TRANSFER comporte les étapes suivantes : • Etape 1 : accorder des privilèges à l'utilisateur sur la base de données source • Etape 2 : utiliser DBMS_DATAPUMP pour créer un fichier de vidage • Étape 3 : créer un lien de base de données vers l'instance DB cible • Étape 4 : utiliser DBMS_FILE_TRANSFER pour copier le fichier de vidage exporté vers l'instance Amazon RDS • Étape 5 : importer le fichier de vidage dans la base de données sur l'instance Amazon RDS • Etape 6 : nettoyer Etape 1 : accorder des privilèges à l'utilisateur sur la base de données source Utilisez SQL Plus ou Oracle SQL Developer pour vous connecter à l'instance Oracle qui contient les données à importer. Le cas échéant, créez un compte utilisateur et accordez les autorisations nécessaires. Les commandes suivantes créent un nouvel utilisateur et accordent les autorisations nécessaires : SQL> SQL> SQL> SQL> SQL> create user USER1 identified by test123; grant create session, create table to USER1; alter user USER1 quota 100M on users; grant read, write on directory data_pump_dir to USER1; grant execute on dbms_datapump to USER1; API Version 2014-10-31 192 Amazon Relational Database Service Guide de l'utilisateur Oracle Data Pump Vous pouvez utiliser votre propre table, ou vous pouvez en créer une pour tester le processus. Les commandes suivantes créent un exemple de table à importer dans une instance de base de données : SQL> create table USER1.tab1 tablespace users as select 'USER1_'||object_name str_col, sysdate dt_col from all_objects; Etape 2 : utiliser DBMS_DATAPUMP pour créer un fichier de vidage Utilisez SQL Plus ou Oracle SQL Developer pour vous connecter à l'instance Oracle et utiliser l'utilitaire Oracle Data Pump pour créer un fichier de vidage. Le script suivant crée un fichier de vidage appelé tab1.dmp dans le répertoire DATA_PUMP_DIR. DECLARE hdnl NUMBER; BEGIN hdnl := DBMS_DATAPUMP.open( operation => 'EXPORT', job_mode => 'SCHEMA', job_name=>null); DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'tab1.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file); DBMS_DATAPUMP.add_file( handle => hdnl, filename => 'exp.log', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''USER1'')'); DBMS_DATAPUMP.start_job(hdnl); END; / Etape 3 : créer un lien de base de données vers l'instance de base de données cible Ensuite, créez un lien de base de données entre votre instance source et votre instance de base de données cible. Notez que votre instance Oracle locale doit avoir une connectivité réseau à l'instance DB pour créer un lien de base de données et transférer votre fichier d'exportation. La commande suivante crée un lien de base de données appelé to_rds vers un autre utilisateur au niveau de la base de données de l'instance DB cible : Note Si vous créez un lien de base de données entre deux instances DB à l'intérieur d'un VPC, les deux instances DB doivent être dans le même VPC, dans des VPC qui disposent d'une connexion d'appairage VPC établie, ou vous devez créer un groupe de sécurité EC2 ou VPC dont les deux instances DB sont membres. create database link to_rds connect to USER2 identified by user2pwd using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST="<dns or ip address of remote db>) (PORT=<listener port>))(CONNECT_DATA=(SID=<remoteSID>)))'; API Version 2014-10-31 193 Amazon Relational Database Service Guide de l'utilisateur Oracle Data Pump Étape 4 : utiliser DBMS_FILE_TRANSFER pour copier le fichier de vidage exporté vers une instance DB Amazon RDS Ensuite, utilisez DBMS_FILE_TRANSFER pour copier le fichier de vidage depuis l'instance de base de données source vers l'instance DB cible. Le script suivant copie un fichier de vidage appelé tab1.dmp depuis l'instance source vers un lien de base de données cible appelé to_rds (créé dans l'étape précédente) : BEGIN DBMS_FILE_TRANSFER.PUT_FILE( source_directory_object source_file_name destination_directory_object destination_file_name destination_database ); END; / => => => => => 'DATA_PUMP_DIR', 'tab1.dmp', 'DATA_PUMP_DIR', 'tab1_copied.dmp', 'to_rds' Etape 5 : utilisez Data Pump pour importer le fichier de données sur l'instance de base de données Utilisez Oracle Data Pump pour importer le schéma dans l'instance de base de données. La première partie de la liste indique le format pour l'instruction d'importation des données, et la seconde partie indique l'importation d'un fichier de données appelé tab1_copied.dmp. Notez que des options supplémentaires comme REMAP_TABLESPACE pourraient être obligatoires. impdp <username>@<TNS_ENTRY> DUMPFILE=user1copied.dmp DIRECTORY=DATA_PUMP_DIR full=y impdp copy1@copy1 DUMPFILE=tab1_copied.dmp DIRECTORY=DATA_PUMP_DIR full=y Vous pouvez vérifier l'importation des données en consultant la table sur l'instance de base de données. SQL> select count(*) from user1.tab1; Etape 6 : nettoyer Après l'importation des données, vous pouvez supprimer les fichiers que vous ne souhaitez plus conserver. Vous pouvez lister les fichiers dans le répertoire DATA_PUMP_DIR en utilisant la commande suivante : select * from table(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')) order by mtime; La commande suivante peut être utilisée pour supprimer des fichiers dont vous n'avez plus besoin dans le répertoire DATA_PUMP_DIR : exec utl_file.fremove('DATA_PUMP_DIR','[file name]'); API Version 2014-10-31 194 Amazon Relational Database Service Guide de l'utilisateur Utilitaires Oracle Export/Import Par exemple, la commande suivante supprime le fichier appelé « test_dbms_lob.txt » : exec utl_file.fremove('DATA_PUMP_DIR','test_dbms_lob.txt'); Utilitaires Oracle Export/Import Les utilitaires Oracle Export/Import sont parfaitement adaptés aux migrations lorsque le volume de données est faible et que les types de données comme les nombres flottants et les doubles ne sont pas obligatoires. Le processus d'importation crée les objets du schéma pour que vous n'ayez pas à exécuter un script pour les créer au préalable, ce qui rend ce processus parfaitement adapté aux bases de données à petites tables. L'exemple suivant montre comment ces utilitaires peuvent être utilisés pour exporter et importer des tables spécifiques. Exportez les tables depuis la base de données source en utilisant la commande ci-dessous. Remplacez le nom utilisateur/mot de passe, le cas échéant. exp cust_dba@ORCL FILE=exp_file.dmp TABLES=(tab1,tab2,tab3) LOG=exp_file.log Le processus d'exportation crée un fichier de vidage binaire qui contient le schéma et les données pour les tables spécifiées. À présent, ce schéma et ces données peuvent être importés dans une base de données cible en utilisant la commande suivante : imp cust_dba@targetdb FROMUSER=cust_schema TOUSER=cust_schema \ TABLES=(tab1,tab2,tab3) FILE=exp_file.dmp LOG=imp_file.log Il existe d'autres variations des commandes Export et Import qui pourraient être parfaitement adaptées à vos besoins. Pour plus d'informations, consultez la documentation d'Oracle. Oracle SQL*Loader Oracle SQL*Loader est parfaitement adapté aux bases de données volumineuses qui contiennent un nombre limité d'objets. Etant donné que le processus d'importation depuis une base de données source et de chargement vers une base de données cible est propre au schéma, l'exemple suivant crée des exemples d'objets de schéma, les exporte depuis une source et les charge ensuite dans une base de données cible. 1. Créez un exemple de table source en utilisant la commande ci-dessous. create table customer_0 tablespace users as select rownum id, o.* from all_objects o, all_objects x where rownum <= 1000000; 2. Sur l'instance Amazon RDS cible, créez une table de destination qui sera utilisée pour charger les données. create table customer_1 tablespace users as select 0 as id, owner, object_name, created from all_objects where 1=2; API Version 2014-10-31 195 Amazon Relational Database Service Guide de l'utilisateur Vues matérialisées Oracle 3. Les données seront exportées depuis la base de données source vers un fichier plat avec des délimiteurs. Cet exemple utilise SQL*Plus à cette fin. Pour vos données, vous pourrez avoir besoin de générer un script qui exporte tous les objets dans la base de données. alter session set nls_date_format = 'YYYY/MM/DD HH24:MI:SS'; set linesize 800 HEADING OFF FEEDBACK OFF array 5000 pagesize 0 spool customer_0.out SET MARKUP HTML PREFORMAT ON SET COLSEP ',' SELECT id, owner, object_name, created FROM customer_0; spool off 4. Vous devez créer un fichier de contrôle pour décrire les données. Encore une fois, en fonction de vos donnés, vous devez créer un script qui réalise cette étape. cat << EOF > sqlldr_1.ctl load data infile customer_0.out into table customer_1 APPEND fields terminated by "," optionally enclosed by '"' ( id POSITION(01:10) INTEGER EXTERNAL, owner POSITION(12:41) CHAR, object_name POSITION(43:72) CHAR, created POSITION(74:92) date "YYYY/MM/DD HH24:MI:SS" ) Le cas échéant, copiez les fichiers générés par le code précédent vers une zone tampon comme une instance Amazon EC2. 5. Enfin, importez les données en utilisant SQL*Loader avec le nom utilisateur et le mot de passe adaptés pour la base de données cible. sqlldr cust_dba@targetdb control=sqlldr_1.ctl BINDSIZE=10485760 READSIZE=10485760 ROWS=1000 Vues matérialisées Oracle Vous pouvez également utiliser la réplication des vues matérialisées Oracle pour migrer efficacement des ensembles de données volumineux. La réplication vous permet de garantir la synchronisation permanente entre les tables cible et source, afin que le transfert réel vers Amazon RDS puisse être réalisé ultérieurement, le cas échéant. La réplication est configurée à l'aide d'un lien de base de données depuis l'instance Amazon RDS vers la base de données source. Une exigence pour les vues matérialisées est d'autoriser l'accès depuis la base de données cible vers la base de données source. Dans l'exemple suivant, l'accès aux règles était activé sur la base de données source pour autoriser la base de données cible Amazon RDS à se connecter à la source via SQLNet. 1. Créez un compte utilisateur sur les instances Amazon RDS source et cible que vous pouvez authentifier avec le même mot de passe. create user dblink_user identified by password API Version 2014-10-31 196 default tablespace users Amazon Relational Database Service Guide de l'utilisateur Vues matérialisées Oracle temporary tablespace temp; grant create session to dblink_user; grant select any table to dblink_user; grant select any dictionary to dblink_user; 2. Créez un lien de base de données depuis l'instance Amazon RDS cible vers l'instance source en utilisant le nouveau dblink_user créé. create database link remote_site connect to dblink_user identified by password using '(description=(address=(protocol=tcp) (host=<myhost>) (port=<listener port>)) (connect_data=(sid=<sourcedb sid>)))'; 3. Testez le lien : select * from v$instance@remote_site; 4. Créez un exemple de table avec une clé primaire et un journal des vues matérialisées sur l'instance source. create table customer_0 tablespace users as select rownum id, o.* from all_objects o, all_objects x where rownum <= 1000000; alter table customer_0 add constraint pk_customer_0 primary key (id) using index; create materialized view log on customer_0; 5. Sur l'instance Amazon RDS cible, créez une vue matérialisée. CREATE MATERIALIZED VIEW customer_0 BUILD IMMEDIATE SELECT * FROM cust_dba.customer_0@remote_site; API Version 2014-10-31 197 REFRESH FAST AS Amazon Relational Database Service Guide de l'utilisateur Annexe : Options pour Oracle Annexe : Options pour le moteur de base de données Oracle Cette annexe décrit les options, ou fonctions supplémentaires, disponibles pour les instances Amazon RDS exécutant le moteur de base de données Oracle. Pour activer ces options, vous pouvez les ajouter à un groupe d'options, puis associer celui-ci à votre instance DB. Notez que certaines options sont permanentes et persistantes ; « permanent » signifie qu'une option ne peut pas être supprimée d'un groupe d'options et « persistant » qu'une fois qu'un groupe d'options avec cette option est assigné à une instance DB, le groupe d'options ne peut pas être supprimé de l'instance DB. Pour plus d'informations sur l'utilisation de ces options, consultez Présentation des groupes d'options (p. 455). Les options suivantes sont actuellement prises en charge pour Oracle : • Oracle 11g Enterprise Manager (OEM) Database Control et Oracle 12c OEM Database Express (p. 198) • Oracle XML DB (p. 199) • Oracle Application Express (APEX) (p. 199) • Oracle NNE (Native Network Encryption) (p. 205) • Oracle Transparent Data Encryption (TDE) (p. 207) (fonction de l'option Oracle Advanced Security disponible dans Oracle Enterprise Edition) • Oracle Statspack (p. 208) • Fuseau horaire Oracle (p. 210) Note Certaines options peuvent nécessiter une mémoire supplémentaire pour pouvoir s'exécuter sur votre instance DB. Par exemple, le contrôle de base de données Oracle Enterprise Manager utilise environ 300 Mo de RAM ; si vous activez cette option pour une instance DB de petite taille, vous pouvez rencontrer des problèmes de performances en raison des contraintes de mémoire. Avant d'activer ces options, vérifiez que votre instance DB possède suffisamment de mémoire disponible. Vous pouvez ajuster les paramètres Oracle afin que la base de données nécessite moins de RAM ; sinon, vous pouvez augmenter la taille de l'instance DB. Oracle 11g Enterprise Manager (OEM) Database Control et Oracle 12c OEM Database Express Oracle Enterprise Manager (OEM) Database Control pour Oracle version 11g et Oracle Enterprise Manager (OEM) Database Express pour Oracle version 12c sont des outils similaires, pourvus d'une interface web pour l'administration de base de données Oracle. Notez qu'aucun des deux outils ne peut être exécuté sur des instances DB utilisant les classes d'instance db.t1.micro ou db.m1.small. Le numéro de port par défaut d'OEM Database Control est 1158 ; le numéro de port par défaut d'OEM Database Express est 5500. Vous pouvez accepter le numéro de port ou en choisir un autre lorsque vous activez l'option pour votre instance DB. Vous pouvez ensuite accéder à votre navigateur web et commencer à utiliser l'outil OEM pour votre version Oracle. L'exemple suivant montre comment accéder à OEM Database Control ou à OEM Database Express à partir de votre navigateur web. Supposons que le point de terminaison de votre instance Amazon RDS soit mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com, et que vous ayez spécifié le port 1158. L'URL pour accéder à OEM Database Control sera : API Version 2014-10-31 198 Amazon Relational Database Service Guide de l'utilisateur Oracle XML DB https://mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com:1158/em Dans cet exemple, la fenêtre de connexion à OEM Database Control s'affiche et vous invite à entrer un nom utilisateur et un mot de passe. Entrez le nom utilisateur principal et le mot de passe principal de votre instance DB. Vous êtes maintenant prêt à gérer vos bases de données Oracle. Oracle XML DB Oracle XML DB ajoute la prise en charge XML native à votre instance DB. Avec l'option Amazon RDS XMLDB, les instances DB exécutant le moteur Oracle peuvent stocker et récupérer les données XML structurées ou non structurées, en plus des données relationnelles. Une fois que vous avez appliqué l'option XMLDB à votre instance DB, vous bénéficiez d'un accès complet au référentiel Oracle XML DB ; aucune tâche n'est requise après l'installation. Note L'option Amazon RDS XMLDB n'autorise pas la prise en charge du serveur de protocoles Oracle XML DB. Oracle Application Express (APEX) Oracle Application Express (APEX) est un environnement de développement et d'exécution pour les applications web. A l'aide d'APEX, les développeurs peuvent créer intégralement des applications au sein du navigateur web et les clients peuvent exécuter ces applications sans avoir à installer un quelconque logiciel supplémentaire. Note Amazon RDS Oracle 11g prend en charge Oracle APEX version 4.1.1. Amazon RDS 12c prend en charge Oracle APEX version 4.2.0.00.08 et ultérieure. Rubriques • Oracle APEX sur Amazon RDS Oracle 11g (p. 199) • Oracle APEX sur Amazon RDS Oracle 12c (p. 202) Oracle APEX comporte deux composants principaux : • Un référentiel qui stocke les métadonnées pour les composants et les applications APEX. Le référentiel se compose de tables, d'index et d'autres objets installés dans votre instance DB Amazon RDS. • Un écouteur qui gère les communications HTTP avec les clients APEX. L'écouteur accepte les connexions entrantes des navigateurs web et les transmet à l'instance Amazon RDS pour traitement, puis renvoie les résultats du référentiel vers les navigateurs. APEX Listener a été renommé Oracle Rest Data Services (ORDS) dans Oracle 12c. Lorsque vous ajoutez l'option APEX pour votre instance DB Oracle, Amazon RDS installe uniquement le référentiel APEX. Vous devez installer l'écouteur sur un hôte distinct : une instance Amazon EC2, un serveur sur site de votre entreprise ou votre ordinateur de bureau. Les sections suivantes expliquent comment configurer le référentiel Oracle APEX et l'écouteur en vue d'une utilisation avec Amazon RDS. Oracle APEX sur Amazon RDS Oracle 11g La configuration d'Oracle APEX pour les instances DB Oracle 11g requiert que vous installiez l'option XMLDB, ainsi que les options APEX et APEX_DEV, sur le référentiel. API Version 2014-10-31 199 Amazon Relational Database Service Guide de l'utilisateur Oracle Application Express (APEX) Configuration du référentiel pour Oracle 11g Pour configurer le référentiel APEX pour Oracle 11g 1. Créez une instance Amazon RDS qui exécute le moteur Oracle ou choisissez une instance existante. Le numéro de version du moteur Oracle doit être 11.2.0.2.v4 ou plus récent. 2. Créez un groupe d'options ou sélectionnez un groupe d'options existant. Appliquez les options suivantes à ce groupe d'options : • XMLDB • APEX • APEX_DEV (Si vous souhaitez uniquement déployer l'environnement d'exécution APEX, vous pourrez supprimer ultérieurement l'option APEX_DEV. Cette option doit toutefois être présente au cours de la procédure de configuration.) 3. Appliquez le groupe d'options à votre instance DB. Amazon RDS installe les composants du référentiel dans votre instance DB ; l'exécution de ce processus dure quelques minutes. 4. Une fois que le groupe d'options est appliqué avec succès, vous devez changer le mot de passe du compte de base de données APEX_PUBLIC_USER et le déverrouiller. Vous pouvez le faire à l'aide de l'utilitaire de ligne de commande Oracle SQL*Plus : connectez-vous à votre instance de base de données en tant qu'utilisateur principal et exécutez les commandes suivantes : alter user APEX_PUBLIC_USER identified by newpass; alter user APEX_PUBLIC_USER account unlock; Remplacez newpass par un mot de passe de votre choix. Configuration de l'écouteur pour Oracle 11g Vous êtes maintenant prêt à configurer un écouteur à utiliser avec Oracle APEX. Vous pouvez à cette fin utiliser l'un de ces produits : • Oracle Application Express Listener • Oracle HTTP Server et mod_plsql Note Amazon RDS ne prend pas en charge le serveur HTTP Oracle XML DB avec la passerelle PL/ SQL intégrée ; vous ne pouvez pas l'utiliser comme écouteur APEX. Cette restriction est conforme à la recommandation d'Oracle par rapport à l'utilisation de la passerelle PL/SQL intégrée pour les applications qui s'exécutent sur Internet. L'écouteur doit être installé sur un hôte distinct, tel qu'une instance Amazon EC2 ou un serveur dont vous êtes propriétaire. Vous devez également avoir les logiciels prérequis suivants installés sur l'hôte distinct faisant office d'écouteur : • Java Runtime Environment (JRE) : Oracle APEX Listener est une application Java. • Oracle Net Services, pour permettre à l'écouteur APEX de se connecter à votre instance Amazon RDS. • SQL*Plus, pour exécuter les tâches d'administration à partir de la ligne de commande. API Version 2014-10-31 200 Amazon Relational Database Service Guide de l'utilisateur Oracle Application Express (APEX) La procédure suivante montre comment configurer le produit Oracle Application Express Listener. Nous présumons que le nom de votre hôte APEX est myapexhost.example.com et que cet hôte s'exécute sous Linux. Pour configurer un écouteur APEX pour Oracle 11g 1. Connectez-vous à myapexhost.example.com comme racine. 2. Nous vous recommandons de créer un utilisateur du système d'exploitation non privilégié pour être propriétaire de l'installation de l'écouteur APEX. La commande suivante crée un utilisateur nommé apexuser : useradd -d /home/apexuser apexuser Maintenant, assignez un mot de passe à apexuser : passwd apexuser 3. Connectez-vous à myapexhost.example.com en tant qu'apexuser et téléchargez les fichiers d'installation d'APEX et d'APEX Listener à partir d'Oracle : • http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html • http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html 4. Ouvrez le fichier APEX : unzip apex_4.1.1.zip 5. Créez un répertoire et ouvrez le fichier APEX Listener : mkdir /home/apexuser/apexlistener cd /home/apexuser/apexlistener unzip ../apex_listener.1.1.3.243.11.40.zip 6. Pendant que vous êtes encore dans le répertoire apexlistener, exécutez le programme APEX Listener : java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./ apex.war Le programme vous demande les informations suivantes : • Le nom utilisateur de l'administrateur APEX Listener (la valeur par défaut est adminlistener) • Un mot de passe pour l'administrateur APEX Listener. • Le nom utilisateur du gestionnaire APEX Listener (la valeur par défaut est managerlistener) • Un mot de passe pour l'administrateur APEX Listener. Le programme affiche une URL qui vous permettra de terminer la configuration : INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure API Version 2014-10-31 201 Amazon Relational Database Service Guide de l'utilisateur Oracle Application Express (APEX) Database is not yet configured Laissez APEX Listener s'exécuter. Il doit continuer à s'exécuter pour que vous puissiez utiliser Oracle Application Express. (Lorsque vous avez terminé la procédure de configuration, vous pouvez exécuter l'écouteur à l'arrière-plan.) 7. Depuis votre navigateur web, accédez à l'URL fournie par le programme APEX Listener. La fenêtre d'administration d'Oracle Application Express Listener s'affiche. Entrez les informations suivantes : • Nom utilisateur : APEX_PUBLIC_USER • Mot de passe : le mot de passe pour APEX_PUBLIC_USER. (Il s'agit du mot de passe que vous avez spécifié précédemment, lorsque vous avez configuré le référentiel APEX.) • Type de connexion : élémentaire • Nom d'hôte : le point de terminaison de votre instance Amazon RDS, tel que mydb.f9rbfa893tft.useast-1.rds.amazonaws.com • Port : 1521 • SID : le nom de la base de données sur votre instance Amazon RDS, tel que mydb Cliquez sur le bouton Apply. La fenêtre d'administration APEX s'affiche. 8. Vous devez définir un mot de passe pour l'utilisateur admin APEX. Pour ce faire, utilisez SQL*Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal et exécutez les commandes suivantes : grant APEX_ADMINISTRATOR_ROLE to master; @/home/apexuser/apex/apxchpwd.sql 9. Remplacez master par votre nom utilisateur principal. Entrez un nouveau mot de passe admin lorsque le script apxchpwd.sql vous y invite. Revenez à la fenêtre d'administration APEX de votre navigateur et cliquez sur Administration. Ensuite, cliquez sur Application Express Internal Administration. Vous serez invité à entrer les informations d'identification de l'administration interne d'APEX. Entrez les informations suivantes : • Nom utilisateur : admin • Mot de passe : le mot de passe que vous définissez à l'aide du script apxchpwd.sql. Cliquez sur Login. Vous devrez définir un nouveau mot de passe pour l'utilisateur admin. Oracle Application Express est maintenant prête à être utilisée. Oracle APEX sur Amazon RDS Oracle 12c Le processus d'installation du référentiel pour Oracle 12c est le même que pour Oracle 11g, si ce n'est que vous n'avez plus à installer l'option XMLDB (elle est installée par défaut dans Oracle 12c). Notez qu'APEX Listener a été renommé Oracle Rest Data Services (ORDS). Configuration du référentiel pour Oracle 12c Pour configurer le référentiel APEX pour Oracle 12c 1. 2. Créez une instance Amazon RDS qui exécute le moteur de base de données Oracle 12c ou choisissez une instance DB Oracle 12c existante. Créez un groupe d'options ou sélectionnez un groupe d'options existant. Appliquez les options suivantes à ce groupe d'options : API Version 2014-10-31 202 Amazon Relational Database Service Guide de l'utilisateur Oracle Application Express (APEX) • APEX • APEX_DEV (Si vous souhaitez uniquement déployer l'environnement d'exécution APEX, vous pourrez supprimer ultérieurement l'option APEX_DEV. Cette option doit toutefois être présente au cours de la procédure de configuration.) 3. Appliquez le groupe d'options à votre instance DB. Amazon RDS installe les composants du référentiel dans votre instance DB ; l'exécution de ce processus dure quelques minutes. 4. Une fois que le groupe d'options est appliqué avec succès, vous devez changer le mot de passe du compte de base de données APEX_PUBLIC_USER et le déverrouiller. Vous pouvez le faire à l'aide de l'utilitaire de ligne de commande Oracle SQL*Plus : connectez-vous à votre instance de base de données en tant qu'utilisateur principal et exécutez les commandes suivantes : alter user APEX_PUBLIC_USER identified by newpass; alter user APEX_PUBLIC_USER account unlock; Remplacez newpass par un mot de passe de votre choix. Configuration de l'écouteur pour Oracle 12c Pour Oracle 12c, Oracle Application Express Listener (APEX Listener) a été renommée Oracle Rest Data Services (ORDS). L'écouteur doit être installé sur un hôte distinct, tel qu'une instance Amazon EC2 ou un serveur dont vous êtes propriétaire. Amazon RDS ne prend pas en charge le serveur HTTP Oracle XML DB avec la passerelle PL/SQL intégrée ; vous ne pouvez pas l'utiliser comme écouteur APEX. Cette restriction est conforme à la recommandation d'Oracle par rapport à l'utilisation de la passerelle PL/SQL intégrée pour les applications qui s'exécutent sur Internet. Vous devez également avoir les logiciels prérequis suivants installés sur l'hôte distinct faisant office d'écouteur : • Java Runtime Environment (JRE) • Oracle Net Services, pour permettre à l'écouteur APEX de se connecter à votre instance Amazon RDS. • SQL*Plus, pour exécuter les tâches d'administration à partir de la ligne de commande. La procédure suivante montre comment configurer Oracle Rest Data Services (ORDS). Nous présumons que le nom de votre hôte APEX est myapexhost.example.com et que cet hôte s'exécute sous Linux. Pour installer Oracle Rest Data Services (ORDS) (APEX Listener) pour Oracle 12c 1. Connectez-vous à myapexhost.example.com comme racine. 2. Nous vous recommandons de créer un utilisateur du système d'exploitation non privilégié pour être propriétaire de l'installation de l'écouteur APEX. La commande suivante crée un utilisateur nommé apexuser : useradd -d /home/apexuser apexuser Maintenant, assignez un mot de passe à apexuser : API Version 2014-10-31 203 Amazon Relational Database Service Guide de l'utilisateur Oracle Application Express (APEX) passwd apexuser 3. Connectez-vous à myapexhost.example.com en tant qu'apexuser et téléchargez les fichiers d'installation d'APEX et d'ORDS à partir d'Oracle : • http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html • http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html 4. Décompressez le fichier APEX : unzip apex_4.2.6.zip 5. Créez un répertoire et ouvrez le fichier ORDS : mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS unzip ../ords.3.0.0.65.09.31.zip 6. Pendant que vous êtes encore dans le répertoire ORDS, exécutez le programme APEX Listener : java -jar ords.war setup Le programme vous demande les informations suivantes. La valeur par défaut est entre crochets : • Entrez le nom du serveur de base de données [localhost] : • Entrez le port d'écoute de base de données [1521] : • Entrez 1 pour spécifier le nom du service de base de données ou 2 pour spécifier le SID de base de données [1] : • Entrez le SID de base de données [xe] : • Entrez le nom utilisateur de base de données [APEX_PUBLIC_USER] : • Entrez le mot de passe de base de données : 7. Vous devez définir un mot de passe pour l'utilisateur admin APEX. Pour ce faire, utilisez SQL*Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal et exécutez les commandes suivantes : grant APEX_ADMINISTRATOR_ROLE to master; @/home/apexuser/apex/apxchpwd.sql Remplacez master par votre nom utilisateur principal. Entrez un nouveau mot de passe admin lorsque le script apxchpwd.sql vous y invite. 8. Démarrez APEX Listener. java -jar ords.war La première fois que vous démarrez APEX Listener, il vous est demandé de fournir l'emplacement des ressources statiques APEX. Ce dossier d'images se trouve dans le répertoire d'installation d'APEX, puis sous /apex/images. API Version 2014-10-31 204 Amazon Relational Database Service Guide de l'utilisateur Oracle NNE (Native Network Encryption) 9. Revenez à la fenêtre d'administration APEX de votre navigateur et cliquez sur Administration. Ensuite, cliquez sur Application Express Internal Administration. Vous serez invité à entrer les informations d'identification de l'administration interne d'APEX. Entrez les informations suivantes : • Nom utilisateur : admin • Mot de passe : le mot de passe que vous définissez à l'aide du script apxchpwd.sql. Cliquez sur Login. Vous devrez définir un nouveau mot de passe pour l'utilisateur admin. Oracle Application Express (APEX) est maintenant prête à être utilisée. Oracle NNE (Native Network Encryption) Amazon RDS prend en charge le chiffrement Oracle NNE, fonction disponible sur toutes les versions Oracle. Avec le chiffrement réseau natif, vous pouvez chiffrer les données lors de leur déplacement vers ou depuis une instance DB. Pour utiliser Oracle NNE avec une instance DB, vous ajoutez l'option NATIVE_NETWORK_ENCRYPTION à un groupe d'options et associez ce groupe d'options à l'instance DB. Tout d'abord, vous devez déterminer si l'instance de base de données est associée à un groupe d'options ayant l'option NATIVE_NETWORK_ENCRYPTION. Pour afficher le groupe d'options auquel une instance de base de données est associée, vous pouvez utiliser la console RDS, la commande CLI rds-describe-db-instance ou l'action d'API DescribeDBInstances. Amazon RDS prend en charge Oracle NNE pour toute classe d'instance DB plus grande que db.t1.micro. Une présentation détaillée d'Oracle NNE dépasse le propos de ce guide, mais vous devez bien comprendre les points forts et les points faibles de chaque algorithme et de chaque clé avant de choisir une solution pour votre déploiement. Veuillez noter que les algorithmes de chiffrement TDE autres que par défaut fonctionnent uniquement avec Oracle 11.2.0.2.v7 et version ultérieure. Pour plus d'informations sur les algorithmes et les clés qui sont disponibles via Oracle NNE, consultez Configuration du chiffrement des données réseau dans la documentation Oracle. Pour plus d'informations sur la sécurité AWS, consultez le Centre de sécurité AWS. Le processus d'utilisation d'Oracle NNE avec Amazon RDS est le suivant : 1. Si l'instance DB n'est pas associée à un groupe d'options ayant l'option de chiffrement réseau (NATIVE_NETWORK_ENCRYPTION), vous devez modifier un groupe d'options existantes pour ajouter l'option NATIVE_NETWORK_ENCRYPTION, ou créer un nouveau groupe d'options et lui ajouter l'option NATIVE_NETWORK_ENCRYPTION. Pour plus d'informations sur la création ou la modification d'un groupe d'options, consultez Utilisation de groupes d'options (p. 455). Pour plus d'informations sur l'ajout d'une option à un groupe d'options, consultez Ajout d'une option à un groupe d'options (p. 460). 2. Spécifiez les paramètres de l'option NATIVE_NETWORK_ENCRYPTION pour le groupe d'options. Pour plus d'informations sur la modification des paramètres d'option, consultez Modification d'un paramètre d'option (p. 463). Ces paramètres sont les suivants : • SQLNET.ENCRYPTION_SERVER : spécifie le comportement de chiffrement quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Les valeurs autorisées sont Accepted, Rejected, Requested (valeur par défaut) et Required. Requested indique que l'instance de base de données ne requiert pas que le trafic depuis le client soit chiffré. • SQLNET.CRYPTO_CHECKSUM_SERVER : spécifie le comportement d'intégrité des données quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Les valeurs autorisées sont Accepted, Rejected, Requested (valeur par défaut) et Required. Requested indique que l'instance de base de données ne nécessite pas que le client effectue un total de contrôle. • SQLNET.ENCRYPTION_TYPES_SERVER : spécifie une liste d'algorithmes de chiffrement utilisés par l'instance de base de données. L'instance DB utilisera chaque algorithme, dans l'ordre, pour tenter de API Version 2014-10-31 205 Amazon Relational Database Service Guide de l'utilisateur Oracle NNE (Native Network Encryption) déchiffrer l'entrée du client jusqu'à ce qu'un algorithme réussisse ou que la fin de la liste soit atteinte. Amazon RDS utilise la liste par défaut suivante d'Oracle. Vous pouvez modifier l'ordre ou limiter les algorithmes que l'instance DB accepte. a. RC4_256 : RSA RC4 (taille de clé 256 bits) b. AES256 : AES (taille de clé 256 bits) c. AES192 : AES (taille de clé 192 bits) d. 3DES168 : 3-key Triple-DES (taille de clé effective 168 bits) e. RC4_128 : RSA RC4 (taille de clé 128 bits) f. AES128 : AES (taille de clé 128 bits) g. 3DES112 : 2-key Triple-DES (taille de clé effective 112 bits) h. RC4_56 : RSA RC4 (taille de clé 56 bits) i. DES : Standard DES (taille de clé 56 bits) j. RC4_40 : RSA RC4 (taille de clé 40 bits) k. DES40 : DES40 (taille de clé 40 bits) • SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER : spécifie l'algorithme de total de contrôle. La valeur par défaut est sha-1, mais md5 est également pris en charge. 3. Affichez les options du groupe d'options pour vous assurer que vous avez ajouté l'option NATIVE_NETWORK_ENCRYPTION et spécifié les paramètres corrects. Vous pouvez afficher les options dans un groupe d'options à l'aide de la console RDS, de la commande CLI rds-describe-optiongroup-options ou de l'action d'API Amazon RDS DescribeOptionGroupOptions. 4. Associez l'instance de base de données au groupe d'options ayant l'option NATIVE_NETWORK_ENCRYPTION. Pour plus d'informations sur l'association d'une instance de base de données à un groupe d'options, consultez Modification d'une instance de base de données exécutant le moteur de base de données Oracle (p. 188). Avec Oracle NNE, vous pouvez aussi spécifier le chiffrement réseau côté client. Sur le client (l'ordinateur utilisé pour la connexion à l'instance de base de données), vous pouvez utiliser le fichier sqlnet.ora pour spécifier les paramètres clients suivants : SQLNET.CRYPTO_CHECKSUM_CLIENT, SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT, SQLNET.ENCRYPTION_CLIENT et SQLNET.ENCRYPTION_TYPES_CLIENT. Pour plus d'informations, consultez Configuration du chiffrement des données réseau et intégrité des clients et serveurs Oracle dans la documentation Oracle. Parfois, l'instance de base de données rejette une demande de connexion à partir d'une application : par exemple, s'il existe une différence entre les algorithmes de chiffrement sur le client et sur le serveur. Pour tester le chiffrement réseau natif Oracle, ajoutez les lignes suivantes dans le fichier sqlnet.ora sur le client : DIAG_ADR_ENABLED=off TRACE_DIRECTORY_CLIENT=/tmp TRACE_FILE_CLIENT=nettrace TRACE_LEVEL_CLIENT=16 Ces lignes génèrent un fichier de trace sur le client appelé /tmp/nettrace* lors de la tentative de connexion. Le fichier de trace contient des informations sur la connexion. Pour plus d'informations sur les problèmes liés à la connexion lorsque vous utilisez le chiffrement de réseau natif Oracle, consultez A propos de la négociation du chiffrement et de l'intégrité dans la documentation Oracle. API Version 2014-10-31 206 Amazon Relational Database Service Guide de l'utilisateur Oracle Transparent Data Encryption (TDE) Oracle Transparent Data Encryption (TDE) Amazon RDS prend en charge Oracle TDE (Transparent Data Encryption), fonction de l'option Oracle Advanced Security disponible dans Oracle Enterprise Edition. Cette fonction chiffre automatiquement les données avant qu'elles ne soient écrites dans le stockage et déchiffre automatiquement les données lorsqu'elles sont lues depuis le stockage. Note L'option TDE est une option permanente qui ne peut pas être supprimée d'un groupe d'options et ce groupe d'options ne peut pas être supprimé à partir d'une instance DB une fois qu'il est associée à une instance DB. Vous ne pouvez pas désactiver TDE à partir d'une instance DB une fois que cette instance est associée à un groupe d'options avec l'option Oracle TDE. L'option Oracle TDE est utilisée dans les scénarios où vous avez besoin de chiffrer les données sensibles au cas où les sauvegardes et les fichiers de données seraient obtenus par un tiers ou lorsque vous avez besoin de traiter les questions de conformité réglementaire relatives à la sécurité. Une explication détaillée sur Oracle TDE est au-delà du propos de ce guide. Pour plus d'informations sur l'utilisation d'Oracle TDE, consultez Sécurisation des données stockées à l'aide de TDE. Pour plus d'informations sur Oracle Advanced Security, consultez Sécurité avancée Oracle dans la documentation Oracle. Pour plus d'informations sur la sécurité AWS, consultez le Centre de sécurité AWS. Oracle TDE prend en charge deux modes de chiffrement : le chiffrement d'espace de table TDE et le chiffrement de colonne TDE. Le chiffrement d'espace de table TDE permet de chiffrer des tables d'application complètes. Le chiffrement de colonne TDE permet de chiffrer les éléments de données qui contiennent des données sensibles. Vous pouvez également appliquer une solution de chiffrement hybride qui utilise les deux chiffrements TDE d'espace de table et de colonne. Pour plus d'informations sur les bonnes pratiques TDE, consultez Bonnes pratiques d'Oracle Advanced Security TDE (Transparent Data Encryption). Une fois que l'option est activée, vous pouvez vérifier l'état du portefeuille Oracle en utilisant la commande suivante : SELECT * FROM v$encryption_wallet; Pour créer un espace de table chiffré, utilisez la commande suivante : CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT); Pour spécifier l'algorithme de chiffrement (pour la version 11.2.0.2.v7 ou version ultérieure), utilisez la commande suivante : CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT); Notez que les commandes précédentes pour chiffrer un espace de table sont les mêmes que celles que vous utiliseriez avec une installation Oracle autre que sur Amazon RDS, et que la syntaxe ALTER TABLE pour chiffrer une colonne est également la même que celle que vous utiliseriez pour une installation Oracle autre que sur Amazon RDS. Vous devez déterminer si votre instance de base de données est associée à un groupe d'options ayant l'option TDE. Pour afficher le groupe d'options auquel une instance de base de données est associée, API Version 2014-10-31 207 Amazon Relational Database Service Guide de l'utilisateur Oracle Statspack vous pouvez utiliser la console RDS, la commande CLI rds-describe-db-instance ou l'action d'API DescribeDBInstances. Amazon RDS assure la gestion du portefeuille (« wallet ») Oracle et de la clé principale TDE pour l'instance DB. Pour se conformer à plusieurs normes de sécurité, Amazon RDS travaille à implémenter une rotation automatique régulière de la clé principale. Le processus d'utilisation d'Oracle TDE avec Amazon RDS est le suivant : 1. Si l'instance DB n'est pas associée à un groupe d'options pour lequel l'option TDE est activée, vous devez soit créer un groupe d'options et ajouter l'option TDE soit modifier le groupe d'options associé pour ajouter l'option TDE. Pour plus d'informations sur la création ou la modification d'un groupe d'options, consultez Utilisation de groupes d'options (p. 455). Pour plus d'informations sur l'ajout d'une option à un groupe d'options, consultez Ajout d'une option à un groupe d'options (p. 460). 2. Associez l'instance de base de données au groupe d'options avec l'option TDE. Pour plus d'informations sur l'association d'une instance DB à un groupe d'options, consultez Modification d'une instance de base de données exécutant le moteur de base de données Oracle (p. 188). Si vous ne souhaitez plus utiliser l'option TDE avec une instance DB, vous devez déchiffrer toutes vos données sur l'instance DB, copier les données sur une nouvelle instance DB qui n'est pas associée à un groupe d'options pour lequel TDE est activé, puis supprimer l'instance d'origine. Vous pouvez renommer la nouvelle instance avec le même nom que celui de l'instance de base de données précédente, si vous le souhaitez. Utilisation de TDE avec Data Pump Vous pouvez toutefois utiliser Oracle Data Pump pour importer ou exporter les fichiers de vidage chiffrés. Amazon RDS prend en charge le mode de chiffrement de mot de passe (ENCRYPTION_MODE=PASSWORD) pour Oracle Data Pump. Amazon RDS ne prend pas en charge le mode de chiffrement transparent (ENCRYPTION_MODE=TRANSPARENT) pour Oracle Data Pump. Pour plus d'informations sur l'utilisation d'Oracle Data Pump avec Amazon RDS, consultez Oracle Data Pump (p. 191). Oracle Statspack L'option Oracle Statspack (STATSPACK) installe et active la fonction de statistiques de performances Oracle Statspack. Oracle Statspack est un ensemble de scripts SQL, PL/SQL et SQL*Plus qui collectent, stockent et affichent les données de performance. Pour plus d'informations sur l'utilisation d'Oracle Statspack, consultez Oracle Statspack dans la documentation Oracle. Note Oracle Statspack n'est plus pris en charge par Oracle et a été remplacé par l'option Automatic Workload Repository (AWR) plus avancée. AWR est disponible uniquement pour les clients Oracle Enterprise Edition ayant acheté le pack Diagnostics. Oracle Statspack peut être utilisé avec n'importe quel moteur de base de données Oracle sur Amazon RDS. Les étapes suivantes vous montrent comment utiliser Oracle Statspack sur Amazon RDS : 1. Ajoutez l'option Statspack à un groupe d'options, puis associez ce groupe d'options à votre instance DB. Amazon RDS installe les scripts Statspack sur l'instance DB, puis configure le compte d'utilisateur PERFSTAT, celui que vous utilisez pour exécuter les scripts Statspack. Si vous avez installé Statspack, ignorez cette étape. Si vous avez une instance de base de données existante pour laquelle le compte PERFSTAT a déjà été créé et que vous voulez utiliser conjointement Oracle Statspack, vous devez supprimer le compte PERFSTAT avant d'ajouter l'option Statspack au groupe d'options associé à votre instance de base de API Version 2014-10-31 208 Amazon Relational Database Service Guide de l'utilisateur Oracle Statspack données. Si vous essayez d'ajouter l'option Statspack à un groupe d'options associé à une instance de base de données pour laquelle le compte PERFSTAT a déjà été créé, vous obtenez une erreur et l'événement RDS RDS-Event-0058 est généré. Vous pouvez supprimer le compte PERFSTAT en exécutant la commande suivante : DROP USER perfstat CASCADE; 2. Une fois qu'Amazon RDS a installé Statspack sur votre instance DB, vous devez vous connecter à l'instance DB à l'aide de vos nom utilisateur principal et mot de passe principal. Vous devez ensuite réinitialiser le mot de passe PERFSTAT à partir de la valeur générée de façon aléatoire créée par Amazon RDS lors de l'installation de Statspack. Une fois que vous avez réinitialisé le mot de passe PERFSTAT, vous pouvez vous connecter à l'aide du compte d'utilisateur PERFSTAT et exécuter les scripts Statspack. Utilisez la commande suivante pour réinitialiser le mot de passe : ALTER USER perfstat IDENTIFIED BY <new_password> ACCOUNT UNLOCK; 3. Une fois que vous vous êtes connecté à l'aide du compte PERFSTAT, vous pouvez manuellement créer un instantané Statspack ou créer une tâche qui prendra un instantané Statspack après un intervalle de temps donné. Par exemple, la tâche suivante crée un instantané Statspack chaque heure : variable jn number; execute dbms_job.submit(:jn, 'statspack.snap;',sysdate,'trunc(SYSDATE+1/24,''HH24'')'); commit; 4. Une fois que vous avez créé au moins deux instantanés Statspack, vous pouvez les afficher à l'aide de la requête suivante : select snap_id, snap_time from stats$snapshot order by 1; 5. Pour créer un rapport Statspack, vous choisissez deux instantanés à analyser et exécuter la commande Amazon RDS suivante : exec RDSADMIN.RDS_RUN_SPREPORT(<begin snap>,<end snap>); Par exemple, la commande Amazon RDS suivante crée un rapport basé sur l'intervalle entre les instantanés Statspack 1 et 7 : exec RDSADMIN.RDS_RUN_SPREPORT(1,7); Le nom de fichier du rapport Statspack généré inclut le numéro des deux instantanés Statspack utilisés. Par exemple, un fichier de rapport créé à l'aide des instantanés Statspack 1 et 7 se nommera ORCL_spreport_1_7.lst. Vous pouvez télécharger le rapport Statspack en sélectionnant le rapport dans la section Log de la console RDS et en cliquant sur Download ou vous pouvez utiliser les procédures de fichier trace expliquées dansUtilisation des fichiers de trace Oracle (p. 530). Si une erreur se produit lors de la production du rapport, un fichier d'erreur est créé à l'aide des mêmes conventions d'affectation de noms, mais avec une extension .err. Par exemple, si une erreur s'est produite lors de la création d'un rapport à l'aide des instantanés Statspack 1 et 7, le fichier de rapport sera nommé ORCL_spreport_1_7.err. Vous pouvez télécharger le rapport d'erreur en sélectionnant le rapport dans la section Log de la console RDS et en cliquant sur Download, ou vous pouvez utiliser les procédures de fichier trace expliquées dans Utilisation des fichiers de trace Oracle (p. 530). API Version 2014-10-31 209 Amazon Relational Database Service Guide de l'utilisateur Fuseau horaire Oracle Comme Oracle Statspack effectue des vérifications de base avant d'exécuter le rapport, vous pouvez également voir les messages d'erreur affichés à l'invite de commande. Par exemple, si vous essayez de générer un rapport basé sur une plage non valide, telle que la valeur de l'instantané Statspack initiale est supérieure à la valeur de l'instantané Statspack finale, le message d'erreur apparaît à l'invite de commande et aucun fichier d'erreur n'est créé. exec RDSADMIN.RDS_RUN_SPREPORT(2,1); * ERROR at line 1: ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot. Si vous utilisez un nombre non valide pour l'un des instantanés Statspack, le message d'erreur est également affiché à l'invite de commande. Par exemple, si vous avez 20 instantanés Statspack, mais demandez qu'un rapport soit exécuté à l'aide des instantanés Statspack 1 et 50, l'invite de commande affiche une erreur. exec RDSADMIN.RDS_RUN_SPREPORT(1,50); * ERROR at line 1: ORA-20000: Could not find both snapshot IDs Pour plus d'informations sur l'utilisation d'Oracle Statspack, telles que les informations sur l'ajustement de la quantité de données capturées en fonction du niveau d'instantané, consultez la page de la documentation Oracle sur Statspack. Pour supprimer les fichiers Oracle Statspack, utilisez la commande suivante : execute statspack.purge(<begin snap>, <end snap>); Fuseau horaire Oracle L'option Timezone vous permet de modifier le fuseau horaire système utilisé par les bases de données Oracle dans une instance DB. Vous devrez peut-être modifier le fuseau horaire d'une instance DB si vous avez besoin d'une compatibilité horaire avec un environnement sur site ou une application héritée. Cette option modifie le fuseau horaire au niveau de l'hôte et impacte toutes les valeurs et colonnes date, y compris SYSDATE et SYSTIMESTAMP. Cette option ne peut être appliquée qu'une fois à une instance de base de données. Prenez un snapshot DB de votre instance DB avant d'appliquer cette option à une instance DB, de telle sorte que vous puissiez récupérer l'instance si l'option de fuseau horaire n'est pas définie de façon correcte. Note Comme l'application de l'option Timezone aux groupes d'option utilisés par les instances DB existantes pourrait entraîner des problèmes avec les tables utilisant la date système pour ajouter les dates ou l'heure, vous devez analyser vos données afin de déterminer l'impact qu'une modification du fuseau horaire pourrait avoir. Nous vous conseillons fortement de tester cette option sur une instance DB avant de l'installer sur vos instances de production. L'option Timezone est une option permanente et persistante qui ne peut pas être supprimée d'un groupe d'options une fois qu'elle a été ajoutée, et le groupe d'options ne peut pas être dissocié d'une instance DB. Cette option peut être appliquée immédiatement en sélectionnant Apply Immediately ou lors de la prochaine fenêtre de maintenance. API Version 2014-10-31 210 Amazon Relational Database Service Guide de l'utilisateur Fuseau horaire Oracle Il existe trois façons d'ajouter l'option Timezone à un groupe d'options. Vous pouvez utiliser la console Amazon RDS, la commande CLI Amazon RDS rds-add-option-to-option-group ou l'action d'API ModifyOptionGroup. L'exemple suivant utilise la commande CLI Amazon RDS rds-add-option-to-option-group pour ajouter l'option Timezone et le paramètre d'option TIME_ZONE à un groupe d'options appelé myoptiongroup. Le fuseau horaire est défini sur Asie/Japon. rds-add-option-to-option-group myoptiongroup --option-name Timezone --settings "TIME_ZONE=Asia/Tokyo" L'option Timezone diffère de la commande rdsadmin_util.alter_db_time_zone. La commande rdsadmin_util.alter_db_time_zone modifie uniquement le fuseau horaire de certains types de données, tandis que l'option Timezone change le fuseau horaire au niveau de l'hôte et impacte toutes les valeurs et colonnes telles que SYSDATE. Les valeurs suivantes peuvent être utilisées pour le paramètre d'option TIME_ZONE : Afrique/Caire, Afrique/Casablanca, Afrique/Harare, Afrique/Lagos, Afrique/Monrovia, Afrique/Nairobi, Afrique/Tripoli, Afrique/Windhoek, Amérique/Araguaina, Amérique/Asuncion, Amérique/Bogota, Amérique/ Caracas, Amérique/Chihuahua, Amérique/Cuiaba, Amérique/Denver, Amérique/Fortaleza, Amérique/ Guatemala, Amérique/Halifax, Amérique/Manaus, Amérique/Matamoros, Amérique/Monterrey, Amérique/ Montevideo, Amérique/Phoenix, Amérique/Santiago, Amérique/Tijuana, Asie/Amman, Asie/Achgabat, Asie/Bagdad, Asie/Bakou, Asie/Bangkok, Asie/Beyrouth, Asie/Calcutta, Asie/Damas, Asie/Dhaka, Asie/ Irkoutsk, Asie/Jérusalem, Asie/Kaboul, Asie/Karachi, Asie/Katmandou, Asie/Krasnoïarsk, Asie/Magadan, Asie/Muscat, Asie/Novosibirsk, Asie/Riyadh, Asie/Séoul, Asie/Shanghai, Asie/Singapour, Asie/Taipei, Asie/ Téhéran, Asie/Tokyo, Asie/Ulaanbaatar, Asie/Vladivostok, Asie/Yakutsk, Asie/Yerevan, Atlantique/Açores, Australie/Adélaïde, Australie/Brisbane, Australie/Darwin, Australie/Hobart, Australie/Perth, Australie/ Sydney, Brésil/Est, Canada/Terre-Neuve, Canada/Saskatchewan, Brésil/Est, Europe/Amsterdam, Europe/ Athènes, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Moscou, Europe/ Paris, Europe/Prague, Europe/Sarajevo, Pacifique/Auckland, Pacifique/Fidji, Pacifique/Guam, Pacifique/ Honolulu, Pacifique/Samoa, Etats-Unis/Alaska, Etats-Unis/ Centre, Etats-Unis/Est, Etats-Unis/Indiana Est, Etats-Unis/Pacifique, UTC. API Version 2014-10-31 211 Amazon Relational Database Service Guide de l'utilisateur Annexe : Tâches courantes DBA pour Oracle Annexe : Tâches courantes DBA pour Oracle Cette section décrit les implémentations spécifiques à Amazon RDS de certaines tâches DBA courantes pour les instances DB exécutant le moteur de base de données Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances DB et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Pour plus d'informations sur l'utilisation des fichiers journaux Oracle sur Amazon RDS, consultez Fichiers journaux de base de données Oracle (p. 530) Tâches • Présentation Activation et désactivation de session restreinte (p. 213) Vidage du pool partagé (p. 213) Vidage du cache de tampons (p. 214) Déconnexion d'une session (pour version 11.2.0.3.v1 et ultérieure) (p. 214) Arrêt d'une session (p. 214) Nouvelle dénomination du nom global (pour version 11.2.0.3.v1 et ultérieure) (p. 214) Attribution de privilèges à des utilisateurs non-maîtres (p. 215) Modification des travaux DBMS_SCHEDULER (p. 215) • Journaux Changement de fichiers journaux en ligne (p. 216) Ajout, suppression et redimensionnement de journaux redo en ligne (p. 216) Déconnexion forcée d'une session (pour version 11.2.0.3.v1 et ultérieure) (p. 218) Conservation des journaux redo archivés (pour version 11.2.0.2.v7 et ultérieure) (p. 219) Définition d'une journalisation supplémentaire (pour version 11.2.0.3.v1 et ultérieure) (p. 219) • Bases de données Création et redimensionnement des espaces de table et des fichiers de données (p. 220) Configuration d'un espace de table par défaut (p. 220) Configuration d'un espace de table temporaire par défaut (p. 220) Point de contrôle de la base de données (p. 220) Définition d'une récupération distribuée (pour version 11.2.0.3.v1 et ultérieure) (p. 221) Attribution des privilèges SELECT ou EXECUTE aux objets SYS (pour version 11.2.0.3.v1 et ultérieure) (p. 221) Définition du fuseau horaire de la base de données (p. 221) API Version 2014-10-31 212 Utilisation d'AWR (Automatic Workload Repository) (p. 222) Amazon Relational Database Service Guide de l'utilisateur Activation et désactivation de session restreinte Réglage des liens de base de données pour une utilisation avec les instances DB dans un VPC (p. 222) Création de répertoires dans l'espace principal de stockage des données (pour version 11.2.0.4.v1 et ultérieure) (p. 222) Affichage et lecture de fichiers dans un répertoire d'instance DB (pour version 11.2.0.3.v1 et ultérieure) (p. 223) Activation et désactivation de session restreinte Méthode Oracle Méthode Amazon RDS alter system enable restricted session; exec rdsadmin.rdsadmin_util.restricted_session(true); alter system disable restricted session; exec rdsadmin.rdsadmin_util.restricted_session(false); L'exemple suivant montre comment activer et désactiver les sessions restreintes. select logins from v$instance; LOGINS ------ALLOWED exec rdsadmin.rdsadmin_util.restricted_session(true); select logins from v$instance; LOGINS ---------RESTRICTED exec rdsadmin.rdsadmin_util.restricted_session(false); select logins from v$instance; LOGINS ------ALLOWED Vidage du pool partagé Méthode Oracle Méthode Amazon RDS alter system flush shared_pool; exec rdsadmin.rdsadmin_util.flush_shared_pool; API Version 2014-10-31 213 Amazon Relational Database Service Guide de l'utilisateur Vidage du cache de tampons Vidage du cache de tampons Méthode Oracle Méthode Amazon RDS alter system flush buffer_cache; exec rdsadmin.rdsadmin_util.flush_buffer_cache; Déconnexion d'une session (pour version 11.2.0.3.v1 et ultérieure) La méthode Amazon RDS suivante déconnecte la session en cours en terminant le processus serveur dédié. Notez que la base de données doit être ouverte pour pouvoir utiliser cette méthode. Pour plus d'informations sur la déconnexion d'une session consultez la documentation Oracle. Vous devez spécifier à la fois le SID et le numéro de série de la session. Pour obtenir ces valeurs, interrogez la vue V$SESSION. Par exemple, la requête suivante affiche toutes les sessions de l'utilisateur AWSUSER : SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = 'AWSUSER'; Méthode Oracle Méthode Amazon RDS alter system disconnect session; exec rdsadmin.rdsadmin_util.disconnect(sid number, serial number, method varchar default 'IMMEDIATE'); Arrêt d'une session Méthode Oracle Méthode Amazon RDS alter system kill session ' sid, serial#' IMMEDIATE; exec rdsadmin.rdsadmin_util.kill(sid, serial#); Pour une utilisation avec la version 11.2.0.3.v1 ou ultérieure : exec rdsadmin.rdsadmin_util.kill(sid number, serial number, method varchar default null); Si vous utilisez une version 11.2.0.3.v1 ou supérieure, vous pouvez spécifier PROCESS comme valeur du paramètre method. Cela vous permet d'arrêter les processus associés à une session. Vous ne devez faire ce choix que si l'arrêt de la session n'a pas abouti. Nouvelle dénomination du nom global (pour version 11.2.0.3.v1 et ultérieure) La méthode Amazon RDS suivante modifie le nom global de la base de données. Notez que la base de données doit être ouverte pour que la modification du nom soit effective. Pour plus d'informations sur la modification du nom global d'une base de données, consultez la documentation Oracle. API Version 2014-10-31 214 Amazon Relational Database Service Guide de l'utilisateur Attribution de privilèges à des utilisateurs non-maîtres Méthode Oracle Méthode Amazon RDS alter database rename global_name; exec rdsadmin.rdsadmin_util.rename_global_name(p_new_global_name in varchar2); Attribution de privilèges à des utilisateurs non-maîtres L'exemple suivant crée un utilisateur non-maître user1 et attribue les privilèges CREATE SESSION et SELECT pour la base de données sh.sales : CREATE USER user1 IDENTIFIED BY password; GRANT CREATE SESSION TO user1; GRANT SELECT ON sh.sales TO user1; Vous pouvez attribuer des privilèges d'objet explicites pour les objets du schéma SYS à l'aide des rôles SELECT_CATALOG_ROLE et EXECUTE_CATALOG_ROLE. Le rôle SELECT_CATALOG_ROLE accorde aux utilisateurs les privilèges SELECT sur les vues du dictionnaire de données et le rôle EXECUTE_CATALOG_ROLE accorde aux utilisateurs les privilèges EXECUTE pour les packages et les procédures du dictionnaire de données. L'exemple suivant attribue le rôle SELECT_CATALOG_ROLE à un utilisateur nommé user1 : GRANT SELECT_CATALOG_ROLE TO user1; L'exemple suivant attribue le rôle EXECUTE_CATALOG_ROLE à un utilisateur nommé user1 : GRANT EXECUTE_CATALOG_ROLE TO user1; Pour afficher les autorisations que les rôles SELECT_CATALOG_ROLE et EXECUTE_CATALOG_ROLE accordent, utilisez la requête suivante : SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE IN ('SELECT_CATALOG_ROLE','EXECUTE_CATALOG_ROLE') ORDER BY ROLE, TABLE_NAME ASC; Modification des travaux DBMS_SCHEDULER Vous pouvez modifier les fenêtres et les travaux DBMS_SCHEDULER par défaut en suivant la documentation Oracle, mais vous n'avez pas besoin de préfixer WINDOW_NAME avec le nom de schéma SYS. Par exemple, avec une base de données Oracle locale, vous pouvez procéder comme suit : execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN',''); API Version 2014-10-31 215 Amazon Relational Database Service Guide de l'utilisateur Changement de fichiers journaux en ligne Pour une instance DB Amazon RDS, vous incluez le nom de schéma SYS : execute dbms_scheduler.set_attribute('SYS.MONDAY_WINDOW','RESOURCE_PLAN',''); Changement de fichiers journaux en ligne Vous pouvez utiliser la méthode Amazon RDS suivante pour échanger les fichiers journaux. Méthode Oracle Méthode Amazon RDS alter system switch logfile; exec rdsadmin.rdsadmin_util.switch_logfile; Ajout, suppression et redimensionnement de journaux redo en ligne Une instance Amazon RDS nouvellement créée à l'aide du moteur de base de données Oracle possède quatre journaux redo en ligne de 128 Mo. Notez que dans les cas où vous voulez ajouter plus de journaux, les mêmes restrictions s'appliquent à la dénomination des fichiers physiques comme pour les journaux redo en ligne. Utilisez les procédures suivantes pour ajouter ou supprimer les journaux redo : exec rdsadmin.rdsadmin_util.add_logfile(size bytes); exec rdsadmin.rdsadmin_util.drop_logfile(group#); Si vous utilisez une version 11.2.0.3.v1 ou ultérieure, vous pouvez spécifier le modificateur de taille également. Par exemple, la commande suivante ajoute un fichier journal de 100 Mo : exec rdsadmin.rdsadmin_util.add_logfile('100M'); exemple L'exemple suivant montre comment vous pouvez utiliser les procédures fournies par Amazon RDS pour redimensionner vos journaux redo en ligne en modifiant leur taille par défaut en 512 Mo. # Start with four 128m logs. SQL>select GROUP#, BYTES, STATUS from v$log; GROUP# BYTES STATUS ---------- ---------- ---------------1 134217728 INACTIVE 2 134217728 CURRENT 3 134217728 INACTIVE 4 134217728 INACTIVE 4 rows selected. # Add four new logs with that are each 512m. SQL>exec rdsadmin.rdsadmin_util.add_logfile(536870912); API Version 2014-10-31 216 Amazon Relational Database Service Guide de l'utilisateur Ajout, suppression et redimensionnement de journaux redo en ligne PL/SQL procedure successfully completed. SQL>exec rdsadmin.rdsadmin_util.add_logfile(536870912); PL/SQL procedure successfully completed. SQL>exec rdsadmin.rdsadmin_util.add_logfile(536870912); PL/SQL procedure successfully completed. SQL>exec rdsadmin.rdsadmin_util.add_logfile(536870912); PL/SQL procedure successfully completed. # Now query v$log to show that there are 8 logs: SQL>select GROUP#, BYTES, STATUS from v$log; GROUP# BYTES STATUS ---------- ---------- ---------------1 134217728 INACTIVE 2 134217728 CURRENT 3 134217728 INACTIVE 4 134217728 INACTIVE 5 536870912 UNUSED 6 536870912 UNUSED 7 536870912 UNUSED 8 536870912 UNUSED 8 rows selected. # Now, drop each INACTIVE log using the group#. SQL>exec rdsadmin.rdsadmin_util.drop_logfile(1); PL/SQL procedure successfully completed. SQL>exec rdsadmin.rdsadmin_util.drop_logfile(3); PL/SQL procedure successfully completed. SQL>exec rdsadmin.rdsadmin_util.drop_logfile(4); PL/SQL procedure successfully completed. # SQL>select GROUP#, BYTES, STATUS from v$log; GROUP# BYTES STATUS ---------- ---------- ---------------2 134217728 CURRENT 5 536870912 UNUSED 6 536870912 UNUSED 7 536870912 UNUSED 8 536870912 UNUSED 8 rows selected. # Switch logs so that group 2 is no longer current: SQL>exec rdsadmin.rdsadmin_util.switch_logfile; PL/SQL procedure successfully completed. # API Version 2014-10-31 217 Amazon Relational Database Service Guide de l'utilisateur Déconnexion forcée d'une session (pour version 11.2.0.3.v1 et ultérieure) SQL>select GROUP#, BYTES, STATUS from v$log; GROUP# BYTES STATUS ---------- ---------- ---------------2 134217728 ACTIVE 5 536870912 CURRENT 6 536870912 UNUSED 7 536870912 UNUSED 8 536870912 UNUSED 5 rows selected. # Issue a checkpoint to clear log 2 SQL>exec rdsadmin.rdsadmin_util.checkpoint; PL/SQL procedure successfully completed. # SQL>select GROUP#, BYTES, STATUS from v$log; GROUP# BYTES STATUS ---------- ---------- ---------------2 134217728 INACTIVE 5 536870912 CURRENT 6 536870912 UNUSED 7 536870912 UNUSED 8 536870912 UNUSED 5 rows selected. # Checkpointing clears log group 2 so that its status is now INACTIVE allowing us to drop the final log group 2: SQL>exec rdsadmin.rdsadmin_util.drop_logfile(2); PL/SQL procedure successfully completed. # Now, there are four 512m logs. Oracle using Oracle Managed Files (OMF) will automatically remove the old logfiles from the file system. SQL>select GROUP#, BYTES, STATUS from v$log; GROUP# BYTES STATUS ---------- ---------- ---------------5 536870912 CURRENT 6 536870912 UNUSED 7 536870912 UNUSED 8 536870912 UNUSED 4 rows selected. Déconnexion forcée d'une session (pour version 11.2.0.3.v1 et ultérieure) La méthode Amazon RDS suivante place la base de données en mode FORCE LOGGING ou la retire de ce mode. En mode FORCE LOGGING, Oracle enregistre toutes les modifications apportées à la base de données, à l'exception de celles des espaces de table temporaires et des segments temporaires. Pour plus d'informations sur la journalisation forcée, consultez la documentation Oracle. API Version 2014-10-31 218 Amazon Relational Database Service Guide de l'utilisateur Conservation des journaux redo archivés (pour version 11.2.0.2.v7 et ultérieure) Méthode Oracle Méthode Amazon RDS alter database [no] force logging; exec rdsadmin.rdsadmin_util.force_logging(p_enable in boolean := true); Conservation des journaux redo archivés (pour version 11.2.0.2.v7 et ultérieure) Vous pouvez conserver les journaux redo archivés sur votre instance DB pour les utiliser avec des produits comme Oracle LogMiner (DBMS_LOGMNR). Une fois que vous avez conservé les journaux redo, vous pouvez utiliser LogMiner pour analyser les journaux comme expliqué dans la documentation Oracle. Notez que vous devez vous assurer que votre instance DB comporte un stockage alloué suffisant pour stocker les journaux conservés. Utilisez la méthode Amazon RDS rdsadmin.rdsadmin_util.set_configuration pour conserver les journaux redo archivés. L'exemple suivant montre comment conserver les journaux redo pendant 24 heures : exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24); Si vous devez déterminer la quantité d'espace utilisée par votre instance DB dans les dernières X heures, vous pouvez exécuter la requête suivante, en remplaçant X par le nombre d'heures : select sum(blocks * block_size) bytes from v$archived_log where first_time >=sysdate-X/24 and dest_id=1; Définition d'une journalisation supplémentaire (pour version 11.2.0.3.v1 et ultérieure) La méthode Amazon RDS suivante active la journalisation supplémentaire, y compris la journalisation supplémentaire minimale. Oracle Database n'active pas la journalisation supplémentaire par défaut. La journalisation supplémentaire garantit que LogMiner et les produits qui utilisent la technologie auront les informations suffisantes pour prendre en charge les lignes chaînées et les différentes organisations de stockage, telles que les tables de cluster. Pour plus d'informations sur la journalisation supplémentaire, consultez la documentation Oracle. Méthode Oracle Méthode Amazon RDS alter database [add|drop] supplemental log; exec rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action in varchar2, p_type in varchar2 default NULL); alter database add supplemental log data (PRIMARY KEY) columns; exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY'); alter database add supplemental log data (ALL) columns; exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','ALL'); API Version 2014-10-31 219 Amazon Relational Database Service Guide de l'utilisateur Création et redimensionnement des espaces de table et des fichiers de données Méthode Oracle Méthode Amazon RDS alter database add supplemental log data (UNIQUE) columns; exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','UNIQUE'); Création et redimensionnement des espaces de table et des fichiers de données Amazon RDS ne prend en charge qu'Oracle Managed Files (OMF) pour les fichiers de données, les fichiers journaux et les fichiers de contrôle. Lors de la création de fichiers de données et de fichiers journaux, vous ne pouvez pas spécifier les noms de fichiers physiques. L'exemple suivant crée un espace de table : create tablespace users2; L'exemple suivant crée un espace de table temporaire : create temporary tablespace temp01; Comme le privilège système Oracle ALTER DATABASE n'est pas disponible sur Amazon RDS, vous devez utiliser ALTER TABLESPACE pour redimensionner un espace de table. L'exemple suivant redimensionne un espace de table de grand fichier nommé users2 en 200 Mo : alter tablespace users2 resize 200M; Pour les espaces de table de petits fichiers, vous devez ajouter un fichier de données supplémentaire, comme dans l'exemple suivant : ALTER TABLESPACE users2 ADD DATAFILE SIZE 100000M AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED; Configuration d'un espace de table par défaut Méthode Oracle Méthode Amazon RDS alter database default tablespace users2; exec rdsadmin.rdsadmin_util.alter_default_tablespace('users2'); Configuration d'un espace de table temporaire par défaut Méthode Oracle Méthode Amazon RDS alter database default temporary tablespace temp2; exec rdsadmin.rdsadmin_util.alter_default_temp_tablespace('temp2'); Point de contrôle de la base de données Méthode Oracle Méthode Amazon RDS alter system checkpoint; exec rdsadmin.rdsadmin_util.checkpoint; API Version 2014-10-31 220 Amazon Relational Database Service Guide de l'utilisateur Définition d'une récupération distribuée (pour version 11.2.0.3.v1 et ultérieure) Définition d'une récupération distribuée (pour version 11.2.0.3.v1 et ultérieure) Méthode Oracle Méthode Amazon RDS alter system enable/disable distributed recovery; exec rdsadmin.rdsadmin_util.enable_distr_recovery and rdsadmin_util.disable_distr_recovery (mydatabase); Attribution des privilèges SELECT ou EXECUTE aux objets SYS (pour version 11.2.0.3.v1 et ultérieure) En règle générale, vous pouvez utiliser grant select_catalog_role ou grant execute_catalog_role pour accorder des privilèges. Si vous devez accorder des privilèges à un seul objet au lieu d'utiliser un rôle qui peut contenir plusieurs objets, vous pouvez utiliser la méthode Amazon RDS grant_sys_object. La procédure suivante transfère les privilèges existants tels que SELECT et EXECUTE via un rôle vers un autre compte. Notez qu'elle n'attribue que les privilèges que le compte maître a déjà via un rôle ou une attribution directe. Méthode Oracle Méthode Amazon RDS grant select on V_$SESSION to myuser; exec rdsadmin.rdsadmin_util.grant_sys_object('V_ $SESSION','MYUSER'); Pour pouvoir attribuer des privilèges sur un objet, votre compte doit avoir ces privilèges directement attribués avec l'option appropriée ou via un rôle accordé avec WITH ADMIN OPTION. Dans le cas le plus fréquent, vous voudrez attribuer SELECT sur une vue DBA à laquelle a été attribué le rôle SELECT_CATALOG_ROLE. Si ce rôle n'est pas déjà directement attribué à votre utilisateur avec WITH ADMIN OPTION, vous ne pourrez pas transférer le privilège. Si vous disposez du privilège DBA, vous pouvez accorder le rôle directement à un autre utilisateur. Voici un exemple d'attribution initiale pour SELECT_CATALOG_ROLE et EXECUTE_CATALOG_ROLE : GRANT SELECT_CATALOG_ROLE TO user1 WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE TO user1 WITH ADMIN OPTION; Dans l'exemple précédent, comme WITH ADMIN OPTION a été utilisé lors de l'attribution de l'accès à « user1 », « user1 » peut accorder l'accès aux objets SYS attribués à SELECT_CATALOG_ROLE. Notez que les objets déjà attribués à PUBLIC n'ont pas besoin d'être réattribués, mais si vous utilisez la procédure grant_sys_object pour réattribuer l'accès, la procédure n'échouera pas. Notez aussi que les noms d'objet doivent être orthographiés correctement tels qu'ils apparaissent dans DBA_OBJECTS (la plupart des objets SYS étant définis en MAJUSCULES, il est recommandé d'utiliser cette solution en premier). Définition du fuseau horaire de la base de données Vous pouvez modifier le fuseau horaire d'une base de données de deux façons, avec la commande rdsadmin_util.alter_db_time_zone ou avec l'option Fuseau horaire Oracle (p. 210). La commande rdsadmin_util.alter_db_time_zone modifie le fuseau horaire pour certains types de date uniquement et ne modifie pas SYSDATE ; elle doit être utilisée avec les versions 11.2.0.2.v4 ou ultérieure. L'option API Version 2014-10-31 221 Amazon Relational Database Service Guide de l'utilisateur Utilisation d'AWR (Automatic Workload Repository) Timezone modifie le fuseau horaire au niveau de l'hôte et impacte toutes les valeurs et colonnes date, telles que SYSDATE. Méthode Oracle Méthode Amazon RDS alter database set time_zone = '+3:00'; exec rdsadmin.rdsadmin_util.alter_db_time_zone('+3:00'); Après avoir modifié le fuseau horaire, vous devez redémarrer l'instance DB pour que la modification prenne effet. Il existe des restrictions supplémentaires sur la définition des fuseaux horaires, répertoriées dans la documentation Oracle. Utilisation d'AWR (Automatic Workload Repository) Si vous utilisez Oracle Enterprise Edition et voulez utiliser AWR, vous pouvez l'activer en modifiant le paramètre CONTROL_MANAGEMENT_PACK_ACCESS. Oracle AWR inclut plusieurs scripts de génération d'états, tels que awrrpt.sql, qui sont installés sur le serveur hôte. Comme vous n'avez pas accès aux répertoires de l'hôte, vous pouvez télécharger les scripts depuis Oracle ou les générer à l'aide d'Oracle Enterprise Manager (OEM). Réglage des liens de base de données pour une utilisation avec les instances DB dans un VPC Pour utiliser les liens de base de données Oracle avec les instances DB à l'intérieur d'un VPC, les deux instances doivent être dans le même VPC ou vous devez créer un groupe de sécurité EC2 ou VPC dont les deux instances DB sont membres. Par exemple, lors de l'utilisation d'Oracle Data Pump et d'Oracle DBLinks pour déplacer les données entre instances DB, ces dernières doivent être membres du groupe de sécurité VPC ou EC2, ou se trouver dans le même VPC. Pour plus d'informations sur l'utilisation des liens de base de données avec Oracle Data Pump, consultez Oracle Data Pump (p. 191). Création de répertoires dans l'espace principal de stockage des données (pour version 11.2.0.4.v1 et ultérieure) Une instance DB est fournie avec un ensemble de répertoires ; vous pouvez créer des répertoires supplémentaires à l'aide de la méthode Amazon RDS suivante. La méthode create_directory() vous permet de créer jusqu'à 10 répertoires, tous situés dans votre espace principal de stockage des données. L'exemple suivant utilise la méthode pour créer un répertoire nommé « MY DIR ». Méthode Oracle Méthode Amazon RDS create directory MY_DIR as '/my/ os/pathname'; exec rdsadmin.rdsadmin_util.create_directory('MY_DIR'); Vous pouvez afficher les répertoires en interrogeant la vue DBA_DIRECTORIES. Notez que le système a choisi le nom du chemin réel de l'hôte automatiquement : API Version 2014-10-31 222 Amazon Relational Database Service Guide de l'utilisateur Affichage et lecture de fichiers dans un répertoire d'instance DB (pour version 11.2.0.3.v1 et ultérieure) select * from DBA_DIRECTORIES where directory_name='MY_DIR'; select directory_path from DBA_DIRECTORIES where directory_name='MY_DIR'; DIRECTORY_PATH ---------------------------------------/rdsdbdata/userdirs/01 Le nom utilisateur maître de l'instance DB a les privilèges de lecture et d'écriture dans le nouveau répertoire, et peut accorder l'accès à d'autres utilisateurs. Notez que les privilèges « execute » ne sont pas disponibles pour les répertoires d'une instance DB. Les répertoires sont créés dans votre espace principal de stockage des données et consomment de l'espace, ainsi que de la bande passante d'E/S. Vous pouvez supprimer un répertoire que vous avez créé avec la commande Oracle drop directory. La suppression d'un répertoire ne supprime pas son contenu ; comme la méthode create_directory() peut réutiliser les noms de chemin, les fichiers des répertoires supprimés peuvent apparaître dans un répertoire nouvellement créé. Avant de supprimer un répertoire, vous devez utiliser UTL_FILE.FREMOVE pour supprimer les fichiers du répertoire. Affichage et lecture de fichiers dans un répertoire d'instance DB (pour version 11.2.0.3.v1 et ultérieure) Vous pouvez utiliser la méthode Amazon RDS RDSADMIN.RDS_FILE_UTIL.LISTDIR() pour afficher les fichiers d'un répertoire d'instance DB (depuis DBA_DIRECTORIES) auxquels vous avez accès : select * from table(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')); Si vous rechercher un texte que vous voulez lire, vous pouvez utiliser la méthode Amazon RDS RDSADMIN.RDS_FILE_UTIL.READ_TEXT_FILE(). L'exemple suivant lit le fichier filename.log du répertoire DATA_PUMP_DIR : select * from table(RDSADMIN.RDS_FILE_UTIL.READ_TEXT_FILE('DATA_PUMP_DIR','filename.log')); API Version 2014-10-31 223 Amazon Relational Database Service Guide de l'utilisateur Annexe : Utilisation d'Oracle GoldenGate avec Amazon RDS Annexe : Utilisation d'Oracle GoldenGate avec Amazon RDS Oracle GoldenGate permet de collecter, de répliquer et de gérer les données transactionnelles entre bases de données. Il s'agit d'un package logiciel de réplication et de capture de données modifiées basé sur les journaux utilisé avec les bases de données Oracle pour les systèmes de traitement transactionnel en ligne (OLTP). GoldenGate crée des fichiers de suivi qui contiennent les dernières données modifiées de la base de données source, puis les publie sur la base de données cible. Vous pouvez utiliser Oracle GoldenGate avec Amazon RDS pour la réplication de base de données Active-Active, la migration et les mises à niveau sans interruption, la reprise après sinistre, la protection des données et la réplication intra-région et interrégions. Rubriques • Configuration d'un hub GoldenGate Oracle sur EC2 (p. 225) • Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS (p. 227) • Configuration d'une base de données cible à utiliser avec GoldenGate sur Amazon RDS (p. 231) • Utilisation des utilitaires de réplica et d'extraction Oracle GoldenGate (p. 232) • Dépannage de problèmes lors de l'utilisation d'Oracle GoldenGate avec Amazon RDS (p. 234) Les points suivants sont importants à connaître lors de l'utilisation d'Oracle GoldenGate sur Amazon RDS : • Oracle GoldenGate avec Amazon RDS est disponible sous le modèle « Bring-your-own-license » dans toutes les régions AWS. Vous êtes responsable de la configuration et de la gestion de GoldenGate sur Amazon RDS. • Vous pouvez utiliser GoldenGate sur Amazon RDS avec Oracle Database Standard Edition One (SE1), Standard Edition (SE) et Enterprise Edition (EE). • La version de la base de données Oracle doit être 11.2.0.3 ou 11.2.0.4 et vous devez utiliser Oracle GoldenGate version 11.2.1. • Amazon RDS prend en charge la migration et la réplication sur des bases de données Oracle utilisant Oracle GoldenGate. Nous ne prenons pas en charge, ni n'empêchons les migrations ou les réplications client entre des bases de données hétérogènes. • Vous pouvez utiliser GoldenGate sur des instances DB Oracle Amazon RDS qui utilisent Oracle TDE (Transparent Data Encryption). Du fait que les fichiers de suivi enregistrent des données non chiffrées par défaut, vous devez chiffrer le pipeline entre l'instance source, le hub GoldenGate et l'instance cible en utilisant le chiffrement sqlnet.ora. Pour plus d'informations sur le chiffrement sqlnet.ora, consultez la documentation Oracle. • Actuellement, Oracle GoldenGate DDL n'est pas pris en charge. L'architecture Oracle GoldenGate à utiliser avec Amazon RDS se compose de trois modules découplés. La base de données source peut être au choix une base de données Oracle sur site, une base de données Oracle sur une instance EC2, ou une base de données Oracle sur une instance DB Amazon RDS. Ensuite, le hub GoldenGate, qui déplace des informations de transaction de la base de donnée source à la base de données cible, peut être soit une instance EC2 avec Oracle Database 11.2.0.3 ou 11.2.0.4 et avec GoldenGate 11.2.1 installés, soit une installation Oracle sur site. Vous pouvez avoir plus d'un hub EC2, et nous vous recommandons d'utiliser deux hubs si vous utilisez GoldenGate pour une réplication interrégions. Enfin, la base de données cible peut être au choix sur une instance DB Amazon RDS, sur une instance EC2 ou sur un emplacement sur site. Oracle GoldenGate sur Amazon RDS prend en charge les scénarios courants suivants : Scénario 1 : Une base de données source Oracle sur site et un hub Oracle GoldenGate sur site qui fournit les données à une instance DB Amazon RDS cible. API Version 2014-10-31 224 Amazon Relational Database Service Guide de l'utilisateur Configuration d'un hub GoldenGate Oracle sur EC2 Scénario 2 : Une base de données Oracle sur site qui agit comme la base de données source, connectée à un hub d'instance Amazon EC2 qui fournit des données à une instance DB Amazon RDS cible. Scénario 3 : Une base de données Oracle sur une instance DB Amazon RDS qui agit comme la base de données source, connectée à un hub d'instance Amazon EC2 qui fournit des données à une instance DB Amazon RDS cible. Scénario 4 : Une base de données Oracle sur une instance EC2 Amazon qui agit comme la base de données source, connectée à un hub d'instance Amazon EC2 qui fournit des données à une instance DB Amazon RDS cible. Scénario 5 : Une base de données Oracle sur une instance DB Amazon RDS connectée à un hub d'instance EC2 Amazon de la même région, connectée à un hub d'instance EC2 Amazon d'une autre région qui fournit des données à l'instance DB Amazon RDS cible de la même région en tant que second hub d'instance EC2. Note Tout problème ayant un impact sur l'exécution d'Oracle GoldenGate sur un environnement sur site aura également un impact sur l'exécution de GoldenGate sur AWS. Nous vous recommandons fortement de surveiller le hub GoldenGate afin de vous assurer que les valeurs Extract et Replicat sont reprises en cas de basculement. Du fait que le hub GoldenGate est exécuté sur une instance EC2 Amazon, Amazon RDS ne gère pas le hub GoldenGate et ne peut pas garantir qu'il soit en cours d'exécution. Vous pouvez utiliser GoldenGate avec Amazon RDS pour mettre à niveau vers des versions majeures d'Oracle. Par exemple, vous pouvez utiliser GoldenGate avec Amazon RDS pour mettre à niveau d'une base de données sur site Oracle version 8 vers une base de données Oracle exécutant la version 11.2.0.3 ou 11.2.0.4 sur une instance DB Amazon RDS. Pour configurer Oracle GoldenGate en utilisant Amazon RDS, vous configurez le hub sur l'instance EC2, puis vous configurez les bases de données source et cible. Les étapes suivantes montrent comment configurer GoldenGate pour une utilisation avec Amazon RDS. Chaque étape est expliquée en détail dans les sections suivantes : • Configuration d'un hub GoldenGate Oracle sur EC2 (p. 225) • Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS (p. 227) • Configuration d'une base de données cible à utiliser avec GoldenGate sur Amazon RDS (p. 231) • Utilisation des utilitaires de réplica et d'extraction Oracle GoldenGate (p. 232) Configuration d'un hub GoldenGate Oracle sur EC2 Plusieurs étapes conduisent à la création d'un hub GoldenGate Oracle sur une instance EC2 Amazon. Vous commencez par créer une instance EC2 avec une installation complète d'Oracle DBMS 11g version 11.2.0.3 ou 11.2.0.4. L'instance EC2 doit également être équipée du logiciel Oracle GoldenGate 11.2.1 et vous devez avoir le correctif Oracle 13328193 installé. Pour plus d'informations sur l'installation de GoldenGate, consultez la documentation Oracle. Du fait que l'instance EC2 qui sert de hub GoldenGate stocke et traite les informations de transaction de la base de données source vers des fichiers de suivi, vous devez disposer de suffisamment de stockage alloué pour stocker les fichiers de suivi. Vous devez également vous assurer que l'instance EC2 dispose de suffisamment de puissance de traitement pour gérer le volume de données en cours de traitement et de suffisamment de mémoire pour stocker les informations de transaction avant de les consigner dans le fichier de suivi. API Version 2014-10-31 225 Amazon Relational Database Service Guide de l'utilisateur Configuration d'un hub GoldenGate Oracle sur EC2 Les tâches suivantes configurent un hub GoldenGate sur une instance EC2 Amazon. Chaque tâche est expliquée en détail dans cette section. Ces tâches incluent les suivantes : • Ajouter un alias au fichier tnsname.ora • Créer les sous-répertoires GoldenGate • Mettre à jour le fichier de paramètres GLOBALS • Configurer le fichier mgr.prm et démarrer le manager Ajouter l'entrée suivante au fichier tnsname.ora pour créer un alias. Pour plus d'informations sur le fichier tnsname.ora, consultez la documentation Oracle. $ cat /example/config/tnsnames.ora TEST= (DESCRIPTION= (ENABLE=BROKEN) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-test.abcdef12345.us-west-2.rds.amazonaws.com) (PORT=8200)) ) (CONNECT_DATA= (SID=ORCL) ) ) Créez ensuite des sous-répertoires dans le répertoire GoldenGate en utilisant l'interpréteur de ligne de commande EC2 et ggsci, l'interpréteur de commandes GoldenGate. Les sous-répertoires sont créés sous le répertoire gg et incluent des répertoires pour des fichiers de point de contrôle, de rapport et de paramètres. prompt$ cd /gg prompt$ ./ggsci GGSCI> CREATE SUBDIRS Créez un fichier de paramètres GLOBALS en utilisant l'interpréteur de ligne de commande EC2. Les paramètres qui affectent tous les processus GoldenGate sont définis dans le fichier de paramètres GLOBALS. L'exemple suivant crée le fichier nécessaire : prompt$ cd $GGHOME prompt$ vi GLOBALS CheckpointTable oggadm1.oggchkpt La dernière étape dans la configuration du hub GoldenGate consiste à configurer le manager. Ajoutez les lignes suivantes au fichier mgr.prm, puis démarrez le manager en utilisant ggsci: PORT 8199 PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5 GGSCI> start mgr API Version 2014-10-31 226 Amazon Relational Database Service Guide de l'utilisateur Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS Une fois ces étapes réalisées, le hub GoldenGate est prêt à être utilisé. Vous configurez ensuite les bases de données source et cible. Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS Plusieurs différences existent dans les étapes de configuration entre une base de données source exécutant Oracle version 11.2.0.3 et version 11.2.0.4. Consultez la version adéquate pour les étapes de configuration qui conviennent. Rubriques • Pour des bases de données source exécutant Oracle 11.2.0.3 (p. 227) • Pour des bases de données source exécutant Oracle 11.2.0.4, ou version ultérieure (p. 229) Pour des bases de données source exécutant Oracle 11.2.0.3 Les tâches suivantes configurent une base de données source exécutant la version 11.2.0.3 à utiliser avec GoldenGate ; chaque tâche est expliquée en détail dans cette section. Ces tâches incluent les suivantes : • Définissez le paramètre compatible sur 11.2.0.3. • Activez la journalisation supplémentaire. • Définissez la période de conservation pour les journaux redo archivés pour la base de données source GoldenGate. • Créez un compte utilisateur GoldenGate sur la base de données source. • Accordez les privilèges nécessaires à l'utilisateur GoldenGate. La base de données source doit inclure le jeu de paramètres compatible défini sur 11.2.0.3. Si vous utilisez une base de données Oracle sur une instance DB Amazon RDS comme base de données source, vous devez avoir un groupe de paramètres avec le jeu de paramètres compatible défini sur 11.2.0.3 associé à l'instance DB. Si vous modifiez le paramètre compatible dans un groupe de paramètres associé à l'instance DB, la modification requiert un redémarrage d'instance. Vous pouvez utiliser les commandes Amazon RDS CLI suivantes pour créer un groupe de paramètres et définir le paramètre compatible. Veuillez noter que vous devez associer le nouveau groupe de paramètres à l'instance DB source : rds-create-db-parameter-group example-goldengate -d "Parameters to allow GoldenGate" -f oracle-ee-11.2 rds-modify-db-parameter-group example-goldengate -p "name=compatible, value=11.2.0.3, method=pending-reboot" rds-modify-db-instance example-test -g example-goldengate [dash dash]apply-immediately rds-reboot-db-instance example-test Conservez toujours le groupe de paramètres avec le paramètre compatible. Si vous restaurez une instance depuis un snapshot DB, vous devez modifier l'instance restaurée pour utiliser le groupe de paramètres associé à une valeur de paramètre compatible correspondante ou supérieure. Cela doit être effectué au plus tôt après l'action de restauration et nécessitera un redémarrage de l'instance. Le paramètre de journalisation supplémentaire doit être activé pour la base de données source. Si vous utilisez une base de données Oracle sur une instance DB Amazon RDS comme base de données source, vous pouvez utiliser les procédures Amazon RDS suivantes pour activer la journalisation supplémentaire : API Version 2014-10-31 227 Amazon Relational Database Service Guide de l'utilisateur Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD'); exec rdsadmin.rdsadmin_util.force_logging(true); exec rdsadmin.rdsadmin_util.switch_logfile; La base de données source doit également conserver les journaux redo archivés. Par exemple, la commande suivante définit sur 24 heures la période de conservation pour les journaux redo archivés : exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24); La durée de conservation des journaux est spécifiée en heures. La durée doit dépasser tout éventuel temps d'arrêt de l'instance source ou tout problème potentiel de communication/mise en réseau sur l'instance source, afin qu'Oracle GoldenGate puisse récupérer des journaux depuis l'instance source si nécessaire. La valeur minimum absolue requise est d'une (1) heure de conservation des journaux. Un paramètre de conservation de journal qui est trop petit entraînera le message suivant : ERROR OGG-02028 Failed to attach to logmining server OGG$<extract_name> error 26927 ORA-26927: altering an outbound server with a remote capture is not allowed. Etant donné que ces journaux sont conservés dans votre instance de base de données, vous devez vous assurer que vous disposez de suffisamment d'espace de stockage sur votre instance pour accueillir les fichiers journaux. Pour vérifier la quantité d'espace utilisé au cours des « X » dernière heures, utilisez la requête suivante, en remplaçant « X » par le nombre d'heures. select sum(blocks * block_size) bytes from v$archived_log where next_time>=sysdate-X/24 and dest_id=1; GoldenGate s'exécute comme un utilisateur de base de données et doit avoir les privilèges de base de données adéquats pour accéder aux journaux redo et d'archivage pour la base de données source. Vous devez donc créer un compte utilisateur GoldenGate sur la base de données source. Pour plus d'informations sur les autorisations pour un compte utilisateur GoldenGate, consultez la section 4, la section 4.4 et la table 4.1 dans la documentation Oracle. Les affirmations suivantes créent un compte utilisateur nommé oggadm1 : CREATE tablespace administrator; CREATE USER oggadm1 IDENTIFIED BY "XXXXXX" default tablespace ADMINISTRATOR temporary tablespace TEMP; Enfin, accordez les privilèges nécessaires au compte utilisateur GoldenGate. Les affirmations suivantes accordent des privilèges à un utilisateur nommé oggadm1 : grant create session, alter session to oggadm1; grant resource to oggadm1; API Version 2014-10-31 228 Amazon Relational Database Service Guide de l'utilisateur Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS grant select any dictionary to oggadm1; grant flashback any table to oggadm1; grant select any table to oggadm1; grant select_catalog_role to <RDS instance master username> with admin option; exec RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT ('DBA_CLUSTERS', 'OGGADM1'); grant execute on dbms_flashback to oggadm1; grant select on SYS.v_$database to oggadm1; grant alter any table to oggadm1; EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (grantee=>'OGGADM1',privilege_type=>'capture',grant_select_privileges=>true, do_grants=>TRUE); Pour des bases de données source exécutant Oracle 11.2.0.4, ou version ultérieure Lorsque votre base de données source exécute la version 11.2.0.4, ou une version ultérieure, vous devez accomplir trois tâches pour configurer une base de données source à utiliser avec GoldenGate : • Définissez le paramètre compatible sur 11.2.0.4, ou une version ultérieure. • Définissez le paramètre ENABLE_GOLDENGATE_REPLICATION sur True. Ce paramètre active la journalisation supplémentaire pour la base de données source. Si votre base de données source est sur une instance DB Amazon RDS, vous devez avoir un groupe de paramètres affecté à l'instance DB avec le jeu de paramètres ENABLE_GOLDENGATE_REPLICATION défini sur true. Pour plus d'informations sur le paramètre ENABLE_GOLDENGATE_REPLICATION, consultez la documentation Oracle. • Définissez la période de conservation pour les journaux redo archivés pour la base de données source GoldenGate. • Créez un compte utilisateur GoldenGate sur la base de données source. • Accordez les privilèges nécessaires à l'utilisateur GoldenGate. Le jeu de paramètres compatible doit être défini sur 11.2.0.4, ou version ultérieure, pour la base de données source. Si vous utilisez une base de données Oracle sur une instance DB Amazon RDS comme base de données source, vous devez avoir un groupe de paramètres avec le jeu de paramètres compatible défini sur 11.2.0.4, ou version ultérieure, associé à l'instance DB. Si vous modifiez le paramètre compatible dans un groupe de paramètres associé à l'instance DB, la modification requiert un redémarrage d'instance. Vous pouvez utiliser les commandes Amazon RDS CLI suivantes pour créer un groupe de paramètres et définir le paramètre compatible. Veuillez noter que vous devez associer le nouveau groupe de paramètres à l'instance DB source : rds-create-db-parameter-group example-goldengate -d "Parameters to allow GoldenGate" -f oracle-ee-11.2 rds-modify-db-parameter-group example-goldengate -p "name=compatible, value=11.2.0.4, method=pending-reboot" rds-modify-db-instance example-test -g example-goldengate --apply-immediately rds-reboot-db-instance example-test Conservez toujours le groupe de paramètres avec le paramètre compatible. Si vous restaurez une instance depuis un snapshot DB, vous devez modifier l'instance restaurée pour utiliser le groupe de paramètres associé à une valeur de paramètre compatible correspondante ou supérieure. Cela doit être effectué au plus tôt après l'action de restauration et nécessitera un redémarrage de l'instance. Le paramètre ENABLE_GOLDENGATE_REPLICATION, lorsqu'il est défini sur True, active la journalisation supplémentaire pour la base de données source et configure les autorisations GoldenGate requises. API Version 2014-10-31 229 Amazon Relational Database Service Guide de l'utilisateur Configuration d'une base de données source à utiliser avec GoldenGate sur Amazon RDS Si votre base de données source est sur une instance DB Amazon RDS, vous devez avoir un groupe de paramètres affecté à l'instance DB avec le jeu de paramètres ENABLE_GOLDENGATE_REPLICATION défini sur true. Pour plus d'informations sur le paramètre ENABLE_GOLDENGATE_REPLICATION, consultez la documentation Oracle. La base de données source doit également conserver les journaux redo archivés. Par exemple, la commande suivante définit sur 24 heures la période de conservation pour les journaux redo archivés : exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24); La durée de conservation des journaux est spécifiée en heures. La durée doit dépasser tout éventuel temps d'arrêt de l'instance source ou tout problème potentiel de communication/mise en réseau sur l'instance source, afin qu'Oracle GoldenGate puisse récupérer des journaux depuis l'instance source si nécessaire. La valeur minimum absolue requise est d'une (1) heure de conservation des journaux. Un paramètre de conservation de journal qui est trop petit entraînera le message suivant : ERROR OGG-02028 Failed to attach to logmining server OGG$<extract_name> error 26927 ORA-26927: altering an outbound server with a remote capture is not allowed. Etant donné que ces journaux sont conservés dans votre instance de base de données, vous devez vous assurer que vous disposez de suffisamment d'espace de stockage sur votre instance pour accueillir les fichiers journaux. Pour vérifier la quantité d'espace utilisé au cours des « X » dernière heures, utilisez la requête suivante, en remplaçant « X » par le nombre d'heures. select sum(blocks * block_size) bytes from v$archived_log where next_time>=sysdate-X/24 and dest_id=1; GoldenGate s'exécute comme un utilisateur de base de données et doit avoir les privilèges de base de données adéquats pour accéder aux journaux redo et d'archivage pour la base de données source. Vous devez donc créer un compte utilisateur GoldenGate sur la base de données source. Pour plus d'informations sur les autorisations pour un compte utilisateur GoldenGate, consultez la section 4, la section 4.4 et la table 4.1 dans la documentation Oracle. Les affirmations suivantes créent un compte utilisateur nommé oggadm1 : CREATE tablespace administrator; CREATE USER oggadm1 IDENTIFIED BY "XXXXXX" default tablespace ADMINISTRATOR temporary tablespace TEMP; Enfin, accordez les privilèges nécessaires au compte utilisateur GoldenGate. Les affirmations suivantes accordent des privilèges à un utilisateur nommé oggadm1 : grant grant grant grant create session, alter session to oggadm1; resource to oggadm1; select any dictionary to oggadm1; flashback any table to oggadm1; API Version 2014-10-31 230 Amazon Relational Database Service Guide de l'utilisateur Configuration d'une base de données cible à utiliser avec GoldenGate sur Amazon RDS grant select any table to oggadm1; grant select_catalog_role to <RDS instance master username> with admin option; exec RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT ('DBA_CLUSTERS', 'OGGADM1'); grant execute on dbms_flashback to oggadm1; grant select on SYS.v_$database to oggadm1; grant alter any table to oggadm1; EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (grantee=>'OGGADM1',privilege_type=>'capture',grant_select_privileges=>true, do_grants=>TRUE); Configuration d'une base de données cible à utiliser avec GoldenGate sur Amazon RDS Les tâches suivantes configurent une instance de base de données cible à utiliser avec GoldenGate ; chaque tâches est décrite en détail dans cette section. Ces tâches incluent les suivantes : • Créer et gérer un compte utilisateur GoldenGate sur la base de données cible • Accorder les privilèges nécessaires à l'utilisateur GoldenGate GoldenGate s'exécute comme un utilisateur de base de données et doit avoir les privilèges de base de données adéquats. Vous devez donc créer un compte utilisateur GoldenGate sur la base de données cible. Les affirmations suivantes créent un utilisateur nommé oggadm1 : create tablespace administrator; create tablespace administrator_idx; CREATE USER oggadm1 IDENTIFIED BY "XXXXXX" default tablespace ADMINISTRATOR temporary tablespace TEMP; alter user oggadm1 quota unlimited on ADMINISTRATOR; alter user oggadm1 quota unlimited on ADMINISTRATOR_IDX; Enfin, accordez les privilèges nécessaires au compte utilisateur GoldenGate. Les affirmations suivantes accordent des privilèges à un utilisateur nommé oggadm1 : grant grant grant grant grant grant grant grant grant grant grant grant grant grant grant grant grant grant create session to alter session to CREATE CLUSTER to CREATE INDEXTYPE to CREATE OPERATOR to CREATE PROCEDURE to CREATE SEQUENCE to CREATE TABLE to CREATE TRIGGER to CREATE TYPE to select any dictionary to create any table to alter any table to lock any table to select any table to insert any table to update any table to delete any table to oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; oggadm1; API Version 2014-10-31 231 Amazon Relational Database Service Guide de l'utilisateur Utilisation des utilitaires de réplica et d'extraction Oracle GoldenGate Utilisation des utilitaires de réplica et d'extraction Oracle GoldenGate Les utilitaires Oracle GoldenGate Extract et Replicat s'associent pour maintenir la synchronisation des bases de données source et cible via la réplication de transaction incrémentielle en utilisant des fichiers de suivi. Toutes les modifications qui interviennent sur la base de données source sont automatiquement détectées par Extract, puis formatées et transférées vers des fichiers de suivi sur le hub d'instance EC2 ou sur site GoldenGate. Après le chargement initial, les données sont lues depuis ces fichiers et répliquées sur la base de données cible par l'utilitaire Replicat. Exécution de l'utilitaire Extract d'Oracle GoldenGate L'utilitaire Extract récupère, convertit et produit des données de la base de données source vers les fichiers de suivi. Extract met en file d'attente des détails de transaction vers la mémoire ou un stockage disque temporaire. Lorsque la transaction est validée sur la base de données source, Extract purge tous les détails de la transaction dans un fichier de suivi pour acheminer vers le hub d'instance EC2 ou sur site GoldenGate, puis vers la base de données cible. Les tâches suivantes activent et démarrent l'utilitaire Extract : • Configurez le fichier de paramètres Extract sur le hub GoldenGate (instance EC2 ou sur site). La liste suivante affiche un exemple de fichier de paramètre Extract. EXTRACT EABC SETENV (ORACLE_SID=ORCL) SETENV (NLSLANG=AL32UTF8) USERID oggadm1@TEST, PASSWORD XXXXXX EXTTRAIL /path/to/goldengate/dirdat/ab IGNOREREPLICATES GETAPPLOPS TRANLOGOPTIONS EXCLUDEUSER OGGADM1 TABLE EXAMPLE.TABLE; • Sur le hub GoldenGate, lancez l'interface de ligne de commande GoldenGate (ggsci). Connectez-vous à la base de données source. L'exemple suivant illustre le format pour la connexion : dblogin userid <user>@<db tnsname> • Ajoutez une table de point de contrôle pour la base de données : add checkpointtable • Ajoutez transdata pour activer la journalisation supplémentaire pour la table de base de données : add trandata <user>.<table> API Version 2014-10-31 232 Amazon Relational Database Service Guide de l'utilisateur Utilisation des utilitaires de réplica et d'extraction Oracle GoldenGate Vous pouvez sinon ajouter transdata pour activer la journalisation supplémentaire pour toutes les tables de base de données : add trandata <user>.* • En utilisant la ligne de commande ggsci, activez l'utilitaire Extract en utilisant les commandes suivantes : add extract <extract name> tranlog, INTEGRATED tranlog, begin now add exttrail <path-to-trail-from-the param-file> extract <extractname-from-paramfile>, MEGABYTES Xm • Enregistrez l'utilitaire Extract avec la base de données afin que les journaux d'archivage ne soient pas supprimés. Cela vous permet de récupérer d'anciennes transactions non validées, si nécessaire. Pour enregistrer l'utilitaire Extract avec la base de données, utilisez la commande suivante : register EXTRACT <extract process name>, DATABASE • Pour démarrer l'utilitaire Extract, utilisez la commande suivante : start <extract process name> Exécution de l'utilitaire Replicat d'Oracle GoldenGate L'utilitaire Replicat est utilisé pour « pousser » des informations de transaction dans les fichiers de suivi vers la base de données cible. Les tâches suivantes activent et démarrent l'utilitaire Replicat : • Configurez le fichier de paramètres Replicat sur le hub GoldenGate (instance EC2 ou sur site). La liste suivante affiche un exemple de fichier de paramètre Replicat. REPLICAT RABC SETENV (ORACLE_SID=ORCL) SETENV (NLSLANG=AL32UTF8) USERID oggadm1@TARGET, password XXXXXX ASSUMETARGETDEFS MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE; API Version 2014-10-31 233 Amazon Relational Database Service Guide de l'utilisateur Dépannage de problèmes lors de l'utilisation d'Oracle GoldenGate avec Amazon RDS • Lancez l'interface de ligne de commande GoldenGate (ggsci). Connectez-vous à la base de données cible. L'exemple suivant illustre le format pour la connexion : dblogin userid <user>@<db tnsname> • En utilisant la ligne de commande ggsci, ajoutez une table de point de contrôle. Veuillez noter que l'utilisateur indiqué doit être le compte utilisateur GoldenGate, et non pas le propriétaire de schéma de table cible. L'exemple suivant crée une table de point de contrôle nommée gg_checkpoint. add checkpointtable <user>.gg_checkpoint • Pour activer l'utilitaire replicat, utilisez la commande suivante : add replicat <replicat name> EXTTRAIL <extract trail file> CHECKPOINTTABLE <user>.gg_checkpoint • Pour démarrer l'utilitaire replicat, utilisez la commande suivante : start <replicat name> Dépannage de problèmes lors de l'utilisation d'Oracle GoldenGate avec Amazon RDS Cette section explique les problèmes les plus courants lors de l'utilisation de GoldenGate avec Amazon RDS. Rubriques • Utilisation de GoldenGate avec des instances Amazon EC2 (p. 234) • Conservation de journal (p. 235) Utilisation de GoldenGate avec des instances Amazon EC2 Si vous utilisez GoldenGate avec une instance EC2, cette dernière doit bénéficier d'une installation complète d'Oracle DBMS 11g version 11.2.0.4. L'instance EC2 doit également être équipée du logiciel Oracle GoldenGate 11.2.1 et vous devez avoir le correctif Oracle 13328193 installé. Si ces éléments ne sont pas correctement installés, le message d'erreur suivant s'affichera : API Version 2014-10-31 234 Amazon Relational Database Service Guide de l'utilisateur Dépannage de problèmes lors de l'utilisation d'Oracle GoldenGate avec Amazon RDS 2014-03-06 07:09:21 ERROR OGG-02021 support integrated capture. This database lacks the required libraries to Pour déterminer les correctifs actuellement installés, exécutez la commande opatch lsinventory sur votre instance EC2. Conservation de journal Une conservation de journal doit être activée. Dans le cas contraire, ou si la valeur de conservation est trop petite, vous verrez le message suivant : 2014-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306Not able to establish initial position for begin time 2014-03-06 06:16:55. API Version 2014-10-31 235 Amazon Relational Database Service Guide de l'utilisateur Annexe : utilisation de AWS CloudHSM pour stocker des clés TDE Oracle Amazon RDS Annexe : utilisation de AWS CloudHSM pour stocker des clés TDE Oracle Amazon RDS AWS CloudHSM est un service qui vous permet d'utiliser une appliance matérielle appelée un module de sécurité matériel (HSM) fournissant un stockage de clé sécurisée et des opérations de chiffrement. Vous pouvez utiliser AWS CloudHSM avec une instance DB Oracle Enterprise Edition pour stocker des clés TDE lors de l'utilisation d'Oracle Transparent Data Encryption (TDE). Vous activez une instance DB Amazon RDS pour utiliser AWS CloudHSM en configurant une appliance HSM, en définissant les autorisations qui conviennent pour un accès inter-services puis en paramétrant Amazon RDS et l'instance DB qui utiliseront AWS CloudHSM. Le nombre de bases de données Oracle que vous pouvez prendre en charge sur une partition CloudHSM unique dépendra du programme de rotation que vous choisissez pour vos données. Vous devez assurer la rotation de vos clés aussi souvent que les besoins de vos données l'exigent. La documentation PCIDSS et le National Institute of Standards and Technology (NIST) fournit des conseils sur la fréquence de rotation de clé qui convient. Vous pouvez entretenir environ 10 000 clés symétriques par appareil CloudHSM. Veuillez noter qu'après une rotation de clé, l'ancienne clé maître reste sur la partition et est encore décomptée du maximum par partition. AWS CloudHSM fonctionne avec Amazon Virtual Private Cloud (Amazon VPC). Une appliance est déployée dans votre VPC avec une adresse IP privée que vous indiquez. Vous disposez ainsi d'une connexion réseau simple et privée pour votre instance de base de données Amazon RDS. Vos appliances HSM sont dédiées exclusivement à vous-même et les autres clients AWS n'y ont pas accès. Pour plus d'informations sur l'utilisation d'Amazon VPC et Amazon RDS, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53) et Création d'une instance de base de données dans un VPC (p. 500). Important Ce document vous indique comment installer et utiliser AWS CloudHSM avec une instance DB Oracle Amazon RDS qui utilise le chiffrement Oracle TDE. Avant de configurer AWS CloudHSM, consultez les informations suivantes en matière de disponibilité et de tarification : • Régions USA Est (Virginie du Nord), USA Ouest (Oregon), UE (Irlande), Asie-Pacifique (Sydney), UE (Francfort), Asie-Pacifique (Singapour) et Asie-Pacifique (Tokyo). • Tarification et essai gratuit AWS CloudHSM : Les informations de tarification sont disponibles sur la page Tarification d'AWS CloudHSM. Si vous souhaitez essayer le service CloudHSM gratuitement, veuillez consulter la page free trial pour plus d'informations. • Remboursement des frais initiaux CloudHSM (Outils CLI) : Veuillez noter que des frais initiaux sont facturés pour chaque nouvelle instance CloudHSM que vous créez en utilisant la commande CLI create-hsm. Si vous mettez accidentellement en service un appareil CloudHSM et que vous souhaitez demander un remboursement, veuillez supprimer l'instance CloudHSM en utilisant la commande delete-hsm, puis accédez au Centre AWS Support, créez un cas puis sélectionnez Account and Billing Support. • Remboursement des frais initiaux CloudHSM (API) : Veuillez noter que des frais initiaux sont facturés pour chaque nouvelle instance CloudHSM que vous créez en utilisant la méthode API CreatHSM. Si vous mettez accidentellement en service un appareil CloudHSM et que vous souhaitez demander un remboursement, veuillez supprimer l'instance CloudHSM en utilisant la méthode API DeleteHSM, puis accédez au Centre AWS Support, créez un cas puis sélectionnez Account and Billing Support. API Version 2014-10-31 236 Amazon Relational Database Service Guide de l'utilisateur Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS Pour utiliser AWS CloudHSM avec une instance DB Oracle Amazon RDS, vous devez respecter la procédure suivante qui est expliquée en détails dans les sections suivantes : • Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS (p. 237) • Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM (p. 240) Une fois la configuration terminée, vous devez avoir les composants AWS suivants. • Une instance de contrôle AWS CloudHSM qui communiquera avec l'appliance HSM en utilisant le port 22 et le point de terminaison AWS CloudHSM. L'instance de contrôle AWS CloudHSM est une instance EC2 qui est dans le même VPC que les HSM et est utilisée pour gérer les HSM. • Une instance de base de données Oracle Amazon RDS qui communiquera avec le point de terminaison de service Amazon RDS, ainsi que l'appliance HSM en utilisant le port 1792. Rubriques • Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS (p. 237) • Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM (p. 240) • Vérification de la connexion HSM, des clés Oracle dans le HSM et de la clé TDE (p. 246) • Restauration d'instances de base de données chiffrées (p. 248) • Gestion d'un basculement Multi-AZ (p. 249) Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS Pour utiliser AWS CloudHSM avec une instance de base de données Oracle utilisant TDE, vous devez tout d'abord effectuer les tâches requises pour configurer AWS CloudHSM. Les tâches sont expliquées en détail dans les sections suivantes. En voici quelques-unes : Rubriques • Respect des conditions préalables AWS CloudHSM (p. 237) • Installation des outils de l'interface de ligne de commande AWS CloudHSM (p. 237) • Configuration de vos HSM (p. 238) • Création de votre groupe de partitions haute disponibilité (p. 238) • Feuille de calcul de mot de passe (p. 239) Respect des conditions préalables AWS CloudHSM Suivez la procédure dans la section Setting Up AWS CloudHSM dans le guide AWS CloudHSM Guide de l'utilisateur de configuration d'un environnement AWS CloudHSM. Installation des outils de l'interface de ligne de commande AWS CloudHSM Suivez les instructions dans la section Configuration des outils d'interface de ligne de commande AWS CloudHSM du guide AWS CloudHSM User Guide d'installation des outils d'interface de ligne de commande AWS CloudHSM sur votre instance de contrôle AWS CloudHSM. API Version 2014-10-31 237 Amazon Relational Database Service Guide de l'utilisateur Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS Configuration de vos HSM La configuration recommandée pour l'utilisation de AWS CloudHSM avec Amazon RDS consiste à utiliser trois appliances AWS CloudHSM configurées dans un groupe de partitions haute disponibilité (HD). Un minimum de trois HSM est suggéré à des fins de HD. Même si deux de vos HSM sont indisponibles, vos clés demeureront tout de même disponibles pour Amazon RDS. Important L'initialisation d'un HSM définit le mot de passe pour le compte du responsable sécurité HSM (également appelé administrateur HSM). Enregistrez le mot de passe du responsable sécurité sur votre Feuille de calcul de mot de passe (p. 239) et ne le perdez pas. We recommend that you print out a copy of the Feuille de calcul de mot de passe (p. 239), use it to record your AWS CloudHSM passwords, and store it in a secure place. We also recommended that you store at least one copy of this worksheet in secure off-site storage. AWS does not have the ability to recover your key material from an HSM for which you do not have the proper HSM security officer credentials. Pour mettre en service et initialiser vos HSM en utilisant les outils de l'interface de ligne de commande AWS CloudHSM, procédez comme suit depuis votre instance de contrôle : 1. En suivant les instructions dans la section Creating Your HSMs with the CLI du AWS CloudHSM Command Line Interface Tools Reference, allouez le nombre de HSM dont vous avez besoin pour votre configuration. Lorsque vous allouez vos HSM, prenez note de l'ARN de chaque HSM car vous en aurez besoin pour initialiser vos HSM et créer votre groupe de partitions haute disponibilité. 2. En suivant les instructions dans la section Initializing Your HSMs du AWS CloudHSM Command Line Interface Tools Reference, initialisez chacun de vos HSM. Création de votre groupe de partitions haute disponibilité Après l'initialisation de vos HSM, créez un groupe de partitions HD avec les HSM initialisés. La création d'un groupe de partitions HD est un processus en trois étapes. Vous créez le groupe de partitions HD, vous ajoutez vos HSM au groupe de partitions HD, puis vous enregistrez les clients à utiliser avec le groupe de partitions HD. Pour créer et initialiser un groupe de partitions HD 1. En suivant les instructions dans la section Create the HA Partition Group du AWS CloudHSM Command Line Interface Tools Reference, créez votre groupe de partitions HD. Enregistrez l'ARN du groupe de partitions HD renvoyé depuis la commande create-hapg pour un usage ultérieur. Enregistrez le mot de passe de la partition sur votre Feuille de calcul de mot de passe (p. 239). 2. En suivant les instructions dans la section Registering a Client with a High-Availability Partition Group du AWS CloudHSM Command Line Interface Tools Reference, créez, enregistrez et affectez les clients à utiliser avec votre groupe de partitions HD. Répétez ce processus pour ajouter des partitions, si nécessaire. Une partition peut prendre en charge plusieurs bases de données Oracle. API Version 2014-10-31 238 Amazon Relational Database Service Guide de l'utilisateur Configuration de AWS CloudHSM pour une utilisation avec Amazon RDS Feuille de calcul de mot de passe Utilisez la feuille de calcul suivante pour compiler des informations pour vos appliances AWS CloudHSM. Imprimez cette page et utilisez-la pour enregistrer vos mots de passe AWS CloudHSM, et stockez-la dans un emplacement sécurisé. Nous vous recommandons également de stocker au moins une copie de cette feuille de calcul dans un stockage hors site sécurisé. Mot de passe du responsable sécurité Ce mot de passe a été défini lorsque vous avez initialisé l'appliance HSM. _________________________________________________ Mot de passe du gestionnaire (Facultatif) Ce mot de passe a été défini en option avec la commande user password manager sur l'appliance HSM. _________________________________________________ Mots de passe de partition Etiquette de partition Mot de passe de partition Domaine de clonage API Version 2014-10-31 239 Amazon Relational Database Service Guide de l'utilisateur Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM Pour utiliser AWS CloudHSM avec une instance de base de données Oracle utilisant Oracle TDE, vous devez procéder comme suit : • Assurez-vous que le groupe de sécurité associé à l'instance de base de données Oracle permet d'accéder au port 1792 HSM. • Créez un groupe de sous-réseaux qui utilise les mêmes sous-réseaux que ceux utilisés dans le VPC par vos HSM, puis affectez ce groupe de sous-réseaux DB à votre instance de base de données Oracle. • Configurez l'interface de ligne de commande Amazon RDS. • Ajoutez des autorisations IAM que Amazon RDS utilisera lors de l'accès à AWS CloudHSM. • Ajoutez l'option TDE_HSM au groupe d'options associé à votre instance de base de données Oracle utilisant l'interface de ligne de commande Amazon RDS. • Ajoutez deux nouveaux paramètres d'instance de base de données à l'instance de base de données Oracle qui utilisera AWS CloudHSM. Le paramètre tde-credential-arn est l'Amazon Resource Number (ARN) du groupe de partitions haute disponibilité (HD) renvoyé depuis la commande create-hapg. Le tde-credential-password est le mot de passe de partition que vous avez utilisé lors de l'initialisation du groupe de partitions HD. La documentation CLI Amazon RDS est disponible à la section Setting Up the Command Line Tools. Des instructions générales quant à l'utilisation de l'interface CLI Amazon RDS sont disponibles à la section Amazon RDS Command Line Toolkit. Les sections suivantes vous montrent comment configurer de l'interface de ligne de commande Amazon RDS, ajouter les autorisations requises pour permettre à RDS d'accéder à vos HSM, créer un groupe d'options avec l'option TDE_HSM ainsi que de quelle manière créer ou modifier une instance de base de données qui utilisera l'option TDE_HSM. Groupe de sécurité Pour permettre à l'instance RDS de communiquer avec le HSM, l'ENI du groupe de sécurité affecté à l'appliance HSM doit autoriser la connectivité entrante sur le port TCP 1792 depuis l'instance de base de données. En outre, l'ACL réseau associée à l'ENI de HSM doit autoriser l'entrée du port TCP 1792 depuis l'instance RDS et les connexions de sortie du HSM vers la plage de ports dynamiques sur l'instance RDS. Pour plus d'informations sur la plage de ports dynamiques TCP, consultez la documentation Amazon VPC. Si vous avez utilisé le modèle AWS CloudFormation pour créer votre environnement AWS CloudHSM, modifiez le groupe de sécurité qui a Allows SSH and NTLS from the public subnet pour la description. Si vous n'avez pas utilisé le modèle AWS CloudFormation, modifiez le groupe de sécurité associé à l'ENI affecté à l'appliance HSM. Groupe de sous-réseaux DB Le groupe de sous-réseaux DB que vous affectez à votre instance de base de données Oracle doit avoir les mêmes sous-réseaux que ceux du VPC utilisés par le CloudHSM. Pour plus d'informations sur la manière de créer un groupe de sous-réseaux DB, consultez Creating a DB Subnet Group. Vous pouvez sinon utiliser l'interface CLI RDS pour créer le groupe de sous-réseaux DB. Configuration de l'interface de ligne de commande Amazon RDS L'interface de ligne de commande Amazon RDS peut être installée sur un ordinateur exécutant le système d'exploitation Linux ou Windows et sur lequel Java version 1.6, ou ultérieure, est installé. Les étapes suivantes installent et configurent l'interface de ligne de commande Amazon RDS : API Version 2014-10-31 240 Amazon Relational Database Service Guide de l'utilisateur Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM 1. Téléchargez l'interface de ligne de commande Amazon RDS depuis cet emplacement. Décompressez le fichier. 2. Définissez les variables d'environnement suivantes : AWS_RDS_HOME - <The directory where the deployment files were copied to> JAVA_HOME - <Java Installation home directory> Vous pouvez vérifier que les variables d'environnement sont correctement définies en exécutant la commande suivante pour Linux ou Windows : Linux : ls ${AWS_RDS_HOME}/bin doit affiche la liste rds-describe-db-instances et les autres commandes CLI Amazon RDS Windows : dir %AWS_RDS_HOME%\bin doit afficher la liste rds-describe-db-instances et les autres commandes CLI Amazon RDS 3. Ajoutez ${AWS_RDS_HOME}/bin (Linux) ou %AWS_RDS_HOME%\bin (Windows) à votre chemin d'accès 4. Ajoutez à votre configuration de l'interpréteur de commandes les informations d'URL de service RDS pour votre région AWS. Exemples : export RDS_URL=https://rds.us-east-1.amazonaws.com export SERVICE_SIG_NAME=rds 5. Si vous êtes sur un système Linux, définissez des autorisations d'exécution sur tous les fichiers dans le répertoire bin en utilisant la commande suivante : chmod +x ${AWS_RDS_HOME}/bin/* 6. Fournissez l'interface de ligne de commande Amazon RDS avec vos informations d'identification utilisateur AWS. Vous disposez de deux manières pour fournir vos informations d'identification : les clés AWS ou les certificats X.509. Si vous utilisez les clés AWS, procédez comme suit : a. Modifiez le fichier d'informations d'identification inclus dans le fichier zip, ${AWS_RDS_HOME}/ credential-file-path.template, pour ajouter vos informations d'identification AWS. Si vous êtes sur un système Linux, limitez les autorisations au propriétaire du fichier d'informations d'identification : $ chmod 600 <credential file> b. Vous pouvez sinon fournir l'option suivante avec chaque commande : $ <RDSCLIcommand> --aws-credential-file <credential file> c. Vous pouvez sinon spécifier explicitement les informations d'identification sur la ligne de commande : --I ACCESS_KEY --S SECRET_KEY Si vous utilisez les certifications X.509, procédez comme suit : a. Enregistrez vos clés privées et votre certificat dans des fichiers. Par exemple, my-cert.pem et mypk.pem. b. Définissez les variables d'environnement suivantes : EC2_CERT=<path_to_my_cert> EC2_PRIVATE_KEY=<path_to_my_private_key> c. Vous pouvez sinon spécifier les fichiers directement sur une ligne de commande pour chaque API Version 2014-10-31 commande : 241 Amazon Relational Database Service Guide de l'utilisateur Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM <RDSCLIcommand> --ec2-cert-file-path=<path_to_my_cert> --ec2-private-key-filepath=<path_to_my_private_key> Vous pouvez tester que vous avez configuré l'interface CLI Amazon RDS qui convient en exécutant les commandes suivantes. La première commande doit indiquer la page d'utilisation pour toutes les commandes Amazon RDS. La deuxième commande doit fournir des informations sur toutes les instances de base de données pour le compte que vous utilisez. rds --help rds-describe-db-instances --headers Ajout d'autorisations IAM pour que Amazon RDS ait accès au AWS CloudHSM Vous pouvez utiliser un compte AWS unique pour travailler avec Amazon RDS et AWS CloudHSM, ou bien utiliser deux comptes distincts, un pour Amazon RDS et un pour AWS CloudHSM. Cette section fournit des informations sur les deux processus. Rubriques • Ajout d'autorisations IAM pour un compte unique pour que Amazon RDS ait accès à l'API AWS CloudHSM (p. 242) • Utilisation de comptes AWS CloudHSM et Amazon RDS distincts pour permettre à Amazon RDS d'accéder à CloudHSM (p. 242) Ajout d'autorisations IAM pour un compte unique pour que Amazon RDS ait accès à l'API AWS CloudHSM Pour créer un rôle IAM que Amazon RDS utilise pour accéder à l'API AWS CloudHSM, procédez comme suit. Amazon RDS vérifie la présence de ce rôle IAM lorsque vous créez ou modifiez une instance de base de données qui utilise AWS CloudHSM. Pour créer un rôle IAM pour permettre à Amazon RDS d'accéder à l'API AWS CloudHSM 1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com. 2. Dans le volet de navigation de gauche, cliquez sur Roles. 3. Cliquez sur Create New Role. 4. Dans la zone de texte Role Name, saisissez RDSCloudHsmAuthorization. Vous devez actuellement utiliser ce nom. Cliquez sur Next Step. 5. Cliquez sur AWS Service Roles, accédez à Amazon RDS, choisissez Select. 6. Sur la page Attach Policy, cliquez sur Next Step. La stratégie qui convient est déjà attachée à ce rôle. 7. Passez en revue les informations, puis cliquez sur Create Role. Utilisation de comptes AWS CloudHSM et Amazon RDS distincts pour permettre à Amazon RDS d'accéder à CloudHSM Si vous souhaitez gérer séparément vos ressources AWS CloudHSM et Amazon RDS, vous pouvez utiliser les deux services avec des comptes distincts. Pour utiliser deux comptes distincts, vous devez configurer chaque compte comme décrit dans la section suivante. API Version 2014-10-31 242 Amazon Relational Database Service Guide de l'utilisateur Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM Pour utiliser deux comptes, vous devez disposer des éléments suivants : • Un compte activé pour le service AWS CloudHSM et propriétaire des appareils de votre module de sécurité matériel (HSM). Généralement, ce compte est votre compte CloudHSM, avec un ID client HSM_ACCOUNT_ID. • Un compte pour Amazon RDS que vous pouvez utiliser pour créer et gérer une instance de base de données qui utilise Oracle TDE. Généralement, ce compte est votre compte DB, avec un ID client DB_ACCOUNT_ID. Pour ajouter une autorisation de compte DB pour l'accès aux ressources CloudHSM sous le compte CloudHSM 1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com. 2. Connectez-vous en utilisant votre compte DB. 3. Dans le volet de navigation de gauche, choisissez Roles. 4. Choisissez Create New Role. 5. Pour Role Name, saisissez RDSCloudHsmAssumeAuthorization. Actuellement, vous devez utiliser ce nom de rôle pour que cette approche fonctionne. Choisissez Next Step. 6. Choisissez AWS Service Roles, accédez à Amazon RDS, choisissez Select. 7. Sur la page Attach Policy, n'attachez pas une stratégie. Choisissez Next Step. 8. Passez en revue les informations, puis choisissez Create Role. 9. Pour Roles, choisissez le rôle RDSCloudHsmAssumeAuthorization. 10. Pour Permissions, choisissez Inline Policies. Du texte s'affiche qui fournit un lien. Cliquez sur click here. 11. Dans la page Set Permissions, choisissez Custom Policy, puis Select. 12. Pour Policy Name, saisissez AssumeRole. 13. Pour Policy Document, saisissez les informations de stratégie suivantes : { } "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": "*" } ] 14. Choisissez Apply Policy, puis déconnectez-vous de votre compte DB. Pour réviser le compte HSM CloudHSM pour permettre l'accès d'une autorisation Confiance aux ressources CloudHSM sous le compte CloudHSM 1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/. 2. Connectez-vous en utilisant votre compte CloudHSM. 3. Dans le volet de navigation de gauche, choisissez Roles. 4. Choisissez le rôle RDSCloudHsmAuthorization. Ce rôle est celui créé pour un seul compte CloudHSMRDS. API Version 2014-10-31 243 Amazon Relational Database Service Guide de l'utilisateur Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM 5. Choisissez Edit Trust Relationship. 6. Ajoutez votre compte DB comme compte approuvé. Le document de stratégie doit ressembler à ce qui suit, avec votre compte DB en remplacement de l'espace réservé <DB_ACCOUNT_ID>: { } 7. "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com", "AWS":[ "arn:aws:iam::$<DB_ACCOUNT_ID>$:role/RDSCloudHsmAssumeAuthorization" ] }, "Action": "sts:AssumeRole" } ] Choisissez Update Trust Policy. Création d'un Amazon VPC en utilisant le compte DB qui peut se connecter à votre HSM Les appliances HSM sont mises en service dans un VPC Amazon spécifique HSM. Par défaut, seuls les hôtes dans le VPC HSM peuvent voir les appareils HSM. Ainsi, toutes les instances de base de données doivent être créées dans le VPC HSM ou dans un VPC qui peut être lié au VPC HSM en utilisant l'homologation VPC. Pour utiliser CloudHSM avec une instance de base de données Amazon RDS dans un autre VPC (que vous créez sous votre compte DB, comme décrit dans Création d'une instance de base de données dans un VPC (p. 500)), vous configurez l'homologation VPC à partir du VPC contenant l'instance de base de données sur le VPC spécifique HSM qui contient vos appliances HSM. Pour configurer l'homologation VPC entre les deux VPC 1. Utilisez un VPC existant créé sous votre compte DB, ou bien créez un VPC en utilisant votre compte DB. Le VPC ne doit avoir aucune plage CIDR venant chevaucher les plages CIDR du VPC spécifique HSM. 2. Procédez à l'homologation VPC entre le VPC DB et le VPC HSM. Pour obtenir des instructions, accédez à http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-peering.html dans le Guide de l'utilisateur Amazon Virtual Private Cloud. 3. Assurez-vous que la table d'acheminement VPC soit correctement associée au sous-réseau VPC et au groupe de sécurité VPC sur l'interface réseau HSM. Veuillez noter que vous devez configurer les deux tables d'acheminement VPC afin que le trafic réseau accède au VPC qui convient (depuis le VPC DB vers le VPC HSM, et depuis le VPC HSM vers le VPC DB). Les deux VPC n'ont pas besoin de partager le même groupe de sécurité. Les groupes de sécurité ne doivent cependant pas empêcher le trafic réseau entre les deux VPC. Création d'un groupe d'options avec l'option TDE_HSM L'option TDE_HSM peut être ajoutée à un groupe d'options existant comme les autres options Oracle. Vous pouvez sinon créer un groupe d'options et ajouter l'option TDE_HSM. L'exemple CLI Amazon RDS suivant crée un groupe d'options pour Oracle Enterprise Edition 11.2 nommé tdehsm-option-group. API Version 2014-10-31 244 Amazon Relational Database Service Guide de l'utilisateur Configuration de Amazon RDS pour une utilisation avec AWS CloudHSM $ rds-create-option-group tdehsm-option-group --description "Option Group with TDE_HSM" -engine-name oracle-ee --major-engine-version 11.2 Le résultat de la commande doit être semblable à l'exemple suivant : OPTIONGROUP tdehsm-option-group oracle-ee 11.2 Option Group with TDE_HSM n Une fois que le groupe d'options a été créé, vous pouvez utiliser la commande suivante pour ajouter l'option TDE_HSM au groupe d'options. $ rds-add-option-to-option-group tdehsm-option-group --option-name TDE_HSM Le résultat de la commande doit être semblable à l'exemple suivant : OPTION TDE_HSM y n Oracle Advanced Security - TDE with HSM Ajout des paramètres AWS CloudHSM à une instance de base de données Oracle Une instance de base de données Oracle Enterprise Edition qui utilise AWS CloudHSM doit avoir deux nouveaux paramètres ajoutés à l'instance de base de données. Les paramètres tde-credential-arn et tde-credential-password sont de nouveaux paramètres que vous devez inclure lors de la création d'une instance de base de données ou de la modification d'une instance de base de données existante pour utiliser AWS CloudHSM. Création d'une instance de base de données Oracle avec paramètres supplémentaires pour AWS CloudHSM Lors de la création d'une instance de base de données à utiliser avec AWS CloudHSM, plusieurs exigences s'imposent : • Vous devez inclure le groupe d'options qui contient l'option TDE_HSM • Vous devez fournir des valeurs pour les paramètres tde-credential-arn et tde-credential-password. La valeur de paramètre tde-credential-arn est l'Amazon Resource Number (ARN) du groupe de partitions HD renvoyé depuis la commande create-hapg. Vous pouvez également récupérer les ARN de tous vos groupes de partitions haute disponibilité avec la commande list-hapgs. Le tde-credential-password est le mot de passe de partition que vous avez utilisé lors de l'initialisation du groupe de partitions HD. • Le rôle IAM qui fournit un accès inter-services doit être créé. • Vous devez créer une instance de base de données Oracle Enterprise Edition. La commande suivante crée une instance de base de données Oracle Enterprise Edition appelée HsmInstance-test01 qui inclut les deux paramètres qui fournissent un accès AWS CloudHSM et utilise un groupe d'options appelé tdehsm-option-group $ rds-create-db-instance HsmInstance-test01 --db-instance-class <instance class> --engine oracle-ee --tde-credential-arn <ha partition group ARN> --tde-credential-password <partition password> --db-name <Oracle DB instance name> API Version 2014-10-31 245 Amazon Relational Database Service Guide de l'utilisateur Vérification de la connexion HSM, des clés Oracle dans le HSM et de la clé TDE --db-subnet-group-name <subnet group name> --connection-timeout <connection timeout value> --master-user-password <master user password> --master-username <master user name> --allocated-storage <storage value> --option-group <TDE option group> Le résultat de la commande doit être semblable à l'exemple suivant : DBINSTANCE hsminstance-test01 db.m1.medium oracle-ee 40 fooooo 1 **** n 11.2.0.2.v7 bring-your-own-license AL52UTF8 n VPCSECGROUP sg-922xvc2fd active SUBNETGROUP dev-test test group Complete vpc-3facfe54 SUBNET subnet-1fd6a337 us-east-1e Active SUBNET subnet-28aeff43 us-east-1c Active SUBNET subnet-5daeff36 us-east-1b Active SUBNET subnet-2caeff47 us-east-1d Active PARAMGRP default.oracle-ee-11.2 in-sync OPTIONGROUP tdehsm-option-group pending-apply creating Modification d'une instance de base de données existante pour ajouter des paramètres pour AWS CloudHSM La commande suivante modifie une instance de base de données Oracle Enterprise Edition existante et ajoute les paramètres tde-credential-arn et tde-credential-password. Veuillez noter que vous devez également inclure dans la commande le groupe d'options qui contient l'option TDE_HSM. $ rds-modify-db-instance hsm03 --tde-credential-arn <ha partition group ARN> --tde-credential-password <partition password> --option-group <tde hsm option group> --apply-immediately Le résultat de la commande doit être semblable à l'exemple suivant : DBINSTANCE hsm03 2014-04-03T18:48:53.106Z db.m1.medium oracle-ee 40 fooooo available hsm03.c1iibpgwvdfo.us-east-1.rds.amazonaws.com 1521 us-east-1e 1 n 11.2.0.2.v7 bring-your-own-license AL32UTF8 n VPCSECGROUP sg-922dc2fd active SUBNETGROUP dev-test test group Complete vpc-3faffe54 SUBNET subnet-1fd6a337 us-east-1e Active SUBNET subnet-28aeff43 us-east-1c Active SUBNET subnet-5daeff36 us-east-1b Active SUBNET subnet-2caeff47 us-east-1d Active PARAMGRP default.oracle-ee-11.2 in-sync OPTIONGROUP tdehsm-option-group pending-apply OPTIONGROUP default:oracle-ee-11-2 pending-removal Vérification de la connexion HSM, des clés Oracle dans le HSM et de la clé TDE Une fois que vous avez terminé toutes les étapes de configuration, vous pouvez vérifier que le HSM fonctionne correctement pour la clé de stockage TDE. Connectez-vous à l'instance de base de données Oracle en utilisant un utilitaire SQL tel que sqlplus sur un ordinateur client ou depuis l'instance de contrôle EC2 si sqlplus y est installé. Pour plus d'informations sur la connexion à une instance de base de données Oracle, consultez Connecting to a DB Instance Running the Oracle Database Engine. API Version 2014-10-31 246 Amazon Relational Database Service Guide de l'utilisateur Vérification de la connexion HSM, des clés Oracle dans le HSM et de la clé TDE Note Avant de poursuivre, vous devez vérifier que le groupe d'options que vous avez créé pour votre instance Oracle renvoie un statut de in-sync. Vous pouvez vérifier cela en passant l'identifiant d'instance de base de données sur la commande rds-describe-db-instances. Vérification de la connexion HSM Vous pouvez vérifier la connexion entre une instance de base de données Oracle et le HSM. Connectezvous à l'instance de base de données Oracle et utilisez la commande suivante : $ select * from v$encryption_wallet; Si la connexion HSM fonctionne, la commande doit renvoyé un statut OPEN. Le résultat de la commande sera semblable à l'exemple suivant : WRL_TYPE -------------------WRL_PARAMETER ------------------STATUS -----------------HSM OPEN 1 row selected. Vérification des clés Oracle dans le HSM Une fois que Amazon RDS démarre et qu'Oracle est en cours d'exécution, Oracle crée deux clés principales sur le HSM. Procédez comme suit pour confirmer l'existence des clés principales dans le HSM. Vous pouvez exécuter ces commandes depuis l'invite sur l'instance de contrôle EC2 ou depuis l'instance de base de données Oracle Amazon RDS. 1. Utilisez SSH pour vous connecter à l'appliance HSM. La commande suivante $ ssh [email protected] 2. Se connecter au HSM en tant que responsable HSM $ hsm login 3. Une fois que votre connexion a abouti, l'invite Luna Shell s'affiche ([hostname]lunash:>). Affichez le contenu de la partition HSM qui correspond à l'instance de base de données Oracle à l'aide de TDE. Cherchez deux objets symétriques qui commencent par « ORACLE.TDE.HSM ». lunash:>part showContents -par <hapg_label> -password <partition_password> Le résultat suivant est un exemple de l'information renvoyée depuis la commande : Partition Name: Partition SN: Storage (Bytes): Number objects: Object Label: hapg_label 154749011 Total=102701, Used=348, Free=102353 2 ORACLE.TDE.HSM.MK.0699468E1DC88E4F27BF426176B94D4907 API Version 2014-10-31 247 Amazon Relational Database Service Guide de l'utilisateur Restauration d'instances de base de données chiffrées Object Type: Symmetric Key Object Label: Object Type: ORACLE.TSE.HSM.MK.0784B1918AB6C19483189B2296FAE261C70203 Symmetric Key Command Result : 0 (Success) Vérification de la clé TDE L'étape finale pour vérifier que la clé TDE est correctement stockée dans le HSM consiste à créer un espace de table chiffré. Les commandes suivantes créent un espace de table chiffré et affichent qu'il est chiffré. SQL> create tablespace encrypted_ts datafile size 50M encryption using 'AES128' default storage (encrypt) / SQL> select tablespace_Name, encrypted from dba_tablespaces where encrypted='YES' Le résultat d'exemple suivant montre que l'espace de table a été chiffré : TABLESPACE_NAME ENC ------------------------------ --ENCRYPTED_TS YES Restauration d'instances de base de données chiffrées Pour restaurer une instance de base de données Oracle chiffrée, vous pouvez utiliser votre groupe de partitions HD AWS CloudHSM existant ou créer un groupe de partitions HD et copier le contenu depuis le groupe de partitions d'origine vers le nouveau groupe de partitions. Veuillez mettre à jour le client SafeNet sur votre instance de contrôle HSM si vous souhaitez utiliser votre groupe de partitions HD existant. Utilisez ensuite la commande rds-restore-db-instance-from-db-snapshot pour restaurer l'instance de base de données. Pour restaurer l'instance, procédez comme suit : 1. Sur votre instance de contrôle AWS CloudHSM, créez un groupe de partitions HD comme illustré dans Création de votre groupe de partitions haute disponibilité (p. 238). Lorsque vous créez le groupe de partitions HD, vous devez indiquer le même mot de passe de partition que le groupe de partitions HD d'origine. Prenez note de l'ARN du nouveau groupe de partitions HD. Vous en aurez besoin pour les deux prochaines étapes. 2. Sur votre instance de contrôle AWS CloudHSM, clonez le contenu du groupe de partitions HD vers le nouveau groupe de partitions HD avec la commande clone-hapg. $ cloudhsm clone-hapg --conf_file ~/cloudhsm.conf --src-hapg-arn <src_arn> --dest-hapg-arn <dest_arn> --client-arn <client_arn> --partition-password <partition_password> Les paramètres sont les suivants : <src_arn> L'identifiant du groupe de partitions HD existant. API Version 2014-10-31 248 Amazon Relational Database Service Guide de l'utilisateur Gestion d'un basculement Multi-AZ <dest_arn> L'identifiant du nouveau groupe de partitions HD créé à l'étape précédente. <client_arn> L'identifiant du client HSM. <partition_password> Le mot de passe pour les partitions membres. Les deux groupes de partitions HD doivent avoir le même mot de passe de partition. 3. Utilisez la commande rds-restore-db-instance-from-db-snapshot pour restaurer l'instance de base de données. Dans la commande de restauration, passez l'ARN du nouveau groupe de partitions HD dans le paramètre tde-credential-arn, puis le mot de passe de partition pour le groupe de partitions HD dans le paramètre tde-credential-password. Gestion d'un basculement Multi-AZ Vous n'avez pas besoin de configurer un groupe de partitions HD AWS CloudHSM pour votre instance de base de données de secours si vous utilisez un déploiement Multi-AZ. En fait, les détails d'un basculement sont gérés automatiquement pour vous. Pendant un basculement, l'instance de secours devient la nouvelle instance principale et le HSM continue de fonctionner avec la nouvelle instance principale. API Version 2014-10-31 249 Amazon Relational Database Service Guide de l'utilisateur Annexe : Jeux de caractères Oracle pris en charge dans Amazon RDS Annexe : Jeux de caractères Oracle pris en charge dans Amazon RDS La table suivante répertorie les jeux de caractères de base de données Oracle qui sont pris en charge dans Amazon RDS. Vous pouvez utiliser une valeur depuis cette page avec le paramètre --character-set de la commande rds-create-db-instance de l'interface de ligne de commande AWS ou avec le paramètre CharacterSetName de l'action API CreateDBInstance. La définition du paramètre d'environnement NLS_LANG est la manière la plus simple de spécifier le comportement local du logiciel Oracle. Ces jeux de paramètres définissent la langue et le territoire utilisés par l'application cliente et le serveur de base de données. Ils indiquent également le jeu de caractères client qui correspond au jeu de caractères pour les données entrées ou affichées par une application cliente. Amazon RDS vous permet de définir le jeu de caractères lorsque vous créez une instance de base de données. Pour plus d'informations sur NLS_LANG et les jeux de caractères, consultez What is a Character set or Code Page? dans la documentation Oracle. Value Description AL32UTF8 Jeu de caractères universel UTF-8 Unicode 5.0 (par défaut) AR8ISO8859P6 ISO 8859-6 Latin/Arabe AR8MSWIN1256 Page de codes Microsoft Windows 1256 8 bits Latin/Arabe BLT8ISO8859P13 ISO 8859-13 Baltique BLT8MSWIN1257 Page de codes Microsoft Windows 1257 8 bits Baltique CL8ISO8859P5 ISO 88559-5 Latin/Cyrillique CL8MSWIN1251 Page de codes Microsoft Windows 1251 8 bits Latin/Cyrillique EE8ISO8859P2 ISO 8859-2 Europe de l'Est EL8ISO8859P7 ISO 8859-7 Latin/Grec EE8MSWIN1250 Page de codes Microsoft Windows 1250 8 bits Europe de l'Est EL8MSWIN1253 Page de codes Microsoft Windows 1253 8 bits Latin/Grec IW8ISO8859P8 ISO 8859-8 Latin/Hébreu IW8MSWIN1255 Page de codes Microsoft Windows 1255 8 bits Latin/Hébreu JA16EUC EUC 24 bits Japonais JA16EUCTILDE Même chose que JA16EUC, sauf pour le mapping du trait d'union en esse et du tilde vers et depuis Unicode JA16SJIS Shift-JIS 16 bits Japonais API Version 2014-10-31 250 Amazon Relational Database Service Guide de l'utilisateur Annexe : Jeux de caractères Oracle pris en charge dans Amazon RDS Value Description JA16SJISTILDE Même chose que JA16SJIS sauf pour le mapping du trait d'union en esse et du tilde vers et depuis Unicode KO16MSWIN949 Page de codes Microsoft Windows 949 Coréen NE8ISO8859P10 ISO 8859-10 Europe du Nord NEE8ISO8859P4 ISO 8859-4 Europe du Nord et du Nord-Est TH8TISASCII Thai Industrial Standard 620-2533-ASCII 8 bits TR8MSWIN1254 Page de codes Microsoft Windows 1254 8 bits Turc US7ASCII ASCII 7 bits Américain UTF8 Jeu de caractères universel UTF-8 Unicode 3.0, compatible CESU-8 VN8MSWIN1258 Page de codes Microsoft Windows 1258 8 bits Vietnamien WE8ISO8859P1 ISO 8859 Partie 1 Europe de l'Ouest 8 bits WE8ISO8859P15 ISO 8859-15 Europe de l'Ouest WE8ISO8859P9 ISO 8859-9 Europe de l'Ouest et Turc WE8MSWIN1252 Page de codes Microsoft Windows 1252 8 bits Europe de l'Ouest ZHS16GBK GBK 16 bits Chinois simplifié ZHT16HKSCS Page de codes Microsoft Windows 950 avec jeu de caractères supplémentaire Hong Kong HKSCS-2001. La conversion de jeu de caractères est basée sur Unicode 3.0. ZHT16MSWIN950 Page de codes Microsoft Windows 950 Chinois traditionnel ZHT32EUC EUC 32 bits Chinois traditionnel API Version 2014-10-31 251 Amazon Relational Database Service Guide de l'utilisateur Annexe : Notes de mise à jour pour le moteur de base de données Oracle Annexe : Notes de mise à jour pour le moteur de base de données Oracle Cette section fournit des informations sur les nouveautés, ainsi que sur les jeux de correctifs qui sont inclus dans chaque version Amazon RDS pour le moteur de base de données Oracle. Amazon RDS comprend des corrections de bogues Oracle Database d'Oracle via leurs mises à jour trimestrielles d'ensemble de correctifs (PSU). Nous ne prenons pas en charge l'application de correctifs ponctuels à des instances DB individuelles. Vous pouvez avoir la garantie que votre instance DB exécute une version courante et stable du logiciel de base de données qui a été soumis à un test de régression par Oracle et par Amazon. Rubriques • Version du moteur de base de données : 11.2.0.2.v3 (p. 252) • Version du moteur de base de données : 11.2.0.2.v4 ou 11.2.0.2.v5 (p. 253) • Version du moteur de base de données : 11.2.0.2.v6 (p. 254) • Version du moteur de base de données : 11.2.0.2.v7 (p. 255) • Version du moteur de base de données : 11.2.0.3.v1 (p. 256) • Version du moteur de base de données : 11.2.0.3.v2 (p. 257) • Version du moteur de base de données : 11.2.0.4.v1 (p. 258) • Version du moteur de base de données : 11.2.0.4.v2 (Déconseillé) (p. 259) • Version du moteur de base de données : 11.2.0.4.v3 (p. 260) • Version du moteur de base de données : 12.1.0.1.v1 (p. 260) Version du moteur de base de données : 11.2.0.2.v3 Nouveautés de la version 11.2.0.2.v3 Cette version inclut la PSU Oracle 11.2.0.2.3. Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.2.3 Bogues corrigés : 10151017, 10158965, 11724916, 10190642, 12586486, 12586487, 10129643, 12586488, 12586489, 10018789, 9744252, 10248523, 9956713, 10356513, 9715581, 9770451, 10378005, 10170431, 10425676, 10222719, 10126094, 9591812, 10127360, 10132870, 10094201, 9443361, 10193846, 11664046, 11069199, 10324294, 10245086, 12586490, 10205230, 12586491, 10052141, 12586492, 12586493, 12586494, 10142788, 11818335, 11830776, 12586495, 9905049, 11830777, 12586496, 11830778, 6892311, 10040921, 10077191, 10358019, 12431716, 10219576, 10258337, 11707699, 10264680, 10209232, 11651810, 10102506, 11067567, 9881076, 10278372, 10040531, 10621169, 10155605, 10082277, 10356782, 10218814, 9078442, 9788588, 10157249, 9735237, 10317487, 12326246, 11707302, 10310299, 10636231, 10230571, 11065646, 12419321, 10368698, 10079168, 10013431, 10228151, 10233732, 10324526, 8223165, 10238786, 10217802, 10061015, 9953542, 9572787, 10052956, 10080579, 11699057, 12620422, 10332111, 10227288, 10329146, 10332589, 10110863, 10073683, 9869401, 10019218, 10229719, 11664719, 9539440, 10373381, 9735282, 9748749, 11724984, 10022980, 10411618, 11800854, 12419331, 11674485, 10187168, 6523037, 10648873, 9724970, 10053725, 10084145, 10367188, 11800170, 11695285, 10157402, 9651350, 10299224 API Version 2014-10-31 252 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.2.v4 ou 11.2.0.2.v5 Version du moteur de base de données : 11.2.0.2.v4 ou 11.2.0.2.v5 Nouveautés de la version 11.2.0.2.v4 ou 11.2.0.2.v5 Cette version inclut Oracle PSU 11.2.0.2.7 et ajoute une prise en charge pour l'importation de données en utilisant Oracle Data Pump. Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.2.7 Bogues corrigés : 10249791, 11877623, 12569737, 14038791, 10026601, 12378147, 10115630, 11814891, 14127510, 10412247, 13923804, 12656535, 9709292, 10220033, 10092858, 12391602, 12323180, 10142857, 10620808, 12579349, 12337012, 12879027, 11811073, 11064851, 13001379, 9903826, 11738259, 14107384, 10207092, 14107385, 11882425, 9858539, 14107386, 14107387, 10633840, 14107388, 10419629, 14107389, 11708510, 10131867, 14040433, 11063191, 13916709, 12880299, 11872103, 12595730, 11056082, 12596444, 13099577, 13632725, 10031806, 13769501, 13769502, 13769503, 13769504, 9744252, 13769505, 9956713, 13769506, 13769507, 9972680, 13769508, 13769509, 11853815, 10635701, 9591812, 10127360, 11723722, 9443361, 12846268, 12846269, 9707965, 10245086, 9401552, 10039731, 11689702, 13769510, 12366627, 10077191, 9829397, 11785938, 10258337, 10264680, 10094823, 10209232, 10284570, 8672862, 9672816, 12830339, 9881076, 10621169, 10048701, 12569482, 9078442, 11057263, 10322959, 12780098, 12976376, 12340939, 11788856, 8223165, 10264696, 10142909, 11800959, 13476583, 10052956, 10285022, 10329146, 10332589, 9895207, 9869401, 12828071, 9285259, 10229719, 11724984, 10411618, 11670161, 9724970, 10113990, 10312847, 11893621, 10200390, 10084145, 10367188, 10285394, 10190642, 12586486, 12586487, 10129643, 12586488, 12917230, 12586489, 11866952, 10232083, 9715581, 10302581, 11690639, 12423475, 11889177, 10126094, 10396041, 10269503, 9970255, 9436324, 12400751, 12589039, 11785390, 12586490, 12586491, 12586492, 9795214, 12586493, 10142788, 12586494, 12586495, 9905049, 12586496, 11674898, 10419984, 6892311, 11815753, 10358019, 12431716, 9906422, 10422126, 13343244, 11937253, 9965655, 11890804, 11651810, 9382956, 11067567, 11716621, 10126822, 9869287, 9375300, 10155605, 10356782, 10326338, 10165083, 10051315, 13696224, 10218814, 13554409, 11076894, 10278773, 11707302, 10230571, 12419321, 9966609, 12633340, 12546006, 10137324, 11894889, 10061015, 9572787, 10284838, 10073683, 12639234, 9578670, 9748749, 10022980, 10237773, 10089333, 12419331, 11674485, 12685431, 10187168, 10648873, 10158965, 11061775, 12635537, 9746210, 10204358, 10356513, 10378005, 10170431, 12639177, 10222719, 10384285, 10035737, 12345717, 9873405, 11069199, 12670165, 10159846, 13257247, 10205230, 10052141, 11818335, 12371955, 12655433, 10040921, 11827088, 10219576, 12408350, 13343424, 11707699, 12370722, 11695333, 11841309, 11924400, 12737666, 12797765, 10281887, 10278372, 10013177, 13503598, 12543639, 10157249, 12531263, 9735237, 10317487, 10219583, 9727147, 10310299, 10636231, 11065646, 10055063, 10368698, 10079168, 11695416, 10233732, 10314582, 9953542, 10080579, 11699057, 12620422, 10427260, 11666137, 10110863, 10363186, 10417716, 10019218, 10388660, 12748240, 9539440, 10373381, 10239480, 10158493, 11842991, 10399808, 10417216, 11695285, 11800170, 10157402, 9651350, 10299224, 10151017, 11724916, 9564886, 9847634, 10018789, 10248523, 11694127, 10630870, 9770451, 10425676, 9683047, 10180307, 9835264, 10132870, 10094201, 10193846, 11664046, 10324294, 9414040, 9819805, 11830776, 11830777, 11830778, 11683713, 10200404, 10102506, 12827726, 11733179, 10229886, 10040531, 10082277, 9788588, 12326246, 12397410, 10622001, 13468884, 13386082, 10040035, 12539000, 11867127, 9842573, 9771278, 10013431, 10228151, 10324526, 12417369, 10238786, 10217802, 10332111, 10227288, 10623249, 9943960, 10021022, 9824435, 11664719, 12950644, 9735282, 11800854, 10097711, 11858315, 6523037, 10053725, 8685446 API Version 2014-10-31 253 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.2.v6 Version du moteur de base de données : 11.2.0.2.v6 Nouveautés de la version 11.2.0.2.v6 Cette version inclut la PSU Oracle 11.2.0.2.8. Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.2.8 Bogues corrigés : 13250244, 13737746, 11063821, 12409916, 14461356, 14461357, 11878443, 14461358, 14683459, 14275621, 14467061, 10114837, 12649442, 10207551, 12794305, 14473913, 10171273, 10373013, 10210507, 11883472, 13080778, 10172453, 14624146, 14613900, 10213073, 9373370, 9478199, 9877980, 10021111, 10228393, 12899768, 12713993, 9470768, 14390377, 10140809, 12894807, 11686968, 12374212, 12764337, 12326708, 9956835, 11734067, 7312717, 11775474, 12834027, 13326736, 9952554, 10249791, 11877623, 12569737, 14038791, 10026601, 12378147, 10115630, 11814891, 14127510, 10412247, 13923804, 12656535, 9709292, 10220033, 10092858, 12391602, 12323180, 10142857, 10620808, 12579349, 12337012, 12879027, 11811073, 11064851, 13001379, 9903826, 11738259, 14107384, 10207092, 14107385, 11882425, 9858539, 14107386, 14107387, 10633840, 14107388, 10419629, 14107389, 11708510, 10131867, 14040433, 11063191, 13916709, 12880299, 11872103, 12595730, 11056082, 12596444, 13099577, 13632725, 10031806, 13769501, 13769502, 13769503, 13769504, 9744252, 13769505, 9956713, 13769506, 13769507, 9972680, 13769508, 13769509, 11853815, 10635701, 9591812, 10127360, 11723722, 9443361, 12846268, 12846269, 9707965, 10245086, 9401552, 10039731, 11689702, 13769510, 12366627, 10077191, 9829397, 11785938, 10258337, 10264680, 10094823, 10209232, 10284570, 8672862, 9672816, 12830339, 9881076, 10621169, 10048701, 12569482, 9078442, 11057263, 10322959, 12780098, 12976376, 12340939, 11788856, 8223165, 10264696, 10142909, 11800959, 13476583, 10052956, 10285022, 10329146, 10332589, 9895207, 9869401, 12828071, 9285259, 10229719, 11724984, 10411618, 11670161, 9724970, 10113990, 10312847, 11893621, 10200390, 10084145, 10367188, 10285394, 10190642, 12586486, 12586487, 10129643, 12586488, 12917230, 12586489, 11866952, 10232083, 9715581, 10302581, 11690639, 12423475, 11889177, 10126094, 10396041, 10269503, 9970255, 9436324, 12400751, 12589039, 11785390, 12586490, 12586491, 12586492, 9795214, 12586493, 10142788, 12586494, 12586495, 9905049, 12586496, 11674898, 10419984, 6892311, 11815753, 10358019, 12431716, 9906422, 10422126, 13343244, 11937253, 9965655, 11890804, 11651810, 9382956, 11067567, 11716621, 10126822, 9869287, 9375300, 10155605, 10356782, 10326338, 10165083, 10051315, 13696224, 10218814, 13554409, 11076894, 10278773, 11707302, 10230571, 12419321, 9966609, 12633340, 12546006, 10137324, 11894889, 10061015, 9572787, 10284838, 10073683, 12639234, 9578670, 9748749, 10022980, 10237773, 10089333, 12419331, 11674485, 12685431, 10187168, 10648873, 10158965, 11061775, 12635537, 9746210, 10204358, 10356513, 10378005, 10170431, 12639177, 10222719, 10384285, 10035737, 12345717, 9873405, 11069199, 12670165, 10159846, 13257247, 10205230, 10052141, 11818335, 12371955, 12655433, 10040921, 11827088, 10219576, 12408350, 13343424, 11707699, 12370722, 11695333, 11841309, 11924400, 12737666, 12797765, 10281887, 10278372, 10013177, 13503598, 12543639, 10157249, 12531263, 9735237, 10317487, 10219583, 9727147, 10310299, 10636231, 11065646, 10055063, 10368698, 10079168, 11695416, 10233732, 10314582, 9953542, 10080579, 11699057, 12620422, 10427260, 11666137, 10110863, 10363186, 10417716, 10019218, 10388660, 12748240, 9539440, 10373381, 10239480, 10158493, 11842991, 10399808, 10417216, 11695285, 11800170, 10157402, 9651350, 10299224, 10151017, 11724916, 9564886, 9847634, 10018789, 10248523, 11694127, 10630870, 9770451, 10425676, 9683047, 10180307, 9835264, 10132870, 10094201, 10193846, 11664046, 10324294, 9414040, 9819805, 11830776, 11830777, 11830778, 11683713, 10200404, 10102506, 12827726, 11733179, 10229886, 10040531, 10082277, 9788588, 12326246, 12397410, 10622001, 13468884, 13386082, 10040035, 12539000, 11867127, 9842573, 9771278, 10013431, 10228151, 10324526, 12417369, 10238786, 10217802, 10332111, 10227288, 10623249, 9943960, 10021022, 9824435, 11664719, 12950644, 9735282, 11800854, 10097711, 11858315, 6523037, 10053725, 8685446 API Version 2014-10-31 254 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.2.v7 Version du moteur de base de données : 11.2.0.2.v7 Nouveautés de la version 11.2.0.2.v7 Cette version ajoute une prise en charge de ce qui suit : • Conservation des journaux redo archivés (pour version 11.2.0.2.v7 et ultérieure) (p. 219) • PSU Oracle 11.20.2.10 Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.2.10 (Avril 2013) Bogues corrigés : 16344871, 9671271, 16294412, 14841558, 12579446, 16056267, 10435074, 14273397, 12428791, 12314102, 10138589, 14841812, 12842402, 16303117, 10372924, 12539487, 12594032, 13377816, 16303116, 16175381, 14220725, 13561951, 9868876, 9913542, 16303114, 10362871, 9801919, 12755116, 13524899, 16303115, 10350832, 16303118, 12582664, 13596521, 14459552, 13810393, 13147164, 15896431, 10247152, 14076523, 10395345, 14023636, 13467683, 11706168, 15896427, 14263073, 9926929, 10190172, 11715084, 15896432, 9896536, 15896428, 15896429, 14841437, 12420002, 14262913, 13399435, 10396874, 8547978, 14727315, 15896434, 14546575, 9860769, 14258925, 15896433, 14546638, 11834448, 14741727, 14546673, 12845115, 15896430, 12595561, 13550185, 14263036, 9912965, 14205448, 15896435, 14035825, 12848798, 11856395, 10175192, 14469008, 12313857, 9233544, 9681133, 13250244, 13737746, 11063821, 12409916, 14461356, 14461357, 11878443, 14461358, 14683459, 14275621, 14467061, 10114837, 12649442, 10207551, 12794305, 14473913, 10171273, 10373013, 10210507, 11883472, 13080778, 10172453, 14624146, 14613900, 10213073, 9373370, 9478199, 9877980, 10021111, 10228393, 12899768, 12713993, 9470768, 14390377, 10140809, 12894807, 11686968, 12374212, 12764337, 12326708, 9956835, 11734067, 7312717, 11775474, 12834027, 13326736, 9952554, 10249791, 11877623, 12569737, 14038791, 10026601, 12378147, 10115630, 11814891, 14127510, 10412247, 13923804, 12656535, 9709292, 10220033, 10092858, 12391602, 12323180, 10142857, 10620808, 12579349, 12337012, 12879027, 11811073, 11064851, 13001379, 9903826, 11738259, 14107384, 10207092, 14107385, 11882425, 9858539, 14107386, 14107387, 10633840, 14107388, 10419629, 14107389, 11708510, 10131867, 14040433, 11063191, 13916709, 12880299, 11872103, 12595730, 11056082, 12596444, 13099577, 13632725, 10031806, 13769501, 13769502, 13769503, 13769504, 9744252, 13769505, 9956713, 13769506, 13769507, 9972680, 13769508, 13769509, 11853815, 10635701, 9591812, 10127360, 11723722, 9443361, 12846268, 12846269, 9707965, 10245086, 9401552, 10039731, 11689702, 13769510, 12366627, 10077191, 9829397, 11785938, 10258337, 10264680, 10094823, 10209232, 10284570, 8672862, 9672816, 12830339, 9881076, 10621169, 10048701, 12569482, 9078442, 11057263, 10322959, 12780098, 12976376, 12340939, 11788856, 8223165, 10264696, 10142909, 11800959, 13476583, 10052956, 10285022, 10329146, 10332589, 9895207, 9869401, 12828071, 9285259, 10229719, 11724984, 10411618, 11670161, 9724970, 10113990, 10312847, 11893621, 10200390, 10084145, 10367188, 10285394, 10190642, 12586486, 12586487, 10129643, 12586488, 12917230, 12586489, 11866952, 10232083, 9715581, 10302581, 11690639, 12423475, 11889177, 10126094, 10396041, 10269503, 9970255, 9436324, 12400751, 12589039, 11785390, 12586490, 12586491, 12586492, 9795214, 12586493, 10142788, 12586494, 12586495, 9905049, 12586496, 11674898, 10419984, 6892311, 11815753, 10358019, 12431716, 9906422, 10422126, 13343244, 11937253, 9965655, 11890804, 11651810, 9382956, 11067567, 11716621, 10126822, 9869287, 9375300, 10155605, 10356782, 10326338, 10165083, 10051315, 13696224, 10218814, 13554409, 11076894, 10278773, 11707302, 10230571, 12419321, 9966609, 12633340, 12546006, 10137324, 11894889, 10061015, 9572787, 10284838, 10073683, 12639234, 9578670, 9748749, 10022980, 10237773, 10089333, 12419331, 11674485, 12685431, 10187168, 10648873, 10158965, 11061775, 12635537, 9746210, 10204358, 10356513, 10378005, 10170431, 12639177, 10222719, 10384285, 10035737, 12345717, 9873405, 11069199, 12670165, 10159846, 13257247, 10205230, 10052141, 11818335, 12371955, 12655433, 10040921, 11827088, 10219576, 12408350, 13343424, 11707699, 12370722, 11695333, 11841309, 11924400, 12737666, 12797765, 10281887, 10278372, 10013177, 13503598, API Version 2014-10-31 255 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.3.v1 12543639, 10157249, 12531263, 9735237, 10317487, 10219583, 9727147, 10310299, 10636231, 11065646, 10055063, 10368698, 10079168, 11695416, 10233732, 10314582, 9953542, 10080579, 11699057, 12620422, 10427260, 11666137, 10110863, 10363186, 10417716, 10019218, 10388660, 12748240, 9539440, 10373381, 10239480, 10158493, 11842991, 10399808, 10417216, 11695285, 11800170, 10157402, 9651350, 10299224, 10151017, 11724916, 9564886, 9847634, 10018789, 10248523, 11694127, 10630870, 9770451, 10425676, 9683047, 10180307, 9835264, 10132870, 10094201, 10193846, 11664046, 10324294, 9414040, 9819805, 11830776, 11830777, 11830778, 11683713, 10200404, 10102506, 12827726, 11733179, 10229886, 10040531, 10082277, 9788588, 12326246, 12397410, 10622001, 13468884, 13386082, 10040035, 12539000, 11867127, 9842573, 9771278, 10013431, 10228151, 10324526, 12417369, 10238786, 10217802, 10332111, 10227288, 10623249, 9943960, 10021022, 9824435, 11664719, 12950644, 9735282, 11800854, 10097711, 11858315, 6523037, 10053725, 8685446 Version du moteur de base de données : 11.2.0.3.v1 Nouveautés de la version 11.2.0.3.v1 Cette version ajoute une prise en charge de ce qui suit : • Déconnexion d'une session (pour version 11.2.0.3.v1 et ultérieure) (p. 214) • Nouvelle dénomination du nom global (pour version 11.2.0.3.v1 et ultérieure) (p. 214) • Déconnexion forcée d'une session (pour version 11.2.0.3.v1 et ultérieure) (p. 218) • Définition d'une journalisation supplémentaire (pour version 11.2.0.3.v1 et ultérieure) (p. 219) • Définition d'une récupération distribuée (pour version 11.2.0.3.v1 et ultérieure) (p. 221) • Affichage et lecture de fichiers dans un répertoire d'instance DB (pour version 11.2.0.3.v1 et ultérieure) (p. 223) • PSU Oracle 11.2.0.3.7 Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.3.7 (Juillet 2013) Bogues corrigés : 13593999, 13566938, 10350832, 14138130, 12919564, 13561951, 13624984, 13588248, 13080778, 13914613, 13804294, 14258925, 12873183, 13645875, 14472647, 12880299, 14664355, 12998795, 14409183, 13719081, 14469008, 13492735, 14263036, 12857027, 13496884, 13015379, 14263073, 13742433, 13732226, 16314469, 16368108, 12905058, 6690853, 13742434, 12849688, 12950644, 13742435, 13464002, 13063120, 13534412, 12879027, 13958038, 14613900, 12585543, 13790109, 12535346, 16382448, 12588744, 11877623, 12395918, 13814739, 13786142, 12847466, 13649031, 13855490, 13981051, 12582664, 12797765, 14262913, 12923168, 16279401, 12912137, 13612575, 13384182, 13466801, 13484963, 14207163, 13724193, 13772618, 11063191, 16694777, 13070939, 12797420, 15869211, 13041324, 16279211, 16314467, 16314468, 12976376, 11708510, 13680405, 13742437, 13026410, 14589750, 13737746, 13742438, 14644185, 15841373, 13326736, 13596521, 14398795, 13579992, 13001379, 16344871, 13099577, 9873405, 13742436, 14275605, 9858539, 14841812, 11715084, 16231699, 14040433, 9703627, 12662040, 12617123, 16530565, 14207317, 12845115, 12764337, 13354082, 14459552, 13397104, 13913630, 12964067, 12983611, 13550185, 12780983, 13810393, 12583611, 14546575, 15862016, 13476583, 13489024, 11840910, 13903046, 15862017, 13572659, 16294378, 13718279, 14088346, 13657605, 13448206, 16314466, 14480676, 13419660, 13632717, 14668670, 14063281, 14110275, 13430938, 13467683, 13420224, 13812031, 14548763, 16299830, 12646784, 14512189, 12755116, 14035825, 13616375, 13427062, 12861463, 12834027, 15862021, 13632809, 13377816, 13036331, 14727310, 16619892, 13685544, 13499128, 15862018, 13584130, 16175381, 12829021, 15862019, 12794305, 14546673, 12791981, 13561750, 13503598, 13787482, 10133521, 12718090, 13848402, 13399435, 14023636, 9095696, 13860201, 12401111, 13257247, 13362079, 14176879, 12917230, 16014985, 13923374, API Version 2014-10-31 256 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.3.v2 14220725, 13524899, 14480675, 16306019, 13559697, 12974860, 9706792, 12940620, 14480674, 13916709, 13098318, 14076523, 13773133, 15905421, 16794244, 13340388, 12731940, 13528551, 13366202, 12894807, 13343438, 13454210, 12748240, 14205448, 13385346, 14127231, 15853081, 14273397, 14467061, 12971775, 13923995, 14571027, 13582702, 13907462, 10242202, 13493847, 13857111, 13035804, 13544396, 16382353, 8547978, 14226599, 16794241, 14062795, 13035360, 12925089, 12693626, 13332439, 14038787, 11071989, 14062796, 16794243, 12913474, 14841409, 14390252, 16314470, 13370330, 13059165, 14062797, 14062794, 12959852, 12345082, 13358781, 12960925, 16703112, 9659614, 14546638, 13699124, 13936424, 14301592, 16794240, 13338048, 12938841, 12658411, 12620823, 12656535, 14062793, 12678920, 13038684, 14062792, 13807411, 16742095, 16794238, 15862022, 12594032, 13250244, 12612118, 9761357, 14053457, 13742464, 14052474, 13911821, 13457582, 7509451, 13527323, 13791364, 15862020, 13910420, 12780098, 13502183, 13696216, 13705338, 10263668, 14841558, 16794242, 15862023, 16056266, 16794239, 15862024, 13554409, 13645917, 13103913, 12772404, 13011409, 14063280, 13328193, 16799735 Version du moteur de base de données : 11.2.0.3.v2 Nouveautés de la version 11.2.0.3.v2 Cette version ajoute une prise en charge de ce qui suit : • Mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.3.12 (correctif 19121548, publié en octobre 2014). • Fichier DST le plus récent (DSTv23 – correctif 19396455, publié en octobre 2014). Ce correctif est intégré par défaut dans de nouvelles instances uniquement. • Correctif de base de données ajouté 19695885 – Extraction intégrée Oracle GoldenGate pour 11.2.0.3.12. • Chemins de mise à niveau disponibles : vous pouvez mettre à jour depuis 11.2.0.3.v2 vers des versions ultérieures de 11.2.0.3 à mesure qu'elles deviennent disponibles. Vous pouvez également mettre à jour depuis 11.2.0.3.v2 vers 11.2.0.4.v3 ou des versions ultérieures de 11.2.0.4, à mesure qu'elles deviennent disponibles. Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.3.12 (octobre 2014) Bogues corrigés : 19396455, 18759211, 17432124, 16799735, 14744263, 14175146, 13652437, 16238044, 13516727, 13328193, 14050233, 13593999, 10350832, 19433746, 14138130, 12919564, 14198511, 13561951 13588248, 13080778, 13804294, 16710324, 18031683, 12873183, 16992075 14193240, 14472647, 12880299, 14799269, 13369579, 13840704, 14409183 13492735, 13496884, 12857027, 14263036, 13834436, 16038929, 13015379 14263073, 17748833, 16563678, 13732226, 13866822, 13742434, 13944971 12950644, 12899768, 17748831, 16929165, 16272008, 13063120, 13958038 14613900, 13503204, 13972394, 11877623, 13072654, 17088068, 12395918 16710753, 13429702, 13814739, 17343514, 13649031, 10256843, 13981051 15981698, 13901201, 12797765, 17333200, 19211724, 12923168, 16761566 13384182, 16279401, 13466801, 15996344, 14207163, 18673304, 13596581 13724193, 11063191, 13642044, 12940637, 18641419, 12595606, 9163477 15931756, 14052871, 18262334, 13945708, 12797420, 14123213, 13041324 12865902, 15869211, 14003090, 16314468, 16019955, 11708510, 17865671 14637368, 13026410, 13737746, 13742438, 15841373, 16347904, 15910002 16088176, 19517437, 16362358, 16505333, 14398795, 14182835, 13579992 16344871, 10182005, 10400244, 13742436, 14275605, 9858539, 14841812 16338983, 9703627, 13483354, 14393728, 14207317, 17165204, 12764337 16902043, 14459552, 14191508, 14588746, 12964067, 12780983, 12583611 14383007, 14546575, 13476583, 15862016, 13489024, 12985237, 17748830 19554106, 14088346, 13448206, 19458377, 16314466, 13419660, 18139695 12591399, 14110275, 13430938, 13467683, 17767676, 14548763, 19638161 13424216, 12834027, 13632809, 13853126, 13377816, 13036331, 14727310 9812682, 12320556, 16747736, 13584130, API Version 2014-10-31 257 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.4.v1 16175381, 17468141, 12829021 14138823, 15862019, 12794305, 14546673, 12791981, 13503598, 13787482 10133521, 12744759, 13399435, 19433747, 14762511, 13553883, 14023636 9095696, 12977562, 14343501, 13860201, 13257247, 14176879, 13783957 16014985, 12312133, 14480675, 13146182, 16306019, 13559697, 12974860 9706792, 12940620, 13098318, 15883525, 13773133, 16794244, 13340388 13528551, 13366202, 12894807, 13259364, 12747437, 13454210, 12748240 13385346, 15987992, 13923995, 16101465, 14571027, 13582702, 12784406 13907462, 13493847, 13035804, 13857111, 16710363, 13544396, 10110625 14128555, 12813641, 8547978, 14226599, 17478415, 17050888, 17333197 9397635, 14007968, 13912931, 12693626, 12925089, 14189694, 17761775 12815057, 16721594, 13332439, 14038787, 11071989, 12596444, 14207902 14062796, 12913474, 14390252, 13370330, 16314470, 14062794, 13358781 12960925, 17333202, 9659614, 14546638, 13699124, 13936424, 19433745 9797851, 16794240, 14301592, 13338048, 12938841, 12620823, 12656535 12678920, 13719292, 14488943, 14062792, 16850197, 14791477, 13807411 16794238, 13250244, 12594032, 15862022, 15826962, 14098509, 12612118 9761357, 18096714, 14053457, 13918644, 13527323, 10625145, 12797620 18173595, 19289642, 15862020, 13910420, 12780098, 13696216, 14774091 14841558, 10263668, 13849733, 16794242, 16944698, 15862023, 16056266 13834065, 13853654, 14351566, 13723052, 18173593, 14063280, 13011409 13566938, 13737888, 13624984, 16024441, 17333199, 13914613, 17540582 14258925, 14222403, 14755945, 13645875, 12571991, 13839641, 14664355 12998795, 13719081, 14469008, 13361350, 14188650, 17019974, 13742433 14508968, 16314469, 16368108, 12905058, 6690853, 13647945, 16212405 12849688, 13742435, 13464002, 18681866, 12879027, 13534412, 18522512 12585543, 12747740, 12535346, 13878246, 13790109, 16382448, 12588744 13916549, 13786142, 12847466, 13855490, 13551402, 12582664, 13871316 14657740, 14262913, 17332800, 14558880, 14695377, 12912137, 13612575 12387467, 13484963, 14163397, 17437634, 13772618, 16694777, 13070939 15994107, 13605839, 14369664, 12391034, 12588237, 16279211, 16314467 12945879, 15901852, 12976376, 7276499, 12755231, 13680405, 13742437 14589750, 14318397, 11868640, 14644185, 13326736, 13596521, 13001379 12898558, 17752121, 13099577, 13911711, 9873405, 18673325, 16372203 16344758, 11715084, 9547706, 16231699, 14040433, 12662040, 12617123 14406648, 17748832, 16530565, 12845115, 16844086, 13354082, 17748834 13794550, 13397104, 19537916, 13913630, 16524926, 16462834, 12983611 13550185, 13810393, 14121009, 13065099, 11840910, 13903046, 15862017 13572659, 16294378, 13718279, 13657605, 17716305, 14480676, 13632717 14668670, 14063281, 14158012, 13736413, 13420224, 13812031, 12646784 16299830, 14512189, 10359307, 12755116, 17230530, 13616375, 14035825 13366199, 13427062, 18673342, 12861463, 13092220, 15862021, 17721717 13043012, 16619892, 13685544, 18325460, 13499128, 15862018, 19727057 13839336, 13866372, 13561750, 12718090, 13848402, 13725395, 5144934 12401111, 12796518, 13362079, 12917230, 12614359, 13042639, 14408859 13923374, 11732473, 14220725, 12621588, 13524899, 14480674, 14751895 13916709, 14781609, 14076523, 15905421, 12731940, 13343438, 17748835 14205448, 17082364, 14127231, 15853081, 14273397, 16844448, 14467061 12971775, 16864562, 14489591, 14497307, 12748538, 13872868, 10242202 14230270, 13931044, 13686047, 16382353, 14095982, 17333203, 19121548 13591624, 14523004, 13440516, 16794241, 13499412, 13035360, 14062795 12411746, 13040943, 13843646, 12905053, 18173592, 16794243, 13477790 14841409, 14609690, 14062797, 13059165, 12959852, 12345082, 16703112 13890080, 17333198, 16048375, 16450169, 12658411, 13780035, 14062793 19271438, 19259446, 13038684, 18740215, 16742095, 13742464, 13066936 14052474, 13060271, 13911821, 13457582, 7509451, 19710542, 13791364 12821418, 13502183, 13705338, 14237793, 16794239, 13554409, 15862024 13103913, 13645917, 12772404 Version du moteur de base de données : 11.2.0.4.v1 Nouveautés de la version 11.2.0.4.v1 Cette version ajoute une prise en charge de ce qui suit : • Création de répertoires dans l'espace principal de stockage des données (pour version 11.2.0.4.v1 et ultérieure) (p. 222) • PSU Oracle 11.2.0.4.1 API Version 2014-10-31 258 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.4.v2 (Déconseillé) Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.4.1 (janvier 2014) Bogues corrigés : 17432124, 16850630, 17551709, 13944971, 17811447, 13866822, 17811429, 16069901 16721594, 17443671, 17478514, 17612828, 17610798, 17239687, 17501491 17446237, 16450169, 17811438, 17288409, 17811456, 12905058, 17088068 16285691, 17332800 Version du moteur de base de données : 11.2.0.4.v2 (Déconseillé) Nouveautés de la version 11.2.0.4.v2 Cette version ajoute une prise en charge de ce qui suit : • Mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.4.3 (correctif 18522509, publié en juillet 2014) • Accès utilisateur au package DBMS_TRANSACTION pour nettoyer des échecs de transactions distribuées • Fichier DST le plus récent (DSTv22 – correctif 18759211, publié en juin 2014). Ce correctif est intégré par défaut uniquement dans de nouvelles instances DB Oracle. • Accorde DBMS_REPUTIL au rôle DBA (mise à niveau vers 11.2.0.4 entraîne une révocation du public) • Privilèges accordés sur DBMS_TRANSACTION, v$pending_xatrans$ et v$xatrans$ • Résout un problème avec des commandes DDL lorsque des objets utilisateur ont « SYSTEM » dans leurs noms • Installe des objets de schéma pour prendre en charge des transactions XA, ce qui permet la gestion de transactions par un gestionnaire de transaction externe • Permet la troncation d'objets SYS et SYSTEM temporaires, autorisant des outils tels que LogMiner à fonctionner correctement Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.4.3 (Juillet 2014) Bogues corrigés : 17432124, 18759211, 18522509, 18031668, 17478514, 17752995, 17288409, 16392068, 17205719, 17811429, 17767676, 17614227 17040764, 17381384, 17754782, 17726838, 13364795, 17311728, 17389192 17006570, 17612828, 17284817, 17441661, 13853126, 17721717, 13645875 18203837, 17390431, 16542886, 16992075, 16043574, 17446237, 16863422 14565184, 17071721, 17610798, 17468141, 17786518, 17375354, 17397545 18203838, 16956380, 17478145, 16360112, 17235750, 17394950, 13866822 17478514, 17027426, 12905058, 14338435, 16268425, 13944971, 18247991 14458214, 16929165, 17265217, 13498382, 17786278, 17227277, 17546973 14054676, 17088068, 16314254, 17016369, 14602788, 17443671, 16228604 16837842, 17332800, 17393683, 13951456, 16315398, 18744139, 17186905 16850630, 17437634, 19049453, 17883081, 15861775, 17296856, 18277454 16399083, 16855292, 18018515, 10136473, 16472716, 17050888, 17865671 17325413, 14010183, 18554871, 17080436, 16613964, 17761775, 16721594 17588480, 17551709, 17344412, 18681862, 15979965, 13609098, 18139690 17501491, 17239687, 17752121, 17602269, 18203835, 17297939, 17313525 16731148, 17811456, 14133975, 17600719, 17385178, 17571306, 16450169 17655634, 18094246, 17892268, 17165204, 17011832, 17648596, 16785708 17477958, 16180763, 16220077, 17465741, 17174582, 18522509, 16069901 16285691, 17323222, 18180390, 17393915, 16875449, 18096714, 17238511 API Version 2014-10-31 259 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 11.2.0.4.v3 Version du moteur de base de données : 11.2.0.4.v3 Nouveautés de la version 11.2.0.4.v3 Cette version ajoute une prise en charge de ce qui suit : • Mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.4.4 (correctif 19121551, publié en octobre 2014) • Fichier DST le plus récent (DSTv23 – correctif 19396455, publié en oct. 2014). Ce correctif est intégré par défaut dans de nouvelles instances uniquement. Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database 11.2.0.4.4 (octobre 2014) Bogues corrigés : 19396455, 18759211, 17432124, 16799735, 17288409, 17205719, 17811429, 17754782, 17726838, 13364795, 17311728 17284817, 17441661, 13645875, 18199537, 16992075, 16542886, 17446237 14565184, 17071721, 17610798, 17375354, 17449815, 17397545, 19463897 18230522, 17235750, 16360112, 13866822, 17982555, 17478514, 12905058 14338435, 13944971, 16929165, 12747740, 17546973, 14054676, 17088068 18264060, 17343514, 17016369, 17042658, 14602788, 14657740, 17332800 19211724, 13951456, 16315398, 17186905, 18744139, 16850630, 17437634 19049453, 18673304, 17883081, 18641419, 17296856, 18262334, 17006183 18277454, 17232014, 16855292, 10136473, 17705023, 17865671, 18554871 19121551, 17588480, 17551709, 17344412, 17842825, 18681862, 17390160 13955826, 13609098, 18139690, 17501491, 17239687, 17752121, 17299889 17602269, 18673325, 17313525, 17242746, 19544839, 17600719, 18191164 17571306, 19466309, 17951233, 18094246, 17165204, 17011832, 17040527 16785708, 16180763, 17477958, 17174582, 17465741, 18522509, 17323222 19463893, 16875449, 16524926, 17237521, 17596908, 17811438, 17811447 18031668, 16912439, 16494615, 18061914, 17545847, 17082359, 19554106 17614134, 17341326, 17891946, 19458377, 17716305, 17752995, 16392068 19271443, 17767676, 17614227, 17040764, 17381384, 18973907, 18673342 14084247, 17389192, 17006570, 17612828, 17721717, 13853126, 18203837 17390431, 17570240, 14245531, 16043574, 16863422, 19727057, 17468141 17786518, 17037130, 17267114, 18203838, 16198143, 16956380, 17478145 14829250, 17394950, 17027426, 16268425, 18247991, 19584068, 14458214 18436307, 17265217, 13498382, 16692232, 17786278, 17227277, 16042673 16314254, 17443671, 16228604, 16837842, 17393683, 17787259, 18009564 15861775, 16399083, 18018515, 16472716, 17050888, 14010183, 17325413 16613964, 17080436, 17036973, 17761775, 16721594, 18280813, 15979965 18203835, 17297939, 16731148, 17811456, 14133975, 17385178, 17586955 16450169, 17655634, 9756271, 17892268, 17648596, 16220077, 16069901 11733603, 16285691, 17587063, 18180390, 17393915, 18096714, 17238511 17824637, 14285317, 19289642, 14764829, 18328509, 17622427, 16943711 17346671, 18996843, 14852021, 17783588, 16618694, 17672719, 17546761 Version du moteur de base de données : 12.1.0.1.v1 Nouveautés de la version 12.1.0.1.v1 Cette version ajoute une prise en charge pour les éléments suivants : • Mise à jour d'ensemble de correctifs Database : 12.1.0.1.6 (Jan 2015) (19769486) API Version 2014-10-31 260 Amazon Relational Database Service Guide de l'utilisateur Version du moteur de base de données : 12.1.0.1.v1 Référence : mise à jour d'ensemble de correctifs (PSU) Oracle Database : 12.1.0.1.6 (Jan 2015) (19769486) Bogues corrigés : 18093615, 17716305, 17257820, 17034172, 16694728, 16042673, 18096714 17439871, 16320173, 14664684, 17762256, 18002100, 18436307, 16450169 17006570, 17753428, 17552800, 15994107, 17441661, 17305959, 18362376 17997255, 17710315, 14506328, 17806676, 17443596, 17040764, 16849982 16837842, 14010183, 18393024, 16845022, 16228604, 17446564, 17042658 14536110, 17579911, 18262334, 17311728, 17391312, 17244462, 16935643 18641419, 17039360, 14355775, 18155703, 16672859, 18229326, 17080436 17912217, 16788832, 16039096, 16570023, 18099539, 14123213, 17174391 17405549, 17830435, 17249820, 16946990, 16589507, 16924879, 16874123 17750832, 16784143, 15987992, 17346196, 16901482, 16859937, 17898041 17068536, 16910001, 17946998, 16527374, 17394724, 17572720, 16703112 17490498, 16433869, 16186165, 16170787, 16524968, 17032726, 16543323 17349104, 18355572, 17888553, 16575931, 18061914, 16070351, 17088068 16888264, 16448848, 16863422, 17443671, 18308576, 16911800, 16517900 16825779, 17019974, 16707927, 17551812, 14576755, 17263661, 17325413 17446849, 16465149, 17184677, 16689109, 16705020, 18889652, 17828499 16964279, 15953721, 17205719, 18603606, 18121501, 16757934, 16864562 16782193, 17436936, 15996344, 17037526, 17260090, 19556045, 17216406 17659488, 16485876, 16709437, 17898730, 18641461, 17174582, 16796277 17421502, 17534365, 16921340, 16784167, 18292893, 16660558, 16793174 16371304, 20074391, 17570606, 16943711, 16674666, 19197175, 16697600 17848854, 18522516, 17797837, 17716565, 16456371, 16347068, 16181570 19121550, 17516005, 16275522, 16475788, 16683859, 17491753, 16427054 16227068, 17753514, 16479182, 18554871, 17051636, 16263492, 16551086 18856947, 19866250, 16406802, 16433745, 16681689, 17614134, 17364702 17171530, 17298973, 16212405, 19049453, 18189497, 16443657, 16855202 18078926, 18244962, 17462687, 16087650, 16313881, 16992075, 17082983 17359546, 14595800, 16715647, 19554106, 17362796, 17777061, 16392068 17761775, 16977973, 17158214, 14197853, 16712618, 12911115, 17922172 16524071, 16856570, 17050888, 16410570, 17210416, 13866822, 18513099 16372203, 17867137, 16101465, 15914210, 16459685, 16802693, 16195633 16978185, 19309466, 17983206, 16787973, 16850996, 16178562, 16838328 16503473, 18126350, 13782826, 18439152, 17537657, 17721717, 17489214 16362358, 16994576, 17600719, 17461374, 16969016, 17571945, 16444683 16928832, 16929165, 16710753, 16864359, 16679874, 18031528, 16585173 15986012, 17467075, 17735933, 14852021, 16191248, 19692901, 16173738 17797453, 17343514, 16495802, 17324822, 16619249, 19297295, 16590848 15921906, 16986421, 17316776, 16576250, 16730813, 16433540, 16663303 18420490, 16619979, 17897716, 17016479, 16457621, 16675739, 17341326 17981677, 17005047, 17442449, 16795944, 16668226, 16698577, 16621274 17330580, 18348157, 17393683, 17817656, 16634384, 16465158, 16816103 16910734, 16584684, 16936008, 16347904, 16512817, 17273253, 16902138 17179261, 17810688, 16864048, 17468141, 17226980, 17883081, 16682595 16473934, 16762985, 16864864, 16721594, 16946613, 16972213, 16855292 17026503, 16964686, 17860549, 16674842, 13771513, 16061921, 17235750 16842274, 16913149, 16769019, 17000176, 15931910, 17572525, 17478145 14237793, 19248799, 17976046, 17289787, 16919176, 16613964, 17217040 16462834, 18092561, 16617325, 17308691, 16733884, 16483559, 16057129 16286774, 16822629, 17596344, 19289642, 17954431, 18423374, 16993424 17605522, 17280117, 19769486, 18436647, 8352043, 18973907, 16772060 16790307, 16991789, 17608025, 19006849, 18082092, 20128874, 16603924 18148383, 17182200, 16784901, 16912439, 18641451, 13521413, 17767676 17478811, 16836849, 16007562, 16851772, 16663465, 17786278, 17027533 16675710, 17437634, 19458377, 17610418, 17465741, 15905421, 17892268 16523150, 16741246, 16930325, 17982838, 17390431, 17974104 API Version 2014-10-31 261 Amazon Relational Database Service Guide de l'utilisateur Tâches courantes de gestion pour SQL Server sur Amazon RDS Microsoft SQL Server sur Amazon RDS Amazon RDS prend en charge des instances de base de données exécutant plusieurs éditions de Microsoft SQL Server 2008 R2 et SQL Server 2012. Vous pouvez créer des instances DB et des snapshots DB, des restaurations à un moment donné ainsi que des sauvegardes automatiques ou manuelles. Les instances DB exécutant SQL Server peuvent être utilisées dans un VPC. Vous pouvez également utiliser SSL pour vous connecter à une instance DB exécutant SQL Server, et vous pouvez utiliser TDE pour chiffrer des données au repos. Amazon RDS prend actuellement en charge des déploiements MultiAZ pour SQL Server utilisant la mise en miroir SQL Server comme une solution de basculement haute disponibilité. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances DB et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Amazon RDS prend en charge l'accès à des bases de données sur une instance DB en utilisant toute application client SQL standard, telle que Microsoft SQL Server Management Studio. Amazon RDS n'autorise pas l'accès hôte direct à une instance DB via Telnet, Secure Shell (SSH) ou une connexion Bureau à distance Windows. Lorsque vous créez une instance DB, le rôle db_owner vous est attribué pour toutes les bases de données sur cette instance, et vous disposez de toutes les autorisations au niveau de la base de données, sauf de celles qui sont utilisées pour les sauvegardes (Amazon RDS gère les sauvegardes pour vous). Avant de créer une instance DB, vous devez suivre la procédure de la section Configuration d'Amazon RDS (p. 7) du présent guide. Tâches courantes de gestion pour SQL Server sur Amazon RDS Il s'agit des tâches courantes de gestion que vous exécutez avec une instance DB Amazon RDS SQL Server, avec les liens vers des informations relatives à chaque tâche : • Pour plus d'informations sur la planification, telles que les versions de SQL Server, les moteurs de stockage, la sécurité et les fonctions prises en charge dans Amazon RDS, consultez Planification de votre instance DB SQL Server sur Amazon RDS (p. 264). API Version 2014-10-31 262 Amazon Relational Database Service Guide de l'utilisateur Tâches courantes de gestion pour SQL Server sur Amazon RDS • Si vous créez une instance DB à des fins de production, vous devez comprendre comment les classes d'instance, le stockage et les IOPS provisionnées fonctionnent dans Amazon RDS. Pour plus d'informations sur les classes d'instance DB, consultez Classe d'instance de base de données (p. 44). Pour plus d'informations sur le stockage Amazon RDS, consultez Types de stockage Amazon RDS (p. 58). Pour plus d'informations sur les IOPS provisionnées, consultez Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63). • Une instance DB de production doit également utiliser des déploiements multi-AZ. Tous les déploiements multi-AZ améliorent la disponibilité, la durabilité des donnés et la tolérance aux pannes pour les instances DB. Les déploiements multi-AZ pour SQL Server sont implémentés en utilisant la technologie de mise en miroir native de SQL Server. Pour plus d'informations sur les déploiements multiAZ, consultez Haute disponibilité (Multi-AZ) (p. 51). Pour plus d'informations sur multi-AZ SQL Server utilisant la mise en miroir, consultez Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server (p. 268). • Des prérequis doivent être effectués avant la création de votre instance DB. Par exemple, des instances DB sont créées par défaut avec un pare-feu qui empêche d'y accéder. Vous devez donc créer un groupe de sécurité avec les adresses IP correctes et la configuration réseau que vous utiliserez pour accéder à l'instance DB. Le groupe de sécurité que vous devez créer dépend de la plateforme EC2 sur laquelle se trouve votre instance DB, et de si vous accédez à votre instance DB depuis une instance EC2. Pour plus d'informations sur les deux plateformes EC2 prises en charge par Amazon RDS, EC2-VPC et EC2-Classic, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2Classic (p. 498). En général, si votre instance DB est sur la plateforme EC2-Classic, vous devez créer un groupe de sécurité DB ; si votre instance DB est sur la plateforme EC2-VPC, vous devez créer un groupe de sécurité VPC. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93) ou la section Configuration d'Amazon RDS (p. 7) de ce guide. • Si votre compte AWS contient un VPC par défaut (un réseau privé virtuel par défaut), alors votre instance DB sera automatiquement créée dans le VPC par défaut. Si votre compte n'a pas de VPC par défaut et que vous voulez que l'instance DB soit à l'intérieur d'un VPC, vous devez créer le VPC et les groupes de sous-réseau avant de créer l'instance DB. Pour plus d'informations sur la façon de déterminer si votre compte possède un VPC par défaut, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic (p. 498). Pour plus d'informations sur l'utilisation des VPC avec Amazon RDS, consultez Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497). • Si votre instance DB doit nécessiter des options ou des paramètres de base de données spécifiques, vous devez créer les groupes d'options ou de paramètres avant de créer l'instance DB. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Pour plus d'informations sur les options pour SQL Server, consultez Annexe : Options pour le moteur de base de données SQL Server (p. 309). • Après avoir créé un groupe de sécurité et l'avoir associé à une instance DB, vous pouvez vous connecter à l'instance DB en utilisant une application cliente SQL standard quelconque telle que Microsoft SQL Server Management Studio. Pour plus d'informations sur la connexion à une instance DB, consultez Connexion à une instance DB exécutant le moteur de base de données SQL Server (p. 281). • Vous pouvez configurer votre instance DB pour que les sauvegardes soient exécutées automatiquement ou que les instantanés soient créés manuellement, puis que les instances soient restaurées à partir des sauvegardes ou des instantanés. Pour plus d'informations, consultez Sauvegarde et restauration (p. 441). • Vous pouvez superviser une instance via différentes actions telles que l'affichage des journaux SQL Server, les événements et les métriques Amazon RDS CloudWatch. Pour plus d'informations, consultez Supervision de Amazon RDS (p. 506). Il y a également plusieurs annexes incluant des informations utiles sur l'utilisation des instances DB SQL Server Amazon RDS : • Pour plus d'informations sur les tâches courantes d'administration de base de données pour SQL Server sur Amazon RDS, consultez Annexe : Tâches courantes DBA pour SQL Server (p. 301). API Version 2014-10-31 263 Amazon Relational Database Service Guide de l'utilisateur Planification de votre instance DB SQL Server sur Amazon RDS • Pour plus d'informations sur les options que vous voulez utiliser avec SQL Server sur Amazon RDS, consultez Annexe : Options pour le moteur de base de données SQL Server (p. 309). Planification de votre instance DB SQL Server sur Amazon RDS Vous pouvez choisir la version de SQL Server que vous souhaitez avoir sur votre instance DB. Amazon RDS prend en charge des instances de base de données exécutant plusieurs éditions de Microsoft SQL Server 2008 R2 et SQL Server 2012. Vous devez également être conscient des limites des instances DB SQL Server. Rubriques • Limites générales pour les instances DB SQL Server (p. 264) • Prise en charge de fonctions SQL Server sur Amazon RDS (p. 265) • Gestion des licences SQL Server (p. 267) • Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server (p. 268) • Gestion des versions du moteur de base de données (p. 271) • Rôles et autorisations SQL Server pris en charge (p. 271) • Utilisation de SSL avec une instance DB SQL Server (p. 272) • Utilisation de l'option TDE pour chiffrer les données au repos (p. 274) Limites générales pour les instances DB SQL Server L'implémentation Amazon RDS de SQL Server sur une instance DB a des limites dont vous devez avoir conscience : • Le nombre maximum de bases de données sur une seule instance DB Microsoft SQL Server est 30. • Les bases de données ne peuvent pas être renommées. • La taille de stockage maximum pour une instance de base de données Microsoft SQL Server est de 4 To pour toutes les instances, sauf l'édition SQL Server Express, qui limite le stockage à un total de 300 Go. Si vous avez un scénario requérant un important volume de stockage, il est possible d'utiliser le partitionnement sur plusieurs instances de base de données pour contourner cette limite. Cette approche nécessite une logique d'acheminement dépendant des données dans les applications qui se connectent au système partitionné, afin que les données soient interrogées puis la partition qui convient, et écrites vers celle requise. Vous pouvez utiliser une infrastructure existante telle que Hibernate Shards ou écrire du code personnalisé pour l'activation. Si vous choisissez effectivement d'utiliser une infrastructure existante, elle ne doit exiger l'installation d'aucun composant sur le même serveur que l'instance de base de données. Pour un exemple de solution de partitionnement utilisant une infrastructure existante, consultez Utilisation d'un exemple de partitionnement avec la mise en veille prolongée. • Du fait que les limites d'extensibilité du stockage agrégé par bandes attaché à Windows Server, Amazon RDS ne prend pas actuellement en charge l'augmentation du stockage sur une instance DB SQL Server. Nous vous recommandons d'allouer du stockage en fonction de la future croissance de stockage anticipée. Si vous devez augmenter l'espace de stockage d'une instance de base de données SQL Server, il vous faut exporter les données, créer une autre instance de base de données offrant davantage de stockage, puis réimporter les données dans cette dernière. Pour plus d'informations, consultez le manuel RDS SQL Server Data Migration Guide. • La taille de stockage minimum pour une instance DB Microsoft SQL Server est de 20 Go pour les éditions Microsoft SQL Server Express et Web, et de 200 Go pour les éditions Standard et Enterprise. API Version 2014-10-31 264 Amazon Relational Database Service Guide de l'utilisateur Prise en charge de fonctions SQL Server sur Amazon RDS • Une nouvelle instance DB SQL Server ne contient pas de base de données. L'instance a un compte utilisateur maître dont le nom et le mot de passe sont ceux que vous avez spécifiés lors de la création de l'instance de base de données que vous pouvez utiliser pour créer des utilisateurs et accorder des autorisations. Vous devez utiliser un outil SQL Server tel que SQL Server Management Studio pour vous connecter en tant qu'utilisateur maître, puis utiliser les commandes SQL Server et les instructions SQL pour ajouter les utilisateurs et les éléments requis par vos applications pour stocker et récupérer des données de l'instance DB. • Pour importer des données SQL Server dans une instance DB, suivez les informations fournies dans la section Importation et exportation de données SQL Server (p. 290). Vous ne pouvez pas utiliser les commandes BACKUP et RESTORE pour importer des données dans une instance DB car Amazon RDS ne permet pas d'accès au niveau du système d'exploitation qui vous permettrait de placer des fichiers dans un emplacement physique auquel le moteur de base de données aurait accès. De même, vous ne pouvez pas importer de données en utilisant l'assistant Copy Database Wizard dans SQL Server Management Studio car l'outil nécessite le privilège sysadmin sur les serveurs source et destination et cette autorisation n'est pas disponible pour le compte utilisateur maître pour une instance DB. • Du fait de limitations dans Microsoft SQL Server, une restauration à un moment donné avant l'exécution réussie d'une DROP DATABASE peut ne pas refléter l'état de cette base de données à ce moment précis. Par exemple, la base de données supprimée sera généralement rétablie à l'état qui était le sien jusqu'à 5 minutes avant l'émission de la commande DROP DATABASE, ce qui signifie que vous ne pourrez pas restaurer les transactions effectuées pendant ces quelques minutes sur votre base de données supprimée. Pour contourner ce problème, vous pouvez réémettre la commande DROP DATABASE après que l'opération de restauration est terminée. Veuillez noter que la suppression d'une base de données supprime les journaux de transaction pour cette base de données. • La classe d'instance de base de données db.t1.micro a des ressources limitées et doit être privilégiée à des fins de test. Par exemple, l'instance DB db.t1.micro ne dispose pas de suffisamment de ressources pour une implémentation complète de SQL Server 2012. • Si Amazon RDS ne prend pas en charge certaines fonctions de SQL Server, vous pouvez exécuter des composants SQL Server dans des instances Amazon EC2 avec du stockage EBS, conformément aux stratégies de licences Microsoft. Cela inclut des composants tels que SQL Server Analysis Services, SQL Server Integration Services, SQL Server Reporting Services, Data Quality Services et Master Data Services. • L'heure système est tenue à jour dans UTC. Nous ne prenons pas en charge la modification du fuseau horaire pour les instances DB SQL Server RDS. En fonction de votre cas d'utilisation, vous pourrez utiliser le type données datetimeoffset pour remplacer l'heure du système (UTC) par votre fuseau horaire local. Pour plus d'informations sur le type de données datetimeoffset, consultez Fonctions de date et d'heure dans la documentation Microsoft SQL Server. • Certains ports sont réservés pour l'utilisation d'Amazon RDS et ne peuvent pas être utilisés lors de la création d'une instance DB. Prise en charge de fonctions SQL Server sur Amazon RDS La liste suivante affichent un sous-ensemble de fonctions de moteur de base de données clés qui sont actuellement prises en charge par la version 2008 R2 de SQL Server. Pour une liste complète des fonctions prises en charge par le moteur de base de données SQL Server 2008 R2, accédez à Fonctions prises en charge par les éditions de SQL Server. • Fonctions principales du moteur de base de données • Outils de développement SQL Server : • Intégration Visual Studio • IntelliSense • Outils d'administration SQL Server : API Version 2014-10-31 265 Amazon Relational Database Service Guide de l'utilisateur Prise en charge de fonctions SQL Server sur Amazon RDS • SQL Server Management Studio (SMS) • sqlcmd • SQL Server Profiler (traces côté client ; solution de contournement disponible pour le côté serveur) • SQL Server Migration Assistant (SSMA) • Assistant Paramétrage du moteur de base de données • SQL Server Agent • Safe CLR • Recherche en texte intégral (sauf recherche sémantique) • SSL • Transparent Data Encryption (Enterprise Edition uniquement) • Fonctions de définition de l'emplacement et spatiales • Suivi des modifications • Mise en miroir de bases de données • La capacité d'utilisation d'une instance DB SQL Amazon RDS en tant que source de données pour Reporting Services, Analysis Services et Integration Services En plus des fonctions ci-dessus, la liste suivante affiche un sous-ensemble de fonctions de moteur de base de données clés qui sont actuellement prises en charge par la version 2012 de SQL Server. Pour plus d'informations sur SQL Server 2012, consultez la page Nouveautés de SQL Server 2012 sur MSDN. • Index columnstore (Enterprise Edition) • Types de données Online Index Create, Rebuild and Drop for XML, varchar(max), nvarchar(max) et varbinary(max) (Enterprise Edition) • Rôles serveur flexibles • Bases de données partiellement contenues • Séquences • Transparent Data Encryption (Enterprise Edition uniquement) • Instruction THROW • Types spatiaux nouveaux et améliorés • Support UTF-16 • Autorisation niveau serveur ALTER ANY SERVER ROLE Actuellement, Amazon RDS ne prend pas en charge les fonctions SQL Server suivantes : • Plans de maintenance • Messagerie de base de données • Requêtes distribuées (à savoir, Serveurs liés) • Service Broker • Copie des journaux de transaction de base de données • Authentification Windows • Capture des données des modifications (CDC) - Envisagez d'utiliser Suivi des modifications comme alternative de CDC. • Réplication • La capacité d'exécuter Reporting Services, Analysis Services, Integration Services ou Master Data Services sur le même serveur que l'instance de base de données. Si vous avez besoin de faire cela, nous vous recommandons d'installer SQL Server sur une instance EC2 ou d'utiliser une instance API Version 2014-10-31 266 Amazon Relational Database Service Guide de l'utilisateur Gestion des licences SQL Server SQL Server sur site pour agir comme serveur Reporting Services, Analysis Services, Integration Services ou Master Data Services. • Performance Data Collector • Points de terminaison T-SQL supplémentaires • Distributed Transaction Coordinator (MSDTC) • WCF Data Services • Support FILESTREAM • Gestion basée sur la stratégie • Audit SQL Server • Fonctions BULK INSERT et OPENROWSET(BULK...). Ces fonctions doivent être exécutées depuis le stockage serveur basé sur le client. • Data Quality Services • Initialisation instantanée de fichiers • Activation permanente (2012 Enterprise Edition) • Tables de fichiers • Déclencheurs de niveau serveur Certains paramètres SQL Server ont changé dans SQL Server 2012. • Les paramètres suivants ont été supprimés de SQL Server 2012 : awe enabled, precompute rank et sql mail xps. Ces paramètres n'étaient pas modifiables sans les instances DB SQL Server et leur suppression ne doit avoir aucun impact sur votre utilisation de SQL Server. • Un nouveau paramètre contained database authentication dans SQL Server 2012 prend en charge les « bases de données à relation contenant-contenu partielle ». Lorsque vous activez ce paramètre puis que vous créez une base de données à relation contenant-contenu partielle, le nom utilisateur et le mot de passe d'un utilisateur autorisé sont stockés dans la base de données à relation contenant-contenu partielle et non dans la base de données Master. Pour plus d'informations sur les bases de données à relation contenant-contenu partielle, accédez à Bases de données à relation contenant-contenu. Gestion des licences SQL Server Actuellement, Amazon RDS propose deux options de gestion des licences pour SQL Server, License Included et License Mobility (BYOL (apportez votre propre licence)). Cette section explique chacune d'elles. Conformément aux droits d'utilisation de Microsoft, SQL Server Web Edition peut être utilisé uniquement pour prendre en charge les pages Web, les sites Web, les applications Web et les services Web bénéficiant d'un accès public et Internet. Pour plus de détails, consultez les Conditions de service AWS. Note L'instance secondaire d'un déploiement Multi-AZ SQL Server (mise en miroir) est passive et ne prend aucune écriture, ni de fournit de lectures jusqu'à ce qu'un basculement se produise. Par conséquent, vous n'avez pas besoin d'une licence pour cette instance secondaire. Pour plus d'informations sur les licences SQL Server 2012, consultez le manuel SQL Server 2012 Licensing Reference Guide de Microsoft. Licence incluse Amazon RDS utilise le modèle de service Licence incluse pour des instances de base de données exécutant Microsoft SQL Server Express Edition, Microsoft SQL Server Web Edition et Microsoft SQL API Version 2014-10-31 267 Amazon Relational Database Service Guide de l'utilisateur Planification de vos déploiements multiAZ à l'aide de la mise en miroir SQL Server Server Standard Edition (SE). Avec ce mode, la licence est détenue par AWS et est incluse dans le prix de l'instance de base de données. Mobilité de licence (Réutilisez vos licences) Le programme Microsoft License Mobility permet aux clients Microsoft de transférer facilement des charges de travail actuelles depuis l'application Microsoft Server sur site vers Amazon Web Services (AWS), sans frais de licence Microsoft supplémentaires. Cette offre est disponible pour les clients disposant de licences en volume (VL) Microsoft et d'applications de serveur éligibles couvertes par des contrats d'assurance Microsoft Software Assurance (SA) en cours de validité. Actuellement, Microsoft SQL Server Standard Edition et Microsoft SQL Server Enterprise Edition sont les éditions de base de données éligibles pour ce programme. Reportez-vous aux Droits d'utilisation de logiciels Microsoft pour les contrats de licence les plus récents. Gestion des licences pour SQL Server 2012 La table suivante affiche les modèles de licence qui sont pris en charge pour chaque version de SQL Server 2012. Type de moteur SQL Server 2012 license-incluse Réutilisez vos licences Enterprise Edition Non Oui Standard Edition Oui Oui Web Edition Oui Non Express Edition Oui Non Pour plus d'informations sur les méthodes de gestion des licences sur Amazon RDS pour SQL Server, consultez Licence SQL Server requise pour Microsoft License Mobility. Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server Amazon RDS prend en charge les déploiements multi-AZ SQL Server à l'aide de la mise en miroir SQL Server. Toutes les implémentations multi-AZ améliorent la disponibilité, la durabilité des donnés et la tolérance aux pannes pour les instances DB. En cas de maintenance de base de données programmée ou d'interruption non programmée du service, Amazon RDS bascule automatiquement vers l'instance de secours à jour, afin que cette base de données puis assurer une reprise rapide des opérations sans intervention manuelle. Les instances principales et de remplacement utilisent le même point de terminaison dont l'adresse réseau physique passe vers le miroir dans le cadre du processus de basculement, afin que vous n'ayez pas à reconfigurer votre application ou à configurer plusieurs points de terminaison lors d'un basculement. Pour plus d'informations sur la fonction multi-AZ, consultez la Haute disponibilité (MultiAZ) (p. 51). Note Le déploiement multi-AZ SQL Server à l'aide de la mise en miroir est actuellement disponible dans les régions AWS USA Est (Virginie du Nord), USA Ouest (Oregon) et UE (Irlande). Nous prévoyons de prendre en charge d'autres régions à l'avenir. Des déploiements multi-AZ sont disponibles pour SQL Server Standard et Enterprise Edition avec SQL Server 2008R2 et SQL Server 2012. Multi-AZ avec mise en miroir prend en charge un miroir en veille. API Version 2014-10-31 268 Amazon Relational Database Service Guide de l'utilisateur Planification de vos déploiements multiAZ à l'aide de la mise en miroir SQL Server Vous pouvez activer multi-AZ en utilisant la console RDS ou en paramétrant Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir (p. 311) dans un groupe d'options puis en associant ce groupe d'options à votre instance DB. Pour plus d'informations sur l'utilisation de la mise en miroir, consultez Utilisation des déploiements multi-AZ SQL Server avec mise en miroir (p. 288) Avec un déploiement multi-AZ utilisant la mise en miroir, Amazon RDS gère le basculement en surveillant activement votre déploiement multi-AZ et en initiant proactivement un basculement en cas de problème avec l'élément principal. Le basculement ne se produit que si les instances de secours et principales sont entièrement synchronisées. En outre, Amazon RDS rétablira activement votre déploiement multi-AZ en réparant automatiquement les instances DB défectueuses et en rétablissant une réplication synchrone. Vous n'avez rien à gérer. Amazon RDS gère les instances principales, témoin de mise en miroir et de secours pour vous. Lorsque vous configurez SQL Server multi-AZ, toutes les bases de données sur l'instance sont automatiquement mises en miroir. La console Amazon RDS, CLI et API peuvent afficher la zone de disponibilité où l'instance de secours est située. Les déploiements multi-AZ, dont multi-AZ avec mise en miroir, tiennent à jour toutes les bases de données sur le même nœud. Si une base de données sur l'hôte principal bascule, toutes vos bases de données SQL Server font l'objet d'un basculement avec une unité atomique sur votre hôte de secours. Cela permet à Amazon RDS de fournir un nouvel hôte sain pour remplacer l'hôte défectueux. Recommandations concernant le déploiement multi-AZ de SQL Server • Pour les bases de données utilisées en production ou en pré-production, nous recommandons des déploiements multi-AZ pour une haute disponibilité, des IOPS provisionnées pour des performances rapides et constantes, ainsi que des classes d'instance (m1.large et larger) qui sont optimisées pour des IOPS provisionnées. • Les utilisateurs, les ID de connexion et les autorisations sont automatiquement répliqués pour vous sur le miroir de secours. Vous n'avez pas besoin de vous inquiéter de les recréer. Les rôles serveurs définis par l'utilisateur (une fonction SQL 2012) ne sont pas répliqués dans les instances multi-AZ. • Pour utiliser la mise en miroir SQL Server avec une instance DB SQL Server dans un VPC, vous devez créer un groupe de sous-réseaux DB qui comporte trois sous-réseaux dans des zones de disponibilité distinctes. Vous devez ensuite affecter le groupe de sous-réseaux DB à l'instance DB SQL Server mise en miroir. • Vous ne pouvez pas sélectionner la zone de disponibilité pour l'instance de secours. Vous devez donc déployer les applications à l'aide de bases de données SQL Server dans toutes les zones de disponibilité de la région afin de tirer parti de cette fonctionnalité. • Veuillez noter que vous ne pouvez pas configurer la veille pour accepter une activité de lecture de base de données. • Les délais de basculement seront affectés par le temps nécessaire à la réalisation du processus de récupération. Le délai de basculement est allongé pour les transactions de volume important. • Pour optimiser les performances, n'activez pas la mise en miroir pendant une opération de chargement d'un volume important de données. Si vous souhaitez optimiser la rapidité de chargement de vos données, effectuez le chargement avant de convertir votre instance DB dans un déploiement multi-AZ. • Votre application qui a accès aux bases de données SQL Server doit disposer d'une gestion des exceptions qui identifiera les erreurs de connexion. L'exemple de code suivant illustre un bloc try/catch qui identifiera une erreur de communication. for (int iRetryCount = 0; (iRetryCount < RetryMaxAttempts && keepInserting); iRetryCount+ +) { using (SqlConnection connection = new SqlConnection(DatabaseConnString)) { using (SqlCommand command = connection.CreateCommand()) API Version 2014-10-31 269 Amazon Relational Database Service Guide de l'utilisateur Planification de vos déploiements multiAZ à l'aide de la mise en miroir SQL Server { command.CommandText = "INSERT INTO SOME_TABLE VALUES ('SomeValue');"; try { connection.Open(); while (keepInserting) { command.ExecuteNonQuery(); intervalCount++; } connection.Close(); } catch (Exception ex) { Logger(ex.Message); } } } if (iRetryCount < RetryMaxAttempts && keepInserting) { Thread.Sleep(RetryIntervalPeriodInSeconds * 1000); } } • Si vous avez créé des tâches SQLAgent, elles doivent être recréées dans l'instance secondaire. En effet, ces tâches sont stockées dans la msdb et cette base de données ne peut pas être répliquée via la mise en miroir. Vous devez créer les tâches tout d'abord dans l'instance primaire d'origine, puis basculer et créer les mêmes tâches dans la nouvelle instance primaire. • Vous ne devez pas utiliser la commande Set Partner Off lorsque vous travaillez avec des instances multi-AZ. Par exemple, NE procédez PAS comme suit : alter database db1 set partner off go • Vous ne devez pas définir le mode de récupération sur simple. Par exemple, NE procédez PAS comme suit : alter database db1 set recovery simple go • Vous ne devez pas utiliser le paramètre DEFAULT_DATABASE lors de la création de nouveaux ID de connexion sur des instances DB multi-AZ car ces paramètres ne peuvent pas être appliqués au miroir de secours. Par exemple, NE procédez PAS comme suit : CREATE LOGIN [test_dba] WITH PASSWORD=foo, DEFAULT_DATABASE=[db2] GO or ALTER LOGIN [test_dba] SET DEFAULT_DATABASE=[db3] GO • Le multi-AZ entre régions n'est pas pris en charge actuellement. Si la reprise après sinistre entre régions vous intéresse, nous vous encourageons à essayer notre fonction de copie d'instantané entre régions qui est disponible aujourd'hui. • Vous pouvez observer des temps de latence élevés par rapport à un déploiement d'instance DB standard dans une seule zone de disponibilité, du fait de la réplication synchrone des données qui est réalisée. API Version 2014-10-31 270 Amazon Relational Database Service Guide de l'utilisateur Gestion des versions du moteur de base de données Vidéo Présentation des déploiements multi-AZ SQL Server La vidéo « Getting Started with Multi-AZ Deployments in Amazon RDS for SQL Server » est disponible ici. Gestion des versions du moteur de base de données Avec Amazon RDS, vous pouvez contrôler à quel moment vous mettez à niveau votre instance SQL Server vers de nouvelles versions prise en charge par Amazon RDS. Vous pouvez maintenir la compatibilité avec des versions SQL Server spécifiques, tester de nouvelles versions avec votre application avant le déploiement en production et effectuer des mises à niveau de versions selon les conditions et les délais qui vous conviennent le mieux. Sauf indication contraire, votre instance de base de données sera automatiquement mise à niveau vers les nouvelles versions SQL Server mineures à mesure que celles-ci seront prises en charge par Amazon RDS. Cette correction aura lieu au cours de votre créneau de maintenance planifié et sera annoncée à l'avance sur le forum de la communauté Amazon RDS. Pour désactiver les mises à niveau de version automatique, définissez le paramètre AutoMinorVersionUpgrade de votre instance de base de données sur false. Si vous refusez les mises à niveau automatiques planifiées, vous pouvez procéder manuellement à une mise à niveau vers une version mineure prise en charge en suivant la même procédure que pour une mise à jour de la version majeure. Pour plus d'informations, consultez Mises à niveau majeures de version de moteur de base de données pour une instance de base de données (p. 395). Note Amazon RDS ajoute régulièrement des correctifs de base de données Microsoft SQL Server officiels et affecte une version de moteur de base de données spécifique à Amazon RDS. Les versions actuellement prises en charge sont SQL Server 2008 R2 Service Pack 1 et SQL Server 2012. Modification de version majeure : Mise à niveau de 2008 R2 vers 2012 Amazon RDS prend en charge des mises à niveau de versions majeures de Microsoft SQL Server 2008 R2 vers SQL Server 2012. Vous procédez à la mise à niveau en utilisant l'opération d'instance de base de données de modification Amazon RDS. Vous devez tester soigneusement toute mise à niveau de version majeure avant de procéder à la mise à niveau de vos instances de production. Pour plus d'informations sur la mise à niveau d'une instance de base de données, consultez Mises à niveau majeures de version de moteur de base de données pour une instance de base de données (p. 395) Rôles et autorisations SQL Server pris en charge Le moteur de base de données SQL Server utilise une sécurité basée sur le rôle. Le nom utilisateur maître que vous utilisez lorsque vous créez une instance DB est un ID de connexion d'authentification SQL Server qui est un membre des rôles serveur fixes processadmin, public et setupadmin. Tout utilisateur qui créé une base de données sera affecté au rôle db_owner pour cette base de données et aura toutes les autorisations de niveau base de données, sauf celles qui sont utilisées pour les sauvegardes. Amazon RDS gère les sauvegardes pour vous. Les rôles niveau serveur suivants ne sont pas disponibles actuellement dans Amazon RDS : • bulkadmin • dbcreator • diskadmin API Version 2014-10-31 271 Amazon Relational Database Service Guide de l'utilisateur Utilisation de SSL avec une instance DB SQL Server • securityadmin • serveradmin • sysadmin Les autorisations niveau serveur suivantes ne sont pas disponibles sur une instance DB SQL Server : • ADMINISTER BULK OPERATIONS • ALTER ANY CREDENTIAL • ALTER ANY EVENT NOTIFICATION • ALTER ANY EVENT SESSION • ALTER ANY SERVER AUDIT • ALTER RESOURCES • ALTER SETTINGS (Vous pouvez utiliser les API de groupe de paramètres de base de données pour modifier des paramètres. Pour plus d'informations, consultez Utilisation des groupes de paramètres DB (p. 466). • AUTHENTICATE SERVER • CONTROL_SERVER • CREATE DDL EVENT NOTIFICATION • CREATE ENDPOINT • CREATE TRACE EVENT NOTIFICATION • EXTERNAL ACCESS ASSEMBLY • SHUTDOWN (Vous pouvez utiliser l'option de redémarrage RDS à la place) • UNSAFE ASSEMBLY • ALTER ANY AVAILABILITY GROUP (SQL Server 2012 uniquement) • CREATE ANY AVAILABILITY GROUP (SQL Server 2012 uniquement) Utilisation de SSL avec une instance DB SQL Server Vous pouvez utiliser SSL pour chiffrer les connexions entre vos applications et vos instances DB SQL Server Amazon RDS. Le support SSL est disponible dans toutes les régions AWS pour toutes les éditions SQL Server prises en charge. Amazon RDS crée un certificat SSL pour votre instance de base de données SQL Server lorsque l'instance est créée. Le certificat SSL inclut le point de terminaison de l'instance de base de données en tant que nom commun du certificat SSL pour assurer une protection contre les attaques par usurpation. Important Amazon RDS effectuera la rotation de tous les certificats SSL pour les instances de base de données le 23 Mars 2015 mail il n'initiera pas de redémarrage de l'instance. Si vous utilisez SSL pour la connexion à une instance de base de données Amazon RDS, vous devez suivre les étapes de la rubrique Rotation des certificats SSL (p. 91) pour appliquer un nouveau certificat SSL à votre instance de base de données avant le 23 mars 2015 ou vous ne pourrez pas vous connecter à l'instance de base de données en utilisant SSL Veuillez noter que toutes les instances SQL Server créées après le 5 août 2014 utiliseront le point de terminaison d'instance DB dans le champ Common Name (CN) du certificat SSL. Avant le 5 août 2014, la vérification de certificat SSL n'était pas disponible pour les instances SQL Server basées sur VPC. Si vous avez une instance DB SQL Server basée sur VPC qui a été créée avant le 5 août 2014, et que vous voulez utiliser la vérification de certificat SSL et assurer que le point de terminaison de l'instance soit inclus API Version 2014-10-31 272 Amazon Relational Database Service Guide de l'utilisateur Utilisation de SSL avec une instance DB SQL Server comme CN pour le certificat SSL de cette instance DB, renommez l'instance. Lorsque vous renommez une instance DB, un nouveau certificat est déployé et l'instance est redémarrée pour activer le nouveau certificat. Pour chiffrer des connexions sur une instance DB SQL Server Amazon RDS utilisant SSL, procédez comme suit sur l'ordinateur client : 1. Téléchargez le certificat depuis http://s3.amazonaws.com/rds-downloads/rds-combined-cabundle.pem. 2. Importez le certificat dans votre système d'exploitation Windows : 1. Dans le menu Start, saisissez Run dans la zone de recherche puis appuyez sur Enter. 2. Dans la zone Open, saisissez MMC puis cliquez sur OK. 3. Dans la console MMC, dans le menu File, cliquez sur Add/Remove Snap-in. 4. Dans la boîte de dialogue Add or Remove Snap-ins, sélectionnez Certificates dans la zone Available snap-ins puis cliquez sur Add. 5. Dans la console MMC, dans le menu File, cliquez sur Add/Remove Snap-in. 6. Dans la boîte de dialogue Certificates snap-in, cliquez sur Computer account puis sur Next. 7. Dans la boîte de dialogue Select computer, cliquez sur Finish. 8. Dans la boîte de dialogue Add or Remove Snap-ins, cliquez sur OK. 9. Dans la console MMC, développez Certificates, cliquez avec le bouton droit sur Trusted Root Certification Authorities, cliquez sur All Tasks, puis cliquez sur Import. 10.Dans le premier écran de l'assistant d'importation de certificat, cliquez sur Next. 11.Dans le deuxième écran de l'assistant d'importation de certificat, cliquez sur Browse puis localisez le fichier rds-ssl-combined-ca-bundle.pem que vous avez téléchargé à l'étape 1. Pour y arriver, dans la fenêtre de navigation, vous devez remplacer le type de fichier par All files (*.*), car .pem n'est pas une extension de certificat standard. Cliquez sur Open pour sélectionner le fichier de certificat, puis cliquez sur Next dans l'assistant. 12.Dans le troisième écran de l'assistant d'importation de certificat, cliquez sur Next. 13.Dans le quatrième écran de l'assistant d'importation de certificat, cliquez sur Finish. Vous devez voir une boîte de dialogue indiquant que l'importation a abouti. 14.Dans la console MMC, développez Certificates, développez Trusted Root Certification Authorities, cliquez sur Certificates puis localisez le certificat pour confirmer qu'il existe : 15.Redémarrez l'ordinateur. Pour plus d'informations sur l'ajout d'un certificat à un ordinateur, accédez à la documentation Windows. 3. Connectez-vous à l'instance DB SQL Amazon RDS. • Dans SQL Server Management Studio, procédez comme suit : 1. Lancez SQL Server Management Studio. 2. Dans la boîte de dialogue Connect to server, entrez les informations serveur, le mot de passe et le nom utilisateur de connexion. 3. Cliquez sur Options>>. 4. Sélectionnez Encrypt connection. 5. Cliquez sur Connect. Pour plus d'informations sur SQL Server Management Studio, consultez Utilisation de SQL Server Management Studio. • Pour tout autre client SQL, ajoutez « encrypt=true » à votre chaîne de connexion. Cela peut être disponible en option ou en tant que propriété sur la page de connexion dans les outils d'interface utilisateur graphique. API Version 2014-10-31 273 Amazon Relational Database Service Guide de l'utilisateur Utilisation de l'option TDE pour chiffrer les données au repos Note Pour activer le chiffrement SSL pour des clients qui se connectent en utilisant JDBC, vous devrez peut-être ajouter le certificat SQL Amazon RDS au magasin de certificats d'autorité de certification (cacerts) Java. Vous pouvez faire cela en utilisant l'utilitaire keytool. 4. Confirmez le statut chiffré de votre connexion en exécutant la requête suivante puis en vérifiant que encrypt_option est true : SELECT encrypt_option FROM sys.dm_exec_connections WHERE session_id = @@SPID Utilisation de l'option TDE pour chiffrer les données au repos La plupart des moteurs de base de données Amazon RDS prennent en charge des groupes d'options qui vous permettent de sélectionner des fonctions supplémentaires pour votre instance DB. Le support SQL Server inclut l'option TDE qui chiffre de manière transparente les données stockées pour SQL Server 2008 R2 Enterprise Edition et SQL Server 2012 Enterprise Edition. Pour plus d'informations sur SQL Server TDE, consultez SQL Server Transparent Data Encryption (p. 309). Pour plus d'informations sur l'utilisation de groupes d'options, consultez Utilisation de groupes d'options (p. 455). API Version 2014-10-31 274 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance DB exécutant SQL Server Création d'une instance DB exécutant le moteur de base de données SQL Server La fondation de base d'Amazon RDS est l'instance de base de données. Il s'agit de l'environnement dans lequel vous exécutez vos bases de données SQL Server. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. AWS Management Console Pour créer une instance de base de données exécutant le moteur de base de données Microsoft SQL Server Pour lancer une instance de base de données SQL Server 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la console Amazon RDS, sélectionnez la région dans laquelle vous voulez créer l'instance de base de données. 3. 4. Dans le volet de navigation, cliquez sur Instances DB. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. Les éditions de SQL Server disponibles varient en fonction de la région. 5. Dans la fenêtre Sélectionner un moteur, cliquez sur l'icône SQL Server, puis sur le bouton Sélectionner correspondant à l'édition du moteur DB SQL Server que vous souhaitez utiliser. 6. L'étape Production? vous invite à indiquer si vous envisagez d'utiliser l'instance de base de données que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Ces fonctions sont recommandées pour tous les environnements de production. Lorsque vous avez terminé, cliquez sur Next Step. Sur la page Specify DB Details, spécifiez les informations de votre instance de base de données. Lorsque vous avez terminé, cliquez sur Next. 7. Pour ce paramètre... ...Faites ceci: License Model Sélectionnez le modèle de licence que vous voulez utiliser. Sélectionnez licence incluse pour utiliser le contrat de licence général pour Microsoft SQL Server qui est inclus avec votre instance de base de données ou sélectionnez Réutilisez vos licences pour utiliser votre licence existante. Il est possible que tous les modèles de licence ne soient pas disponibles pour toutes les éditions ou dans toutes les régions. DB Engine Version Sélectionnez la version de Microsoft SQL Server que vous souhaitez utiliser. Classe d'instance de base de données Sélectionnez une configuration pour votre instance de base de données. Par exemple, une classe d'instance db.m1.small offre les caractéristiques suivantes : 1,7 Go API Version 2014-10-31 275 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: de mémoire, 1 ECU (1 mémoire à tores magnétiques virtuelle avec 1 ECU), une plateforme 64 bits et une capacité E/S modérée. Dans la mesure du possible, sélectionnez une classe d'instance suffisamment grande pour qu'un ensemble de travail de requête classique puisse tenir dans la mémoire. Les performances sont ainsi améliorées, car le système n'a pas besoin d'écrire sur le disque. Pour plus d'informations sur toutes les options de classe d'instance DB, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Sélectionnez Non pour créer votre instance de base de données dans une zone de disponibilité unique ou sélectionnez Oui pour qu'un miroir en veille de votre instance de base de données soit créé dans une autre zone de disponibilité afin que le basculement soit pris en charge. Pour plus d’informations sur les zones de disponibilité multiples, consultez Régions et Zones de disponibilité (p. 49). Allocated Storage Saisissez une valeur pour allouer du stockage pour votre instance DB (en gigaoctets). Dans certains cas, allouer une quantité de stockage pour votre instance DB supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Pour plus d'informations sur l'allocation de stockage, consultez Types de stockage Amazon RDS (p. 58). Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données. Il doit comporter 15 caractères alphanumériques maximum et être unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, par exemple sqlsv-instance1. Master Username Saisissez un nom que vous utiliserez comme le nom utilisateur principal pour vous connecter à votre instance DB avec tous les privilèges de base de données. Le nom utilisateur principal est une connexion d'authentification SQL Server qui est un membre des rôles serveur fixes processadmin, public et setupadmin. Master User Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 128 caractères ASCII imprimables (sauf /,", un espace et @) pour votre mot de passe d'utilisateur principal. Saisissez à nouveau le mot de passe dans la zone de texte Confirm Password. API Version 2014-10-31 276 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console 8. Sur la page Configure Advanced Settings, fournissez les informations supplémentaires dont Amazon RDS a besoin pour lancer l'instance DB SQL Server. Spécifiez vos informations d'instance de base de données, puis cliquez sur Launch DB Instance. Pour ce paramètre... ...Faites ceci: VPC Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut indiqué. Si vous créez une instance de base de données sur la plateforme E2-Classic précédente qui n'utilise pas de VPC, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). DB Subnet Group Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez default, qui correspondra au groupe de sous-réseaux DB par défaut qui a été créé pour votre compte. Si vous créez une instance de base de données sur la plateforme E2Classic précédente et que vous souhaitez que votre instance de base de données soit dans un VPC spécifique, sélectionnez le groupe de sous-réseaux DB que vous avez créé pour ce VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Publicly Accessible Sélectionnez Oui pour associer une adresse IP publique à l'instance de base de données, ce qui signifie qu'elle sera accessible en dehors du réseau VPC. Sinon, sélectionnez Non pour que l'instance de base de données soit accessible uniquement de l'intérieur du réseau VPC. Pour plus d'informations sur la manière de masquer les instances DB d'un accès public, consultez Masquer une instance DB dans un VPC depuis Internet. Zone de disponibilité Utilisez la valeur par défaut No Preference sauf si vous souhaitez spécifier une zone de disponibilité. VPC Security Group Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Dans le cas contraire, sélectionnez le groupe de sécurité VPC que vous avez créé au préalable. Database Port Spécifiez un port par lequel vous souhaitez accéder à la base de données. Par défaut, les installations SQL Server adoptent le port 1433. Si vous utilisez un groupe de sécurité DB avec votre instance de base de données, cette valeur doit être identique à la valeur de port fournie lors de la création du groupe de sécurité DB. Important Vous ne pouvez pas modifier le port lorsque vous créez l'instance de base de données. Il est donc très important que vous déterminiez le port qu'il convient d'utiliser pour accéder à l'instance de base de données. API Version 2014-10-31 277 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande 9. Pour ce paramètre... ...Faites ceci: Parameter Group Sélectionnez un groupe de paramètres de base de données. Vous pouvez choisir le groupe de paramètres par défaut ou créer un groupe de paramètres et le sélectionner. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez un groupe d'options. Vous pouvez choisir le groupe d’options par défaut ou créer un groupe d’options et le sélectionner. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). Enable Encryption Sélectionnez Yes pour activer le chiffrement au repos pour cette instance de base de données. Pour plus d'informations, consultez Chiffrement des ressources Amazon RDS (p. 88). Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. Pour les instances importantes, définissez cette valeur sur 1 ou sur une valeur supérieure. Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. Sur la dernière page de l'assistant, cliquez sur Close. 10. Sur la console Amazon RDS, la nouvelle instance de base de données s'affiche dans la liste des instances de base de données. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut être disponible au terme de plusieurs minutes. Interface de ligne de commande Pour créer une instance de base de données exécutant le moteur de base de données Microsoft SQL Server • Utilisez la commande rds-create-db-instance pour créer une instance de base de données. PROMPT>rds-create-db-instance mymsftsqlserver -s 250 -c db.m1.large -e sqlserver-se API Version 2014-10-31 278 Amazon Relational Database Service Guide de l'utilisateur API - u <masterawsuser> -p <masteruserpassword> --backup-retention-period 3 Cette commande doit produire une sortie similaire à ce qui suit : DBINSTANCE mymsftsqlserver db.m1.large sqlserver-se 10.50.2789 SECGROUP default active PARAMGRP default.sqlserver-se-10.5 in-sync 250 sa creating 3 **** API n Pour créer une instance de base de données • Appelez l'action CreateDBInstance. Par exemple, vous pouvez utiliser les paramètres suivants : • DBInstanceIdentifier = mymsftsqlserver • Engine = sqlserver-se • DBInstanceClass = db.m1.large • AllocatedStorage = 250 • BackupRetentionPeriod = 3 • MasterUsername = <masterawsuser> • MasterUserPassword = <masteruserpassword> Example https://rds.amazonaws.com/ ?Action=CreateDBInstance &AllocatedStorage=250 &BackupRetentionPeriod=3 &DBInstanceClass=db.m1.large &DBInstanceIdentifier=mymsftsqlserver &DBName=mydatabase &DBSecurityGroups.member.1=mysecuritygroup &DBSubnetGroup=mydbsubnetgroup &Engine=sqlserver-se &MasterUserPassword=<masteruserpassword> &MasterUsername=<masterawsuser> &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140305/us-west-2/rds/aws4_request &X-Amz-Date=20140305T185838Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=b441901545441d3c7a48f63b5b1522c5b2b37c137500c93c45e209d4b3a064a3 Rubriques connexes • Instances DB Amazon RDS (p. 43) • Groupes de sécurité Amazon RDS (p. 93) API Version 2014-10-31 279 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes • Connexion à une instance DB exécutant le moteur de base de données SQL Server (p. 281) • Classe d'instance de base de données (p. 44) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 280 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance DB exécutant SQL Server Connexion à une instance DB exécutant le moteur de base de données SQL Server Après qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à l'instance. Pour vous connecter, l'instance de base de données doit être associée à un groupe de sécurité contenant l'adresse IP et la configuration réseau que vous utilisez pour accéder à l'instance de base de données. Vous avez peut-être déjà effectué ces étapes lors de la création de l'instance. Si vous assignez un groupe de sécurité non configuré par défaut lors de la création de l'instance, le pare-feu de l'instance de base de données empêche les connexions. Si vous avez besoin de créer un nouveau groupe de sécurité pour permettre l'accès, le type de groupe de sécurité dépend de la plateforme sur laquelle se trouve votre instance de base de données, et si vous y accédez depuis une instance EC2. Pour plus d'informations sur les deux plateformes EC2 prises en charge par Amazon RDS, EC2-VPC et EC2-Classic, consultez Déterminer si vous utilisez une plateforme EC2VPC ou EC2-Classic (p. 498). En général, si votre instance de base de données est sur la plateforme EC2-Classic, vous devez créer un groupe de sécurité DB ; si votre instance de base de données est sur la plateforme EC2-VPC, vous devez créer un groupe de sécurité VPC. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). Une fois le groupe de sécurité créé, vous devez modifier l'instance de base de données pour l'associer avec le groupe de sécurité. Pour plus d'informations sur la modification de l'instance de base de données, consultez Modification d'une instance DB exécutant le moteur de base de données SQL Server (p. 285). Vous pouvez améliorer la sécurité en utilisant SSL pour chiffrer les connexions à l'instance de base de données. Pour plus d'informations sur la connexion à une instance de base de données grâce à SSL, consultez Utilisation de SSL avec une instance DB SQL Server (p. 272). Les exemples suivants supposent que votre instance de base de données possède un groupe de sécurité approprié. Connexion avec SQL Server Management Studio Cet exemple montre comment se connecter à une instance de base de données exécutant le moteur de base de données Microsoft SQL Server en utilisant l'utilitaire Microsoft SQL Server Management Studio. Pour plus d'informations sur Microsoft SQL Server, consultez le site Web Microsoft SQL Server. Note Cet exemple utilise l'utilitaire Microsoft SQL Server Management Studio. Cet utilitaire fait partie de la distribution de logiciel Microsoft SQL Server. Pour télécharger une version autonome de cet utilitaire, consultez Microsoft Download Center - Microsoft SQL Server Management Studio Express. Pour vous connecter à une instance de base de données utilisant Microsoft SQL Server Management Studio 1. Sur la page Instances de la AWS Management Console, sélectionnez la flèche en regard de l'instance de base de données afin d'afficher les détails d'instance. Notez le nom du serveur et le port de l'instance de base de données, qui sont affichés dans le champ Point de terminaison en haut du panneau, et le nom utilisateur principal, qui est affiché dans le champ Nom d'utilisateur dans la section Détails de configuration. Voici un exemple ci-dessous : 2. Ouvrez Microsoft SQL Server Management Studio. La boîte de dialogue Connect to Server s'affiche, comme illustré ci-dessous : 3. Dans la boîte de dialogue Server type:, sélectionnez Database Engine. API Version 2014-10-31 281 Amazon Relational Database Service Guide de l'utilisateur Connexion avec SQL Workbench/J 4. Dans la zone Nom du serveur, entrez ou collez le nom de serveur de l'instance de base de données, entrez une virgule ",", puis saisissez le numéro de port utilisé par l'instance de base de données. Par exemple, la valeur Server name pourrait être : sqlsvr-pdz.abcd12340.uswest-2.rds.amazonaws.com,1433. 5. Dans la boîte de dialogue Authentication, sélectionnez SQL Server Authentication. 6. Dans la boîte de dialogue Login, saisissez ou collez le nom utilisateur principal pour l'instance de base de données. 7. Dans la boîte de dialogue Password, saisissez le mot de passe pour l'utilisateur principal. 8. Cliquez sur Connect. Après quelques instants, Microsoft SQL Server Management Studio doit être connecté à votre instance de base de données. 9. Cliquez sur New Query dans la barre d'outils SQL Server Management Studio, comme illustré cidessous : Une nouvelle fenêtre SQL Query s'ouvre. 10. Saisissez la requête SQL suivante : select @@VERSION 11. Cliquez sur ! Execute sur la barre d'outils SQL Enterprise Manager pour exécuter la requête, comme illustré ci-dessous : La requête doit renvoyer les informations de version pour votre instance de base de données, comme illustré ci-dessous : Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Feb 10 2012 19:39:15 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) Connexion avec SQL Workbench/J Cet exemple montre comment se connecter à une instance de base de données exécutant le moteur de base de données Microsoft SQL Server en utilisant l'outil de base de données SQL Workbench/J. Cet outil utilise JDBC pour la connexion. Note Cet exemple utilise l'outil de base de données SQL Workbench/J. Pour télécharger cet outil, consultez le site Web SQL Workbench/J. Il exige également le pilote JDBC pour SQL Server. Pour télécharger ce pilote, consultez Microsoft JDBC Drivers 4.1 (Preview) and 4.0 for SQL Server. Cet exemple illustre les paramètres de profil minimes pour se connecter. Pour plus d'informations sur les paramètres de profil SQL Workbench/J supplémentaires, consultez Connecting to the database dans la documentation SQL Workbench/J. Se connecter à une instance de base de données à l'aide de SQL Workbench/J 1. Sur la page Instances de la AWS Management Console, sélectionnez la flèche en regard de l'instance de base de données afin d'afficher les détails d'instance. Notez le point de terminaison de l'instance de base de données, qui est affiché dans le champ Point de terminaison en haut du panneau, et le nom utilisateur principal, qui est affiché dans le champ Nom d'utilisateur dans la section Détails de configuration. Voici un exemple ci-dessous : 2. Ouvrez SQL Workbench/J. La boîte de dialogue Select Connection Profile s'affiche, comme illustré cidessous : API Version 2014-10-31 282 Amazon Relational Database Service Guide de l'utilisateur Dépannage d'une connexion dans une instance de base de données exécutant SQL Server 3. Dans la première case en haut de la boîte de dialogue, saisissez un nom pour le profil. 4. Dans la boîte de dialogue Driver, sélectionnez SQL JDBC 4.0. 5. Dans la boîte de dialogue URL, saisissez jdbc:sqlserver://, puis saisissez ou collez le point de terminaison utilisé par l'instance de base de données. Par exemple, la valeur URL pourrait être : jdbc:sqlserver://sqlsvr-pdz.abcd12340.us-west-2.rds.amazonaws.com:1433. 6. Dans la boîte de dialogue Username, saisissez ou collez le nom utilisateur principal pour l'instance de base de données. 7. Dans la boîte de dialogue Password, saisissez le mot de passe pour l'utilisateur principal. 8. Cliquez sur l'icône d'enregistrement sur la barre d'outils de la boîte de dialogue, comme illustré cidessous : 9. Cliquez sur OK. Après quelques instants, SQL Workbench/J doit être connecté à votre instance de base de données. 10. Dans le volet de requête, saisissez la requête SQL suivante : select @@VERSION 11. Cliquez sur l'icône d'exécution sur la barre d'outils, comme illustré ci-dessous : La requête doit renvoyer les informations de version pour votre instance de base de données, comme illustré ci-dessous : Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Dépannage d'une connexion dans une instance de base de données exécutant SQL Server Plusieurs causes communes sont associées à des problèmes lors d'une tentative de connexion à une instance de base de données : • Les règles d'accès appliquées par votre pare-feu local et les adresses IP que vous avez autorisées à accéder à votre instance de base de données dans le groupe de sécurité de l'instance ne sont pas synchronisées. Le problème est probablement lié aux règles de sortie ou d'entrée sur votre parefeu. Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité Amazon RDS (p. 93). • Si vous ne pouvez pas envoyer ou recevoir de communications sur le port que vous avez spécifié lors de la création de l'instance de base de données, vous ne pourrez pas vous connecter à l'instance de base de données. Vérifiez auprès de votre administrateur réseau si l'utilisation du port que vous avez spécifié pour votre instance de base de données est autorisée pour les communications entrantes et sortantes. • Pour les nouvelles instances de base de données, vous devez attendre que le statut de l'instance de base de données soit « Available » avant de pouvoir vous connecter à l'instance. Selon la taille de votre instance de base de données, vous devez parfois patienter une vingtaine de minutes avant qu'elle soit disponible. Messages d'erreur SQL Server Management Studio Essayez les solutions suivantes pour les messages d'erreur courants de SQL Server Management Studio. • Could not open a connection to SQL Server - Microsoft SQL Server, Error: 53 - Veillez à inclure le numéro de port lorsque vous spécifiez le nom du serveur. Par exemple, le nom du serveur pour une instance de base de données (numéro de port inclus) pourrait être : sqlsvrpdz.abcd12340.region.rds.amazonaws.com,1433. API Version 2014-10-31 283 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes • No connection could be made because the target machine actively refused it - Microsoft SQL Server, Error: 10061 - Vous avez pu atteindre l'instance de base de données mais la connexion a été refusée. Cela est souvent dû au fait que le nom utilisateur et le mot de passe sont incorrects. Rubriques connexes • Instances DB Amazon RDS (p. 43) • Création d'une instance DB exécutant le moteur de base de données SQL Server (p. 275) • Groupes de sécurité Amazon RDS (p. 93) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 284 Amazon Relational Database Service Guide de l'utilisateur Modification d'une instance DB exécutant SQL Server Modification d'une instance DB exécutant le moteur de base de données SQL Server Vous pouvez modifier les paramètres d'une instance DB pour accomplir des tâches telles que modifier la classe d'instance ou renommer l'instance. Cette rubrique vous guide dans la modification d'une instance DB SQL Server Amazon RDS et décrit les paramètres pour les instances SQL Server. Pour plus d'informations sur des tâches supplémentaires, telles que renommer, redémarrer, supprimer, baliser ou mettre à niveau une instance DB Amazon RDS, consultez Cycle de vie d'une instance de base de données Amazon RDS (p. 389). Nous vous recommandons de tester toutes les modifications apportées à une instance test avant de modifier une instance de production, et ce afin de mieux comprendre l'impact d'une modification. Cela est particulièrement important lors de la mise à niveau de versions de base de données. Note Vous ne pouvez pas modifier une instance DB SQL Server existante pour changer de type de stockage ou modifier une allocation de stockage. Vous pouvez appliquer les modifications immédiatement ou les appliquer pendant le créneau de maintenance suivant de l'instance DB. Certaines modifications qui n'entraînent pas une interruption de service s'appliquent immédiatement. Dans certains cas, l'application immédiate de modifications peut entraîner une interruption par le redémarrage de l'instance DB. Pour plus d'informations sur l'impact de l'option Apply Immediately lors de la modification d'une instance DB, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). AWS Management Console Pour modifier une instance de base de données SQL Server 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le volet de navigation, cliquez sur Instances DB. 3. Cochez la case pour l'instance DB que vous souhaitez modifier, puis cliquez sur Modify. 4. Dans la boîte de dialogue Modify DB Instance, choisissez parmi les paramètres suivants ceux que vous souhaitez modifier : Paramètre Description DB Engine Version Dans la liste fournie, cliquez sur la version du moteur de base de données SQL Server que vous souhaitez utiliser. Classe d'instance de base de données Dans la liste fournie, cliquez sur la classe d'instance de base de données que vous souhaitez utiliser. Pour plus d'informations sur les classes d'instances, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Si vous souhaitez créer un miroir de secours de votre instance de base de données dans une autre zone de disponibilité, cliquez sur Oui. Dans le cas contraire, cliquez sur Non. Pour plus d'informations sur les déploiements multi-AZ en utilisant la mise en miroir SQL Server, consultez Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server (p. 268). API Version 2014-10-31 285 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Paramètre Description Allocated Storage Vous ne pouvez pas modifier le stockage alloué pour une instance de base de données SQL Server. Storage Type Vous ne pouvez pas modifier le type de stockage d'une instance de base de données SQL Server existante. DB Instance Identifier Vous pouvez renommer l'instance de base de données en saisissant un nouveau nom. Lorsque vous modifiez l'identifiant d'instance de base de données, un redémarrage d'instance se produit immédiatement si vous définissez Apply Immediately sur true, ou se produira pendant le créneau de maintenance suivant si vous définissez Apply Immediately sur false. Cette valeur est stockée sous la forme d'une chaîne en minuscules. New Master Password Saisissez un mot de passe contenant entre 8 et 128 caractères ASCII imprimables (sauf /,", un espace et @) pour votre mot de passe d'utilisateur principal. Security Group Sélectionnez le groupe de sécurité que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Utilisation de groupes de sécurité DB (p. 479). Parameter Group Sélectionnez le groupe de paramètres que vous voulez associer à l'instance de base de données. La modification de ce paramètre n'entraîne pas de temps d'arrêt. Le nom du groupe de paramètres lui-même est immédiatement changé, mais les modifications réelles des paramètres ne prennent effet qu'après le redémarrage de l'instance, sans basculement. L'instance de base de données NE sera PAS automatiquement redémarrée et les modifications du paramètre NE seront PAS appliquées pendant le créneau de maintenance suivant. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Sélectionnez le groupe d'options que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). Backup Retention Period Spécifiez le nombre de jours de conservation des sauvegardes automatiques. Pour désactiver les sauvegardes automatiques, définissez cette valeur sur 0. Note Une interruption immédiate se produit si vous modifiez la période de rétention des sauvegardes de 0 à une valeur non nulle, ou d'une valeur non nulle à 0. Backup Window Définissez l'intervalle de temps pendant lequel des sauvegardes automatiques de vos bases de données se produiront. Spécifiez une heure de début en heure UTC (Universal Coordinated Time) et une durée en heures. API Version 2014-10-31 286 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande Paramètre Description Auto Minor Version Upgrade Si vous voulez que votre instance de base de données reçoive automatiquement les mises à niveau des versions mineures du moteur lorsqu'elles sont disponibles, cliquez sur Yes. Les mises à niveau sont installées uniquement pendant votre créneau de maintenance planifié. Maintenance Window Définissez l'intervalle de temps pendant lequel la maintenance du système, dont les mises à niveau, se produira. Spécifiez une heure de début en UTC et une durée en heures. 5. Pour appliquer les modifications immédiatement, cochez la case Apply Immediately. Dans certains cas, le choix de cette option peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). 6. Lorsque toutes les modifications correspondent à vos attentes, cliquez sur Yes, Modify. Si vous souhaitez à la place annuler des modifications que vous n'avez pas appliquées à l'étape précédente, cliquez sur Cancel. Interface de ligne de commande Pour modifier une instance de base de données SQL Server • Utilisez la commande rds-modify-db-instance. API Pour modifier une instance de base de données SQL Server • Utilisez la commande ModifyDBInstance action. API Version 2014-10-31 287 Amazon Relational Database Service Guide de l'utilisateur Utilisation des déploiements multiAZ SQL Server avec mise en miroir Utilisation des déploiements multi-AZ SQL Server avec mise en miroir La manière la plus simple d'activer Multi-AZ pour une instance de base de données SQL Server consiste à utiliser la console Amazon RDS. Lors de la création d'une nouvelle instance de base de données, il vous suffit de sélectionner Yes (Mirroring) dans la liste déroulante Multi-AZ de l'assistant Launch DB Instance. Vous pouvez également modifier une instance DB SQL Server existante afin qu'elle utilise les déploiements multi-AZ. Pour plus d'informations sur la modification d'une instance DB, consultez Modification d'une instance DB exécutant le moteur de base de données SQL Server (p. 285). Note Le déploiement multi-AZ SQL Server à l'aide de la mise en miroir est actuellement disponible dans les régions AWS USA Est (Virginie du Nord), USA Ouest (Oregon) et UE (Irlande). Nous prévoyons de prendre en charge d'autres régions à l'avenir. Pour utiliser la mise en miroir SQL Server avec une instance DB SQL Server dans un VPC, vous devez créer un groupe de sous-réseaux DB qui comporte trois sous-réseaux dans des zones de disponibilité distinctes. Vous devez ensuite affecter le groupe de sous-réseaux DB à l'instance DB SQL Server mise en miroir. Lorsque l'instance de base de données est modifiée pour un déploiement multi-AZ, son statut est Modifying. Pendant cette phase, Amazon RDS crée le miroir en veille, crée une copie de sauvegarde de l'instance DB principale et met à jour le groupe d'options associé. Lorsque le processus est terminé, le statut de l'instance DB principale devient Available. Détermination de l'emplacement du miroir en veille Vous pouvez déterminer l'emplacement du miroir en veille à l'aide de la console Amazon RDS. Vous devez connaître l'emplacement du miroir en veille si vous configurez votre instance DB principale dans un VPC. Vous pouvez également consulter la zone de disponibilité du miroir en veille à l'aide de la commande CLI RDS rds-describe-db-instances ou de l'action d'API RDS DescribeDBInstances. Le résultat indique la zone de disponibilité secondaire où se situe le miroir en veille. API Version 2014-10-31 288 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes Rubriques connexes • Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server (p. 268) API Version 2014-10-31 289 Amazon Relational Database Service Guide de l'utilisateur Importation et exportation de données SQL Server Importation et exportation de données SQL Server Utilisez les procédures suivantes pour importer des données dans une instance DB SQL Amazon RDS et en exporter depuis cette dernière. Rubriques • Importation de données dans SQL Server sur Amazon RDS (p. 290) • Exportation de données depuis SQL Server sur Amazon RDS (p. 297) Importation de données dans SQL Server sur Amazon RDS Si vous avez un déploiement Microsoft SQL Server existant que vous souhaitez déplacer vers Amazon RDS, la complexité de votre tâche dépend de la taille de votre base de données et des types d'objets de base de données que vous transférez. Par exemple, une base de données qui contient des jeux de données se mesurant en gigaoctets, ainsi que des déclencheurs et des procédures stockés, va être plus compliquée qu'une base de données simple avec seulement quelques mégaoctets de données de test et pas de déclencheurs, ni de procédures stockés. Le service RDS pour SQL Server ne prend pas actuellement en charge RESTORE DATABASE ... FROM FILE, car les sauvegardes de fichier journal et de base de données doivent être réalisées sur l'instance SQL Server. De même, FILESTREAM n'est pas non plus pris en charge à ce stade. Les instructions BULK INSERT et OPENROWSET(BULK...) du serveur ne sont pas des procédures d'importation prises en charge en raison de leur dépendance sur l'autorisation ADMINISTER BULK OPERATIONS qui n'est pas accordée pour des instances DB SQL Server. Veuillez utiliser le processus détaillé ci-dessous pour importer des données vers une instance DB SQL Server. Le processus que nous recommandons pour l'importation de données dans une instance DB SQL Server est le suivant : 1. Créer une instance DB. (p. 275) 2. Avant de charger des données dans l'instance DB de destination, une préparation est nécessaire (p. 291), telle que la désactivation des contraintes de clé étrangère et des déclencheurs de base de données. Vous devez également désactiver les sauvegardes automatiques. 3. Interrogez l'instance SQL Server source pour tous les ID de connexion que vous souhaitez importer (p. 293) dans l'instance DB de destination. 4. Sans votre déploiement SQL Server existant, générez des scripts qui obtiennent des données de l'instance SQL Server source puis appliquez les scripts à l'instance DB de destination (p. 293). Si vous avez des scripts existants, vous pouvez les appliquer à l'instance DB de destination. Si vous importez un jeu de données de grande taille, votre script peut définir uniquement le schéma de base de données. Il peut sinon inclure également les données et tous les autres objets de base de données. 5. Après l'importation de vos données, inversez toutes les préparations que vous avez réalisées auparavant (p. 296), réactivez les contraintes de clé étrangère et les déclencheurs de base de données, rétablissez l'état d'origine du modèle de récupération, puis réactivez les sauvegardes automatiques. Note Amazon RDS pour SQL Server ne prend pas actuellement en charge l'importation des données dans la base de données msdb, bien que nous prenions en charge les tâches SQL Server Agent. API Version 2014-10-31 290 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans SQL Server sur Amazon RDS Certaines fonctions SQL Server qui utilisent la base de données msdb, telles que Database Mail et Replication, ne sont pas actuellement prises en charge dans Amazon RDS. Préparation de l'importation de données dans votre instance DB SQL Server Avant d'importer des données dans votre instance DB SQL Server, nous recommandons les bonnes pratiques suivantes : • Arrêtez l'accès des applications à l'instance DB de destination. • Créez un instantané de la base de données cible. • Désactivez les sauvegardes automatiques sur la base de données cible. • Désactivez les contraintes de clé étrangère, le cas échéant. • Abandonnez les index, le cas échéant. • Désactivez les déclencheurs de base de données, le cas échéant. Arrêter l'accès des applications à l'instance DB cible Si vous empêchez l'accès de votre instance DB pendant l'importation des données, le transfert de données sera plus rapide. En outre, vous n'aurez plus à vous inquiéter de conflits pendant le chargement de données si d'autres applications ne peuvent pas écrire sur l'instance DB simultanément. En cas de problème, et si vous devez procéder à une restauration vers un instantané de base de données antérieur, les seules modifications que vous perdrez seront les données importées, que vous pouvez importer à nouveau après que vous aurez résolu le problème. Pour plus d'informations sur le contrôle de l'accès à votre instance DB, consultez Utilisation de groupes de sécurité DB (p. 479). Créer un instantané de base de données Si la base de données cible contient déjà des données, nous vous recommandons de prendre un instantané de la base de données avant d'importer les données. En cas de problème d'importation des données ou si vous souhaitez ignorer les modifications, l'instantané vous permet de restaurer l'état précédent de la base de données. Pour plus d'informations sur les instantanés de base de données, consultez Création d'un snapshot DB (p. 445). Note Lorsque vous prenez un instantané de base de données, les opérations E/S vers la base de données sont suspendues pendant environ 10 secondes pendant la progression de la sauvegarde. Désactiver les sauvegardes automatiques La désactivation des sauvegardes automatiques sur l'instance DB cible améliore la performance pendant l'importation de vos données car Amazon RDS ne consigne pas de transactions lorsque les sauvegardes automatiques sont désactivées. Cependant, certains éléments sont à prendre en compte. Du fait que des sauvegardes automatiques sont requises pour effectuer une restauration à un instant dans le passé, vous ne pourrez pas restaurer la base de données à un point spécifique dans le temps pendant l'importation de données. En outre, toutes les sauvegardes automatiques qui ont été créées sur l'instance DB sont effacées. Vous pouvez encore utiliser des instantanés précédents pour récupérer la base de données. En outre, tous les instantanés que vous avez pris demeureront disponibles. Pour plus d'informations sur les sauvegardes automatiques, consultez Utilisation des sauvegardes automatiques (p. 442). API Version 2014-10-31 291 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans SQL Server sur Amazon RDS Désactiver les contraintes de clé étrangère Si vous avez besoin de désactiver des contraintes de clé étrangère, vous pouvez utiliser pour cela le script suivant. --Disable foreign keys on all tables DECLARE @table_name SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE table_cursor CURSOR FOR SELECT name FROM sys.tables; OPEN table_cursor; FETCH NEXT FROM table_cursor INTO @table_name; WHILE @@FETCH_STATUS = 0 BEGIN SELECT @cmd = 'ALTER TABLE '+QUOTENAME(@table_name)+' NOCHECK CONSTRAINT ALL'; EXEC (@cmd); FETCH NEXT FROM table_cursor INTO @table_name; END CLOSE table_cursor; DEALLOCATE table_cursor; GO Désactiver des déclencheurs de base de données Si vous avez besoin de désactiver des déclencheurs de base de données, vous pouvez utiliser pour cela le script suivant. --Disable triggers on all tables DECLARE @enable BIT = 0; DECLARE @trigger SYSNAME; DECLARE @table SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE trigger_cursor CURSOR FOR SELECT trigger_object.name trigger_name, table_object.name table_name FROM sysobjects trigger_object JOIN sysobjects table_object ON trigger_object.parent_obj = table_object.id WHERE trigger_object.type = 'TR'; OPEN trigger_cursor; FETCH NEXT FROM trigger_cursor INTO @trigger, @table; WHILE @@FETCH_STATUS = 0 BEGIN IF @enable = 1 SET @cmd = 'ENABLE '; ELSE SET @cmd = 'DISABLE '; SET @cmd = @cmd + ' TRIGGER dbo.'+QUOTENAME(@trigger)+' ON dbo.'+QUOTENAME(@table)+' '; EXEC (@cmd); FETCH NEXT FROM trigger_cursor INTO @trigger, @table; END CLOSE trigger_cursor; DEALLOCATE trigger_cursor; API Version 2014-10-31 292 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans SQL Server sur Amazon RDS GO Importer des ID de connexion dans votre instance DB SQL Server SQL Server stocke des ID de connexion et des mots de passe dans la base de données master. Du fait qu'Amazon RDS n'accorde pas l'accès à la base de données master, vous ne pouvez pas importer directement des ID de connexion et des mots de passe dans votre instance DB de destination. Vous devez au lieu de cela interroger la base de données master sur l'instance SQL Server source pour générer un fichier DDL incluant tous les ID de connexion et les mots de passe que vous souhaitez ajouter à l'instance DB de destination, ainsi que des autorisations et des appartenances au rôle que vous voulez transférer. Pour plus d'informations sur la manière d'interroger la base de données master, accédez à Comment faire pour transférer des noms d'accès et des mots de passe entre instances de SQL Server 2005 et SQL Server 2008 dans la base de connaissances Microsoft. Le résultat du script est un script que vous pouvez exécuter sur l'instance DB de destination. Amazon RDS prend actuellement en charge uniquement l'authentification SQL Server. Les tentatives de connexion en utilisant l'authentification Windows échoueront. Vous pouvez ignorer ces échecs, ou vous pouvez éditer le script Microsoft afin d'inclure uniquement les connexions qui utilisent l'authentification SQL Server. Lorsque le script dans l'article de base de connaissances présente les caractéristiques suivantes : p.type IN Utilisez ceci à la place : p.type = 'S' Importer les données Microsoft SQL Server Management Studio est un client SQL Server graphique qui est inclus dans toutes les éditions de Microsoft SQL Server, sauf Express Edition. SQL Server Management Studio Express est disponible auprès de Microsoft en téléchargement gratuit. Note SQL Server Management Studio Express est disponible uniquement en tant qu'application basée sur Microsoft. SQL Server Management Studio inclut les outils suivants, qui sont utiles pour l'importation de données dans une instance DB SQL Server : • Assistant de génération et de publication de scripts • Assistant d'importation et d'exportation • Fonction de copie en bloc Assistant de génération et de publication de scripts L'assistant de génération et de publication de scripts crée un script qui contient le schéma d'une base de données, les données elles-mêmes, ou les deux. Si vous générez un script pour une base de données API Version 2014-10-31 293 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans SQL Server sur Amazon RDS dans votre déploiement SQL Server local, vous pouvez alors exécuter le script pour transférer les informations qu'il contient vers une Instance DB Amazon RDS. Note Pour les bases de données supérieures ou égales à 1 Go, il est plus efficace d'exécuter un script uniquement du schéma de la base de données, puis d'utiliser l'assistant d'importation et d'exportation ou la fonction de copie en bloc de SQL Server pour transférer les données. Pour plus d'informations sur l'assistant de génération et de publication de scripts, consultez la documentation Microsoft SQL Server. Dans l'assistant, prêtez une attention particulière aux options avancées sur la page Définir les options de script pour garantir que tout ce que vous souhaitez que votre script inclue soit sélectionné. Par exemple, par défaut, les déclencheurs de base de données ne sont pas inclus dans le script. Lorsque le script est généré et enregistré, vous pouvez utiliser SQL Server Management Studio pour vous connecter à votre instance DB puis exécuter le script. Assistant d'importation et d'exportation L'assistant d'importation et d'exportation crée un package Integration Services spécial que vous pouvez utiliser pour copier des données depuis votre base de données SQL Server locale vers l'instance DB de destination. L'assistant peut filtrer les tables et même les tuples dans une table qui sont copiés vers l'instance DB de destination. Note L'assistant d'importation et d'exportation est efficace pour les jeux de données de grande taille, mais ce n'est peut-être pas la manière la plus rapide d'exporter des données à distance depuis votre déploiement local. Pour une manière encore plus rapide, vous pouvez envisager la fonction de copie en bloc SQL Server. Pour plus d'informations sur l'assistant d'importation et d'exportation, accédez à la documentation Microsoft SQL Server Dans l'assistant, sur la page Choose a Destination, procédez comme suit : • Dans la zone Server Name, saisissez le nom du point de terminaison pour votre instance DB. • Pour le mode d'authentification de serveur, cliquez sur Use SQL Server Authentication. • Sous User name et Password, entrez les informations d'identification pour l'utilisateur maître que vous avez créé pour l'instance DB. Copie en bloc La fonction Copie en bloc de SQL Server est un moyen efficace de copier des données depuis une base de données source vers votre instance DB. La copie en bloc écrit les données que vous spécifiez vers un fichier de données, tel qu'un fichier ASCII. Vous pouvez ensuite exécuter à nouveau la copie en bloc pour écrire le contenu du fichier dans l'instance DB de destination. Cette section utilise l'utilitaire bcp qui est inclus dans toutes les éditions de SQL Server. Pour plus d'informations sur les opérations d'importation et d'exportation en bloc, accédez à la documentation Microsoft SQL Server. Note Avant d'utiliser la copie en bloc, vous devez importer votre schéma de base de données vers l'instance DB de destination. L'assistant de génération et de publication de scripts, décrit plus tôt dans cette rubrique, est un excellent outil à cette fin. API Version 2014-10-31 294 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans SQL Server sur Amazon RDS La commande suivante se connecte à l'instance SQL Server locale pour générer un fichier délimité par des tabulations d'une table spécifique dans le répertoire racine C:\ de votre déploiement SQL Server existant. La table est spécifiée par son nom entièrement qualifié, et le fichier texte a le même nom que la table qui est copiée. PROMPT> bcp dbname.schema_name.table_name out C:\table_name.txt -n -S localhost -U username -P password -b 10000 Où: • -n spécifie que la copie en bloc utilisera les types de données natifs des données à copier. • -S spécifie l'instance SQL Server à laquelle l'utilitaire bcp se connectera. • -U spécifie le nom utilisateur du compte qui se connectera à l'instance SQL Server. • -P spécifie le mot de passe pour l'utilisateur spécifié par -U. • -b spécifie le nombre de lignes par lot de données importées. Note D'autres paramètres, tels que le paramètre -E qui appartient à des valeurs d'identité, peuvent être importants pour votre situation d'importation. Veuillez consulter la description complète de la syntaxe de ligne de commande pour l'utilitaire bcp, dans la documentation Microsoft SQL Server. Prenons l'exemple d'une base de données nommée store qui utilise le schéma par défaut, dbo, et qui contient une table nommée customers. Le compte utilisateur admin, avec le mot de passe insecure, va copier 10 000 lignes de la table customers dans un fichier nommé customers.txt. PROMPT> bcp store.dbo.customers out C:\customers.txt -n -S localhost -U admin -P insecure b 10000 Après que vous avez généré le fichier de données, si vous avez créé la base de données et le schéma sur l'instance DB cible, vous pouvez télécharger les données sur votre instance DB en utilisant une commande similaire. Dans ce cas, vous allez utiliser l'argument in pour spécifier un fichier d'entrée au lieu de out pour spécifier un fichier de sortie. Au lieu d'utiliser l'hôte local pour spécifier l'instance SQL Server locale, vous allez spécifier le point de terminaison de votre instance DB. Si vous utilisez un port autre que 1433, vous le spécifierez également. Le nom utilisateur et le mot de passe seront identiques au mot de passe et à l'utilisateur maître de votre instance DB. La syntaxe est la suivante : PROMPT> bcp dbname.schema_name.table_name in C:\table_name.txt -n -S endpoint,port U master_user_name -P master_user_password -b 10000 Pour poursuivre l'exemple précédent, supposons que le nom utilisateur maître soit admin, et que le mot de passe soit insecure. Le point de terminaison pour l'instance DB est rds.ckz2kqd4qsn1.useast-1.rds.amazonaws.com, et vous utiliserez le port 4080. La commande serait la suivante : PROMPT> bcp store.dbo.customers in C:\customers.txt -n -S rds.ckz2kqd4qsn1.useast-1.rds.amazonaws.com,4080 -U admin -P insecure -b 10000 API Version 2014-10-31 295 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans SQL Server sur Amazon RDS Nettoyer Si vous avez suivi les bonnes pratiques indiquées plus tôt dans cette rubrique pour la préparation de l'importation de données dans votre instance DB, vous devez à présent effectuer les tâches suivantes : • Accorder aux applications l'accès à l'instance DB cible. • Activer les sauvegardes automatiques sur l'instance DB cible. • Activer les contraintes de clé étrangère. • Activer des déclencheurs de base de données. Accorder aux applications l'accès à l'instance DB cible Lorsque l'importation de vos données est terminée, vous pouvez accorder l'accès à l'instance DB aux applications que vous avez bloquées pendant l'importation. Pour plus d'informations sur le contrôle de l'accès à votre instance DB, consultez Utilisation de groupes de sécurité DB (p. 479). Activer les sauvegardes automatiques sur l'instance DB cible Pour plus d'informations sur les sauvegardes automatiques, consultez Utilisation des sauvegardes automatiques (p. 442). Activer les contraintes de clé étrangère Si vous avez désactivé les contraintes de clé étrangère précédemment, vous pouvez à présent les activer avec le script suivant : --Enable foreign keys on all tables DECLARE @table_name SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE table_cursor CURSOR FOR SELECT name FROM sys.tables; OPEN table_cursor; FETCH NEXT FROM table_cursor INTO @table_name; WHILE @@FETCH_STATUS = 0 BEGIN SELECT @cmd = 'ALTER TABLE '+QUOTENAME(@table_name)+' CHECK CONSTRAINT ALL'; EXEC (@cmd); FETCH NEXT FROM table_cursor INTO @table_name; END CLOSE table_cursor; DEALLOCATE table_cursor; Activer des déclencheurs de base de données Si vous avez désactivé les déclencheurs de base de données précédemment, vous pouvez à présent les activer avec le script suivant : --Enable triggers on all tables DECLARE @enable BIT = 1; DECLARE @trigger SYSNAME; DECLARE @table SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE trigger_cursor CURSOR FOR SELECT trigger_object.name trigger_name, API Version 2014-10-31 296 Amazon Relational Database Service Guide de l'utilisateur Exportation de données depuis SQL Server sur Amazon RDS table_object.name table_name FROM sysobjects trigger_object JOIN sysobjects table_object ON trigger_object.parent_obj = table_object.id WHERE trigger_object.type = 'TR'; OPEN trigger_cursor; FETCH NEXT FROM trigger_cursor INTO @trigger, @table; WHILE @@FETCH_STATUS = 0 BEGIN IF @enable = 1 SET @cmd = 'ENABLE '; ELSE SET @cmd = 'DISABLE '; SET @cmd = @cmd + ' TRIGGER dbo.'+QUOTENAME(@trigger)+' ON dbo.'+QUOTENAME(@table)+' '; EXEC (@cmd); FETCH NEXT FROM trigger_cursor INTO @trigger, @table; END CLOSE trigger_cursor; DEALLOCATE trigger_cursor; Exportation de données depuis SQL Server sur Amazon RDS Vous pouvez exporter des données depuis une instance DB SQL Amazon RDS en utilisant au choix une des deux options disponibles. Le choix de l'option dépend de la base de données cible et de ce que vous souhaitez exporter. • Assistant d'importation et d'exportation SQL Server (p. 297) – Vous pouvez utiliser cet assistant pour copier une ou plusieurs tables, vues ou requêtes depuis votre instance DB SQL Amazon RDS vers un autre magasin de données. L'assistant peut à la fois exporter les données depuis votre instance DB SQL Server et les importer dans le magasin de données cible. Ce choix est préférable si vous souhaitez transférer des tables de petite à moyenne taille ou interroger des ensembles de résultats sur une autre instance DB SQL Server, ou si le magasin de données cible n'est pas SQL Server. • Assistant Générer et publier des scripts et utilitaire bcp (p. 299) – Vous pouvez utiliser cet assistant pour créer des scripts pour une base de données complète ou pour une sélection d'objets uniquement. Vous pouvez exécuter ces scripts sur une instance DB SQL Server pour recréer les objets à base de script. Vous pouvez ensuite utiliser l'utilitaire bcp pour exporter en bloc les données pour les objets sélectionnés vers l'instance DB cible. Ce choix est préférable si vous souhaitez déplacer une base de données complète (dont des objets autres que des tables) ou d'importantes quantités de données entre deux instances DB SQL Server. Les outils susmentionnés sont disponibles avec Microsoft SQL Server Management Studio, un client SQL Server graphique qui est inclus dans toutes les éditions de Microsoft SQL Server sauf Express Edition. SQL Server Management Studio Express est également disponible auprès de Microsoft en téléchargement gratuit. Note SQL Server Management Studio Express est disponible uniquement en tant qu'application basée sur Microsoft. Assistant d'importation et d'exportation SQL Server Pour utiliser l'assistant d'importation et d'exportation SQL Server pour exporter des données, procédez comme suit : API Version 2014-10-31 297 Amazon Relational Database Service Guide de l'utilisateur Exportation de données depuis SQL Server sur Amazon RDS 1. Dans SQL Server Management Studio, connectez-vous à votre instance DB SQL Amazon RDS. Pour plus d'informations sur la manière de procéder, consultez Connexion à une instance DB exécutant le moteur de base de données SQL Server (p. 281). 2. Dans Object Explorer, développez Databases, cliquez avec le bouton droit sur la base de données source, sélectionnez Tasks, puis cliquez sur Export Data pour ouvrir l'assistant. 3. Sur la page Choose a Data Source, procédez comme suit : a. Cliquez sur SQL Server Native Client 11.0 dans la zone Data source. b. Vérifiez que la zone Server name affiche le point de terminaison de votre instance DB SQL Amazon RDS. c. Cliquez sur Use SQL Server Authentication. Saisissez le mot de passe et le nom utilisateur maître de votre instance DB SQL Amazon RDS dans les zones User name et Password. d. Vérifiez que la zone Database affiche la base de données depuis laquelle vous souhaitez exporter des données. e. Cliquez sur Suivant. 4. Sur la page Choose a Destination, procédez comme suit : a. Cliquez sur SQL Server Native Client 11.0 dans la zone Destination. Note D'autres sources de données cibles sont disponibles. Elles incluent les suivantes : les fournisseurs de données .NET Framework, les fournisseurs OLE DB, les fournisseurs SQL Server Native Client, les fournisseurs ADO.NET, Microsoft Office Excel, Microsoft Office Access et la source du fichier plat. Si vous choisissez de cibler une de ces sources de données, ignorez le reste de l'étape 4 et passez à Choisir une destination dans la documentation SQL Server pour obtenir des renseignements sur les informations de connexion à fournir. b. Saisissez le nom du serveur de l'instance DB SQL Server dans la zone Nom du serveur. c. Cliquez sur le type d'authentification qui convient. Saisissez un nom utilisateur et un mot de passe si nécessaire. d. Cliquez sur le nom de base de données cible dans la zone Database, ou bien cliquez sur Nouveau pour créer une base de données qui contiendra les données exportées. Si vous cliquez sur Nouveau, accédez à Créer une base de données dans la documentation SQL Server pour obtenir des renseignements sur les informations de base de données à fournir. e. Cliquez sur Suivant. 5. Sur la page Table Copy or Query, cliquez sur Copy data from one or more tables or views ou Write a query to specify the data to transfer. Cliquez sur Suivant. 6. Si vous avez cliqué sur Write a query to specify the data to transfer, vous consultez la page Provide a Source Query. Saisissez ou collez une requête SQL, puis cliquez sur Parse pour la vérifier. Après la validation de la requête, cliquez sur Next. 7. Sur la page Select Source Tables and Views, procédez comme suit : a. Sélectionnez les tables et les affichages que vous souhaitez exporter, ou bien vérifiez que la requête que vous avez fournie est sélectionnée. b. Cliquez sur Edit Mappings puis spécifiez les informations de mapping de la colonne et de la base de données. Pour plus d'informations, accédez à Mapping de colonnes dans la documentation SQL Server. c. (En option) Pour afficher un aperçu des données à exporter, sélectionnez la table, l'affichage ou la requête, puis cliquez sur Preview. d. Cliquez sur Suivant. 8. Sur la page Run Package, vérifiez que l'option Run immediately est sélectionnée. Cliquez sur Suivant. 9. Sur la page Complete the Wizard, vérifiez que les informations d'exportation des données sont telles que vous les attendez. Cliquez sur Finish. API Version 2014-10-31 298 Amazon Relational Database Service Guide de l'utilisateur Exportation de données depuis SQL Server sur Amazon RDS 10.Sur la page The execution was successful, cliquez sur Close. Pour obtenir davantage d'informations, accédez à Assistant Importation et Exportation SQL Server dans la documentation Microsoft SQL Server. Assistant Générer et publier des scripts et utilitaire bcp Pour utiliser l'Assistant Générer et publier des scripts et l'utilitaire bcp pour exporter des données, procédez comme suit : 1. Dans SQL Server Management Studio, connectez-vous à votre instance DB SQL Amazon RDS. Pour plus d'informations sur la manière de procéder, consultez Connexion à une instance DB exécutant le moteur de base de données SQL Server (p. 281). 2. Dans Object Explorer, développez le nœud Databases et sélectionnez la base de données que vous souhaitez baser sur script. 3. Suivez les instructions dans Assistant Générer et publier des scripts dans la documentation SQL Server pour créer un fichier script. 4. Dans SQL Server Management Studio, connectez-vous à votre instance DB SQL Server cible. 5. Avec l'instance DB SQL Server cible sélectionnée dans Object Explorer, cliquez sur Open dans le menu File menu, cliquez sur File puis ouvrez le fichier script. 6. Si vous avez basé sur script l'ensemble de la base de données, consultez l'instruction CREATE DATABASE dans le script pour vous assurer que la base de données est créée à l'emplacement et avec les paramètres de votre choix. Pour plus d'informations, accédez à CREATE DATABASE dans la documentation SQL Server. 7. Si vous créez des utilisateurs de base de données dans le script, assurez-vous que les ID de connexion serveur existent sur l'instance DB cible pour ces utilisateurs. Créez sinon des ID de connexion pour ces utilisateurs. Dans le cas contraire, les commandes à base de script pour créer les utilisateurs de base de données échoueront. Pour plus d'informations, consultez Créer un compte de connexion dans la documentation SQL Server. 8. Cliquez sur !Execute dans le menu SQL Editor pour exécuter le fichier script et créer les objets de base de données. Lorsque le script se termine, vérifiez que tous les objets de base de données existent comme prévu. 9. Utilisez l'utilitaire bcp pour exporter des données depuis l'instance DB SQL Amazon RDS dans des fichiers. Ouvrez une invite de commande et tapez la commande C:\> bcp database_name.schema_name.table_name out data_file -n -S aws_rds_sql_endpoint -U username -P password où : • table_name correspond au nom d'une des tables que vous avez recréées dans la base de données cible et que vous voulez à présent remplir avec des données. • data_file correspond au nom et au chemin d'accès complet du fichier de données à créer. • -n spécifie que la copie en bloc utilisera les types de données natifs des données à copier. • -S spécifie l'instance de base de données SQL Server d'origine de l'exportation. • -U spécifie le nom utilisateur à utiliser lors de la connexion à l'instance de base de données SQL Server. • -P spécifie le mot de passe pour l'utilisateur spécifié par -U. Ce qui suit présente un exemple de commande : bcp world.dbo.city out C:\Users\JohnDoe\city.dat -n -S sql-jdoe.1234abcd.uswest-2.rds.amazonaws.com,1433 -U JohnDoe -P ClearTextPassword API Version 2014-10-31 299 Amazon Relational Database Service Guide de l'utilisateur Exportation de données depuis SQL Server sur Amazon RDS Pour une description complète de la syntaxe de ligne de commande bcp, consultez Utilitaire bcp dans la documentation Microsoft SQL Server. Répétez cette étape jusqu'à ce que vous ayez des fichiers de données pour toutes les tables que vous souhaitez exporter. 10.Préparez votre instance de base de données cible pour l'importation en bloc de données en suivant les instructions dans Préparer l'importation de données en bloc dans la documentation SQL Server. 11.Décidez du choix d'une méthode d'importation en bloc à utiliser après avoir pris en compte la performance et d'autres problèmes abordés dans A propos des opérations d'exportation et d'importation en bloc dans la documentation SQL Server. 12.L'importation en bloc des données depuis les fichiers de données que vous avez créés en utilisant l'utilitaire bcp, en suivant les instructions dans Importer et exporter des données en bloc à l'aide de l'utilitaire bcp ou Importer des données en bloc à l'aide de BULK INSERT ou OPENROWSET(BULK...) dans la documentation SQL Server, selon ce que vous avez décidé à l'étape 11. API Version 2014-10-31 300 Amazon Relational Database Service Guide de l'utilisateur Annexe : Tâches courantes DBA pour SQL Server Annexe : Tâches courantes DBA pour SQL Server Cette section décrit les implémentations spécifiques à Amazon RDS de certaines tâches DBA courantes pour les instances DB exécutant le moteur de base de données Microsoft SQL. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances DB et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Note Lors de l'utilisation d'une instance DB SQL Server, vous pouvez exécuter des scripts pour modifier une base de données nouvellement créée, mais vous ne pouvez pas modifier la base de données [model], celle utilisée comme modèle pour les nouvelles bases de données. Pour plus d'informations sur l'utilisation des fichiers journaux SQL Server sur Amazon RDS, consultez Fichiers journaux de base de données SQL Server (p. 533). Rubriques • Détermination d'un modèle de récupération (p. 301) • Classements et jeux de caractères pour SQL Server (p. 301) • Réinitialisation du mot de passe du rôle db_owner (p. 302) • Passage d'une base de données de l'état OFFLINE à l'état ONLINE (p. 302) • Suppression d'une base de données dans un déploiement Multi-AZ à l'aide de la mise en miroir (p. 302) • Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor (p. 303) • Utilisation de SQL Server Agent (p. 306) • Utilisation des journaux SQL Server (p. 307) • Gestion des heures UTC pour la pris en compte des fuseaux (p. 308) Détermination d'un modèle de récupération Dans RDS, le modèle de récupération, la période de rétention et le statut de base de données sont liés. La modification de l'un d'eux peut influer sur les autres paramètres. Exemples : • La modification d'un modèle de récupération d'une base de données en « Simple » tandis que la rétention des sauvegardes est activée se traduit dans RDS par la définition du modèle de récupération sur « Full » dans les cinq minutes qui suivent la modification du paramètre. Il en résulte aussi la prise d'un instantané de l'instance DB par Amazon RDS. • La définition de la rétention des sauvegardes sur « 0 » jour(s) se traduit par la définition du modèle de récupération par RDS sur « Simple ». • La modification d'un modèle de récupération d'une base de données de « Simple » en une autre option pendant que la rétention des sauvegardes est définie sur « 0 » jour(s) se traduit par la redéfinition du modèle de récupération par RDS sur « Simple ». Classements et jeux de caractères pour SQL Server Amazon RDS crée un classement de serveur par défaut pour les jeux de caractères quand une instance DB SQL Server est créée. Ce classement de serveur par défaut est actuellement Anglais (Etats-Unis), ou plus précisément, SQL_Latin1_General_CP1_CI_AS. Vous pouvez modifier la classement par défaut au niveau base de données, table ou colonne, en remplaçant le classement de la création d'une nouvelle base de données ou d'un objet de base de données. Par exemple, vous pouvez modifier le classement par défaut de SQL_Latin1_General_CP1_CI_AS en Japanese_CI_AS pour la prise en charge du classement API Version 2014-10-31 301 Amazon Relational Database Service Guide de l'utilisateur Réinitialisation du mot de passe du rôle db_owner japonais. Même les arguments d'une requête peuvent être l'objet d'un cast de type afin d'utiliser un classement différent si nécessaire. Par exemple, la requête suivante modifie le classement par défaut de la base de données nouvellement créée en Japanese_CI_AS : CREATE TABLE [dbo].[Account] ( [AccountID] [nvarchar](10) NOT NULL, [AccountName] [nvarchar](100) COLLATE Japanese_CI_AS NOT NULL ) ON [PRIMARY]; Le moteur de base de données SQL Server prend en charge Unicode à l'aide des types de données intégrés NCHAR, NVARCHAR et NTEXT. Par exemple, si vous avez besoin du support CJC, utilisez ces types de données Unicode pour le stockage des caractères et remplacer le classement de serveur par défaut lors de la création de vos bases de données et tables. Voici plusieurs liens depuis Microsoft couvrant le classement et le support Unicode pour SQL Server : • Working with Collations • Collation and International Terminology • Using SQL Server Collations • International Considerations for Databases and Database Engine Applications Réinitialisation du mot de passe du rôle db_owner Si vous vous enfermez dans le rôle db_owner sur votre base de données SQL, vous pouvez réinitialiser le mot de passe du rôle db_owner en modifiant le mot de passe de l'instance de base de données. En modifiant le mot de passe de l'instance de base de données, vous pouvez reconquérir l'accès à l'instance de base de données, accéder aux bases de données à l'aide du mot de passe modifié pour le rôle db_owner et restaurer les privilèges pour le rôle db_owner qui peuvent avoir été malencontreusement révoqués. Vous pouvez modifier le mot de passe d'une instance de base de données à l'aide de la console Amazon RDS, de la commande CLI Amazon RDS rds-modify-db-instance ou de l'action ModifyDBInstance. Pour plus d'informations sur la modification d'une instance DB SQL Server, consultez Modification d'une instance DB exécutant le moteur de base de données SQL Server (p. 285). Passage d'une base de données de l'état OFFLINE à l'état ONLINE Méthode SQL Server Méthode Amazon RDS ALTER DATABASE nom SET ONLINE; EXEC rdsadmin.dbo.rds_set_database_online nom Suppression d'une base de données dans un déploiement Multi-AZ à l'aide de la mise en miroir Si vous devez supprimer une base de données SQL Server qui se trouve sur une instance DB dans un déploiement Multi-AZ à l'aide de la mise en miroir, vous pouvez utiliser les commandes suivantes : API Version 2014-10-31 302 Amazon Relational Database Service Guide de l'utilisateur Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor ALTER DATABASE <database_name> SET PARTNER OFF; GO DROP DATABASE <database_name>; GO Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor L'Assistant Paramétrage du moteur de base de données est une application cliente fournie par Microsoft qui analyse la charge de travail de la base de données et recommande un ensemble optimal d'index pour vos bases de données SQL Server en fonction des types de requêtes que vous exécutez. Comme SQL Server Management Studio, vous exécutez l'Assistant Paramétrage à partir d'un ordinateur client qui se connecte à votre instance DB RDS exécutant SQL Server. L'ordinateur client peut être un ordinateur local que vous exécutez sur site au sein de votre propre réseau ou une instance Amazon EC2 Windows qui s'exécute dans la même région que votre instance DB RDS. Cette section montre comment capturer une charge de travail pour que l'Assistant Paramétrage l'analyse. Il s'agit du processus privilégié pour capturer une charge de travail parce que RDS limite l'accès hôte à l'instance SQL Server. La documentation complète sur l'Assistant Paramétrage est disponible sur MSDN. Pour utiliser l'Assistant Paramétrage, vous devez lui fournir ce qu'on appelle une charge de travail. Une charge de travail est un ensemble d'instructions Transact-SQL qui s'exécutent sur une base de données ou des bases de données que vous voulez régler. L'Assistant Paramétrage du moteur de base de données utilise les fichiers trace, les tables de trace, les scripts Transact-SQL ou les fichiers XML comme entrées de charge de travail lors du réglage des bases de données. Lors de l'utilisation de RDS, une charge de travail peut être un fichier sur un ordinateur client ou une table de base de données sur une instance DB RDS SQL Server accessible à votre ordinateur client. Le fichier ou la table doit contenir des requêtes sur les bases de données que vous voulez régler dans un format adapté à la relecture. Pour que l'Assistant Paramétrage soit le plus efficace, une charge de travail doit être aussi réaliste que possible. Vous pouvez générer un fichier de charge de travail ou une table en exécutant une trace sur votre instance DB. Pendant l'exécution d'une trace, vous pouvez simuler une charge sur votre instance DB ou exécuter vos applications avec une charge normale. Il existe deux types de trace : côté client et côté serveur. Une trace côté client est plus facile à configurer et vous pouvez observer les événements de trace capturés en temps réel dans SQL Server Profiler. Une trace côté serveur est plus complexe à configurer et nécessite quelque script Transact-SQL. De plus, comme la trace est écrite sur un fichier de l'instance DB RDS, l'espace de stockage est utilisée par la trace. Il importe de tracer la quantité d'espace de stockage qu'une trace côté serveur utilise, parce que l'instance DB peut entrer dans un état de stockage complet et n'être plus disponible si elle se trouve à court d'espace de stockage. Pour une trace côté client, quand une quantité suffisante de données de trace a été capturée dans SQL Server Profiler, vous pouvez générer le fichier de charge de travail en enregistrant la trace sur un fichier de votre ordinateur local ou dans une table de base de données d'une instance DB accessible à votre ordinateur client. Le principal désavantage de l'utilisation d'une trace côté client est que la trace peut ne pas capturer toutes les requêtes quand elle est soumise à de lourdes charges. Cela pourrait affaiblir l'efficacité de l'analyse exécutée par l'Assistant Paramétrage du moteur de base de données. Si vous devez exécuter une trace soumise à des charges massives et que vous voulez vous assurer qu'elle capture chaque requête pendant une session de trace, vous devez utiliser une trace côté serveur. Pour une trace côté serveur, vous devez obtenir les fichiers de trace de l'instance DB en un fichier de charge de travail adapté ou vous pouvez enregistrer la trace sur une table de l'instance DB une fois la trace terminée. Vous pouvez utiliser SQL Server Profiler pour enregistrer la trace sur un fichier de votre ordinateur local ou faire en sorte que l'Assistant Paramétrage lise à partir de la table de trace sur l'instance DB. API Version 2014-10-31 303 Amazon Relational Database Service Guide de l'utilisateur Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor Exécution d'une trace côté client sur une instance DB SQL Server Pour exécuter une trace côté client sur une instance de base de données SQL Server 1. 2. Démarrez SQL Server Profiler. Il est installé dans le dossier Outils de performance de votre dossier d'instances SQL Server. Vous devez charger ou définir un modèle de définition de trace pour démarrer une trace côté client. Dans le menu Fichier de SQL Server Profiler, cliquez sur Nouvelle trace. Dans la boîte de dialogue Se connecter au serveur, entrez le point de terminaison de l'instance DB, le port, le nom utilisateur maître et le mot de passe de la base de données sur laquelle vous souhaitez exécuter une trace. 3. Dans la boîte de dialogue Propriétés de la trace, entrez un nom de trace et choisissez un modèle de définition de trace. Un modèle par défaut, TSQL_Replay, est fourni avec l'application. Vous pouvez modifier ce modèle pour définir votre trace. Modifiez les événements et les informations relatives aux événements sous l'onglet Sélection des événements de la boîte de dialogue Propriétés de la trace. Pour plus d'informations sur les modèles de définition de trace et l'utilisation de SQL Server Profiler pour spécifier une trace côté client, consultez la documentation dans MSDN. 4. Démarrez la trace côté client et observez les requêtes SQL en temps réel tandis qu'elles s'exécutent sur votre instance DB. 5. Sélectionnez Arrêter la trace dans le menu Fichier lorsque vous avez terminé la trace. Enregistrez les résultats comme fichier ou comme table de trace sur votre instance DB. Exécution d'une trace côté serveur sur une instance DB SQL Server L'écriture de scripts pour créer une trace côté serveur peut être complexe et au-delà de la portée de ce document. Cette section contient des scripts que vous pouvez utiliser comme exemples. Comme pour une trace côté client, l'objectif est de créer un fichier de charge de travail ou une table de trace que vous pouvez ouvrir à l'aide de l'Assistant Paramétrage du moteur de base de données. L'exemple abrégé suivant est un script qui démarre une trace côté serveur et capture les détails dans un fichier de charge de travail. La trace s'enregistre initialement sur le fichier RDSTrace.trc du répertoire D: \RDSDBDATA\Log et se réinitialise tous les 100 Mo, si bien que les fichiers de trace suivants se nomment RDSTrace_1.trc, RDSTrace_2.trc, etc. DECLARE DECLARE DECLARE DECLARE DECLARE @file_name NVARCHAR(245) = 'D:\RDSDBDATA\Log\RDSTrace'; @max_file_size BIGINT = 100; @on BIT = 1 @rc INT @traceid INT EXEC @rc = sp_trace_create @traceid OUTPUT, 2, @file_name, @max_file_size IF (@rc != 0) BEGIN EXEC sp_trace_setevent @traceid, 10, 1, @on EXEC sp_trace_setevent @traceid, 10, 2, @on EXEC sp_trace_setevent @traceid, 10, 3, @on … EXEC sp_trace_setfilter @traceid, 10, 0, 7, N'SQL Profiler' EXEC sp_trace_setstatus @traceid, 1 END L'exemple suivant illustre un script qui arrête une trace. Notez qu'une trace créée par le précédent script continue à s'exécuter jusqu'à ce que vous arrêtiez explicitement la trace ou que le processus ne dispose plus d'espace disque suffisant. API Version 2014-10-31 304 Amazon Relational Database Service Guide de l'utilisateur Analyse de la charge de travail d'une base de données sur une instance DB avec SQL Server Tuning Advisor DECLARE @traceid INT SELECT @traceid = traceid FROM ::fn_trace_getinfo(default) WHERE property = 5 AND value = 1 AND traceid <> 1 IF @traceid IS NOT NULL BEGIN EXEC sp_trace_setstatus @traceid, 0 EXEC sp_trace_setstatus @traceid, 2 END Vous pouvez enregistrer les résultats de la trace côté serveur sur une table de base de données et utiliser celle-ci comme charge de travail pour l'Assistant Paramétrage à l'aide de la fonction fn_trace_gettable. Les commandes suivantes chargent les résultats de tous les fichiers nommés RDSTrace.trc dans le répertoire D:\rdsdbdata\Log, y compris tous les fichiers de substitution comme RDSTrace_1.trc, dans une table nommée RDSTrace de la base de données active : SELECT * INTO RDSTrace FROM fn_trace_gettable('D:\rdsdbdata\Log\RDSTrace.trc', default); Pour enregistrer un fichier de substitution spécifique dans une table, par exemple le fichier RDSTrace_1.trc, spécifiez le nom du fichier de substitution et remplacez le dernier paramètre par défaut de fn_trace_gettable par 1. SELECT * INTO RDSTrace_1 FROM fn_trace_gettable('D:\rdsdbdata\Log\RDSTrace_1.trc', 1); Exécution de l'Assistant Paramétrage avec une trace Une fois que vous créez une trace, comme fichier local ou comme table de base de données, vous pouvez exécuter l'Assistant Paramétrage sur votre instance RDS. Microsoft propose une documentation relative à l'utilisation de l'Assistant Paramétrage du moteur de base de données dans MSDN. L'utilisation de l'Assistant Paramétrage avec RDS est le même processus que lors de l'utilisation d'une instance SQL Server autonome et distante. Vous pouvez utiliser l'interface utilisateur de l'Assistant Paramétrage sur votre ordinateur client ou choisir l'utilitaire dta.exe à partir de la ligne de commande. Dans les deux cas, vous devez vous connecter à l'instance DB RDS à l'aide du point de terminaison de l'instance DB, et fournir votre nom utilisateur maître et votre mot de passe utilisateur maître lors de l'utilisation de l'Assistant Paramétrage. L'exemple de code suivant illustre l'utilisation de l'utilitaire de ligne de commande dta.exe sur une instance DB RDS avec le point de terminaison dta.cnazcmklsdei.us-east-1.rds.amazonaws.com. L'exemple inclut le nom utilisateur maître admin et le mot de passe utilisateur maître test, l'exemple de base de données à régler se nomme RDSDTA et la charge de travail en entrée est un fichier trace sur l'ordinateur local nommé C:\RDSTrace.trc. L'exemple de code de ligne de commande spécifie aussi une session de trace nommée RDSTrace1, ainsi que les fichiers de sortie sur l'ordinateur local nommés RDSTrace.sql pour le script de sortie SQL, RDSTrace.txt pour un fichier résultat et RDSTrace.xml pour un fichier XML de l'analyse. Il existe aussi une table d'erreur spécifiée sur la base de données RDSDTA et nommée RDSTraceErrors. dta -S dta.cnazcmklsdei.us-east-1.rds.amazonaws.com -U admin -P test -D RDSDTA -if C:\RDSTrace.trc -s RDSTrace1 -of C:\ RDSTrace.sql -or C:\ RDSTrace.txt -ox C:\ RDSTrace.xml -e RDSDTA.dbo.RDSTraceErrors API Version 2014-10-31 305 Amazon Relational Database Service Guide de l'utilisateur Utilisation de SQL Server Agent Voici le même exemple de code de ligne de commande si ce n'est que la charge de travail en entrée est une table de l'instance RDS distante nommée RDSTrace et qui se trouve sur la base de données RDSDTA. dta -S dta.cnazcmklsdei.us-east-1.rds.amazonaws.com -U admin -P test -D RDSDTA -it RDSDTA.dbo.RDSTrace -s RDSTrace1 -of C:\ RDSTrace.sql -or C:\ RDSTrace.txt -ox C:\ RDSTrace.xml -e RDSDTA.dbo.RDSTraceErrors La liste complète des paramètres de ligne de commande de l'utilitaire dta se trouve dans MSDN. Utilisation de SQL Server Agent Avec Amazon RDS, vous pouvez utiliser SQL Server Agent sur une instance DB exécutant SQL Server Standard, Web Edition ou Enterprise Edition. SQL Server Agent est un service Microsoft Windows qui exécute des tâches administratives planifiées, appelées travaux. Vous pouvez utiliser SQL Server Agent pour exécuter les travaux T-SQL jobs afin de reconstruire les index, d'exécuter les contrôles de corruption et de regrouper les données dans une instance DB SQL Server. SQL Server Agent peut exécuter un travail en fonction d'une planification, en réponse à un événement spécifique, ou à la demande. Pour plus d'informations, consultez SQL Server Agent dans la documentation SQL Server. Vous devez éviter de planifier l'exécution de travaux pendant les fenêtres de maintenance et de sauvegarde pour votre instance DB, parce que ces processus de maintenance et de sauvegarde qui sont lancés par AWS pourraient interrompre le travail ou entraîner son annulation. Comme Amazon RDS sauvegarde votre instance DB, vous n'utilisez pas SQL Server Agent pour créer des sauvegardes. Pour afficher l'historique d'un travail SQL Server Agent dans SQL Server Management Studio, vous ouvrez l'Explorateur d'objet, cliquez avec le bouton droit sur le travail, puis cliquez sur Afficher l'historique. Comme SQL Server Agent s'exécute sur un hôte géré dans une instance DB, certaines actions ne sont pas prises en charge. L'exécution de travaux de réplication et de scripts de ligne de commande à l'aide d'ActiveX, du shell de commande Windows ou de Windows PowerShell n'est pas prise en charge. De plus, vous ne pouvez pas démarrer, arrêter ou redémarrer manuellement SQL Server Agent parce que son fonctionnement est géré par l'hôte. Les notifications par e-mail via SQL Server Agent ne sont pas disponibles à partir d'une instance DB. Lorsque vous créez une instance DB SQL Server, le nom de l'utilisateur maître est inscrit dans le rôle SQLAgentUserRole. Pour ajouter un utilisateur/une connexion supplémentaire afin d'utiliser SQL Server Agent, vous devez vous connecter comme utilisateur maître et exécuter les actions suivantes. 1. Créez une autre connexion de niveau serveur à l'aide de la commande CREATE LOGIN. 2. Créez un utilisateur dans msdb avec la commande CREATE USER, puis liez cet utilisateur à la connexion que vous avez créée à l'étape précédente. 3. Ajoutez l'utilisateur au rôle SQLAgentUserRole avec la procédure stockée système sp_addrolemember. Par exemple, imaginons que votre nom utilisateur maître soit myawsmaster et que vous vouliez accorder l'accès à SQL Server Agent à un utilisateur nommé theirname avec le mot de passe theirpassword. Vous vous connectez à l'aide du nom utilisateur maître et exécutez les commandes suivantes. --Initially set context to master database USE [master]; GO --Create a server-level login named theirname with password theirpassword CREATE LOGIN [theirname] WITH PASSWORD = 'theirpassword'; GO --Set context to msdb database USE [msdb]; GO API Version 2014-10-31 306 Amazon Relational Database Service Guide de l'utilisateur Utilisation des journaux SQL Server --Create a database user named theirname and link it to server-level login theirname CREATE USER [theirname] FOR LOGIN [theirname]; GO --Added database user theirname in msdb to SQLAgentUserRole in msdb EXEC sp_addrolemember [SQLAgentUserRole], [theirname]; Vous ne pouvez pas utiliser l'interface utilisateur dans SQL Server Management Console pour supprimer un travail SQL Server Agent. Pour supprimer un travail SQL Server Agent, exécutez l'instruction T-SQL suivante. EXEC msdb..sp_delete_job @job_name = '<job-name>'; Utilisation des journaux SQL Server Vous pouvez utiliser la console Amazon RDS pour afficher, observer et télécharger les journaux SQL Server Agent et les journaux d'erreurs SQL Server. Si vous affichez un journal dans la console Amazon RDS, vous pouvez voir son contenu tel qu'il est à ce moment-là. L'observation d'un journal dans la console l'ouvre dans un état dynamique de telle sorte que vous puissiez voir ses mises à jour pratiquement en temps réel. Seul le dernier journal est actif pour pouvoir être observé. Par exemple, supposons que les journaux affichent les informations suivantes : Seul log/ERROR, comme le journal le plus récent est en mise à jour active. Vous pouvez choisir d'en observer d'autres, mais ils sont statiques et ne sont pas mis à jour. La console Amazon RDS affiche les journaux de la semaine écoulée jusqu'au même. Vous pouvez télécharger et archiver les journaux pour les garder comme référence au-delà de cette date. Une solution pour archiver les journaux consiste à les charger dans une instance Amazon S3. Pour plus d'instructions sur la configuration d'une instance Amazon S3 et le chargement d'un fichier, consultez Bases d'Amazon S3 dans le Guide de démarrage d'Amazon Simple Storage Service, puis cliquez sur Mise en route. Vous pouvez aussi afficher les journaux à l'aide de la procédure stockée rdsadmin.dbo.rds_read_error_log. Cette procédure stockée accepte deux paramètres : • @index Identifie la version du journal à afficher. Spécifiez 0 pour afficher le journal en cours ou 1 pour afficher le journal ayant fait l'objet de la rotation précédente. • @type Identifie le journal à afficher. Spécifiez 1 pour afficher le journal d'erreurs SQL Server ou 2 pour afficher le journal SQL Server Agent. Par exemple, pour afficher le journal SQL Server Agent en cours, exécutez l'instruction suivante : EXEC rdsadmin.dbo.rds_read_error_log @index = 0, @type = 2; Pour plus d'informations sur l'affichage, la consultation et le téléchargement d'un journal, consultez les ressources suivantes : • Pour plus d'informations sur l'affichage d'un journal consultez Liste et affichage des fichiers journaux de base de données (p. 536). API Version 2014-10-31 307 Amazon Relational Database Service Guide de l'utilisateur Gestion des heures UTC pour la pris en compte des fuseaux • Pour plus d'informations sur la consultation d'un journal consultez Consultation d'un fichier journal de base de données (p. 542). • Pour plus d'informations sur le téléchargement d'un journal consultez Téléchargement d'un fichier journal de base de données (p. 540). Gestion des heures UTC pour la pris en compte des fuseaux L'heure système est maintenue en heure UTC (temps universel coordonné). Amazon RDS ne prend pas en charge la modification du fuseau horaire pour les instances DB Amazon RDS SQL Server. Si vous voulez que votre instance DB gère la prise en compte des fuseaux horaires, nous vous recommandons d'utiliser le type de données SQL Server datetimeoffset pour stocker les données de date et d'heure. Ce type de données stocke les données à l'heure UTC, mais gère un décalage pour identifier le fuseau horaire local. Par exemple, lorsque vous utilisez datetime la valeur 14 janvier 2015, 11:40 AM heure du Pacifique est enregistrée sous la forme 2015-01-14 19:42:18.5770000 -08:00. Le code de votre application cliente doit pouvoir convertir l'heure locale dans ce format avant d'enregistrer les données dans la base de données. Par exemple, en C# vous utilisez la classe TimeZoneInfo et la structure DateTimeOffset pour obtenir le décalage correspondant à l'heure locale, puis convertir celle-ci en heure UTC augmentée d'un décalage. Pour convertir une valeur datetimeoffset en valeur du fuseau horaire local et l'afficher, vous pouvez utiliser la fonction SQL Server CAST en liaison avec les fonctions SQL Server DATEPART et DATEADD. Par exemple, supposons que vous avez le tableau suivant avec un champ datetimeoffset : sales_id sales_amount 1 14.38 2015-01-14 2 39.02 2015-01-14 3 52.66 2015-01-14 sales_date 19:42:18.5770000 -08:00 20:13:51.4330000 -08:00 20:45:12.1010000 -08:00 Dans ce cas, vous pouvez convertir sales_date en la valeur locale datetime comme suit : select sales_id, sales_amount, cast((dateadd(mi, datepart(tz, sales_date), sales_date)) AS datetime) as local_datetime from sales; Le résultat se présente comme suit : sales_id sales_amount local_datetime ----------------------------------------------1 14.38 2015-01-14 11:42:18.577 2 39.02 2015-01-14 12:13:51.433 3 52.66 2015-01-14 12:45:12.100 Pour plus d'informations, consultez Fonctions Date et heure dans la documentation Microsoft SQL Server. API Version 2014-10-31 308 Amazon Relational Database Service Guide de l'utilisateur Annexe : Options pour SQL Server Annexe : Options pour le moteur de base de données SQL Server Cette annexe décrit les options, ou fonctions supplémentaires, disponibles pour les instances Amazon RDS exécutant le moteur de base de données SQL Server. Pour activer ces options, vous pouvez les ajouter à un groupe d'options, puis associer celui-ci à votre instance DB. Pour plus d'informations sur l'utilisation de ces options, consultez Présentation des groupes d'options (p. 455). Les options suivantes sont actuellement prises en charge pour les instances DB SQL Server : • SQL Server Transparent Data Encryption (p. 309) • Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir (p. 311) SQL Server Transparent Data Encryption Amazon RDS prend en charge la fonction TDE (Transparent Data Encryption) pour chiffrer les données stockées pour SQL Server 2008 R2 Enterprise Edition et SQL Server 2012 Enterprise Edition. La fonction TDE chiffre automatiquement les données avant qu'elles ne soient écrites sur le stockage et déchiffre automatiquement les données lorsqu'elles sont lues depuis le stockage. Pour activer la fonction TDE pour une instance DB qui exécute SQL Server, spécifiez l'option TDE dans un groupe d'options Amazon RDS associé à cette instance DB. La fonction TDE pour SQL Server fournit une gestion des clés de chiffrement à l'aide d'une architecture de clé à deux niveaux. Un certificat, qui est généré à partir de la clé principale de la base de données, permet de protéger les clés de chiffrement des données. La clé de chiffrement de la base de données exécute le chiffrement et le déchiffrement des données sur la base de données utilisateur. Amazon RDS sauvegarde et gère la clé principale de la base de données et le certificat TDE. Pour se conformer à plusieurs normes de sécurité, Amazon RDS travaille à implémenter une rotation automatique régulière de la clé principale. L'option Oracle TDE est utilisée dans les scénarios où vous avez besoin de chiffrer les données sensibles au cas où les sauvegardes et les fichiers de données seraient obtenus par un tiers ou lorsque vous avez besoin de traiter les questions de conformité réglementaire relatives à la sécurité. Notez que vous ne pouvez pas chiffrer les bases de données système pour SQL Server, telles que les bases de données Model ou Master. Une présentation détaillée d'Oracle TDE dépasse le propos de ce guide, mais vous devez bien comprendre les points forts et les points faibles de chaque algorithme et de chaque clé. Pour plus d'informations sur l'option TDE pour SQL Server, consultez Transparent Data Encryption (TDE) sur le site web Microsoft. Vous devez déterminer si votre instance de base de données est associée à un groupe d'options ayant l'option TDE. Pour afficher le groupe d'options auquel une instance de base de données est associée, vous pouvez utiliser la console RDS, la commande CLI rds-describe-db-instance ou l'action d'API DescribeDBInstances. Le processus d'activation d'Oracle TDE sur une instance de base de données SQL Server est le suivant : 1. Si l'instance de base de données n'est pas associée à un groupe d'options pour lequel l'option TDE est activée, vous devez soit créer un groupe d'options et ajouter l'option TDE soit modifier le groupe d'options associé pour ajouter l'option TDE. Pour plus d'informations sur la création ou la modification d'un groupe d'options, consultez Utilisation de groupes d'options (p. 455). Pour plus d'informations sur l'ajout d'une option à un groupe d'options, consultez Ajout d'une option à un groupe d'options (p. 460). 2. Associez l'instance de base de données au groupe d'options avec l'option TDE. Pour plus d'informations sur l'association d'une instance DB à un groupe d'options, consultez Modification d'une instance DB exécutant le moteur de base de données SQL Server (p. 285). API Version 2014-10-31 309 Amazon Relational Database Service Guide de l'utilisateur SQL Server Transparent Data Encryption Lorsque l'option TDE est ajoutée à un groupe d'options, Amazon RDS génère un certificat qui est utilisé dans le processus de chiffrement. Vous pouvez alors utiliser le certificat pour exécuter les instructions SQL qui chiffrent les données d'une base de données sur l'instance DB. L'exemple suivant utilise le certificat créé par RDS et appelé RDSTDECertificateName pour chiffrer la base de données customerDatabase. ---------- Enabling TDE -------------- Find a RDSTDECertificate to use USE [master] GO SELECT name FROM sys.certificates WHERE name LIKE 'RDSTDECertificate%' GO USE [customerDatabase] GO -- Create DEK using one of the certificates from the previous step CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE [RDSTDECertificateName] GO -- Enable encryption on the database ALTER DATABASE [customerDatabase] SET ENCRYPTION ON GO -- Verify that the database is encrypted USE [master] GO SELECT name FROM sys.databases WHERE is_encrypted = 1 GO SELECT db_name(database_id) as DatabaseName, * FROM sys.dm_database_encryption_keys GO Le temps nécessaire au chiffrement d'une base de données SQL Server à l'aide de TDE dépend de plusieurs facteurs, y compris la taille de l'instance de base de données et si PIOPS est activé pour l'instance, la quantité de données et autres facteurs. L'option TDE est une option persistante qui ne peut pas être supprimée d'un groupe d'options tant que l'ensemble des instances de base de données et sauvegardes n'a pas été dissocié du groupe d'options. Une fois que vous avez ajouté l'option TDE à un groupe d'options, le groupe d'options peut uniquement être associé aux instances de base de données qui utilisent TDE. Pour plus d'informations sur les options persistantes dans un groupe d'options, consultez Présentation des groupes d'options (p. 455). Comme l'option TDE est une option persistante, il se peut qu'un conflit se produise malencontreusement entre le groupe d'options et une instance de base de données associée. Vous pouvez avoir un conflit entre le groupe d'options et une instance de base de données associée dans les cas suivants : • Le groupe d'options actuel a l'option TDE et vous le remplacez par un groupe d'options qui n'a pas l'option TDE. • Vous restaurez une instance de base de données qui n'utilise plus TDE à partir d'un snapshot DB à un instant dans le passé qui a été pris lorsque l'instance de base de données utilisait TDE. Le groupe d'options de l'instance de base de données qui n'utilise plus TDE entre en conflit avec l'instance de base de données restaurée qui utilise TDE. Pour désactiver TDE pour une instance de base de données, assurez-vous d'abord qu'il ne reste pas d'objets chiffrés sur l'instance de base de données en déchiffrant les objets ou en les supprimant. Si API Version 2014-10-31 310 Amazon Relational Database Service Guide de l'utilisateur Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir un objet chiffré existe sur l'instance de base de données, vous n'êtes pas autorisé à désactiver TDE pour l'instance de base de données. Lors de l'utilisation de la console RDS pour supprimer l'option TDE d'un groupe d'options, la console indique qu'elle est en cours de traitement et un événement est créé indiquant une erreur si le groupe d'options est associé à une instance de base de données chiffrée ou un snapshot DB chiffré. L'exemple suivant supprime le chiffrement TDE d'une base de données appelée customerDatabase. ------------- Removing TDE ---------------USE [customerDatabase] GO -- Disable encryption on the database ALTER DATABASE [customerDatabase] SET ENCRYPTION OFF GO -- Wait until the encryption state of the database becomes 1. The state will be 5 (Decryption in progress) for a while SELECT db_name(database_id) as DatabaseName, * FROM sys.dm_database_encryption_keys GO -- Drop the DEK used for encryption DROP DATABASE ENCRYPTION KEY GO -- Alter to SIMPLE Recovery mode so that your encrypted log gets truncated USE [master] GO ALTER DATABASE [customerDatabase] SET RECOVERY SIMPLE GO Quand tous les objets sont déchiffrés, vous pouvez modifier l'instance de base de données à associer à un groupe d'options sans l'option TDE ou vous pouvez supprimer l'option TDE du groupe d'options. Considérations sur les performances Les performances d'une instance de base de données SQL Server peuvent être impactées par la fonction TDE. Les performances des bases de données non chiffrées peuvent aussi être dégradées si les bases de données se trouvent sur une instance de base de données qui possède au moins une base de données chiffrée. En conséquence, il est recommandé de garder les bases de données chiffrées et les bases de données non chiffrées sur des instances de base de données distinctes. En raison de la nature du chiffrement, la taille de la base de données et celle du journal des transactions seront plus grandes que pour une base de données non chiffrée. Vous pouvez remplacer votre allocation d'espace de sauvegarde libre. La nature de TDE entraîne une baisse des performances inévitable. Si vous avez besoin de TDE et de performances élevées, mesurez l'impact et assurez-vous qu'il satisfait à vos besoins. L'impact sur les performances est moindre si vous utilisez IOPS provisionnées et au moins une clase d'instance DB M3.Large. Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir Amazon RDS prend en charge les déploiements multi-AZ pour SQL Server à l'aide de l'option de mise en miroir. Dans un déploiement multi-AZ, Amazon RDS provisionne et gère automatiquement un réplica de API Version 2014-10-31 311 Amazon Relational Database Service Guide de l'utilisateur Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir secours synchrone dans une zone de disponibilité différente. Pour plus d'informations sur les déploiements multi-AZ, consultez Haute disponibilité (Multi-AZ) (p. 51). Pour une vue d'ensemble de la mise en miroir SQL Server et d'Amazon RDS, consultez Planification de vos déploiements multi-AZ à l'aide de la mise en miroir SQL Server (p. 268) Note Le déploiement multi-AZ SQL Server à l'aide de la mise en miroir est actuellement disponible dans les régions AWS USA Est (Virginie du Nord), USA Ouest (Oregon) et UE (Irlande). Nous prévoyons de prendre en charge d'autres régions à l'avenir. Le processus d'activation de multi-AZ à l'aide de la mise en miroir comme option d'une instance DB SQL Server est le suivant : 1. Si votre instance DB n'est pas associée à un groupe d'options pour lequel l'option de mise en miroir est activée, vous pouvez exécuter l'une des trois tâches : • Créer un groupe d'options et ajouter l'option Mirroring. Pour plus d'informations sur la création d'un groupe d'options, consultez Utilisation de groupes d'options (p. 455). • Modifiez le groupe d'options actuellement associé à l'instance DB pour ajouter l'option Mirroring. Pour plus d'informations sur l'ajout d'une option à un groupe d'options, consultez Ajout d'une option à un groupe d'options (p. 460). • Associez l'un des groupes d'options par défaut pour lesquels l'option Mirroring a déjà été ajoutée. Ces groupes d'options sont disponibles pour chaque combinaison d'édition et de version de moteur, telle que default:sqlserver-se-10-50-mirrored ou default:sqlserver-se-11-00-mirrored. 2. Associez l'instance DB au groupe d'options avec l'option Mirroring. Pour plus d'informations sur l'association d'une instance DB à un groupe d'options, consultez Modification d'une instance DB exécutant le moteur de base de données SQL Server (p. 285). Il est recommandé de créer un groupe d'options avec l'option Mirroring, puis d'associer le groupe d'options aux instances DB SQL Server que vous voulez utiliser avec multi-AZ et la mise en miroir. Les exemples d'interface de ligne de commande RDS créent un groupe d'options SQL Server, puis ajoute l'option Mirroring au groupe d'options et associe ce groupe d'options à une instance de base de données SQL. L'exemple d'interface de ligne de commande RDS suivant crée un groupe d'options nommé MirroringOG pour SQL Server SE 10.50 : PROMPT> rds-create-option-group MirroringOG --engine-name sqlserver-se --major-engineversion 10.50 --description "SQLServer Mirroring" L'exemple d'interface de ligne de commande RDS suivant ajoute l'option Mirroring à un groupe d'options nommé MirroringOG : PROMPT> rds-add-option-to-option-group MirroringOG --option-name Mirroring Vous pouvez alors associer une instance DB SQL Server au groupe d'options. L'exemple d'interface de ligne de commande RDS suivant associe une instance DB SQL Server nommée cust_instance_id à un groupe d'options nommé MirroringOG : PROMPT> rds-modify-db-instance cust_instance_id -og MirroringOG --apply-immediately API Version 2014-10-31 312 Amazon Relational Database Service Guide de l'utilisateur Déploiement multi-AZ pour SQL Server à l'aide de l'option de mise en miroir Lorsque l'option Mirroring est ajoutée à un groupe d'options, Amazon RDS commence la réplication et le processus de synchronisation pour toutes les instances DB SQL Server associées au groupe d'options. Suppression de multi-AZ (mise en miroir) à partir d'une instance DB SQL Server La mise en miroir SQL Server est activée dans Amazon RDS via l'utilisation de groupes d'options. Lorsque vous créez une instance DB SQL Server qui utilise multi-AZ avec la mise en miroir, Amazon RDS crée automatiquement un groupe d'options par défaut ayant l'option Mise en miroir activée. Si vous devez désactiver la mise en miroir pour exécuter un chargement en masse ou d'autres tâches qui ne nécessitent pas une mise en miroir, exécutez les étapes suivantes. Notez que vous ne pouvez pas simplement supprimer l'option Mirroring du groupe d'options associé à l'instance DB. Pour désactiver la mise en miroir pour une instance DB SQL Server, procédez comme suit : 1. Créez un groupe d'options qui ne possède pas l'option Mirroring. 2. Associez ce nouveau groupe d'options à l'instance DB SQL Server à l'aide de la mise en miroir. Cela force l'instance à arrêter la mise en miroir et à devenir une simple instance de zone de disponibilité. API Version 2014-10-31 313 Amazon Relational Database Service Guide de l'utilisateur PostgreSQL sur Amazon RDS Amazon RDS prend en charge les instances de base de données qui exécutent plusieurs versions de PostgreSQL. Actuellement, nous prenons en charge PostgreSQL version 9.4.1 ainsi que les versions 9.3.1, 9.3.2, 9.3.3, 9.3.5 et 9.3.6. Vous pouvez créer des instances de base de données et des Snapshot DB, des restaurations et des sauvegardes à un moment donné. Les instances de base de données qui exécutent PostgreSQL prennent en charge les déploiements multi-AZ, les réplicas en lecture (version 9.3.5 et ultérieures) et les IOPS provisionnées, et peuvent être créées au sein d'un VPC. Vous pouvez également utiliser SSL pour vous connecter à une instance de base de données exécutant PostgreSQL. Avant de créer une instance de base de données, vous devez suivre la procédure de la section Configuration d'Amazon RDS (p. 7) du présent guide. Vous pouvez utiliser une application cliente SQL standard quelconque pour exécuter les commandes pour l'instance à partir de votre ordinateur client. De telles applications incluent pgAdmin, un outil d'administration et de développement Open Source fréquemment utilisé pour PostgreSQL, ou psql, un utilitaire de ligne de commande inclus dans une installation PostgreSQL. Pour offrir une expérience de service géré, Amazon RDS ne permet pas l'accès des hôtes aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Amazon RDS prend en charge l'accès aux bases de données sur une instance de base de données à l'aide de toute application cliente SQL standard. Amazon RDS n'autorise pas l'accès direct des hôtes à une instance DB via Telnet ou Secure Shell (SSH). Voici les tâches courantes de gestion que vous exécutez avec une instance DB PostgreSQL, avec des liens vers les informations relatives à chaque tâche : • Pour plus d'informations sur la planification, telles que les versions de PostgreSQL, les moteurs de stockage, la sécurité et les fonctions prises en charge dans Amazon RDS, consultez Informations de planification PostgreSQL sur Amazon RDS (p. 315). • Il existe des prérequis auxquels vous devez satisfaire avant de créer une instance DB. Pour plus d'informations, consultez la section Configuration d'Amazon RDS (p. 7) du présent guide. Par exemple, des instances DB sont créées par défaut avec un pare-feu qui empêche d'y accéder. Vous devez donc créer un groupe de sécurité avec les adresses IP correctes et la configuration réseau que vous utiliserez pour accéder à l'instance DB. • Si vous créez une instance DB à des fins de production, vous devez comprendre comment les classes d'instance, le stockage et les IOPS provisionnées fonctionnent dans Amazon RDS. Pour plus d'informations sur les classes d'instance DB, consultez Classe d'instance de base de données (p. 44). Pour plus d'informations sur le stockage Amazon RDS, consultez Types de stockage Amazon RDS (p. 58). Pour plus d'informations sur les IOPS provisionnées, consultez Stockage IOPS provisionnées Amazon RDS pour améliorer les performances (p. 63). API Version 2014-10-31 314 Amazon Relational Database Service Guide de l'utilisateur Informations de planification PostgreSQL sur Amazon RDS • Une instance DB de production doit également utiliser des déploiements multi-AZ. Tous les déploiements multi-AZ améliorent la disponibilité, la durabilité des donnés et la tolérance aux pannes pour les instances DB. Pour plus d'informations sur les déploiements multi-AZ, consultez Haute disponibilité (Multi-AZ) (p. 51). • Vous pouvez créer une instance DB de réplica en lecture PostgreSQL (maître/de secours) pour traiter le trafic en lecture seule. Pour plus d’informations sur les réplicas en lecture PostgreSQL, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). • Si votre compte AWS contient un VPC par défaut (un réseau privé virtuel par défaut), alors votre instance DB sera automatiquement créée dans le VPC par défaut. Si votre compte n'a pas de VPC par défaut et que vous voulez que l'instance DB soit à l'intérieur d'un VPC, vous devez créer le VPC et les groupes de sous-réseau avant de créer l'instance DB. Pour plus d'informations sur la façon de déterminer si votre compte possède un VPC par défaut, consultez Déterminer si vous utilisez une plateforme EC2-VPC ou EC2-Classic (p. 498). Pour plus d'informations sur l'utilisation des VPC avec Amazon RDS, consultez Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497). • Si vous voulez modifier les paramètres de base de données PostgreSQL, vous devez créer un groupe de paramètres et l'affecter à votre instance DB. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). • Après avoir créé un groupe de sécurité et l'avoir associé à une instance DB, vous pouvez vous connecter à l'instance DB en utilisant une application cliente SQL standard quelconque telle que pgAdmin. Pour plus d'informations sur la connexion à une instance DB, consultez Connexion à une instance DB exécutant le moteur de base de données PostgreSQL (p. 328). • Vous pouvez configurer votre instance DB pour que les sauvegardes soient exécutées automatiquement ou que les instantanés soient créés manuellement, puis que les instances soient restaurées à partir des sauvegardes ou des instantanés. Pour plus d'informations, consultez Sauvegarde et restauration (p. 441). • Vous pouvez superviser une instance via différentes actions telles que l'affichage des journaux PostgreSQL, les métriques CloudWatch pour Amazon RDS et les événements. Pour plus d'informations, consultez Supervision de Amazon RDS (p. 506). Il existe également une annexe importante contenant des informations utiles sur l'utilisation des instances DB PostgreSQL. Pour plus d'informations sur les tâches courantes d'administration de base de données pour PostgreSQL sur Amazon RDS, consultez Annexe : Tâches DBA courantes pour PostgreSQL (p. 336). Informations de planification PostgreSQL sur Amazon RDS Amazon RDS prend en charge les instances de base de données qui exécutent plusieurs éditions de PostgreSQL. Cette section montre comment utiliser PostgreSQL sur Amazon RDS. Vous devez également être conscient des limites des instances de base de données PostgreSQL. Pour plus d'informations sur l'importation des données PostgreSQL dans une instance de base de données, consultez Importation de données dans PostgreSQL sur Amazon RDS (p. 333). Rubriques • PostgreSQL version 9.4.1 (p. 316) • PostgreSQL version 9.3.6 (p. 317) • PostgreSQL version 9.3.5 (p. 317) • Fonctions du moteur de base de données (p. 265) • Limites pour les instances de base de données PostgreSQL (p. 320) API Version 2014-10-31 315 Amazon Relational Database Service Guide de l'utilisateur PostgreSQL version 9.4.1 • Mises à niveau des versions mineures (p. 320) • Utilisation de SSL avec une instance de base de données PostgreSQL (p. 320) Lorsque vous créez une instance DB, le rôle rds_superuser est affecté au compte du système de l'utilisateur principal que vous avez créé. Le rôle rds_superuser est semblable au rôle de super utilisateur PostgreSQL (habituellement nommé postgres dans les instances locales), mais présente certaines restrictions. Comme avec le rôle de super utilisateur PostgreSQL, le rôle rds_superuser possède des privilèges maximum sur votre instance de base de données et vous ne devez attribuer ce rôle à des utilisateurs que s'ils ont besoin d'un accès total à l'instance de base de données. Le rôle rds_superuser permet d'effectuer les opérations suivantes : • Ajouter les extensions qu'il est possible d'utiliser avec Amazon RDS • Gérer les espaces de table, y compris en créer et les supprimer • Répertorier tous les utilisateurs auxquels le rôle rds_superuser n'est pas attribué à l'aide de la commande pg_stat_activity et interrompre leur connexion à l'aide des commandes pg_terminate_backend et pg_cancel_backend. • Accorder et révoquer l'attribut de réplication sur tous les rôles autres que le rôle rds_superuser. Les espaces de table sont pris en charge dans PostgreSQL sur Amazon RDS à des fins de compatibilité. Comme l'ensemble du stockage s'effectue sur un volume logique unique, les espaces de table ne peuvent pas être utilisés pour l'isolement ni la répartition des E/S. Nos évaluations et notre expérience pratique montrent qu'un volume logique unique constitue la meilleure configuration dans la plupart des cas d'utilisation. Le paramètre autovacuum de PostgreSQL est un paramètre optionnel, mais hautement recommandé, qui est activé par défaut pour les nouvelles instances DB PostgreSQL. Ne désactivez pas ce paramètre. Pour plus d'informations sur l'utilisation d'autovacuum avec PostgreSQL sur Amazon RDS, consultez Bonnes pratiques pour utiliser les moteurs de stockage PostgreSQL (p. 39). Pour importer des données PostgreSQL dans une instance DB, suivez les informations fournies dans la section Importation de données dans PostgreSQL sur Amazon RDS (p. 333). PostgreSQL version 9.4.1 PostgreSQL version 9.4.1 contient plusieurs mises à jour de sécurité, dont plusieurs correctifs pour des dépassements de mémoire tampon. La version 9.4.1 inclut également une modification dans la manière de réaliser l'échappement des chaînes Unicode pour les types de données JSON et JSONB. Pour plus d'informations sur la version 9.4.1, consultez la documentation sur PostgreSQL et le wiki sur PostgreSQL. Les nouvelles versions de PostgreSQL pour Amazon RDS incluent également les éléments suivants : • Type de données JSONB – La capacité à inclure des champs au format JSON dans les tables PostgreSQL vous confère une plus grande flexibilité lors de la gestion des schémas. Les éléments JSONB sont stockés dans un format binaire décomposé qui accélère les opérations de requête. Pour plus d'informations sur l'utilisation du type de données JSONB avec une base de données PostgreSQL, consultez la documentation sur PostgreSQL. • pg_prewarm – Lorsqu'une instance de base de données est redémarrée, ses tampons partagés sont vides, ce qui signifie que toutes les requêtes doivent initialement lire les données directement à partir du disque. Le module pg_prewarm peut être utilisé pour recharger les données de relation dans les tampons afin de « réactiver » les tampons. Cela signifie que les requêtes, qui devraient autrement charger les parties d'une table bit par bit, peuvent disposer des données prêtes à l'emploi dans les tampons partagés. Pour plus d'informations sur pg_warm, consultez la documentation sur PostgreSQL. • PostGIS version 2.1.5 API Version 2014-10-31 316 Amazon Relational Database Service Guide de l'utilisateur PostgreSQL version 9.3.6 • plv8 version 1.4.3 Dans PostgreSQL 9.4.1 sur Amazon RDS, les paramètres de base de données fsync et full_page_writes ne sont pas modifiables. La désactivation des paramètres de base de données fsync et full_page_writes peut entraîner une altération des données, si bien que nous ne les avons activés pour vous. Nous recommandons que les clients utilisant d'autres versions du moteur de base de données PostgreSQL que la version 9.3 ne désactivent pas les paramètres fsync et full_page_writes. Pour créer une instance de base de données PostgreSQL 9.4.1, sélectionnez la version « 9.4.1 » du moteur de base de données lorsque vous utilisez l'Assistant Launch DB Instance Wizard dans la console RDS. Amazon RDS ne prend pas actuellement en charge une mise à niveau sur place d'une instance de base de données de PostgreSQL 9.3.x vers une instance de base de données PostgreSQL 9.4.1. Toutefois, vous pouvez migrer une base de données depuis une instance de base de données PostgreSQL 9.3.5 vers une instance de base de données PostgreSQL 9.4.1 en suivant les étapes ci-dessous : 1. Créer une nouvelle instance de base de données PostgreSQL 9.4.1 2. Créer une sauvegarde de votre base de données PostgreSQL 9.3.5 existante à l'aide de pg_dump 3. Importer le fichier de vidage dans votre instance de base de données PostgreSQL 9.4.1 à l'aide de pg_restore Pensez à tester votre application dans la nouvelle version de PostgreSQL avant de passer en production. PostgreSQL version 9.3.6 PostgreSQL version 9.3.6 contient plusieurs mises à jour de sécurité, dont plusieurs correctifs pour des dépassements de mémoire tampon. Les nouvelles versions de PostgreSQL pour Amazon RDS incluent également les éléments suivants : • PostGIS version 2.1.5 • plv8 version 1.4.3 Pour mettre à niveau votre instance de base de données vers la version 9.3.6, modifiez l'instance de base de données à l'aide de la console RDS, de l'interface de ligne de commande RDS, ou de l'API RDS, puis sélectionnez la version 9.3.6 comme nouvelle version du moteur de base de données. Pour utiliser la dernière version de PostGIS et plv8, utilisez l'instruction ALTER EXTENSION UPDATE pour effectuer une mise à jour après la mise à niveau vers la version 9.3.6. PostgreSQL version 9.3.5 PostgreSQL version 9.3.5 inclut plusieurs modifications importantes, parmi lesquelles : • Ajoute la prise en charge pour les réplicas en lecture. Pour plus d'informations sur les réplicas en lecture PostgreSQL, consultez Utilisation des réplicas en lecture PostgreSQL et MySQL (p. 421). • Autorise le rôle rds_superuser à définir le paramètre session_replication_role. Cette modification signifie que vous pouvez utiliser des outils de réplication open source, basés sur des déclencheurs, tels que Londiste, pour migrer les données PostgreSQL existantes vers Amazon RDS avec une interruption minimale. Vous pouvez également utiliser le paramètre session_replication_role pour exécuter un réplica de votre instance de base de données PostgreSQL sur un serveur sur site ou sur une instance EC2. Par exemple, vous pouvez installer Bucardo, une solution de réplication différée open source basée sur des déclencheurs, sur une instance distante, et la définir comme réplica d'une instance de base de données PostgreSQL source. API Version 2014-10-31 317 Amazon Relational Database Service Guide de l'utilisateur Fonctions du moteur de base de données Pour plus d'informations sur l'utilisation du paramètre session_replication_role, consultez ce billet de blog. • Ajoute l'extension PostGIS version 2.1.3. • Etend l'accès à pg_stat_statements. Les utilisateurs peuvent visualiser les performances des requêtes qu'ils exécutent. Les utilisateurs dotés des privilèges rds_superuser peuvent visualiser toutes les requêtes utilisateur et réinitialiser toutes les requêtes suivies par pg_stat_statements. Vous pouvez visualiser pg_stat_statements en affectant au paramètre SHARED_PRELOAD_LIBRARIES la valeur pg_stat_statements. Dans les versions antérieures de PostgreSQL sur Amazon RDS, la modification de ce paramètre n'était pas autorisée. Le rôle rds_superuser inclut des privilèges pour les commandes suivantes : • pg_stat_reset • pg_stat_statements • pg_stat_statements_reset • pg_stat_replication Important Si vous avez exécuté l'instruction CREATE EXTENSION pg_stat_statements; sur votre instance Postgres RDS lorsqu'elle exécutait la version 9.3.3, vous devez supprimer et recréer l'extension lorsque vous effectuez la mise à niveau vers la version 9.3.5. La commande create extension sur la version 9.3.5 accordera les privilèges appropriés à rds_superuser. DROP EXTENSION pg_stat_statements; CREATE EXTENSION pg_stat_statements; • Ajoute la prise en charge pour l'extension PL/V8, qui est une extension du langage procédural PostgreSQL qui vous permet d'écrire des fonctions JavaScript pouvant être appelées depuis SQL. • Ajoute la prise en charge pour l'extension postgres_fdw, qui vous permet d'accéder aux données stockées sur d'autres serveurs PostgreSQL et de les modifier, comme si ces données étaient dans des tables sur votre instance de base de données PostgreSQL Amazon RDS. Fonctions du moteur de base de données PostgreSQL utilise des extensions qui permettent de regrouper des fonctionnalités associées, telles que des types de données et des fonctions, et de les installer dans une base de données à l'aide d'une commande unique. Notez que le type de données XML est actuellement pris en charge uniquement dans les versions 9.3.2 et ultérieures. La liste suivante affiche un sous-ensemble des extensions PostgreSQL clés qui sont actuellement prises en charge par PostgreSQL sur Amazon RDS. Pour plus d'informations sur les extensions PostgreSQL, consultez Packaging Related Objects into an Extension. • Extensions de types de données : • hstore – Fournit un magasin de paires clé/valeur. • citext – Fournit un type de chaîne de caractères sans distinction minuscules/majuscules. • ltree – Fournit un type de données pour la représentation des étiquettes de données stockées dans une structure hiérarchique de type arborescente. • isn – Fournit des types de données pour les normes internationales de numérotation de produits telles que EAN13, UPC, ISSN et ISBN. • cube – Fournit un type de données pour la représentation des cubes multidimensionnels. API Version 2014-10-31 318 Amazon Relational Database Service Guide de l'utilisateur Fonctions du moteur de base de données • Dictionnaires de recherche plein texte: • dict_int – Modèle de dictionnaire additionnel pour la recherche en texte intégral, souvent utilisé pour contrôler l'indexation des entiers. • unaccent – Dictionnaire de recherche de texte qui supprime les accents (signes diacritiques) des lexèmes. • PostGIS, postgis_tiger_geocoder et postgis_topology – Objets spatiaux et géographiques pour PostgreSQL. • dblink – Fournit des connexions à d'autres bases de données PostgreSQL à partir d'une session de base de données. • Extensions diverses • earthdistance – Calcule les distances orthodromiques à la surface de la Terre. • fuzzystrmatch – Détermine les similitudes et la distance entre des chaînes. • intarray – Fournit des fonctions et des opérateurs pour le traitement de tableaux d'entiers sans valeurs null. • postgres_fdw – (Version 9.3.5 ou ultérieure) Wrapper de données externes pouvant être utilisé pour accéder aux données stockées sur des serveurs PostgreSQL externes. • pg_stat_statements – (Version 9.3.5 ou ultérieure) Fournit un moyen d'effectuer le suivi des statistiques d'exécution de toutes les instructions SQL exécutées. • pgcrypto – Fournit des fonctions cryptographiques. • pg_trgm – Fonctions qui détermine la similitude d'un texte alphanumérique sur la base de la correspondance des trigrammes. • tablefunc – Fournit diverses fonctions qui renvoient des tables. • uuid-ossp – Génère des UUID (requiert la bibliothèque OSSP UUID OSSP, disponible à l'adresse http://www.ossp.org/pkg/lib/uuid/ – Licence MIT). • btree_gin – Fournit un exemple d'opérateur GIN qui utilise un comportement d'arborescence binaire pour certains types de données. • chkpass – Fournit un type de données conçu pour le stockage des mots de passe chiffrés. • intagg – Fournit un énumérateur et un agrégateur d'entiers. Ce module est désormais obsolète mais continue à fournir un wrapper compatible autour des fonctions intégrées qui avaient priorité sur lui. • tsearch2 – Fournit une fonctionnalité de recherche de texte rétrocompatible. • pgrowlocks – Fournit les informations de verrouillage des lignes d'une table spécifiée. • sslinfo – Fournit les informations sur le certificat SSL fournies par le client actuel lorsqu'il s'est connecté à PostgreSQL. • Types d'index • btree_gist – Fournit des classes d'opérateurs d'index GiST qui implémente l'arbre B (B-tree). • Les langages PL pris en charge incluent : • PL/pgSQL • PL/Tcl • PL/Perl • PL/V8 (versions 9.3.5 et ultérieures) La liste actuelle des extensions prises en charge par Amazon RDS est disponible dans le groupe de paramètres DB par défaut pour PostgreSQL, appelé « default.postgres9.3 ». Vous pouvez consulter la liste actuelle des extensions utilisant psql en affichant le paramètre rds.extensions comme dans l'exemple suivant : SHOW rds.extensions; API Version 2014-10-31 319 Amazon Relational Database Service Guide de l'utilisateur Limites pour les instances de base de données PostgreSQL Limites pour les instances de base de données PostgreSQL Vous pouvez avoir jusqu'à 40 instances de base de données PostgreSQL. Voici une liste de limitations pour PostgreSQL sur Amazon RDS : • La taille de stockage minimale pour une instance de base de données PostgreSQL est de 5 Go. • La taille de stockage maximale pour une instance de base de données PostgreSQL est de 6 To pour toutes les instances. • Amazon RDS réserve jusqu'à 3 connexions pour la maintenance du système. Si vous spécifiez une valeur pour le paramètre des connexions utilisateur, vous devez ajouter 3 au nombre de connexions que vous envisagez d'utiliser. Mises à niveau des versions mineures Avec Amazon RDS, vous pouvez contrôler à quel moment vous mettez à niveau votre instance PostgreSQL vers de nouvelles versions prises en charge par Amazon RDS. Vous pouvez maintenir la compatibilité avec des versions PostgreSQL spécifiques, tester de nouvelles versions avec votre application avant le déploiement en production et effectuer des mises à niveau de versions selon les conditions et les délais qui vous conviennent le mieux. Sauf indication contraire, votre instance de base de données sera automatiquement mise à niveau vers les nouvelles versions PostgreSQL mineures à mesure que celles-ci seront prises en charge par Amazon RDS. Cette correction aura lieu au cours de votre créneau de maintenance planifié et sera annoncée à l'avance sur le forum de la communauté Amazon RDS. Pour désactiver les mises à niveau de version automatique, définissez le paramètre AutoMinorVersionUpgrade de votre instance de base de données sur false. Utilisation de SSL avec une instance de base de données PostgreSQL Amazon RDS prend en charge le chiffrement SSL pour les instances de base de données PostgreSQL. En utilisant SSL, vous pouvez chiffrer une connexion PostgreSQL entre vos applications et vos instances de base de données PostgreSQL. La prise en charge SSL est disponible dans toutes les régions AWS pour PostgreSQL. Amazon RDS crée un certificat SSL pour votre instance de base de données PostgreSQL lorsque l'instance est créée. Si vous activez la vérification du certificat SSL, ce dernier inclut le point de terminaison de l'instance de base de données en tant que nom commun du certificat SSL pour assurer une protection contre les attaques par usurpation. Important Amazon RDS effectuera la rotation de tous les certificats SSL pour les instances de base de données le 23 Mars 2015 mail il n'initiera pas de redémarrage de l'instance. Si vous utilisez SSL pour la connexion à une instance de base de données Amazon RDS, vous devez suivre les étapes de la rubrique Rotation des certificats SSL (p. 91) pour appliquer un nouveau certificat SSL à votre instance de base de données avant le 23 mars 2015 ou vous ne pourrez pas vous connecter à l'instance de base de données en utilisant SSL. Pour utiliser une instance de base de données PostgreSQL sur SSL, suivez ces étapes générales : 1. Téléchargez la clé publique stockée à l’adresse http://s3.amazonaws.com/rds-downloads/rdscombined-ca-bundle.pem. 2. Importez le certificat dans votre système d'exploitation. API Version 2014-10-31 320 Amazon Relational Database Service Guide de l'utilisateur Utilisation de SSL avec une instance de base de données PostgreSQL 3. Connectez-vous à l'instance de base de données PostgreSQL via SSL en ajoutant sslmode=require à la chaîne de connexion. Utilisez le paramètre sslrootcert pour référencer la clé publique, par exemple, sslrootcert=rds-ssl-ca-cert.pem. 4. Au lieu de sslmode=require, utilisez sslmode=verify-full pour que la connexion SSL vérifie le point de terminaison de l'instance de base de données par rapport au point de terminaison dans le certificat SSL. Note Avant le 5 août 2014, la vérification des certificats SSL n'était pas disponible et les certificats SSL pour les instances de base de données PostgreSQL n'utilisaient pas le point de terminaison de l'instance de base de données comme CN pour le certificat SSL de l'instance de base de données. Si vous avez une instance de base de données PostgreSQL qui a été créée avant le 5 août 2014, et que vous voulez vous assurer que le point de terminaison de l'instance est inclus comme CN pour le certificat SSL de cette instance de base de données, renommez l'instance de base de données. Lorsque vous renommez une instance de base de données, un nouveau certificat est déployé pour cette instance de base de données et l'instance est redémarrée pour activer le nouveau certificat. Le paramètre de chaîne de connexion sslmode=verify-full de la vérification des certificats SSL n'est pas valide pour les connexions antérieures au 5 août 2014. Le statut chiffré de votre connexion est affiché lorsque vous vous connectez à l'instance de base de données sur la page d'accueil d'ouverture de session : Password for user master: psql (9.3.1) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. postgres=> Vous pouvez également charger l'extension sslinfo, puis appeler la fonction ssl_is_used() pour déterminer si SSL est utilisé. La fonction renvoie true (t) si la connexion utilise SSL ; sinon, elle renvoie false (f). postgres=> create extension sslinfo; CREATE EXTENSION postgres=> select ssl_is_used(); ssl_is_used ------------t (1 row) Si le paramètre SSL est défini sur true (par défaut) dans le groupe de paramètres associé, vous pouvez également afficher la valeur de paramètre à l'aide de la commande suivante : postgres=> show ssl; ssl ----on (1 row) API Version 2014-10-31 321 Amazon Relational Database Service Guide de l'utilisateur Utilisation de SSL avec une instance de base de données PostgreSQL API Version 2014-10-31 322 Amazon Relational Database Service Guide de l'utilisateur Création d'une instance de base de données exécutant PostgreSQL Création d'une instance de base de données exécutant le moteur de base de données PostgreSQL La fondation de base d'Amazon RDS est l'instance de base de données. Il s'agit de l'environnement dans lequel vous exécuterez vos bases de données PostgreSQL. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer une instance de base de données ou de vous y connecter. AWS Management Console Pour lancer une instance de base de données PostgreSQL 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le coin supérieur droit de la AWS Management Console, sélectionnez la région où vous voulez créer l'instance de base de données. 3. Dans le volet de navigation, cliquez sur Instances DB. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Sur la page Select Engine, cliquez sur l'icône PostgreSQL puis sur le bouton Select pour le moteur de base de données PostgreSQL. 6. Ensuite, dans la page Production?, vous êtes invité à indiquer si vous envisagez d'utiliser l'instance de base de données que vous créez pour la production. Si c'est le cas, sélectionnez Yes. En sélectionnant Yes, l'option de basculement Multi-AZ et l'option de stockage Provisioned IOPS seront présélectionnées à l'étape suivante. Lorsque vous avez terminé, cliquez sur Next. 7. Sur la page Specify DB Details, spécifiez les informations de votre instance de base de données. Lorsque vous avez terminé, cliquez sur Next. Pour ce paramètre... ...Faites ceci: License Model PostgreSQL n'a qu'un seul modèle de licence. Sélectionnez la valeur par défaut, postgresql-license, pour utiliser le contrat de licence général pour PostgreSQL. DB Engine Version Sélectionnez la version de PostgreSQL avec laquelle vous voulez travailler. Classe d'instance de base de données Sélectionnez une classe d'instance de base de données qui définit les exigences de mémoire et de traitement pour l'instance de base de données. Pour plus d'informations sur toutes les options de classe d'instance de base de données, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Déterminez si vous souhaitez créer un réplica de secours de votre instance de base de données dans une autre zone de disponibilité pour la prise en charge du API Version 2014-10-31 323 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: basculement. Pour plus d'informations sur les zones de disponibilité multiples, consultez Régions et Zones de disponibilité (p. 49). Allocated Storage Saisissez une valeur pour allouer du stockage pour votre base de données (en gigaoctets). Dans certains cas, allouer une quantité de stockage pour votre instance de base de données supérieure à la taille de votre base de données permet d'améliorer les performances d'E/S. Le stockage minimum alloué pour une instance PostgreSQL est de 5 Go. Pour plus d'informations sur l'allocation de stockage, consultez Fonctions d'Amazon Relational Database Service. Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Saisissez un nom pour l'instance de base de données qui est unique pour votre compte dans la région que vous avez sélectionnée. Vous pouvez choisir de compliquer le nom, par exemple en incluant la région et le moteur de base de données que vous avez sélectionnés, comme suit : postgresql-instance1. Master Username Saisissez un nom en utilisant des caractères alphanumériques que vous utiliserez comme le nom utilisateur maître pour vous connecter sur votre instance de base de données. Pour plus d'informations sur les privilèges par défaut accordés au nom utilisateur maître, consultez Informations de planification PostgreSQL sur Amazon RDS (p. 315) Master Password et Confirm Password Saisissez un mot de passe contenant entre 8 et 128 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur maître. Saisissez à nouveau le mot de passe dans la zone de texte Confirm Password. 8. Dans la page Configure Advanced Settings, vous fournissez des informations supplémentaires dont Amazon RDS a besoin pour lancer l'instance de base de données PostgreSQL. La table affiche les paramètres pour un exemple d'instance de base de données. Spécifiez vos informations d'instance de base de données, puis cliquez sur Launch DB Instance. Pour ce paramètre... ...Faites ceci: VPC Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut indiqué. Si vous créez une instance de base de données sur la plateforme E2-Classic précédente qui n'utilise pas de VPC, sélectionnez Not in VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). DB Subnet Group Ce paramètre dépend de la plateforme que vous utilisez. Si vous êtes un nouveau client AWS, sélectionnez default, API Version 2014-10-31 324 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Pour ce paramètre... ...Faites ceci: qui correspondra au groupe de sous-réseaux DB par défaut qui a été créé pour votre compte. Si vous créez une instance de base de données sur la plateforme E2Classic précédente et que vous souhaitez que votre instance de base de données soit dans un VPC spécifique, sélectionnez le groupe de sous-réseaux DB que vous avez créé pour ce VPC. Pour plus d'informations sur le VPC, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Publicly Accessible Sélectionnez Oui pour associer une adresse IP publique à l'instance de base de données, ce qui signifie qu'elle sera accessible en dehors du réseau VPC. Sinon, sélectionnez Non pour que l'instance de base de données soit accessible uniquement de l'intérieur du réseau VPC. Pour plus d'informations sur la manière de masquer les instances DB d'un accès public, consultez Masquer une instance DB dans un VPC depuis Internet. Zone de disponibilité Utilisez la valeur par défaut No Preference sauf si vous souhaitez spécifier une zone de disponibilité. VPC Security Group Si vous êtes un nouveau client AWS, sélectionnez le VPC par défaut. Si vous avez créé un groupe de sécurité VPC, sélectionnez le groupe de sécurité VPC que vous avez créé au préalable. Database Name Si vous voulez spécifier un nom de base de données pour la base de données par défaut, saisissez un nom pour votre base de données contenant un maximum de 63 caractères alphanumériques. Si vous ne fournissez pas un nom, la base de données « postgres » par défaut est créée. Database Port Spécifiez un port que vous souhaitez utiliser pour accéder à la base de données. Par défaut, les installations PostgreSQL adoptent le port 5432. Parameter Group Sélectionnez un groupe de paramètres. Chaque version de PostgreSQL a un groupe de paramètres par défaut que vous pouvez utiliser, ou bien vous pouvez créer votre propre groupe de paramètres. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Actuellement, les groupes d'options ne sont pas utilisés avec les instances de base de données PostgreSQL. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). Enable Encryption Sélectionnez Yes pour activer le chiffrement au repos pour cette instance de base de données. Pour plus d'informations, consultez Chiffrement des ressources Amazon RDS (p. 88). API Version 2014-10-31 325 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande Pour ce paramètre... ...Faites ceci: Backup Retention Period Définissez le nombre de jours de rétention des sauvegardes automatiques de votre base de données. Pour les instances importantes, définissez cette valeur sur 1 ou sur une valeur supérieure. Backup Window Si vous n'avez pas besoin que votre sauvegarde de base de données intervienne à un horaire spécifique, utilisez la valeur par défaut No Preference. Auto Minor Version Upgrade Sélectionnez Yes pour activer votre instance de base de données afin qu'elle reçoive des mises à niveau mineures de versions de moteurs de base de données. Maintenance Window Sélectionnez le créneau de 30 minutes pendant lequel les modifications en attente pour votre instance de base de données sont appliquées. Si la période n'a pas d'importance, sélectionnez No Preference. 9. Sur la dernière page de l'assistant, cliquez sur Close. 10. Sur la console Amazon RDS, la nouvelle instance de base de données s'affiche dans la liste des instances de base de données. L'instance de base de données aura un statut creating jusqu'à ce qu'elle soit créée et prête à l'emploi. Lorsque l'état devient available, vous pouvez vous connecter à l'instance de base de données. En fonction du stockage et de la classe d'instance de base de données alloués, la nouvelle instance de base de données peut être disponible au terme de plusieurs minutes. Interface de ligne de commande Pour créer une instance de base de données PostgreSQL • Utilisez la commande rds-create-db-instance pour créer une instance de base de données. PROMPT>rds-create-db-instance pgdbinstance -s 20 -c db.m1.small -e postgresql - u <masterawsuser> -p <masteruserpassword> Cette commande doit produire une sortie similaire à ce qui suit : DBINSTANCE pgdbinstance db.m1.small postgresql SECGROUP default active PARAMGRP default.PostgreSQL9.3 in-sync 20 sa creating 3 **** n 9.3 API Pour créer une instance de base de données PostgreSQL • Appelez l'action CreateDBInstance. Par exemple, vous pouvez utiliser les paramètres suivants : • DBEngine = postgresql • DBInstanceIdentifier = pgdbinstance API Version 2014-10-31 326 Amazon Relational Database Service Guide de l'utilisateur Rubriques connexes • DBInstanceClass = db.m1.small • • • • AllocatedStorage = 20 BackupRetentionPeriod = 3 MasterUsername = <masterawsuser> MasterUserPassword = <masteruserpassword> Example https://rds.amazonaws.com/ ?Action=CreateDBInstance &AllocatedStorage=20 &BackupRetentionPeriod=3 &DBInstanceClass=db.m1.small &DBInstanceIdentifier=pgdbinstance &DBName=mydatabase &DBSecurityGroups.member.1=mysecuritygroup &DBSubnetGroup=mydbsubnetgroup &Engine=postgresql &MasterUserPassword=<masteruserpassword> &MasterUsername=<masterawsuser> &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140212/us-west-2/rds/aws4_request &X-Amz-Date=20140212T190137Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=60d520ca0576c191b9eac8dbfe5617ebb6a6a9f3994d96437a102c0c2c80f88d Rubriques connexes • Instances DB Amazon RDS (p. 43) • Classe d'instance de base de données (p. 44) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 327 Amazon Relational Database Service Guide de l'utilisateur Connexion à une instance DB exécutant le moteur de base de données PostgreSQL Connexion à une instance DB exécutant le moteur de base de données PostgreSQL Après qu'Amazon RDS a provisionné votre instance DB, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à l'instance. Il importe de noter que le groupe de sécurité que vous avez assigné à l'instance de base de données quand vous l'avez créée doit autoriser l'accès à l'instance de base de données. Si vous avez des difficultés à vous connecter à l'instance de base de données, le problème concerne le plus souvent les règles d'accès que vous avez définies dans le groupe de sécurité assigné à l'instance de base de données. Cette section illustre deux façons de se connecter à une instance de base de données PostgreSQL. Le premier exemple utilise pgAdmin, célèbre outil open source d'administration et de développement pour PostgreSQL. Vous pouvez télécharger et utiliser pgAdmin sans avoir une instance locale de PostgreSQL sur votre ordinateur client. Le second exemple utilise psql, utilitaire de ligne de commande qui fait partie d'une installation PostgreSQL. Pour utiliser psql, vous devez avoir installé PostgreSQL sur votre ordinateur client ou avoir installé le client psql sur votre ordinateur. Dans cet exemple, vous vous connectez à une instance de base de données PostgreSQL à l'aide de pgAdmin. Utilisation de pgAdmin pour se connecter à une instance de base de données PostgreSQL Pour vous connecter à une instance de base de données PostgreSQL avec pgAdmin 1. Lancez l'application pgAdmin sur votre ordinateur client. Vous pouvez installer pgAdmin depuis http:// www.pgadmin.org/. 2. Sélectionnez Add Server dans le menu File. 3. Dans la boîte de dialogue New Server Registration, entrez le point de terminaison de l'instance de base de données (par exemple, mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com) dans la zone de texte Host. N'incluez pas les deux points ou le numéro de port comme illustré dans Amazon RDS Console (mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com:5432). Entrez le port que vous avez attribué à l'instance de base de données dans la zone de texte Port. Entrez le nom utilisateur et le mot de passe utilisateur que vous avez entrés lorsque vous avez créé l'instance de base de données, respectivement dans les zones Username et Password. 4. Cliquez sur OK. 5. Dans Object browser, développez Server Groups. Sélectionnez le serveur (l'instance de base de données) que vous avez créé, puis sélectionnez le nom de la base de données. 6. Cliquez sur l'icône du plug-in, puis cliquez sur PSQL Console. La fenêtre de la commande psql s'ouvre pour la base de données par défaut que vous avez créée. 7. Utilisez la fenêtre de commande pour entrer les commandes SQL ou psql. Entrez \q pour fermer la fenêtre. API Version 2014-10-31 328 Amazon Relational Database Service Guide de l'utilisateur Utilisation de psql pour se connecter à une instance de base de données PostgreSQL Utilisation de psql pour se connecter à une instance de base de données PostgreSQL Si PostgreSQL est installé sur votre ordinateur client, vous pouvez utiliser une instance locale de psql pour vous connecter à une instance de base de données PostgreSQL. Pour vous connecter à votre instance de base de données PostgreSQL avec psql, vous devez fournir les informations sur l'hôte et les informations d'identification de l'accès. Le format suivant permet de se connecter à une instance de base de données PostgreSQL sur Amazon RDS : psql --host=<DB instance endpoint> --port=<port> --username=<master user name> --password --dbname=<database name> Par exemple, la commande suivante se connecte à une base de données appelée mypgdb sur une instance de base de données PostgreSQL appelée mypostgresql à l'aide d'informations d'identification fictives : psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 -username=awsuser --password --dbname=mypgdb Dépannage des problèmes de connexion Le problème qui intervient le plus fréquemment lorsque vous tentez de vous connecter à une base de données sur une instance de base de données concerne les règles d'accès du groupe de sécurité assigné à l'instance de base de données. Si vous avez utilisé le groupe de sécurité DB par défaut lorsque vous avez créé l'instance de base de données, il y a de bonnes chances que le groupe de sécurité ne dispose pas de règles qui vous autorisent à accéder à l'instance. Pour plus d'informations sur les groupes de sécurité Amazon RDS, consultez Groupes de sécurité Amazon RDS (p. 93). L'erreur la plus courante est could not connect to server: Connection timed out. Si vous recevez cette erreur, vérifiez que le nom d'hôte est le point de terminaison de l'instance de base de données et que le numéro de port est correct. Vérifiez que le groupe de sécurité DB affecté à l'instance de base de données possède les règles nécessaires pour autoriser l'accès via le pare-feu que traverse votre connexion. Rubriques connexes • Instances DB Amazon RDS (p. 43) • Création d'une instance de base de données exécutant le moteur de base de données PostgreSQL (p. 323) • Groupes de sécurité Amazon RDS (p. 93) • Suppression d'une instance de base de données (p. 409) API Version 2014-10-31 329 Amazon Relational Database Service Guide de l'utilisateur Modification d'une instance de base de données exécutant PostgreSQL Modification d'une instance de base de données exécutant le moteur de base de données PostgreSQL Vous pouvez modifier les paramètres d'une instance de base de données pour accomplir des tâches telles que l'ajout de stockage supplémentaire ou la modification de la classe d'instance. Cette rubrique vous guide dans la modification d'une instance de base de données PostgreSQL Amazon RDS et décrit les paramètres pour les instances PostgreSQL. Pour plus d'informations sur des tâches supplémentaires, telles que renommer, redémarrer, supprimer, baliser ou mettre à niveau une instance de base de données Amazon RDS, consultez Cycle de vie d'une instance de base de données Amazon RDS (p. 389). Nous vous recommandons de tester toutes les modifications apportées à une instance test avant de modifier une instance de production, et ce afin de mieux comprendre l'impact d'une modification. Cela est particulièrement important lors de la mise à niveau de versions de base de données. Vous pouvez appliquer les modifications immédiatement ou les appliquer pendant le créneau de maintenance suivant de l'instance de base de données. Dans certains cas, l'application immédiate de modifications peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately lors de la modification d'une instance de base de données, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). AWS Management Console Pour modifier une instance de base de données PostgreSQL 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https:// console.aws.amazon.com/rds/. 2. Dans le volet de navigation, cliquez sur Instances. 3. Cochez la case pour l'instance de base de données que vous souhaitez modifier, puis cliquez sur Modify. 4. Dans la boîte de dialogue Modify DB Instance, choisissez parmi les paramètres suivants ceux que vous souhaitez modifier : Paramètre Description DB Engine Version Dans la liste fournie, cliquez sur la version du moteur de base de données PostgreSQL que vous souhaitez utiliser. Classe d'instance de base de données Dans la liste fournie, cliquez sur la classe d'instance de base de données que vous souhaitez utiliser. Pour plus d'informations sur les classes d'instances, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Si vous souhaitez créer un réplica de secours de votre instance de base de données dans une autre zone de disponibilité, cliquez sur Yes. Dans le cas contraire, cliquez sur No. Pour plus d'informations sur les déploiements MultiAZ, consultez Haute disponibilité (Multi-AZ) (p. 51). Allocated Storage Spécifiez le volume de stockage, en gigaoctets, qui doit être alloué pour votre instance de base de données. Le volume minimal autorisé est de 5 Go ; le volume maximal est de 6 To. Notez que vous pouvez uniquement augmenter le volume de stockage lors de la modification API Version 2014-10-31 330 Amazon Relational Database Service Guide de l'utilisateur AWS Management Console Paramètre Description d'une instance de base de données. Vous ne pouvez pas réduire le volume de stockage alloué. Pour plus d'informations sur le stockage alloué, consultez Types de stockage Amazon RDS (p. 58). Storage Type Sélectionnez le type de stockage que vous souhaitez utiliser. Le remplacement du paramètre Magnetic par le paramètre General Purpose (SSD) ou Provisioned IOPS (SSD) entraîne une interruption de service. De même, le remplacement du paramètre IOPS dimensionné (SSD) ou Usage général (SSD) par le paramètre Magnétique entraîne une interruption de service. Pour plus d'informations sur le stockage, consultez Stockage pour Amazon RDS (p. 58). DB Instance Identifier Vous pouvez renommer l'instance de base de données en saisissant un nouveau nom. Lorsque vous modifiez l'identifiant d'instance de base de données, un redémarrage d'instance se produit immédiatement si vous définissez Apply Immediately sur true, ou se produira pendant le créneau de maintenance suivant si vous définissez Apply Immediately sur false. Cette valeur est stockée sous la forme d'une chaîne en minuscules. New Master Password Saisissez un mot de passe pour votre utilisateur maître. Le mot de passe doit contenir entre 8 et 41 caractères alphanumériques. Groupes de sécurité Sélectionnez le groupe de sécurité que vous voulez associer à l'instance de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Utilisation de groupes de sécurité DB (p. 479). Parameter Group Sélectionnez le groupe de paramètres que vous voulez associer à l'instance de base de données. La modification de ce paramètre n'entraîne pas de temps d'arrêt. Le nom du groupe de paramètres lui-même est immédiatement changé, mais les modifications réelles des paramètres ne prennent effet qu'après le redémarrage de l'instance, sans basculement. L'instance de base de données NE sera PAS automatiquement redémarrée et les modifications du paramètre NE seront PAS appliquées pendant le créneau de maintenance suivant. Pour plus d'informations sur les groupes de paramètres, consultez Utilisation des groupes de paramètres DB (p. 466). Option Group Aucune option n'est disponible pour les instances de base de données PostgreSQL. Pour plus d'informations sur les groupes d'options, consultez Utilisation de groupes d'options (p. 455). API Version 2014-10-31 331 Amazon Relational Database Service Guide de l'utilisateur Interface de ligne de commande Paramètre Description Backup Retention Period Spécifiez le nombre de jours de conservation des sauvegardes automatiques. Pour désactiver les sauvegardes automatiques, définissez cette valeur sur 0. Note Une interruption immédiate se produit si vous modifiez la période de rétention des sauvegardes de 0 à une valeur non nulle, ou d'une valeur non nulle à 0. Backup Window Définissez l'intervalle de temps pendant lequel des sauvegardes automatiques de vos bases de données se produiront. Spécifiez une heure de début en heure UTC (Universal Coordinated Time) et une durée en heures. Auto Minor Version Upgrade Si vous voulez que votre instance de base de données reçoive automatiquement les mises à niveau des versions mineures du moteur lorsqu'elles sont disponibles, cliquez sur Yes. Les mises à niveau sont installées uniquement pendant votre créneau de maintenance planifié. Maintenance Window Définissez l'intervalle de temps pendant lequel la maintenance du système, dont les mises à niveau, se produira. Spécifiez une heure de début en UTC et une durée en heures. 5. Pour appliquer les modifications immédiatement, cochez la case Apply Immediately. Dans certains cas, le choix de cette option peut entraîner une interruption de service. Pour plus d'informations sur l'impact de l'option Apply Immediately, consultez Modification d'une instance DB et utilisation du paramètre Apply Immediately (p. 403). 6. Lorsque toutes les modifications correspondent à vos attentes, cliquez sur Continue. Si vous souhaitez annuler des modifications, cliquez sur la croix (X) dans le coin supérieur droit de la page. 7. Confirmez que les modifications que vous souhaitez sont répertoriées sur l'écran récapitulatif, puis cliquez sur Modify DB Instance. Interface de ligne de commande Pour modifier une instance de base de données PostgreSQL • Utilisez la commande rds-modify-db-instance. API Pour modifier une instance de base de données PostgreSQL • Utilisez la commande ModifyDBInstance action. API Version 2014-10-31 332 Amazon Relational Database Service Guide de l'utilisateur Importation de données dans PostgreSQL sur Amazon RDS Importation de données dans PostgreSQL sur Amazon RDS Si vous avez un déploiement PostgreSQL existant que vous souhaitez déplacer vers Amazon RDS, la complexité de la tâche dépend de la taille de votre base de données et des types d'objets de base de données que vous transférez. Par exemple, une base de données qui contient des jeux de données se mesurant en gigaoctets, ainsi que des déclencheurs et des procédures stockés, va être plus compliquée qu'une base de données simple avec seulement quelques mégaoctets de données de test et pas de déclencheurs, ni de procédures stockés. Lors du chargement des données dans une instance DB PostgreSQL Amazon RDS, vous devez modifier les paramètres de l'instance et les valeurs du groupe de paramètres DB pour permettre l'importation la plus efficace possible des données dans votre instance DB. Modifiez les paramètres de l'instance de base de données comme suit : • Désactivez les sauvegardes de l'instance de base de données (affectez la valeur 0 à backup_retention) • Désactivez le mode multi-AZ Modifiez votre groupe de paramètres DB pour inclure les paramètres suivants. Vous devez tester les réglages des paramètres pour déterminer les réglages les plus efficaces pour votre instance DB : • Augmentez la valeur du paramètre maintenance_work-mem • Augmentez la valeur des paramètres checkpoint_segments et checkpoint_timeout pour réduire le nombre d'écritures dans le journal WAL • Désactivez le paramètre synchronous_commit (ne désactivez pas FSYNC) • Désactivez le paramètre autovacuum de PostgreSQL Utilisez les commandes pg_dump -Fc (compressé) ou pg_restore -j (parallèle) avec ces paramètres. Note La commande PostgreSQL pg_dumpall requiert des autorisations super_user qui ne sont pas accordées lorsque vous créez une instance de base de données, si bien qu'elle ne peut pas être utilisée pour importer des données. Importation d'une base de données PostgreSQL à partir d'une instance Amazon EC2 Si vous possédez des données sur un serveur PostgreSQL, sur une instance Amazon EC2, et que vous souhaitez les déplacer vers une instance de base de données PostgreSQL, vous pouvez utiliser le processus suivant. La liste suivante montre les étapes à suivre. Chaque étape est présentée plus en détail dans les sections suivantes. 1. Créez un fichier contenant les données à charger à l'aide de pg_dump 2. Créez l'instance de base de données cible 3. Utilisez psql pour créer la base de données sur l'instance de base de données et chargez les données 4. Créez un snapshot DB de l'instance de base de données API Version 2014-10-31 333 Amazon Relational Database Service Guide de l'utilisateur Importation d'une base de données PostgreSQL à partir d'une instance Amazon EC2 Etape 1 : Créer un fichier contenant les données à charger à l'aide de pg_dump pg_dump utilise la commande COPY pour créer un schéma et un vidage des données d'une base de données PostgreSQL. Le script de vidage généré par pg_dump charge les données dans une base de données dotée du même nom et recrée les tables, les index et les clés étrangères. Avant de créer le vidage des données, vous devez interroger les tables à vider pour obtenir le nombre de lignes afin de pouvoir confirmer ce nombre sur l'instance de base de données cible. La commande suivante crée un fichier de vidage mydb2dump.sql pour une base de données nommée mydb2. prompt>pg_dump dbname=mydb2 -f mydb2dump.sql Etape 2 : Créer l'instance de base de données cible Créez l'instance de base de données PostgreSQL cible à l'aide de l'interface de ligne de commande, de l'API ou de la console Amazon RDS. Créez l'instance avec le paramètre de rétention des sauvegardes défini sur 0 et désactivez le mode multi-AZ. Cela permet une importation plus rapide des données. Vous devez créer une base de données sur l'instance qui a le même nom que la base de données qui contenait les données vidées ; la commande pg_dump exige que la base de données réside sur l'instance de base de données PostgreSQL cible. Etape 3 : Utiliser psql pour créer la base de données sur l'instance de base de données et charger les données Vous pouvez utiliser la même connexion que vous avez utilisée pour exécuter la commande pg_dump pour vous connecter à l'instance de base de données cible et recréer la base de données. Grâce à psql, vous pouvez utiliser le nom utilisateur principal et le mot de passe principal pour créer la base de données sur l'instance de base de données. L'exemple suivant utilise psql et un fichier de vidage nommé mydb2dump.sql pour créer une base de données appelée mydb2 sur une instance de base de données PostgreSQL nommée mypginstance : psql -f mydb2dump.sql --host=mypginstance.c6c8mntzhgv0.us-west-2.rds.amazonaws.com --port=8199 --username=myawsuser --password --dbname=mydb2 Etape 4 : Créer un snapshot DB de l'instance de base de données Une fois que vous avez vérifié que les données ont été chargées dans votre instance de base de données, nous vous conseillons de créer un snapshot DB de l'instance de base de données PostgreSQL cible. Les snapshots DB sont des sauvegardes complètes de votre instance de base de données qui peuvent être utilisées pour restaurer l'instance de base de données à un état connu. Un snapshot DB pris immédiatement après le chargement vous évite de devoir charger les données à nouveau en cas d'incident et peut être utilisé pour faire naître de nouvelles instances de base de données. Pour plus d'informations sur la création d'un snapshot DB, consultez Création d'un snapshot DB (p. 445). API Version 2014-10-31 334 Amazon Relational Database Service Guide de l'utilisateur Utilisation de la commande \copy pour importer des données dans une table sur une instance de base de données PostgreSQL Utilisation de la commande \copy pour importer des données dans une table sur une instance de base de données PostgreSQL Vous pouvez exécuter la commande \copy dans l'invite de commandes psql pour importer des données dans une table sur une instance de base de données PostgreSQL. La table doit déjà exister sur l'instance de base de données. Note La commande \copy ne fournit pas la confirmation des actions, telle qu'un nombre de lignes insérées. PostgreSQL ne fournit pas de messages d'erreur si la commande copy échoue en raison d'une erreur. Créez un fichier .csv à partir des données dans la table source, connectez-vous à la base de données cible sur l'instance PostgreSQL à l'aide de psql, puis exécutez la commande suivante. Cet exemple utilise source-table comme nom de table source, source-table.csv comme fichier .csv et target-db comme base de données cible : target-db=> \copy source-table from 'source-table.csv' with DELIMITER ','; Vous pouvez également exécuter la commande suivante à partir de l'invite de commandes de votre ordinateur client. Cet exemple utilise source-table comme nom de table source, source-table.csv comme fichier .csv et target-db comme base de données cible : $psql target-db -U <admin user> -p <port> -h <DB instance name> -c "\copy source-table from 'source-table.csv' with DELIMITER ','" API Version 2014-10-31 335 Amazon Relational Database Service Guide de l'utilisateur Annexe : Tâches DBA courantes pour PostgreSQL Annexe : Tâches DBA courantes pour PostgreSQL Cette section décrit les implémentations spécifiques à Amazon RDS de certaines tâches DBA courantes pour les instances de base de données exécutant le moteur de base de données PostgreSQL. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. Pour plus d'informations sur l'utilisation de fichiers journaux PostgreSQL sur Amazon RDS, consultez Fichiers journaux de base de données PostgreSQL (p. 534) Rubriques • Création de rôles (p. 336) • Gestion d'un accès à la base de données PostgreSQL (p. 336) • Utilisation des paramètres PostgreSQL (p. 337) • Configuration de PostGIS (p. 347) • Utilisation de pgBadger pour l'analyse de journal serveur avec PostgreSQL (p. 349) Création de rôles Lorsque vous créez une instance de base de données, le rôle rds_superuser est affecté au compte du système de l'utilisateur principal que vous avez créé. Le rôle rds_superuser est un rôle Amazon RDS prédéfini semblable au rôle de super utilisateur PostgreSQL (habituellement désigné « postgres » dans les instances locales), mais limité par certaines restrictions. Comme avec le rôle de super utilisateur PostgreSQL, le rôle rds_superuser possède des privilèges maximum sur votre instance de base de données et vous ne devez attribuer ce rôle à des utilisateurs que s'ils ont besoin d'un accès total à l'instance de base de données. L'exemple suivant montre comment créer un utilisateur puis lui affecter le rôle rds_superuser. Les rôles définis par l'utilisateur, comme rds_superuser, doivent être accordés. postgres=> create role testuser with password 'testuser' login; CREATE ROLE postgres=> grant rds_superuser to testuser; GRANT ROLE postgres=> Gestion d'un accès à la base de données PostgreSQL Par défaut, lorsque des objets de la base de données PostgreSQL sont créés, les privilèges d'accès « publics » leur sont accordés. Vous pouvez annuler tous les privilèges sur une base de données, puis ajouter explicitement des privilèges au fur et à mesure que vous en avez besoin. En tant qu'utilisateur principal, vous pouvez supprimer tous les privilèges d'une base de données à l'aide du format de commande suivant : postgres=> revoke all on database <database name> from public; REVOKE Vous pouvez ensuite à nouveau ajouter des privilèges à un utilisateur. Par exemple, la commande suivante accorde l'accès de connexion à un utilisateur nommé mytestuser à une base de données nommée test. API Version 2014-10-31 336 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL test=> grant connect on database test to mytestuser; GRANT Notez que sur une instance locale, vous pouvez spécifier les privilèges de la base de données dans le fichier pg_hba.conf, mais lorsque vous utilisez PostgreSQL avec Amazon RDS il est préférable de limiter les privilèges au niveau Postgres. Lorsque le fichier pg_hba.conf est modifié, le serveur doit être redémarré, afin que pg_hba.conf ne puisse pas être modifié dans Amazon RDS. En revanche, les modifications de privilèges apportées au niveau Postgres sont appliquées immédiatement. Utilisation des paramètres PostgreSQL Les paramètres PostgreSQL définis pour une instance PostgreSQL locale dans le fichier postgresql.conf sont conservés dans le groupe de paramètres DB de votre instance de base de données. Si vous créez une instance de base de données à l'aide du groupe de paramètres par défaut, les paramètres figurent dans un groupe de paramètres appelé default.postgres9.3. Lorsque vous créez une instance de base de données, les paramètres du groupe de paramètres DB associé sont chargés. Vous ne pouvez pas modifier de valeurs des paramètres en modifiant des valeurs dans le groupe de paramètres. Vous pouvez également modifier des valeurs de paramètres, si vous disposez des privilèges de sécurité nécessaires, en utilisant les commandes ALTER DATABASE, ALTER ROLE et SET. Notez que vous ne pouvez pas utiliser la commande de ligne de commande postgres ni la commande env PGOPTIONS, car vous n'aurez pas accès à l'hôte. Il peut parfois s'avérer difficile de suivre les paramètres PostgreSQL. Utilisez les commandes suivantes pour répertorier les paramètres actuels et leur valeur par défaut : select name, setting, boot_val, reset_val, unit from pg_settings order by name; Pour savoir ce que signifient les valeurs de sortie, consultez la rubrique pg_settings dans la documentation PostgreSQL. Si les paramètres de mémoire sont définis de manière trop large pour max_connections, shared_buffers ou effective_cache_size, l'instance PostgreSQL ne pourra pas démarrer. Notez que certains paramètres utilisent des unités que vous pouvez ne pas bien connaître. Par exemple, shared_buffers définit le nombre de tampons de mémoire partagée de 8 Ko utilisés par le serveur. L'erreur suivante est écrite dans le fichier postgres.log lorsque l'instance tente de démarrer, mais des paramètres mal définis empêchent le démarrage. 2013-09-18 21:13:15 UTC::@:[8097]:FATAL: could not map anonymous shared memory: Cannot allocate memory 2013-09-18 21:13:15 UTC::@:[8097]:HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently 3514134274048 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections. Il existe deux types de paramètres PostgreSQL : les paramètres fixes et les paramètres dynamiques. Les paramètres fixes nécessitent le redémarrage de l'instance de base de données avant d'être appliqués. Les paramètres dynamiques peuvent être appliqués immédiatement. Le tableau suivant illustre les paramètres API Version 2014-10-31 337 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL que vous pouvez modifier pour une instance de base de données PostgreSQL, ainsi que le type de paramètre : Nom du paramètre Type Description d'application application_name Répartition dynamique Définit le nom de l'application à indiquer dans les statistiques et les journaux. array_nulls Répartition dynamique Autorise l'entrée d'éléments NULL dans les tableaux. authentication_timeout Répartition dynamique Définit le délai maximum autorisé pour procéder à l'authentification du client. autovacuum Répartition dynamique Démarre le sous-processus autovacuum. autovacuum_analyze_scale_factorRépartition dynamique Nombre de tuples insérés, mis à jour ou supprimés avant analyse en tant que partie de reltuples. autovacuum_analyze_threshold Répartition dynamique Nombre minimum de tuples insérés, mis à jour ou supprimés avant analyse. autovacuum_naptime Répartition dynamique Temps de repos entre les exécutions autovacuum. autovacuum_vacuum_cost_delay Répartition dynamique Valeur du coût de retard du processus vacuum en millisecondes, pour le processus autovacuum. autovacuum_vacuum_cost_limit Répartition dynamique Coût cumulé qui provoque l'endormissement du processus vacuum, pour le processus autovacuum. autovacuum_vacuum_scale_factor Répartition dynamique Nombre de tuples mis à jour ou supprimés avant le processus vacuum en tant que partie de reltuples. autovacuum_vacuum_threshold Répartition dynamique Nombre de tuples mis à jour ou supprimés avant le processus vacuum. backslash_quote Répartition dynamique Définit si une barre oblique inverse (\) peut être utilisée dans les littéraux de chaîne. bgwriter_delay Répartition dynamique Délai d'inactivité entre les tours d'activité du processus d'écriture en arrière-plan. bgwriter_lru_maxpages Répartition dynamique Nombre maximum de pages récemment utilisées qui peuvent être vidées à chaque tour par le processus d'écriture en tâche de fond. bgwriter_lru_multiplier Répartition dynamique Multiple de l'utilisation moyenne de tampons à libérer par tour. bytea_output Répartition dynamique Configure le format de sortie pour les valeurs de type bytea. check_function_bodies Répartition dynamique Vérifie les corps des fonctions pendant la fonction CREATE FUNCTION. checkpoint_completion_target Répartition dynamique Temps nécessaire pour vider les tampons sales au moment de la vérification, sous la forme d'une fraction de temps entre deux points de vérification. API Version 2014-10-31 338 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application checkpoint_segments Répartition dynamique Définit la distance maximum dans les segments de journaux entre deux points de vérification automatique des WAL. checkpoint_timeout Répartition dynamique Définit le temps maximum entre deux points de vérification automatique des WAL. checkpoint_warning Répartition dynamique Active les avertissements si des segments de points de vérification sont remplis à une fréquence supérieure à ce paramètre. client_encoding Répartition dynamique Définit l'encodage du jeu de caractères du client. client_min_messages Répartition dynamique Définit les niveaux des messages envoyés au client. commit_delay Répartition dynamique Définit la durée, en micro-secondes, entre le déclenchement de la sonde transaction-commit et le vidage de WAL vers le disque. commit_siblings Répartition dynamique Définit le nombre minimum de transactions ouvertes simultanément avant d'atteindre le délai commit_delay. constraint_exclusion Répartition dynamique Autorise le planificateur à utiliser des contraintes pour optimiser les requêtes. cpu_index_tuple_cost Répartition dynamique Définit l'estimation faite par le planificateur du coût de traitement de chaque entrée d'index pendant la vérification d'un index. cpu_operator_cost Répartition dynamique Définit l'estimation faite par le planificateur du coût de traitement de chaque opérateur ou appel de fonction. cpu_tuple_cost Répartition dynamique Définit l'estimation faite par le planificateur du coût de traitement de chaque ligne. cursor_tuple_fraction Répartition dynamique Définit l'estimation faite par le planificateur de la fraction des lignes d'un curseur qui sera récupérée. datestyle Répartition dynamique Définit le format d'affichage des valeurs de type date et heure. deadlock_timeout Répartition dynamique Définit le délai d'attente au niveau d'un verrou avant blocage. debug_pretty_print Répartition dynamique Indente les affichages des arborescence d'analyse et de planification. debug_print_parse Répartition dynamique Enregistre l'arborescence d'analyse de chaque requête. debug_print_plan Répartition dynamique Enregistre le plan d'exécution de chaque requête. debug_print_rewritten Répartition dynamique Enregistre l'arbre d'interprétation réécrit de chaque requête. API Version 2014-10-31 339 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application default_statistics_target Répartition dynamique Définit la cible des statistiques par défaut. default_tablespace Répartition dynamique Définit l'espace de table par défaut dans lequel créer des tables et des index. default_transaction_deferrable Répartition Définit le statut reportable des nouvelles transactions. default_transaction_isolation Répartition Définit le niveau d'isolation de transaction de chaque nouvelle transaction. default_transaction_read_only Répartition Définit le statut en lecture seule des nouvelles transactions. dynamique dynamique dynamique default_with_oids Répartition dynamique Crée des tables avec des OID par défaut. effective_cache_size Répartition dynamique Définit l'estimation faite par le planificateur de la taille du cache du disque. effective_io_concurrency Répartition dynamique Nombre de demandes simultanées pouvant être traitées de manière efficace par le sous-système du disque. enable_bitmapscan Répartition dynamique Autorise l'utilisation de plans de parcours de bitmap par le planificateur. enable_hashagg Répartition dynamique Autorise l'utilisation de plans d'agrégation hachée par le planificateur. enable_hashjoin Répartition dynamique Autorise l'utilisation de plans de jointures de hachage par le planificateur. enable_indexscan Répartition dynamique Autorise l'utilisation de plans de parcours d'index par le planificateur. enable_material Répartition dynamique Autorise l'utilisation de la matérialisation par le planificateur. enable_mergejoin Répartition dynamique Autorise l'utilisation de plans de jointures de fusion par le planificateur. enable_nestloop Répartition dynamique Autorise l'utilisation de plans de jointures de boucles imbriquées par le planificateur. enable_seqscan Répartition dynamique Autorise l'utilisation de plans de parcours séquentiels par le planificateur. enable_sort Répartition dynamique Autorise l'utilisation des étapes de tri explicite par le planificateur. enable_tidscan Répartition dynamique Autorise l'utilisation de plans de parcours de TID par le planificateur. escape_string_warning Répartition dynamique Avertit sur l'utilisation des barres obliques inverses (\) dans des littéraux de chaîne ordinaires. API Version 2014-10-31 340 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application extra_float_digits Répartition dynamique Définit le nombre de chiffres affichés pour les valeurs à virgule flottante. from_collapse_limit Répartition dynamique Définit la taille FROM-list au-delà de laquelle les sousrequêtes ne sont pas regroupées. fsync Répartition dynamique Force la synchronisation des mises à jour sur le disque. full_page_writes Répartition dynamique Ecrit les pages complètes dans les WAL lors de la première modification après un point de vérification. geqo Répartition dynamique Active l'optimisation génétique des requêtes. geqo_effort Répartition dynamique geqo_effort est utilisé pour définir la valeur par défaut pour les autres paramètres GEQO. geqo_generations Répartition dynamique GEQO : nombre d'itérations de l'algorithme. geqo_pool_size Répartition dynamique GEQO : nombre d'individus au sein d'une population. geqo_seed Répartition dynamique GEQO : valeur initiale pour la sélection des chemins au hasard. geqo_selection_bias Répartition dynamique GEQO : pression de sélectivité au sein de la population. geqo_threshold Répartition dynamique Définit le seuil d'éléments FROM au-delà duquel GEQO est utilisé. gin_fuzzy_search_limit Répartition dynamique Définit le résultat maximum autorisé pour la recherche exacte par GIN. intervalstyle Répartition dynamique Définit le format d'affichage des valeurs de type intervalle. join_collapse_limit Répartition dynamique Définit la taille FROM-list au-delà de laquelle les constructions JOIN ne sont pas mises à plat. lc_messages Répartition dynamique Définit la langue d'affichage des messages. lc_monetary Répartition dynamique Définit la locale à utiliser pour le formatage des montants monétaires. lc_numeric Répartition dynamique Définit la locale à utiliser pour le formatage des nombres. lc_time Répartition dynamique Définit la locale à utiliser pour le formatage des valeurs de date et d'heure. log_autovacuum_min_duration Répartition dynamique Définit la durée minimum d'exécution au-delà de laquelle les actions autovacuum seront enregistrées. API Version 2014-10-31 341 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application log_checkpoints Répartition dynamique Enregistre les points de vérification. log_connections Répartition dynamique Enregistre toutes les connexions réussies. log_disconnections Répartition dynamique Enregistre la fin d'une session, y compris sa durée. log_duration Répartition dynamique Enregistre la durée de chaque instruction SQL terminée. log_error_verbosity Répartition dynamique Définit la quantité de détails dans les messages enregistrés. log_executor_stats Répartition dynamique Ecrit les statistiques de performance de l'exécuteur dans le journal du serveur. log_filename Répartition dynamique Définit le modèle de nom de fichier pour les fichiers journaux. log_hostname Répartition dynamique Enregistre le nom de l'hôte dans les journaux de connexion. log_lock_waits Répartition dynamique Enregistre les longs temps d'attente pour l'acquisition d'un verrou. log_min_duration_statement Répartition dynamique Définit la durée minimum d'exécution au-delà de laquelle les instructions seront enregistrées. log_min_error_statement Répartition dynamique Déclenche l'enregistrement de toutes les instructions générant une erreur à ce niveau ou à un niveau supérieur. log_min_messages Répartition dynamique Définit les niveaux des messages qui sont enregistrés. log_parser_stats Répartition dynamique Ecrit les statistiques de performance de l'analyseur dans le journal du serveur. log_planner_stats Répartition dynamique Ecrit les statistiques de performance du planificateur dans le journal du serveur. log_rotation_age Répartition dynamique Déclenchement de la rotation de fichier journal automatique au-delà d'un délai de N minutes. log_rotation_size Répartition dynamique Déclenchement de la rotation de fichier journal automatique au-delà de N kilo-octets. log_statement Répartition dynamique Définit le type d'instructions enregistrées. log_statement_stats Répartition dynamique Ecrit les statistiques de performance cumulées dans le journal du serveur. log_temp_files Répartition dynamique Enregistre l'utilisation des fichiers temporaires dont la taille est supérieure à cette taille en kilo-octets. API Version 2014-10-31 342 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application maintenance_work_mem Répartition dynamique Définit la quantité maximum de mémoire que peuvent utiliser les opérations de maintenance. max_stack_depth Répartition dynamique Définit la profondeur maximum de la pile, en kilooctets. max_standby_archive_delay Répartition dynamique Définit le délai maximum avant l'annulation des requêtes lorsqu'un serveur hot standby traite des données WAL archivées. max_standby_streaming_delay Répartition dynamique Définit le délai maximum avant l'annulation des requêtes lorsqu'un serveur hot standby traite des données WAL diffusées. quote_all_identifiers Répartition dynamique Ajoute des guillemets (") à tous les identificateurs lors de la génération de fragments SQL. random_page_cost Répartition dynamique Définit l'estimation faite par le planificateur du coût d'une page de disque extraite de façon non séquentielle. rds.log_retention_period Répartition dynamique Amazon RDS supprimera les journaux PostgreSQL dont l'ancienneté est supérieure à N minutes. search_path Répartition dynamique Définit l'ordre de recherche des schémas pour les noms pour lesquels le schéma n'est pas précisé. seq_page_cost Répartition dynamique Définit l'estimation faite par le planificateur du coût d'une page de disque extraite de façon séquentielle. session_replication_role Répartition dynamique Définit le comportement des sessions concernant les déclencheurs et les règles de réécriture. sql_inheritance Répartition dynamique Entraîne l'ajout par défaut de sous-tables dans plusieurs commandes. ssl_renegotiation_limit Répartition dynamique Définit la quantité de trafic à envoyer et recevoir avant de renégocier les clés de chiffrement. standard_conforming_strings Répartition dynamique Entraîne les chaînes ... à traiter littéralement les barres obliques inverses. statement_timeout Répartition dynamique Définit la durée maximum de toute instruction. synchronize_seqscans Répartition dynamique Active les analyses séquentielles synchronisées. synchronous_commit Répartition dynamique Définit le niveau de synchronisation des transactions actuelles. tcp_keepalives_count Répartition dynamique Nombre maximum de paquets TCP keepalive. tcp_keepalives_idle Répartition dynamique Délai entre les émissions de paquets TCP keepalive. API Version 2014-10-31 343 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application tcp_keepalives_interval Répartition dynamique Délai entre les envois de paquets TCP keepalive. temp_buffers Répartition dynamique Définit le nombre maximum de tampons temporaires utilisés par chaque session. temp_tablespaces Répartition dynamique Définit l'espace de table à utiliser pour les tables et fichiers de tri temporaires. timezone Répartition dynamique Définit le fuseau horaire pour l'affichage et l'interprétation de la date et de l'heure. track_activities Répartition dynamique Active la collecte d'informations sur l'exécution des commandes. track_counts Répartition dynamique Active la collecte de statistiques sur l'activité de la base de données. track_functions Répartition dynamique Active la collecte de statistiques au niveau de la fonction sur l'activité de la base de données. track_io_timing Répartition dynamique Active la collecte de statistiques de durée sur l'activité E/S de la base de données. transaction_deferrable Répartition dynamique Indique si une transaction sérialisable en lecture seule doit être différée jusqu'à ce qu'elle puisse être exécutée sans échec de sérialisation possible. transaction_isolation Répartition dynamique Définit le niveau d'isolation des transactions actuelles. transaction_read_only Répartition dynamique Définit le statut en lecture seule des transactions actuelles. transform_null_equals Répartition dynamique Traite l'expression =NULL en tant que IS NULL. update_process_title Répartition dynamique Met à jour le titre du processus pour indiquer la commande SQL active. vacuum_cost_delay Répartition dynamique Valeur du coût de délai du processus vacuum en millisecondes. vacuum_cost_limit Répartition dynamique Coût cumulé qui provoque l'endormissement du processus vacuum. vacuum_cost_page_dirty Répartition dynamique Coût du processus vacuum pour une page salie par le processus vacuum. vacuum_cost_page_hit Répartition dynamique Coût du processus vacuum pour une page trouvée dans le cache des tampons. vacuum_cost_page_miss Répartition dynamique Coût du processus vacuum pour une page non trouvée dans le cache des tampons. API Version 2014-10-31 344 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Nom du paramètre Type Description d'application vacuum_defer_cleanup_age Répartition dynamique Nombre de transactions pendant lesquelles le processus vacuum et le nettoyage hot seront reportés à plus tard, le cas échéant. vacuum_freeze_min_age Répartition dynamique Âge limite auquel le processus vacuum doit figer une ligne de tableau. vacuum_freeze_table_age Répartition dynamique Âge auquel le processus vacuum effectue une analyse complète de la table pour figer des lignes. wal_writer_delay Répartition dynamique Délai d'inactivité de l'enregistreur des WAL entre les actions de vidage WAL. work_mem Répartition dynamique Définit la quantité maximum de mémoire que peuvent utiliser les espaces de travail des requêtes. xmlbinary Répartition dynamique Définit la façon dont les valeurs binaires doivent être codées en XML. xmloption Répartition dynamique Définit si des données XML dans des opérations d'analyse ou de sérialisation implicites doivent être considérées comme des documents ou des fragments de contenu. autovacuum_freeze_max_age Statique Âge auquel lancer le processus autovacuum sur une table pour empêcher le renvoi à la ligne de l'ID de transaction. autovacuum_max_workers Statique Définit le nombre maximum de processus autovacuum qui peuvent être exécutés simultanément. max_connections Statique Définit le nombre maximum de connexions simultanées. max_files_per_process Statique Définit le nombre maximum de fichiers ouverts simultanément pour chaque processus serveur. max_locks_per_transaction Statique Définit le nombre maximum de verrous par transaction. max_pred_locks_per_transaction Statique Définit le nombre maximum de verrous de prédicat par transaction. max_prepared_transactions Statique Définit le nombre maximum de transactions préparées simultanément. shared_buffers Statique Définit le nombre de tampons de mémoire partagée utilisés par le serveur. ssl Statique Active les connexions SSL. track_activity_query_size Statique Définit la taille réservée pour pg_stat_activity.current_query, en octets. wal_buffers Statique Définit le nombre de tampons de page de disque dans la mémoire partagée pour les WAL. API Version 2014-10-31 345 Amazon Relational Database Service Guide de l'utilisateur Utilisation des paramètres PostgreSQL Amazon RDS utilise les unités PostgreSQL par défaut pour tous les paramètres. Le tableau suivant indique la valeur unitaire PostgreSQL de chaque paramètre. Nom du paramètre Unité effective_cache_size 8 Ko segment_size 8 Ko shared_buffers 8 Ko temp_buffers 8 Ko wal_buffers 8 Ko wal_segment_size 8 Ko log_rotation_size Ko log_temp_files Ko maintenance_work_mem Ko max_stack_depth Ko ssl_renegotiation_limit Ko temp_file_limit Ko work_mem Ko log_rotation_age min autovacuum_vacuum_cost_delay ms bgwriter_delay ms deadlock_timeout ms lock_timeout ms log_autovacuum_min_duration ms log_min_duration_statement ms max_standby_archive_delay ms max_standby_streaming_delay ms statement_timeout ms vacuum_cost_delay ms wal_receiver_timeout ms wal_sender_timeout ms wal_writer_delay ms archive_timeout s authentication_timeout s autovacuum_naptime s API Version 2014-10-31 346 Amazon Relational Database Service Guide de l'utilisateur Configuration de PostGIS Nom du paramètre Unité checkpoint_timeout s checkpoint_warning s post_auth_delay s pre_auth_delay s tcp_keepalives_idle s tcp_keepalives_interval s wal_receiver_status_interval s Configuration de PostGIS Avant de pouvoir utiliser l'extension PostGIS, vous devez procéder à certaines configurations. La liste suivante indique les étapes que vous devez effectuer. Chaque étape est décrite de façon plus détaillée dans cette section. • Connectez-vous à l'instance de base de données à l'aide du nom utilisateur principal utilisé pour créer l'instance de base de données • Chargez les extensions PostGIS • Transférez la propriété des extensions au rôle rds_superuser • Transférez la propriété des objets au rôle rds_superuser • Testez les extensions Etape 1 : Connectez-vous à l'instance de base de données à l'aide du nom utilisateur principal utilisé pour créer l'instance de base de données Le rôle rds_superuser est automatiquement affecté au nom utilisateur principal utilisé pour créer l'instance de base de données. Lorsque vous vous connectez à l'instance de base de données, vous disposez du rôle rds_superuser qui vous permettra d'effectuer les étapes restantes. L'exemple suivant utilise SELECT pour vous montrer l'utilisateur actuel. Dans le cas présent, l'utilisateur doit être l'utilisateur principal choisi lors de la création de l'instance de base de données : mydb1=> select current_user; current_user ------------myawsuser (1 row) Etape 2 : Chargez les extensions PostGIS Utilisez les instructions CREATE EXTENSION pour charger les extensions PostGIS. Notez que vous devez également charger l'extension fuzzystrmatch. Vous pouvez ensuite utiliser la commande \dn psql pour répertorier les propriétaires des schémas PostGIS. API Version 2014-10-31 347 Amazon Relational Database Service Guide de l'utilisateur Configuration de PostGIS mydb1=> create extension postgis; CREATE EXTENSION mydb1=> create extension fuzzystrmatch; CREATE EXTENSION mydb1=> create extension postgis_tiger_geocoder; CREATE EXTENSION mydb1=> create extension postgis_topology; CREATE EXTENSION mydb1=> \dn List of schemas Name | Owner --------------+----------public | myawsuser tiger | rdsadmin topology | rdsadmin (4 rows) Etape 3 : Transférez la propriété des extensions au rôle rds_superuser Utilisez les instructions ALTER SCHEMA pour transférer la propriété des schémas au rôle rds_superuser. mydb1=> alter schema tiger owner to rds_superuser; ALTER SCHEMA mydb1=> alter schema topology owner to rds_superuser; ALTER SCHEMA mydb1=> \dn List of schemas Name | Owner --------------+--------------public | myawsuser tiger | rds_superuser topology | rds_superuser (4 rows) Etape 4 : Transférez la propriété des objets au rôle rds_superuser Utilisez la fonction suivante pour transférer la propriété des objets PostGIS au rôle rds_superuser. Vous pouvez exécuter la fonction depuis l'invite psql : CREATE FUNCTION exec(text) returns text language plpgsql volatile AS $f$ BEGIN EXECUTE $1; RETURN $1; END; $f$; SELECT exec('ALTER TABLE ' || quote_ident(s.nspname) || '.' || quote_ident(s.relname) || ' OWNER TO rds_superuser') FROM ( SELECT nspname, relname FROM pg_class c JOIN pg_namespace n ON (c.relnamespace = n.oid) WHERE nspname in ('tiger','topology') AND relkind IN ('r','S','v') ORDER BY relkind = 'S') s; API Version 2014-10-31 348 Amazon Relational Database Service Guide de l'utilisateur Utilisation de pgBadger pour l'analyse de journal serveur avec PostgreSQL Etape 5 : Testez les extensions Testez tiger à l'aide de l'instruction SELECT suivante : mydb1=> select na.address, na.streetname, na.streettypeabbrev, na.zip mydb1-> from normalize_address('1 Devonshire Place, Boston, MA 02109') as na; address | streetname | streettypeabbrev | zip ---------+------------+------------------+------1 | Devonshire | Pl | 02109 (1 row) Testez topology à l'aide de l'instruction SELECT suivante : mydb1=> select topology.createtopology('my_new_topo',26986,0.5); createtopology ---------------1 (1 row) Utilisation de pgBadger pour l'analyse de journal serveur avec PostgreSQL Vous pouvez utiliser un analyseur de journaux tel que pgbadger pour analyser les journaux PostgreSQL. Bien que la documentation pgbadger indique que le modèle %l (ligne de journal pour session/processus) doit faire partie du préfixe, si vous indiquez le log_line_prefix rds actuel en tant que paramètre de pgbadger, un rapport doit quand même être généré. Par exemple, la commande suivante doit formater correctement un fichier journal PostgreSQL Amazon RDS daté du 04/02/2014 à l'aide de pgbadger : ./pgbadger -p '%t:%r:%u@%d:[%p]:' postgresql.log.2014-02-04-00 API Version 2014-10-31 349 Amazon Relational Database Service Guide de l'utilisateur sur Amazon RDS , disponible en version préliminaire, est susceptible d'être modifié. est un moteur de base de données relationnelle compatible avec MySQL, entièrement géré, qui associe la vitesse et la fiabilité des bases de données commerciales haut de gamme à la simplicité et à la rentabilité des bases de données open source. Il fournit des performances jusqu'à cinq fois celles de MySQL sans nécessité de modifier la plupart de vos applications existantes. permet de façon simple et économique de configurer, gérer et dimensionner vos déploiements MySQL nouveaux et existants, et de vous permettre ainsi de vous concentrer sur votre activité et vos applications. Amazon RDS fournit l'administration pour en gérant les tâches de base de données régulières, telles que l'allocation, la correction, la sauvegarde, la récupération, la détection des échecs et la réparation. Amazon RDS fournit aussi des outils de migration à l'aide de boutons de commande pour convertir les applications Amazon RDS pour MySQL existantes en . est un remplacement de MySQL. Le code, les outils et les applications que vous utilisez aujourd'hui avec vos bases de données MySQL existantes peuvent être utilisés avec . Lorsque vous créez une instance Amazon Aurora, vous créez un cluster DB. Un cluster DB se compose d'une ou de plusieurs instances, et d'un volume de cluster qui gère les données pour ces instances. Un volume de cluster est un volume de stockage de base de données virtuel qui couvre plusieurs zones de disponibilité, chacune d'entre elles ayant une copie des données de cluster. Deux types d'instances composent un cluster DB : • Instance principale – Prend en charge les charges de travail en lecture-écriture, et effectue toutes les modifications de données du volume de cluster. Chaque cluster DB possède une seule instance principale. • Réplica – Prend uniquement en charge les opérations de lecture. Chaque cluster DB peut avoir jusqu'à 15 réplicas en plus de l'instance principale, qui prend en charge les charges de travail en lecture et en écriture. Plusieurs réplicas répartissent la charge de travail en lecture ; en plaçant les réplicas dans des zones de disponibilité distinctes, vous pouvez aussi accroître la disponibilité de la base de données. Le schéma suivant illustre les relations entre le volume de cluster , l'instance principale et les réplicas du cluster DB . API Version 2014-10-31 350 Amazon Relational Database Service Guide de l'utilisateur Version préliminaire de Version préliminaire de Actuellement, est disponible en tant que version préliminaire. Pour vous inscrire à la version préliminaire de , accédez à http://aws.amazon.com/rds/aurora/preview/. Le tableau ci-après indique les régions dans lesquelles la version préliminaire de est disponible avec le lien de console pour la version préliminaire de pour cette région. Région Lien de la console USA Est (Virginie du Nord) https://console.aws.amazon.com/rds/home?region=us-east-1 USA Ouest (Oregon) https://console.aws.amazon.com/rds/home?region=us-west-2 UE (Irlande) https://console.aws.amazon.com/rds/home?region=eu-west-1 Vos commentaires sont importants pour l'amélioration de . Pour nous faire parvenir vos commentaires, écrivez-nous à l'adresse [email protected] ou accédez au forum Aurora forum, qui est régulièrement surveillé pour les clients des versions préliminaires de . Dans ce forum, nous annoncerons les modifications en attente et les événements instables qui en découlent. Points de terminaison Chaque cluster DB possède un point de terminaison de cluster auquel vous pouvez vous connecter. Un point de terminaison se compose d'un nom de domaine et d'un port, séparés par un point-virgule : par exemple, mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306. Le point de terminaison du cluster vous connecte à l'instance principale du cluster de base de données. Vous pouvez effectuer des opérations de lecture et d'écriture à l'aide du point de terminaison du cluster. L'instance principale possède également un point de terminaison unique. La différence entre les deux points de terminaison est que celui du cluster pointe toujours sur l'instance principale. En cas de défaillance de l'instance principale, le point de terminaison du cluster pointe vers la nouvelle instance principale. Pour plus d'informations sur les basculements, consultez Tolérance aux pannes pour un cluster DB (p. 381). Chaque réplica d'un cluster DB possède un point de terminaison unique. Vous pouvez configurer plusieurs clients pour vous connecter à différents réplicas d'un cluster DB pour répartir la charge de travail en lecture de votre application. Pour les scénarios à haute disponibilité, vous pouvez aussi placer les réplicas dans des zones de disponibilité distinctes, ce qui garantit que votre application continuera à pouvoir lire les données depuis votre cluster DB en cas de défaillance de l'une des zones de disponibilité. Vous devez vous connecter au point de terminaison du cluster pour les scénarios haute disponibilité. Cette connexion garantit que vous continuez à avoir accès au cluster DB en cas de basculement. Pendant un basculement, continue à traiter les demandes, avec une interruption de service minimale, adressées au point de terminaison du cluster depuis toute instance disponible, car il remplace l'instance défaillante. Imaginez un cluster DB qui possède deux réplicas dans différentes zones de disponibilité de son instance principale. En vous connectant au point de terminaison du cluster, vous pouvez envoyer un trafic en lecture et en écriture à l'instance principale. Vous pouvez aussi vous connecter au point de terminaison de chaque réplica et envoyer directement les requêtes à ces instances DB. Dans l'hypothèse peu probable de défaillance de l'instance principale ou de la zone de disponibilité contenant l'instance principale, RDS promeut l'un des réplicas comme nouvelle instance principale et met à jour l'enregistrement DNS pour que le point de terminaison du cluster pointe vers la nouvelle instance principale. Votre application continue à API Version 2014-10-31 351 Amazon Relational Database Service Guide de l'utilisateur Stockage envoyer le trafic en lecture et en écriture à votre cluster DB à l'aide du point de terminaison du cluster avec une interruption de service minimale. Stockage Les données sont stockées dans le volume de cluster, qui est un seul volume virtuel et utilise les disques SSD. Un volume de cluster se compose de copies des données sur plusieurs zones de disponibilité d'une même région. Comme les données sont automatiquement répliquées à travers les zones de disponibilité, vos données sont hautement durables, avec une possibilité moindre de perte des données. Cette réplication garantit aussi que votre base de données est plus disponible pendant un basculement, car les copies de données existent déjà dans les autres zones de disponibilité et continuent à traiter les demandes de données adressées aux instances de votre cluster DB. Les volumes de cluster croissent automatiquement au fur et à mesure que la quantité de données de votre base de données augmente. Un volume de cluster peut croître jusqu'à la taille maximale de 64 To (téraoctets). Toutefois, vous pouvez définir la taille maximum de votre base de données sur une valeur inférieure à 64 To en définissant la taille de volume maximum lors de la création de votre cluster de base de données , ou en modifiant le volume maximum pour un cluster de base de données existant. En définissant la taille de volume maximum, vous pouvez éviter que le volume n'atteigne une taille supérieure à votre taille préférée. Vous n'êtes facturé que pour l'espace que vous utilisez dans un volume de cluster , par conséquent, la définition d'une taille de volume maximal n'accroît pas vos coûts de stockage. Pour plus d'informations sur la tarification, accédez à la page produit Amazon RDS. Réplication Les réplicas sont des points de terminaison indépendants d'un cluster DB . Ils fournissent l'accès en lecture seule aux données du volume de cluster DB et vous permettent de dimensionner la charge de travail réelle pour vos données sur plusieurs instances répliquées afin d'améliorer les performances des lectures de données aussi bien que d'augmenter la disponibilité des données dans votre cluster DB . Les réplicas sont aussi des cibles de basculement et sont rapidement promus en cas de défaillance de l'instance principale pour votre cluster DB . Pour plus d'informations sur les réplicas et autres options de réplication des données dans un cluster DB , consultez Réplication avec (p. 374). Fiabilité d' est conçu pour être fiable, durable et tolérant aux pannes. Vous pouvez définir l'architecture de votre cluster DB afin d'améliorer la disponibilité en permettant des actions telles que l'ajout de réplicas et leur placement dans différentes zones de disponibilité. En outre, inclut plusieurs fonctions automatiques qui garantissent la fiabilité d'une solution de base de données. Réparation automatique du stockage Comme gère plusieurs copies de vos données dans trois zones de disponibilité, le risque de perdre des données suite à une défaillance disque est grandement minimisée. détecte automatiquement les défaillances des volumes disque qui composent le volume de cluster. En cas de défaillance d'un segment d'un volume disque, répare immédiatement le segment. Quand répare le segment disque, il utilise les données des autres volumes qui composent le volume de cluster pour garantir que les données du segment réparé sont actives. En conséquence, empêche la perte de données et réduit la nécessité d'exécuter une restauration à un instant dans le passé pour récupérer à partir d'une défaillance disque. API Version 2014-10-31 352 Amazon Relational Database Service Guide de l'utilisateur Préparation du cache « survivable » Préparation du cache « survivable » prépare le cache du groupe de tampons quand une base de données démarre après qu'elle a été arrêtée ou a redémarré suite à une défaillance. Autrement dit, précharge le groupe de tampons avec les pages des requêtes courantes connues et stockées dans un cache de page en mémoire. Cette approche fournit un gain de performance en passant outre le besoin pour le groupe de tampons de se préparer suite à une utilisation normale de la base de données. Le cache de page est géré dans un processus distinct de la base de données, qui permet au cache de page de « survivre » indépendamment de la base de données. Dans l'hypothèse peu probable d'une défaillance de la base de données, le cache de page demeure en mémoire, ce qui garantit que le groupe de tampons est préparé avec l'état le plus courant au redémarrage de la base de données. Récupération sur incident est conçu pour récupérer presque instantanément d'un incident et continuer à servir les données de votre application. exécute une récupération sur incident de façon asynchrone sur les threads parallèles, de telle sorte que votre base de données soit ouverte et immédiatement accessible après un incident. Pour de plus amples informations, veuillez consulter Tolérance aux pannes pour un cluster DB (p. 381). Sécurité La sécurité d' est gérée à trois niveaux : • Pour contrôler les personnes autorisées à exécuter des actions de gestion Amazon RDS sur les instances DB et les clusters DB , vous utilisez AWS Identity and Access Management (IAM). Lorsque vous vous connectez à AWS à l'aide des informations d'identification IAM, votre compte IAM doit disposer des stratégies IAM qui accordent les autorisations requises pour exécuter les opérations de gestion Amazon RDS. Pour plus d'informations, consultez Utilisation d'AWS Identity and Access Management (IAM) pour gérer l'accès aux ressources Amazon RDS (p. 70). Si vous utilisez un compte IAM pour accéder à la console , vous devez d'abord vous connecter à AWS Management Console avec votre compte IAM, puis accéder à la console de version préliminaire à l'adresse https://console.aws.amazon.com/rds. • Les clusters DB doivent être créés dans un Amazon Virtual Private Cloud (VPC). Pour contrôler les appareils et les instances Amazon EC2 qui peuvent ouvrir des connexions au point de terminaison et au port de l'instance DB pour les clusters DB d'un VPC, vous utilisez un groupe de sécurité VPC. Ces connexions au point de terminaison et au port peuvent être effectuées à l'aide du protocole SSL (Secure Socket Layer). En outre, les règles de pare-feu de votre entreprise peuvent contrôler si les appareils en cours d'exécution dans votre entreprise peuvent ouvrir des connexions à une instance de base de données. Pour plus d'informations sur les VPC, consultez Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497). • Pour authentifier la connexion et les autorisations d'une instance DB une fois qu'une connexion a été ouverte, vous adoptez la même approche que pour une instance autonome de MySQL. Les commandes telles que CREATE USER, RENAME USER, GRANT, REVOKE et SET PASSWORD fonctionnent de la même façon que dans les bases de données sur site, comme le fait la modification directe des tables du schéma de base de données. Pour plus d'informations, accédez à MySQL User Account Management dans la documentation MySQL. Lorsque vous créez une instance DB , l'utilisateur principal a les privilèges par défaut suivants : • alter • alter routine API Version 2014-10-31 353 Amazon Relational Database Service Guide de l'utilisateur Sécurisation des données avec SSL • create • create routine • create temporary tables • create user • create view • delete • drop • event • execute • grant option • index • insert • lock tables • process • references • replication slave • select • show databases • show view • trigger • update Pour fournir des services de gestion à chaque cluster DB, l'utilisateur rdsadmin est créé lors de la création du cluster DB. Les tentatives de supprimer, renommer et modifier le mot de passe du compte rdsadmin, ou d'en modifier les privilèges, génèrent une erreur. Pour la gestion du cluster de base de données, les commandes standard kill et kill_query ont fait l'objet de restrictions. Utilisez à la place les commandes Amazon RDS rds_kill et rds_kill_query pour mettre fin aux sessions utilisateurs ou aux requêtes sur les instances DB. Sécurisation des données avec SSL Les clusters DB prennent en charge les connexions Secure Sockets Layer (SSL) à partir des applications utilisant le même processus et la même clé publique que les instances DB MySQL Amazon RDS. Amazon RDS crée un certificat SSL et l'installe sur l'instance DB quand Amazon RDS alloue l'instance. Ces certificats sont signés par une autorité de certification. Le certificat SSL inclut le point de terminaison de l'instance de base de données en tant que nom commun du certificat SSL pour assurer une protection contre les attaques par usurpation. La clé publique est stockée à l'adresse https://rds.amazonaws.com/doc/ rds-ssl-ca-cert.pem. Pour chiffrer les connexions à l'aide du client mysql par défaut, lancez le client mysql à l'aide du paramètre --ssl-ca pour référencer la clé publique. Par exemple : mysql -h mycluster.cluster-c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=rds-ssl-cacert.pem --ssl-verify-server-cert Vous pouvez utiliser l'instruction GRANT pour exiger des connexions SSL pour des comptes d'utilisateur spécifiques. Par exemple, vous pouvez utiliser l'instruction suivante pour demander les connexions SSL sur le compte d'utilisateur encrypted_user: API Version 2014-10-31 354 Amazon Relational Database Service Guide de l'utilisateur Utilisation de l'option memcached avec GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL Note Pour plus d'informations les connexions SSL avec MySQL, consultez la documentation MySQL. Utilisation de l'option memcached avec Les instances de base de données prennent en charge l'option memcached MySQL 5.6, cache simple basée sur les clés. Pour plus d'informations sur l'option memcached de MySQL, consultez Prise en charge memcached MySQL 5.6 (p. 156). Important L'option memcached n'est actuellement pas prise en charge pour la version préliminaire de et elle sera ajoutée ultérieurement. Comparaison entre et Amazon RDS pour MySQL Même si les instances sont compatibles avec les applications clientes MySQL, présente des avantages par rapport à MySQL aussi bien qu'aux limites des fonctions MySQL qu' prend en charge. Cette fonctionnalité peut influer sur votre décision quant à savoir si ou MySQL sur Amazon RDS sont les meilleures bases de données cloud pour votre solution. Le tableau suivant présente les différences entre et Amazon RDS pour MySQL. Fonction Amazon RDS pour MySQL Dimensionnement en lecture Prend en charge jusqu'à 15 réplicas avec un impact minimal sur les performances des opérations d'écriture. Prend en charge jusqu'à 5 réplicas en lecture avec un certain impact sur les performances des opérations d'écriture. Cible de basculement Les réplicas sont des cibles automatiques de basculement sans perte de données. Vous pouvez manuellement promouvoir les réplicas en lecture sur l'instance DB maître avec une perte potentielle des données. Version MySQL Prend uniquement en charge MySQL version 5.6. Prend en charge les versions MySQL 5.1, 5.5 et 5.6. Région AWS Pour la version préliminaire de , il est possible de créer des clusters de base de données uniquement dans les régions USA Est (Virginie du Nord) (us-east-1), USA Ouest (Oregon) (us-west-2) ou UE (Irlande) (eu-west-1). Disponible dans toutes les régions AWS. Moteur de stockage MySQL Prend uniquement en charge InnoDB. Les tables des autres moteurs de stockage sont automatiquement converties en InnoDB. Prend en charge MyISAM et InnoDB. Pour plus d'informations sur la conversion des tables MySQL API Version 2014-10-31 355 Amazon Relational Database Service Guide de l'utilisateur Version préliminaire de Fonction Amazon RDS pour MySQL existantes en InnoDB et leur importation dans un cluster , consultez Migration des données vers un cluster DB (p. 370). Comme prend uniquement en charge le moteur InnoDB, l'option NO_ENGINE_SUBSTITUTION du paramètre de base de données SQL_MODE est activée. L'activation de cette option désactive la possibilité de créer une table en mémoire, à moins que cette table ne soit spécifiée comme TEMPORARY. Réplicas en lecture avec un moteur de stockage autre que celui de l'instance maître Les réplicas en lecture MySQL (autres que RDS) dont la réplication s'effectue avec un cluster DB peuvent uniquement utiliser InnoDB. Les réplicas en lecture peuvent utiliser MyISAM et InnoDB. Version préliminaire de , disponible en version préliminaire, est susceptible d'être modifié. Actuellement, est disponible en tant que version préliminaire. Pour vous inscrire à la version préliminaire de , accédez à http://aws.amazon.com/rds/aurora/preview/. Le tableau ci-après indique les régions dans lesquelles la version préliminaire de est disponible avec le lien de console pour la version préliminaire de pour cette région. Région Lien de la console USA Est (Virginie du Nord) https://console.aws.amazon.com/rds/home?region=us-east-1 USA Ouest (Oregon) https://console.aws.amazon.com/rds/home?region=us-west-2 UE (Irlande) https://console.aws.amazon.com/rds/home?region=eu-west-1 Vos commentaires sont importants pour l'amélioration de . Pour nous faire parvenir vos commentaires, écrivez-nous à l'adresse [email protected] ou accédez au forum Aurora forum, qui est régulièrement surveillé pour les clients des versions préliminaires de . Dans ce forum, nous annoncerons les modifications en attente et les événements instables qui en découlent. Mise en route avec , disponible en version préliminaire, est susceptible d'être modifié. Cette section explique comment créer un cluster de base de données et se connecter à ce dernier. Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer un cluster DB ou de vous y connecter. Une fois que vous avez terminé les tâches de configuration, suivez API Version 2014-10-31 356 Amazon Relational Database Service Guide de l'utilisateur Création d'un cluster DB et connexion à une base de données sur une instance DB les instructions de la section Création d'un cluster DB et connexion à une base de données sur une instance DB (p. 357) afin de créer votre cluster de base de données et vous y connecter. Une fois que vous avez créé votre cluster de base de données et que vous y êtes connecté, suivez les instructions relatives à la suppression du cluster de base de données afin qu'il cesse d'accumuler des frais pour votre compte AWS. Création d'un cluster DB et connexion à une base de données sur une instance DB , disponible en version préliminaire, est susceptible d'être modifié. La manière la plus simple de créer un cluster DB consiste à utiliser la console Amazon RDS. Une fois que vous avez créé le cluster DB, vous pouvez utiliser des utilitaires MySQL standard tels que MySQL Workbench pour vous connecter à une base de données sur le cluster DB. Important Vous devez réaliser les tâches dans la section Configuration d'Amazon RDS (p. 7) avant de créer un cluster DB ou de vous y connecter. Rubriques • Créer un cluster DB (p. 357) • Connexion à une instance dans un cluster DB (p. 359) • Supprimez l'échantillon de cluster DB, le groupe de sous-réseaux DB et VPC (p. 359) Créer un cluster DB Avant de créer un cluster DB, vous devez disposer d'un Amazon Virtual Private Cloud (VPC) et d'un groupe de sous-réseaux DB Amazon RDS. Votre VPC doit avoir au moins deux sous-réseaux dans au moins deux zones de disponibilité. Vous pouvez utiliser le VPC par défaut pour votre compte AWS, ou vous pouvez créer votre propre VPC. La console Amazon RDS vous facilite la création de votre propre VPC pour une utilisation avec ou l'utilisation d'un VPC avec votre cluster DB . Si vous voulez créer vous-même un groupe de sous-réseaux DB et VPC à utiliser avec votre cluster DB , au lieu que ça soit Amazon RDS qui crée le groupe de sous-réseaux DB et VPC pour vous, suivez les instructions dans Comment créer un VPC à utiliser avec (p. 360). Dans le cas contraire, suivez la procédure indiquée dans cette rubrique pour créer votre cluster DB et laisser Amazon RDS créer un groupe de sous-réseaux DB et VPC pour vous. Note Toutes les ressources VPC et Amazon EC2 que vous utilisez avec votre cluster DB doivent résider dans les régions USA Est (Virginie du Nord), USA Ouest (Oregon) ou UE (Irlande). Pour lancer un cluster DB 1. Ouvrez la console Amazon Aurora à l'adresse https://console.aws.amazon.com/rds. 2. Dans le coin supérieur droit de la AWS Management Console, choisissez la région dans laquelle vous voulez créer votre cluster DB. L'exemple utilise la région USA Est (Virginie du Nord). La version préliminaire de n'est prise en charge que pour les régions USA Est (Virginie du Nord), USA Ouest (Oregon) ou UE (Irlande). 3. Dans le volet de navigation de gauche, cliquez sur Instances DB. API Version 2014-10-31 357 Amazon Relational Database Service Guide de l'utilisateur Création d'un cluster DB et connexion à une base de données sur une instance DB 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Dans la page Select Engine, cliquez sur le bouton Select pour le moteur de base de données . 6. Définissez les valeurs suivantes dans la page Specify DB Details : • Classe d'instance de base de données: db.r3.large • DB Instance Identifier : gs-db-instance1 • Nom utilisateur maître : en utilisant des caractères alphanumériques, saisissez un nom utilisateur maître utilisé pour vous connecter à vos instances de base de données dans le cluster DB. • Master Password et Confirm Password : Dans la zone Master Password, saisissez un mot de passe contenant entre 8 et 41 caractères ASCII imprimables (sauf /," et @) pour votre mot de passe d'utilisateur maître utilisé pour vous connecter à votre base de données. Tapez ensuite à nouveau le mot de passe dans la zone Confirm Password. 7. Cliquez sur Suivant et définissez les valeurs suivantes dans la page Configuration de paramètres avancés : • ID de VPC : si vous avez un VPC existant, vous pouvez alors utiliser ce VPC avec votre cluster DB en sélectionnant votre identifiant VPC : par exemple, vpc-a464d1c1. Pour plus d'informations sur l'utilisation d'un VPC existant, consultez Comment créer un VPC à utiliser avec (p. 360). Sinon, vous pouvez choisir de demander à Amazon RDS de créer un VPC pour vous, en sélectionnant Create a new VPC. Cet exemple utilise l'option Create a new VPC. • Subnet Group : si vous avez un groupe de sous-réseaux existant, vous pouvez alors utiliser ce groupe de sous-réseaux avec votre cluster DB en sélectionnant votre identifiant de groupe de sous-réseaux, par exemple gs-subnet-group1. Sinon, vous pouvez choisir de demander à Amazon RDS de créer un groupe de sous-réseaux pour vous en sélectionnant Create a new subnet group. Cet exemple utilise l'option Create a new subnet group. • Publicly Accessible : Yes Note Il n'est pas nécessaire que votre cluster DB de production se trouve dans un sous-réseau public, parce que seuls vos serveurs d'application nécessitent l'accès à votre cluster DB. Si votre cluster DB n'a pas besoin d'être dans un sous-réseau public, définissez Publicly Accessible sur No. • Zone de disponibilité: No Preference • Groupe(s) de sécurité VPC : si vous avez un ou plusieurs groupes de sécurité VPC existants, vous pouvez alors utiliser un ou plusieurs de ces groupes de sécurité VPC avec votre cluster DB en choisissant vos identifiants de groupe de sécurité VPC, par exemple, gs-security-group1. Vous pouvez sinon choisir de demander à Amazon RDS de créer un groupe de sécurité VPC pour vous, en choisissant Create a new Security group. Cet exemple utilise l'option Create a new Security group. • DB Cluster Identifier : gs-db-cluster1 • Database Name : sampledb • Database Port : 3306 Note Il se peut que vous soyez derrière un pare-feu d'entreprise qui n'autorise pas l'accès aux ports par défaut, tels que le port par défaut MySQL 3306. Dans ce cas, fournissez une valeur de port que votre pare-feu d'entreprise autorise. Souvenez-vous plus tard de cette valeur de port lorsque vous vous connecterez au cluster DB . 8. Laissez les autres valeurs sur leurs données par défaut, et cliquez sur Lancement d'une instance DB pour créer le cluster DB et l'instance principale. API Version 2014-10-31 358 Amazon Relational Database Service Guide de l'utilisateur Création d'un cluster DB et connexion à une base de données sur une instance DB Connexion à une instance dans un cluster DB Une fois que Amazon RDS a provisionné votre cluster DB et créé l'instance principale, vous pouvez utiliser n'importe quelle application client SQL standard pour vous connecter à une base de données sur le cluster DB. Dans cet exemple, vous vous connectez à une base de données sur le cluster DB en utilisant des commandes de surveillance MySQL. Une application basée sur la GUI que vous pouvez utiliser pour la connexion est MySQL Workbench. Pour plus d'informations, consultez la page Télécharger MySQL Workbench. Pour vous connecter à une base de données sur un cluster DB en utilisant la surveillance MySQL 1. Ouvrez la console Amazon Aurora à l'adresse https://console.aws.amazon.com/rds. 2. Sélectionnez Instances et cliquez sur l'icône représentant une flèche pour afficher les détails du cluster DB. Sur la page de détails, copiez la valeur pour le point de terminaison. Ce point de terminaison est le point de terminaison du cluster. 3. Saisissez la commande suivante à une invite de commande sur un ordinateur client afin de vous connecter à une base de données sur un cluster DB en utilisant le moniteur MySQL. Utilisez le point de terminaison du cluster pour vous connecter à l'instance principale, et le nom utilisateur et mot de passe maître que vous avez créés au préalable. Si vous avez fourni une valeur de port autre que 3306, utilisezla pour le paramètre -P à la place. PROMPT> mysql -h <endpoint> -P 3306 -u <mymasteruser> -p <password> Vous verrez des résultats similaires à ce qui suit. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.1.32-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Supprimez l'échantillon de cluster DB, le groupe de sousréseaux DB et VPC Une fois que vous avez établi la connexion avec l'exemple de cluster DB que vous avez créé, vous pouvez supprimer le cluster DB, le groupe de sous-réseaux DB et VPC (si vous avez créé un VPC). Pour supprimer un cluster DB 1. Ouvrez la console Amazon Aurora à l'adresse https://console.aws.amazon.com/rds. 2. Cliquez sur Instances, puis sélectionnez la case à cocher en regard de gs-db-cluster1 Cluster DB. 3. Cliquez sur Actions d'instance, puis sur Supprimer dans le menu déroulant. 4. Cliquez sur Yes, Delete. Pour supprimer un groupe de sous-réseaux 1. Ouvrez la console Amazon Aurora à l'adresse https://console.aws.amazon.com/rds. 2. Cliquez sur Groupes de sous-réseaux, puis sélectionnez la case à cocher en regard de gs-subnetgroup1Groupe de sous-réseaux DB. 3. Cliquez sur Delete. API Version 2014-10-31 359 Amazon Relational Database Service Guide de l'utilisateur Comment créer un VPC à utiliser avec 4. Cliquez sur Yes, Delete. Pour supprimer un VPC 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon VPC à l'adresse https:// console.aws.amazon.com/vpc/. 2. Cliquez sur Vos VPC, puis sélectionnez la case à cocher en regard du VPC qui a été créé pour cette procédure. 3. Cliquez sur Delete. 4. Cliquez sur Yes, Delete. Comment créer un VPC à utiliser avec , disponible en version préliminaire, est susceptible d'être modifié. Les sections suivantes expliquent comment créer un VPC à utiliser avec . Note Pour obtenir un guide pratique et détaillé sur la connexion à un cluster DB , accédez à Connectivité RDS . Créer un VPC et des sous-réseaux Vous pouvez uniquement créer un cluster DB dans un Amazon Virtual Private Cloud (VPC) avec au moins deux sous-réseaux dans au moins deux zones de disponibilité. Vous pouvez créer un cluster DB dans le VPC par défaut de votre compte AWS ou vous pouvez créer un VPC défini par l'utilisateur. Pour plus d'informations, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Amazon RDS crée, le cas échéant, un VPC et un groupe de sous-réseaux pour que vous les utilisiez avec votre cluster DB . Cela peut être utile si vous n'avez jamais créé de VPC ou si vous voulez créer un VPC distinct de vos autres VPC. Si vous voulez qu'Amazon RDS crée automatiquement un VPC et un groupe de sous-réseaux, ignorez cette procédure et accédez à Créer un cluster DB (p. 357). Note Toutes les ressources VPC et EC2 que vous utilisez avec votre cluster DB doivent résider dans les régions USA Est (Virginie du Nord), USA Ouest (Oregon) ou UE (Irlande). Pour créer un VPC à utiliser avec un cluster DB 1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon VPC à l'adresse https:// console.aws.amazon.com/vpc/. 2. Dans le coin supérieur droit d'AWS Management Console, sélectionnez la région où vous voulez créer le VPC. L'exemple utilise la région USA Est (Virginie du Nord). La version préliminaire de n'est prise en charge que pour les régions USA Est (Virginie du Nord), USA Ouest (Oregon) ou UE (Irlande). 3. Dans le coin supérieur gauche, cliquez sur VPC Dashboard. Cliquez sur Start VPC Wizard pour commencer la création d'un VPC. 4. Dans l'Assistant Create VPC, cliquez sur VPC with a Single Public Subnet. Cliquez sur Select. 5. Définissez les valeurs suivantes dans le volet Create VPC : • IP CIDR block : 10.0.0.0/16 • VPC name : gs-cluster-vpc • Public subnet : 10.0.0.0/24 • Zone de disponibilité: us-east-1a • Subnet name : gs-subnet1 API Version 2014-10-31 360 Amazon Relational Database Service Guide de l'utilisateur Comment créer un VPC à utiliser avec • Enable DNS hostnames : Yes • Hardware tenancy : Default 6. Cliquez sur Create VPC. 7. Lorsque votre VPC a été créé, cliquez sur Close dans la page de notification. Pour créer des sous-réseaux supplémentaires 1. Pour ajouter le second à votre VPC, dans le tableau de bord du VPC, cliquez sur Subnets, puis sur Create Subnet. Un cluster DB nécessite au moins deux sous-réseaux VPC. 2. Définissez les valeurs suivantes dans le volet Create Subnet : • Name tag : gs-subnet2 • VPC : Sélectionnez le VPC que vous avez créé dans l'étape précédente : par exemple, vpc-a464d1c1 (10.0.0.0/16) | gs-cluster-vpc. • Zone de disponibilité: us-east-1c • CIDR block : 10.0.1.0/24 3. Cliquez sur Yes Create. 4. Pour garantir que le second sous-réseau que vous avez créé utilise la même table de routage que le premier sous-réseau, dans le tableau de bord du VPC, cliquez sur Subnets, puis sélectionnez le premier sous-réseau qui a été créé pour le VPC, gs-subnet1. Cliquez sur l'onglet Route Table, et notez la Current Route Table : par exemple, rtb-2719b242. 5. Dans la liste des sous-réseaux, sélectionnez le second sous-réseau, gs-subnet2. Sélectionnez l'onglet Route Table, puis cliquez sur Edit. Dans la liste Change to, sélectionnez la table de routage de l'étape précédente : par exemple, rtb-2719b242. Cliquez sur Save pour enregistrer votre sélection. Créer un groupe de sécurité et ajouter des règles entrantes Après que vous avez créé le VPC et les sous-réseaux, l'étape suivante consiste à créer un groupe de sécurité et à ajouter des règles entrantes. Pour créer un groupe de sécurité La dernière étape de la création d'un VPC à utiliser avec votre cluster DB consiste à créer un groupe de sécurité VPC, qui identifiera les adresses réseau et les protocoles autorisés à accéder aux instances du VPC. 1. Dans le tableau de bord du VPC, cliquez sur Security Groups, puis sur Create Security Group. 2. Définissez les valeurs suivantes dans le volet Create Security Group : • Name tag : gs-securitygroup1 • Group name : gs-securitygroup1 • Description: Getting Started Security Group • VPC : sélectionnez le VPC que vous avez créé précédemment : par exemple, vpc-a464d1c1 (10.0.0.0/16) | gs-cluster-vpc. 3. Cliquez sur Yes, Create pour créer le groupe de sécurité. Pour ajouter des règles entrantes au groupe de sécurité Pour vous connecter à votre instance DB , vous aurez besoin d'ajouter une règle entrante à votre groupe de sécurité VPC qui autorise la connexion du trafic entrant. 1. Déterminez l'adresse IP que vous utiliserez pour la connexion au cluster . Vous pouvez utiliser le service à l'adresse http://checkip.amazonaws.com pour déterminer votre adresse IP publique. Si votre API Version 2014-10-31 361 Amazon Relational Database Service Guide de l'utilisateur Création d'un cluster DB connexion s'effectue via un ISP ou derrière un pare-feu sans adresse IP statique, vous devez déterminer la plage d'adresses IP utilisée par les ordinateurs clients. Warning Si vous utilisez 0.0.0.0/0, vous permettez à toutes les adresses IP d'accéder à votre cluster de base de données. Cette solution est acceptable pour une brève durée dans un environnement de test, mais n'est pas sécurisée pour les environnements de production. Dans un environnement de production, vous autoriserez uniquement l'accès à votre cluster de base de données pour une adresse IP ou une plage d'adresses spécifiques. 2. Dans le tableau de bord du VPC, cliquez sur Security Groups, puis sélectionnez le groupe de sécurité gs-securitygroup1 que vous avez créé dans la procédure précédente. 3. Sélectionnez l'onglet Inbound Rules, puis cliquez sur le bouton Edit. 4. Définissez les valeurs suivantes pour votre nouvelle règle entrante : • Type: All Traffic • Source : l'adresse IP ou la plage d'adresses IP de l'étape précédente : par exemple, 203.0.113.25/32. 5. Cliquez sur Save pour enregistrer vos paramètres. Créer un groupe de sous-réseaux RDS La dernière chose à faire avant de créer un cluster DB consiste à créer un groupe de sous-réseaux DB. Votre groupe de sous-réseaux DB RDS identifie les sous-réseaux que votre cluster DB utilise à partir du VPC que vous avez créé dans les étapes précédentes. Votre groupe de sous-réseaux DB doit inclure au moins deux sous-réseaux dans au moins deux zones de disponibilité. Pour créer un groupe de sous-réseaux DB à utiliser avec votre cluster DB 1. Ouvrez la console Amazon Aurora à l'adresse https://console.aws.amazon.com/rds. 2. Sélectionnez Subnet Groups, puis cliquez sur Create DB Subnet Group. 3. Définissez les valeurs suivantes pour votre nouveau groupe de sous-réseaux DB : • Nom: gs-subnetgroup1 • Description: Getting Started Subnet Group • VPC ID : sélectionnez le VPC que vous avez créé dans la procédure précédente : par exemple, vpca464d1c1. 4. Cliquez sur add all the subnets pour ajouter les sous-réseaux associés au VPC que vous avez créé dans les étapes précédentes. Vous pouvez aussi ajouter chaque sous-réseau individuellement en sélectionnant Zone de disponibilité et Subnet ID, puis en cliquant sur Add. 5. Cliquez sur Yes, Create pour créer le groupe de sous-réseau. Création d'un cluster DB , disponible en version préliminaire, est susceptible d'être modifié. Un cluster DB est composé d'instances qui sont compatibles avec MySQL et d'un volume de cluster qui représente les données copiées à travers les trois zones de disponibilité comme un seul volume virtuel. Il existe deux types d'instances dans un cluster DB : une instance principale et des réplicas. L'instance principale effectue toutes les modifications de données du cluster DB et prend en charge les charges de travail en lecture. Chaque cluster DB possède une seule instance principale. Un réplica ne prend en charge que les charges de travail en lecture. Chaque instance DB peut avoir jusqu'à 15 réplicas. API Version 2014-10-31 362 Amazon Relational Database Service Guide de l'utilisateur Prérequis des clusters de base de données Vous pouvez vous connecter à n'importe quelle instance du cluster DB à l'aide d'une adresse de point de terminaison. La rubrique suivante montre comment créer un cluster DB , puis ajouter un réplica pour ce cluster DB. Important Vous devez effectuer les tâches de la section Configuration d'Amazon RDS (p. 7) avant de créer un cluster DB. Cette rubrique décrit comment vous pouvez créer un cluster DB à l'aide d'AWS Management Console. Pour obtenir les instructions sur la connexion à votre cluster DB , consultez Connexion à un cluster DB (p. 368). Pour obtenir un guide détaillé sur la connexion à un cluster DB , accédez à Connectivité RDS . Prérequis des clusters de base de données Les conditions suivantes sont requises pour créer un cluster de base de données. VPC Un cluster DB ne peut être créé que dans un Amazon Virtual Private Cloud (VPC) avec au moins deux sous-réseaux dans deux zones de disponibilité au moins. Vous pouvez créer un cluster DB dans le VPC par défaut de votre compte AWS ou vous pouvez créer un VPC défini par l'utilisateur. Pour plus d'informations, consultez Amazon RDS et Amazon Virtual Private Cloud (VPC) (p. 53). Note Vous pouvez communiquer avec une instance EC2 qui ne se trouve pas dans un VPC et un cluster DB à l'aide de ClassicLink. Pour de plus amples informations, veuillez consulter Utilisation de ClassicLink pour connecter une instance EC2-Classic à une instance de base de données dans un VPC Amazon (p. 504). Si vous n'avez pas de VPC par défaut ou que vous n'avez pas créé un VPC, Amazon RDS peut créer automatiquement un VPC quand vous créez un cluster DB à l'aide de la console RDS. Sinon, vous devez exécuter les actions suivantes : • Créez un VPC avec au moins deux sous-réseaux dans au moins deux zones de disponibilité. • Spécifiez un groupe de sécurité VPC qui autorise les connexions à votre cluster DB . Pour plus d'informations, consultez Utilisation d'une instance de base de données dans un VPC (p. 499). • Spécifiez un groupe de sous-réseaux DB RDS définissant au moins deux sous-réseaux du VPC pouvant être utilisés par le cluster DB . Pour plus d'informations, consultez la section Utilisations des groupes de sous-réseaux DB dans Utilisation de Amazon RDS avec Amazon Virtual Private Cloud (VPC) (p. 497). Prérequis supplémentaires • Si vous vous connectez à AWS à l'aide des informations d'identification IAM, votre compte IAM doit disposer des stratégies IAM qui accordent les autorisations requises pour exécuter les opérations Amazon RDS. Pour plus d'informations, consultez Utilisation d'AWS Identity and Access Management (IAM) pour gérer l'accès aux ressources Amazon RDS (p. 70). Si vous utilisez un compte IAM pour accéder à la console , vous devez d'abord vous connecter à AWS Management Console avec votre compte IAM, puis accéder à la console de version préliminaire à l'adresse https://console.aws.amazon.com/rds. • Si vous voulez adapter les paramètres de configuration pour votre cluster de base de données, vous devez spécifier un groupe de paramètres de base de données avec les valeurs de paramètre requises. Pour plus d'informations sur la création ou la modification d'un groupe de paramètres de base de données, consultez Utilisation des groupes de paramètres DB (p. 466). API Version 2014-10-31 363 Amazon Relational Database Service Guide de l'utilisateur Utilisation d'AWS Management Console pour lancer un cluster DB et créer un réplica • Vous devez déterminer le numéro de port TCP/IP que vous spécifierez pour votre cluster DB. Dans certaines entreprises, les pare-feux bloquent les connexions vers le port par défaut (3306). Si le parefeu de votre entreprise bloque le port par défaut, choisissez un autre port pour le cluster DB. Toutes les instances d'un cluster DB utilisent le même port. Utilisation d'AWS Management Console pour lancer un cluster DB et créer un réplica Lancement d'un cluster DB Les procédures suivantes décrivent comment utiliser AWS Management Console pour lancer un cluster DB et créer un réplica . Pour lancer un cluster DB à l'aide de la console 1. Ouvrez la console Amazon Aurora à l'adresse https://console.aws.amazon.com/rds. 2. Dans le coin supérieur droit d'AWS Management Console, sélectionnez la région dans laquelle vous voulez créer le cluster de base de données. 3. Dans le volet de navigation de gauche, cliquez sur Instances DB. 4. Cliquez sur Launch DB Instance pour démarrer l'assistant Launch DB Instance Wizard. L'assistant s'ouvre dans la page Select Engine. 5. Sur la page Sélectionner un moteur, indiquez si vous voulez que Amazon RDS crée un nouveau VPC et un groupe de sous-réseaux DB pour vous ou si vous voulez utiliser un VPC existant, puis cliquez sur le bouton Sélectionner en regard du moteur de base de données . Pour plus d'informations sur la création d'un VPC à utiliser avec un cluster DB , consultez Comment créer un VPC à utiliser avec (p. 360). 6. Sur la page Specify DB Details, spécifiez les informations relatives à votre cluster DB. Le tableau suivant affiche les paramètres d'une instance de base de données. Pour cette option... Faire ceci Classe d'instance de base de données Sélectionnez une classe d'instance DB qui définit les exigences de mémoire et de traitement pour chaque instance du cluster DB. prend en charge les classes d'instance DB db.r3.large, db.r3.xlarge, db.r3.2xlarge, db.r3.4xlarge et db.r3.8xlarge. Pour plus d'informations sur les options de classe d'instance DB, consultez Classe d'instance de base de données (p. 44). Déploiement Multi-AZ Déterminez si vous souhaitez créer des réplicas dans d'autres zones de disponibilité