Las interfaces RDS son una forma de acceder al servicio RDS que estamos creando. Después de crear y configurar el servicio RDS, debe acceder a los datos, cargar los datos en esa base de datos y ejecutar algún otro programa que deberÃa poder conectarse a la base de datos. Estas interfaces son necesarias para el acceso y la gestión de datos por parte de los usuarios finales de la base de datos, y no necesariamente el propietario de la cuenta de AWS que creó la base de datos.
Hay tres interfaces principales de este tipo.
Esta es la interfaz más simple en la que un usuario puede iniciar sesión a través de un navegador web y comenzar a utilizar los servicios de la base de datos. La desventaja de este acceso es que requiere que un humano interactúe con los servicios de RDS, y no podemos ejecutar el programa de la base de datos para realizar algunas tareas comunes, como hacer una copia de seguridad o analizar la base de datos, etc.
Esto también se conoce como acceso CLI, donde puede ejecutar un comando de base de datos desde la pantalla de la lÃnea de comandos de AWS, que debe instalarse en la máquina cliente que está utilizando. Los siguientes son los pasos para instalar una CLI en su sistema local que le permitirá acceder a los servicios de AWS.
Los pasos para instalar la AWS CLI se indican a continuación.
Verifique la versión de Python en su entorno.
ubuntu@ubuntu:~$ python -V ubuntu@ubuntu:~$ python3 -V
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
Python 2.7.12 Python 3.5.2
Si la versión es menor que 2.6 o 3.3, necesita actualizar la versión de Python en su sistema.
Busque un paquete de Python llamado pip. Deberá instalar la AWS CLI.
Pip -V
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)
Ejecute el siguiente comando para instalar AWS CLI.
pip install awscli –upgrade –user aws --version
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0
Luego configuramos la CLI aws con credenciales. Ejecutamos este comando y luego ingresamos los valores requeridos uno por uno.
aws configure
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
AWS Access Key ID [None]: ****PLE AWS Secret Access Key [None]: ********8 Default region name [None]: us-west-2 Default output format [None]: json
Con la configuración anterior, está listo para usar la CLI para comunicarse con los entornos de AWS para configurar y usar amazon RDS. Veremos cómo hacer esto en los próximos capÃtulos.
Amazon Relational Database Service (Amazon RDS) también proporciona una interfaz de programación de aplicaciones (API). Las API se utilizan cuando se intercambia información entre sistemas, en lugar de la persona que emite los comandos y recibe el resultado. Por ejemplo, si desea automatizar la adición de instancias de base de datos a RDS cuando el número de transacciones alcanza un cierto umbral, utilice el SDK de AWS para escribir un programa que rastree el número de transacciones de base de datos y asigne RDS. una instancia cuando se cumple la condición requerida.
A continuación se muestra un código de API de muestra que crea una copia de la instantánea de la base de datos. Este es un programa de Python que usa un sdk de AWS llamado boto3. La biblioteca cliente en boto3 tiene un método copy_db_snapshot que es llamado por el programa Python para crear una copia de la instantánea de la base de datos con los parámetros requeridos como se muestra.
import boto3 client = boto3.client('rds') response = client.copy_db_snapshot( SourceDBSnapshotIdentifier="mydbsnapshot", TargetDBSnapshotIdentifier="mydbsnapshot-copy", ) print(response)
Cuando se inicia el programa anterior, obtenemos una respuesta que describe las diversas propiedades del evento de copia. AquÃ, el término cadena representa los distintos nombres de parámetros que el usuario define para su entorno. Por ejemplo, VpcID es el ID de vpc donde se realiza la copia.
{ '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' }, ] } }
🚫