Amazon RDS - Interfaces
Les interfaces RDS sont un moyen d'accéder au service RDS que nous créons. Après la création et la configuration du service RDS, il est nécessaire d'accéder aux données, de télécharger des données dans cette base de données et d'exécuter un autre programme qui devrait pouvoir se connecter à la base de données. Ces exigences d'accès et de manipulation des données par les utilisateurs finaux de la base de données et pas nécessairement par le titulaire du compte AWS qui a créé la base de données ont besoin de ces interfaces.
Il existe trois principales interfaces de ce type.
Il s'agit de la plus simple des interfaces où l'utilisateur peut se connecter via un navigateur Web et commencer à utiliser les services DB. L'inconvénient d'un tel accès est qu'il a besoin d'un humain pour interagir avec les services RDS et que nous ne pouvons pas exécuter un programme de base de données pour effectuer certaines tâches régulières telles que - sauvegarder ou analyser la base de données, etc.
Il est également appelé accès CLI où vous pouvez exécuter la commande DB via l'écran d'invite de commande AWS qui aurait dû être installé sur l'ordinateur client que vous utilisez. Vous trouverez ci-dessous les étapes pour installer l'interface de ligne de commande dans votre système local à l'aide duquel vous accéderez aux services AWS.
Les étapes d'installation de l'AWS CLI sont les suivantes.
Étape 1
Recherchez la version de python dans votre environnement.
ubuntu@ubuntu:~$ python -V
ubuntu@ubuntu:~$ python3 -V
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
Python 2.7.12
Python 3.5.2
Si la version est inférieure à 2.6 ou 3.3, vous devez mettre à niveau la version de python de votre système.
Étape 2
Vérifiez la disponibilité du package python nommé pip. Il sera nécessaire pour installer l'AWS CLI.
Pip -V
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)
Étape 3
Exécutez la commande suivante pour installer l'AWS CLI.
pip install awscli –upgrade –user
aws --version
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0
Étape 4
Ensuite, nous configurons la CLI aws avec les informations d'identification. Nous émettons cette commande, puis entrons les valeurs requises une par une.
aws configure
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
AWS Access Key ID [None]: ****PLE
AWS Secret Access Key [None]: ********8
Default region name [None]: us-west-2
Default output format [None]: json
Avec la configuration ci-dessus en place, vous êtes maintenant prêt à utiliser l'interface de ligne de commande pour communiquer avec les environnements AWS afin de configurer et d'utiliser amazon RDS. Dans les prochains chapitres, nous verrons comment nous pouvons y parvenir.
Amazon Relational Database Service (Amazon RDS) fournit également une interface de programmation d'application (API). Les API sont utilisées lorsque les informations sont échangées entre les systèmes plutôt qu'un humain émettant les commandes et recevant le résultat. Par exemple, si vous souhaitez automatiser l'ajout d'instances de base de données à un service RDS lorsque le nombre de transactions atteint un certain seuil, vous utilisez un AWS SDK pour écrire un programme qui surveillera le nombre de transactions de base de données et dérivera un RDS instance lorsque la condition requise est remplie.
Vous trouverez ci-dessous un exemple de code API qui crée une copie d'un instantané de base de données. C'est un programme python qui utilise AWS sdk nommé boto3. La bibliothèque cliente de boto3 a une méthode nommée copy_db_snapshot qui est appelée par le programme python pour créer une copie de l'instantané de base de données avec les paramètres requis comme indiqué.
import boto3
client = boto3.client('rds')
response = client.copy_db_snapshot(
SourceDBSnapshotIdentifier='mydbsnapshot',
TargetDBSnapshotIdentifier='mydbsnapshot-copy',
)
print(response)
Lorsque le programme ci-dessus est exécuté, nous obtenons la réponse qui décrit les différentes propriétés de l'événement de copie. Ici, le terme chaîne représente les différents noms de paramètres définis par l'utilisateur pour leur environnement. Par exemple, VpcID représente l'ID du vpc dans lequel l'action de copie a lieu.
{
'DBSnapshot': {
'DBSnapshotIdentifier': 'string',
'DBInstanceIdentifier': 'string',
'SnapshotCreateTime': datetime(2015, 1, 1),
'Engine': 'string',
'AllocatedStorage': 123,
'Status': 'string',
'Port': 123,
'AvailabilityZone': 'string',
'VpcId': 'string',
'InstanceCreateTime': datetime(2015, 1, 1),
'MasterUsername': 'string',
'EngineVersion': 'string',
'LicenseModel': 'string',
'SnapshotType': 'string',
'Iops': 123,
'OptionGroupName': 'string',
'PercentProgress': 123,
'SourceRegion': 'string',
'SourceDBSnapshotIdentifier': 'string',
'StorageType': 'string',
'TdeCredentialArn': 'string',
'Encrypted': True|False,
'KmsKeyId': 'string',
'DBSnapshotArn': 'string',
'Timezone': 'string',
'IAMDatabaseAuthenticationEnabled': True|False,
'ProcessorFeatures': [
{
'Name': 'string',
'Value': 'string'
},
]
}
}