Amazon Relational Database Service - Guide de l`utilisateur

publicité
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é 
Téléchargement