Configuración de una instancia de base de datos para Amazon RDS Custom para Oracle - Amazon Relational Database Service

Configuración de una instancia de base de datos para Amazon RDS Custom para Oracle

Puede crear una instancia de base de datos de RDS Custom y luego conectarse a ella mediante Secure Shell (SSH) o AWS Systems Manager.

Consideraciones sobre la arquitectura multitenencia

Si crea una instancia de base de datos de Amazon RDS Custom para Oracle con la arquitectura multitenencia de Oracle (tipo de motor custom-oracle-ee-cdb o custom-oracle-se2-cdb), la base de datos es una base de datos de contenedores (CDB). Si no especifica la arquitectura multitenencia de Oracle, la base de datos será una base de datos tradicional no CDB que utiliza el tipo de motor custom-oracle-ee o custom-oracle-se2. Una base de datos que no es CDB no puede contener bases de datos conectables (PDB, por sus siglas en inglés). Para obtener más información, consulte Arquitectura de base de datos de Amazon RDS Custom para Oracle.

Al crear una instancia de CDB de RDS Custom para Oracle, tenga en cuenta lo siguiente:

  • Puede crear una base de datos multitenencia únicamente a partir de un CEV de base de datos Oracle 19c.

  • Puede crear una instancia de CDB solo si la CEV usa el tipo de motor custom-oracle-ee-cdb o custom-oracle-se2-cdb.

  • Si crea una instancia de CDB con Standard Edition 2, la CDB puede contener un máximo de 3 PDB.

  • De forma predeterminada, la CDB se denomina RDSCDB, que también es el nombre del ID del sistema de Oracle (SID de Oracle). Puede elegir un nombre diferente.

  • Su CDB contiene solo una PDB inicial. El nombre predeterminado de la PDB es ORCL. Puede elegir un nombre diferente para su PDB inicial, pero el SID de Oracle y el nombre de PDB no pueden ser idénticos.

  • RDS Custom para Oracle no proporciona API para PDB. Para crear PDB adicionales, utilice el comando CREATE PLUGGABLE DATABASE de  Oracle SQL. RDS Custom para Oracle no restringe la cantidad de PDB que puede crear. En general, usted es responsable de crear y administrar las PDB, como en una implementación local.

  • No puede usar las API de RDS para crear, modificar ni eliminar PDB: debe usar instrucciones SQL de Oracle. Al crear una PDB mediante Oracle SQL, se recomienda realizar una instantánea manual después en caso de que tenga que realizar una recuperación en un momento dado (PITR).

  • No puede cambiar el nombre de las PDB existentes mediante las API de Amazon RDS. Tampoco puede cambiar el nombre de la CDB con el comando modify-db-instance.

  • El modo abierto de la raíz de la CDB es READ WRITE en la base de datos principal y MOUNTED en una base de datos en espera montada. RDS Custom para Oracle intenta abrir todas las PDB al abrir la CDB. Si RDS Custom para Oracle no puede abrir todas las PDB, emite el evento tenant database shutdown.

Creación de una instancia de base de datos de RDS Custom for Oracle

Cree una instancia de base de datos de Amazon RDS Custom for Oracle mediante la AWS Management Console o la AWS CLI. El procedimiento es similar al que se debe seguir para crear una instancia de base de datos de Amazon RDS. Para obtener más información, consulte Creación de una instancia de base de datos de Amazon RDS.

Si ha incluido parámetros de instalación en el manifiesto CEV, la instancia de base de datos utilizará la base de Oracle, el directorio raíz de Oracle y el ID y el nombre del usuario y grupo de UNIX/Linux que especificó. El archivo oratab, que Oracle Database crea durante la instalación, apunta a la ubicación real de la instalación en lugar de a un enlace simbólico. Cuando RDS Custom para Oracle ejecuta comandos, los ejecuta como el usuario del sistema operativo configurado en lugar de como el usuario rdsdb predeterminado. Para obtener más información, consulte Paso 5: preparar el manifiesto de la CEV.

Antes de que pueda crear o conectarse a una instancia de base de datos de RDS Custom, asegúrese de completar las tareas en Configuración del entorno para Amazon RDS Custom for Oracle.

Para crear una instancia de base de datos de RDS Custom for Oracle
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos).

  3. Elija Create database (Crear base de datos).

  4. En Choose a database creation method (Elegir un método de creación de base de datos), seleccione Standard Create (Creación estándar).

  5. En la sección Opciones de motor, haga lo siguiente:

    1. En Engine type (Tipo de motor), elija Oracle.

    2. Para Database management type (Tipo de administración de base de datos), elija Amazon RDS Custom.

    3. En Configuración de la arquitectura, realice una de las siguientes operaciones:

      • Seleccione Arquitectura multiinquilino para crear una base de datos de contenedores (CDB). En el momento de la creación, su CDB contiene un origen de PDB y una PDB inicial.

        nota

        La configuración Arquitectura multitenencia solo se admite para Oracle Database 19c.

      • Desmarque Arquitectura multiinquilino para crear una arquitectura que no sea CDB. Un producto que no sea CDB no puede contener PDB.

    4. En Edición, elija Oracle Enterprise Edition o Oracle Standard Edition 2.

    5. En Versión del motor personalizada, elija una versión del motor personalizada de RDS Custom (CEV). Una CEV tiene el siguiente formato: major-engine-version.customized_string. Un identificador de ejemplo es 19.cdb_cev1.

      Si ha elegido Arquitectura multitenencia en el paso anterior, solo puede especificar una CEV que use el tipo de motor custom-oracle-ee-cdb o custom-oracle-se2-cdb. La consola filtra las CEV que se crearon con los diferentes tipos de motor.

  6. En Templates (Plantillas), elija Production (Producción).

  7. En la sección Settings, realice lo siguiente:

    1. En Identificador de instancias de bases de datos, escriba el nombre único de la instancia de base de datos.

    2. En Nombre de usuario maestro, escriba un nombre de usuario. Puede recuperar este valor de la consola más adelante.

      Si se conecta a una base de datos no CDB, el usuario maestro es el usuario de una base de datos no CDB. Si se conecta a una CDB, el usuario maestro es el usuario de la PDB. Para conectarse a la raíz de la CDB, inicie sesión en el host, inicie un cliente SQL y cree un usuario administrativo con comandos SQL.

    3. Desmarque Generar automáticamente una contraseña.

  8. Seleccione su Clase de instancia de base de datos.

    Para ver las clases compatibles, consulte Compatibilidad de clases de instancias de base de datos con RDS Custom para Oracle.

  9. En la sección Almacenamiento, haga lo siguiente:

    1. En Tipo de almacenamiento, elija un tipo de SSD: io1, gp2 o gp3. Dispone de las siguientes opciones adicionales:

      • Para io1 o gp3, elija una tasa para las IOPS aprovisionadas. El valor predeterminado es 1000 para io1 y 12000 para gp3.

      • Para gp3, elija una tasa de Rendimiento de almacenamiento. El valor predeterminado es 500 MiBps.

    2. En Almacenamiento asignado, elija un tamaño de almacenamiento. El valor predeterminado es 40 GiB.

  10. En Conectividad, especifique su Nube privada virtual (VPC), el Grupo de subred de base de datos y el Grupo de seguridad de VPC (firewall).

  11. Para RDS Custom security (Seguridad de RDS Custom), realice una de las siguientes opciones:

    1. Para IAM instance profile (Perfil de instancias de IAM), elija el perfil de instancias para la instancia de base de datos de RDS Custom for Oracle.

      El perfil de instancias de IAM debe comenzar con AWSRDSCustom, por ejemplo, WSRDSCustomInstanceProfileForRdsCustomInstance.

    2. Para Encryption (Cifrado), elija Enter a key ARN (Ingresar una ARN de clave) para enumerar las claves de AWS KMS disponibles. A continuación, elija la clave de la lista.

      Se requiere una clave AWS KMS para RDS Custom. Para obtener más información, consulte Paso 1: crear o reutilizar una clave AWS KMS de cifrado simétrica.

  12. En Opciones de la base de datos, haga lo siguiente:

    1. (Opcional) En ID del sistema (SID), introduzca un valor para el SID de Oracle, que también es el nombre de su CDB. El SID es el nombre de la instancia de base de datos de Oracle que administra los archivos de la base de datos. En este contexto, el término «instancia de base de datos de Oracle» se refiere exclusivamente al área global del sistema (SGA) y a los procesos en segundo plano de Oracle. Si no especifica un valor de SID, se utiliza el valor predeterminado de RDSCDB.

    2. (Opcional) En Nombre de base de datos inicial, escriba un nombre. El valor predeterminado es ORCL. En la arquitectura multiinquilino, el nombre de base de datos inicial es el nombre de PDB.

      nota

      Los nombres de SID y PDB deben ser diferentes.

    3. En Grupo de opciones, elija un grupo de opciones o acepte el predeterminado.

      nota

      La única opción admitida en RDS Custom para Oracle es Timezone. Para obtener más información, consulte Zona horaria Oracle.

    4. En Periodo de retención de copia de seguridad, elija un valor. No se puede elegir 0 días.

    5. Para las secciones restantes, especifique la configuración de la instancia de base de datos de RDS Custom que prefiera. Para obtener más información acerca de cada configuración, consulte Configuración de instancias de base de datos. La siguiente configuración no aparece en la consola y no se admite:

      • Processor features (Características del procesador)

      • Storage autoscaling (Escalado automático de almacenamiento)

      • Opción de Password and Kerberos authentication (autenticación de Contraseña y Kerberos) en la Database authentication (Autenticación de base de datos) (solo se admite Password authentication [Autenticación de contraseña])

      • Performance Insights (Información sobre rendimiento)

      • Log exports (Exportaciones de registros)

      • Enable auto minor version upgrade (Habilitar la actualización automática de la versión secundaria)

      • Deletion protection (Protección contra eliminación

  13. Elija Crear base de datos.

    importante

    Al crear una instancia de base de datos de RDS Custom para Oracle, podría recibir el siguiente error: The service-linked role is in the process of being created. (El rol vinculado al servicio está en proceso de creación). Inténtelo de nuevo más tarde. Si lo hace, espere unos minutos e intente crear la instancia de base de datos de nuevo.

    El botón View credential details (Ver detalles de la credencial) aparece en la página Databases (Bases de datos).

    Para ver el nombre de usuario y la contraseña maestros para la instancia de base de datos de RDS Custom, elija View credential details (Ver detalles de credenciales).

    Para conectarse a la instancia de base de datos como usuario maestro, utilice el nombre de usuario y la contraseña que aparecen.

    importante

    No puede ver la contraseña de usuario maestro de nuevo en la consola. Si no la registra, es posible que tenga que cambiarla. Para cambiar la contraseña del usuario maestro una vez que la instancia de base de datos de RDS Custom esté disponible, inicie sesión en la base de datos y ejecute un comando ALTER USER. No puede restablecer la contraseña mediante la opción Modificar en la consola.

  14. Elija Databases (Bases de datos) para ver la lista de instancias de base de datos de RDS Custom.

  15. Elija la instancia de base de datos de RDS Custom que acaba de crear.

    En la consola de RDS, aparecen los detalles de la nueva instancia de base de datos de RDS Custom:

    • La instancia de base de datos tiene un estado de creating (creación) hasta que la instancia de base de datos de RDS Custom se crea y está lista para su uso. Cuando el estado cambie a available (disponible), podrá conectarse a la instancia de base de datos. En función de la clase de instancia y el almacenamiento asignado, la nueva instancia de base de datos puede tardar varios minutos en estar disponible.

    • El Role (Rol) tiene el valor Instance (RDS Custom) [Instancia (RDS Custom]).

    • El RDS Custom automation mode (Modo de automatización de RDS Custom) tiene el valor Full automation (Automatización completa). Esta configuración significa que la instancia de base de datos proporciona monitoreo automático y recuperación de instancias.

Puede crear una instancia de base de datos de RDS Custom mediante el comando AWS CLI create-db-instance.

Se requieren las siguientes opciones:

  • --db-instance-identifier

  • --db-instance-class (para obtener una lista de clases de instancias admitidas, consulte Compatibilidad de clases de instancias de base de datos con RDS Custom para Oracle)

  • --engine engine-type, donde engine-type es custom-oracle-ee, custom-oracle-se2, custom-oracle-ee-cdb o custom-oracle-se2-cdb

  • --engine-version cev (donde cev es el nombre de la versión del motor personalizada que especificó en Creación de una CEV)

  • --kms-key-id my-kms-key

  • --backup-retention-period days (donde days es un valor mayor que 0)

  • --no-auto-minor-version-upgrade

  • --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1 (donde region es la Región de AWS donde está creando su instancia de base de datos)

El siguiente ejemplo crea una instancia de base de datos de RDS Custom denominada my-cfo-cdb-instance. La base de datos es una CDB con el nombre no predeterminado MYCDB. El nombre de PDB no predeterminado es MYPDB. El periodo de retención de copia de seguridad es de tres días.

Para Linux, macOS o Unix:

aws rds create-db-instance \ --engine custom-oracle-ee-cdb \ --db-instance-identifier my-cfo-cdb-instance \ --engine-version 19.cdb_cev1 \ --db-name MYPDB \ --db-system-id MYCDB \ --allocated-storage 250 \ --db-instance-class db.m5.xlarge \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --port 8200 \ --kms-key-id my-kms-key \ --no-auto-minor-version-upgrade \ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1

En Windows:

aws rds create-db-instance ^ --engine custom-oracle-ee-cdb ^ --db-instance-identifier my-cfo-cdb-instance ^ --engine-version 19.cdb_cev1 ^ --db-name MYPDB ^ --db-system-id MYCDB ^ --allocated-storage 250 ^ --db-instance-class db.m5.xlarge ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --port 8200 ^ --kms-key-id my-kms-key ^ --no-auto-minor-version-upgrade ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1
nota

Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

Obtenga detalles sobre la instancia mediante el comando describe-db-instances.

aws rds describe-db-instances --db-instance-identifier my-cfo-cdb-instance

En la siguiente salida parcial se muestra el motor, los grupos de parámetros y otra información.

{ "DBInstanceIdentifier": "my-cfo-cdb-instance", "DBInstanceClass": "db.m5.xlarge", "Engine": "custom-oracle-ee-cdb", "DBInstanceStatus": "available", "MasterUsername": "admin", "DBName": "MYPDB", "DBSystemID": "MYCDB", "Endpoint": { "Address": "my-cfo-cdb-instance.abcdefghijkl.us-east-1.rds.amazonaws.com", "Port": 1521, "HostedZoneId": "A1B2CDEFGH34IJ" }, "AllocatedStorage": 100, "InstanceCreateTime": "2023-04-12T18:52:16.353000+00:00", "PreferredBackupWindow": "08:46-09:16", "BackupRetentionPeriod": 7, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-0a1bcd2e", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-cdb-19", "ParameterApplyStatus": "in-sync" } ], ...

Rol vinculado al servicio de RDS Custom

Un service-linked role (rol vinculado al servicio) le otorga a Amazon RDS Custom acceso a los recursos de su Cuenta de AWS. Facilita el uso de RDS Custom porque no tiene que agregar manualmente los permisos necesarios. RDS Custom define los permisos de sus roles vinculados al servicio y, a menos que se defina lo contrario, solo RDS Custom puede asumir sus roles. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se puede adjuntar a ninguna otra entidad de IAM.

Cuando crea una instancia de base de datos de RDS Custom, se crean y utilizan los roles vinculados a servicios de Amazon RDS y RDS Custom (si aún no existen). Para obtener más información, consulte Uso de roles vinculados a servicios de Amazon RDS.

La primera vez que crea una instancia de base de datos de RDS Custom for Oracle, podría recibir el siguiente error: he service-linked role is in the process of being created. (El rol vinculado al servicio está en proceso de creación). Inténtelo de nuevo más tarde. Si lo hace, espere unos minutos e intente crear la instancia de base de datos de nuevo.

Conexión a su instancia de base de datos de RDS Custom mediante Session Manager

Una vez que haya creado la instancia de base de datos de RDS Custom, puede conectarse a ella mediante AWS Systems Manager Session Manager. Esta es la técnica preferida que se utiliza cuando no se puede acceder a la instancia de base de datos de forma pública.

Session Manager permite acceder a las instancias de Amazon EC2 a través de un intérprete de comandos basado en navegador o mediante la AWS CLI. Para obtener más información, consulte AWSSystems Manager Session Manager.

Para conectarse a su instancia de base de datos mediante Session Manager
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) y, a continuación, seleccione la instancia de base de datos de RDS Custom que desea detener.

  3. Elija Configuration (Configuración).

  4. Tenga en cuenta el Resource ID (ID de recurso) para la instancia de base de datos. Por ejemplo, el ID del recurso puede ser db-ABCDEFGHIJKLMNOPQRS0123456.

  5. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  6. En el panel de navegación, seleccione Instances (Instancia[s]).

  7. Busque el nombre de la instancia EC2 y, a continuación, haga clic en el ID de instancia asociado a ella. Por ejemplo, el ID de instancia puede ser i-abcdefghijklm01234.

  8. Elija Connect (Conectar).

  9. Elija Session Manager.

  10. Elija Conectar.

    Se abre una ventana para la sesión.

Puede conectarse a la instancia de base de datos de RDS Custom mediante la AWS CLI. Esta técnica requiere el complemento Session Manager para la AWS CLI. Para obtener información sobre cómo instalar el complemento, consulte Install the Session Manager plugin for the AWS CLI (Instale el complemento Session Manager).

Para encontrar el ID de recurso de base de datos de la instancia de base de datos de RDS Custom, utilice aws rds describe-db-instances.

aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

En el siguiente ejemplo de resultado se muestra el ID de recurso de la instancia de RDS Custom. El prefijo es db-.

db-ABCDEFGHIJKLMNOPQRS0123456

Para buscar el ID de instancia EC2 de la instancia de base de datos, utilice aws ec2 describe-instances. El siguiente ejemplo utiliza db-ABCDEFGHIJKLMNOPQRS0123456 para el ID del recurso.

aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

El siguiente ejemplo muestra el ID de instancia EC2.

i-abcdefghijklm01234

Use el comando aws ssm start-session, proporcionando el ID de instancia EC2 en el parámetro --target.

aws ssm start-session --target "i-abcdefghijklm01234"

Una conexión exitosa sería como la siguiente.

Starting session with SessionId: yourid-abcdefghijklm1234 [ssm-user@ip-123-45-67-89 bin]$

Conexión a la instancia de base de datos de RDS Custom mediante SSH

El protocolo Secure Shell Protocol (SSH) es un protocolo de red que admite la comunicación cifrada a través de una red no segura. Después de crear la instancia de base de datos de RDS Custom, puede conectarse a ella mediante un cliente ssh. Para obtener más información, consulte Connecting to your Linux instance using SSH (Conexión a la instancia de Linux mediante SSH).

La técnica de conexión SSH depende de si la instancia de base de datos es privada, lo que significa que no acepta conexiones de la Internet pública. En este caso, debe usar el túnel SSH para conectar la utilidad ssh a su instancia. Esta técnica transporta datos con un flujo de datos dedicado (túnel) dentro de una sesión SSH existente. Puede configurar los túneles SSH mediante AWS Systems Manager.

nota

Se admiten varias estrategias para acceder a las instancias privadas. Para aprender a conectar un cliente ssh a instancias privadas mediante hosts bastión, consulte Hosts bastión de Linux en AWS. Para obtener información sobre cómo configurar el reenvío de puertos, consulte Port Forwarding Using AWS Systems Manager Session Manager (Reenvío de puertos mediante AWS Systems Manager Session Manager).

Si la instancia de base de datos se encuentra en una subred pública y tiene la configuración de disponibilidad pública, no se requiere ningún túnel SSH. Puede conectarse con SSH del mismo modo que lo haría con una instancia pública de Amazon EC2.

Para conectar un cliente ssh a la instancia de base de datos, siga estos pasos:

Paso 1: configurar la instancia de base de datos para permitir conexiones SSH

Para asegurarse de que la instancia de base de datos pueda aceptar conexiones SSH, realice el siguiente procedimiento:

  • Asegúrese de que el grupo de seguridad de instancias de base de datos permita conexiones entrantes en el puerto 22 para TCP.

    Para aprender a configurar el grupo de seguridad de la instancia de base de datos, consulte Control de acceso con grupos de seguridad.

  • Si no piensa utilizar túneles SSH, asegúrese de que la instancia de base de datos reside en una subred pública y es de acceso público.

    En la consola, se puede acceder públicamente al campo correspondiente en la pestaña Conectividad y seguridad de la página de detalles de la base de datos. Para comprobar la configuración en la CLI, ejecute el siguiente comando:

    aws rds describe-db-instances \ --query 'DBInstances[*].{DBInstanceIdentifier:DBInstanceIdentifier,PubliclyAccessible:PubliclyAccessible}' \ --output table

    Para modificar la configuración de accesibilidad de la instancia de base de datos, consulte Modificación de una instancia de base de datos de Amazon RDS.

Paso 2: recuperar la clave secreta SSH y el identificador de instancia de EC2

Para conectarse a la instancia de base de datos mediante SSH, necesita el par de claves SSH asociado a la instancia. RDS Custom crea el par de claves SSH automáticamente y le asigna el prefijo do-not-delete-rds-custom-ssh-privatekey-db- en el nombre. AWS Secrets Manager almacena su clave privada SSH como un secreto.

Recupere la clave secreta mediante la AWS Management Console o la AWS CLI. Si su instancia tiene un DNS público y no tiene pensado utilizar túneles SSH, recupere también el nombre de DNS. Especifique el nombre de DNS para las conexiones públicas.

Para recuperar la clave SSH secreta
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) y, a continuación, seleccione la instancia de base de datos de RDS Custom que desea detener.

  3. Elija Configuration (Configuración).

  4. Tenga en cuenta el valor de Resource ID (ID de recurso). Por ejemplo, el ID del recurso de la instancia de base de datos puede ser db-ABCDEFGHIJKLMNOPQRS0123456.

  5. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  6. En el panel de navegación, seleccione Instances (Instancia[s]).

  7. Busque el nombre de la instancia EC2 y elija el ID de instancia asociado a ella. Por ejemplo, el ID de instancia EC2 puede ser i-abcdefghijklm01234.

  8. En Details (Detalles), busque el Key pair name (Nombre del par de claves). El nombre del par incluye el ID del recurso de la instancia de base de datos. Por ejemplo, el nombre del par puede ser do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.

  9. Si la instancia de EC2 es pública, anote el DNS IPv4 público. Para el ejemplo, la dirección pública del Sistema de nombres de dominio (DNS) puede ser ec2-12-345-678-901.us-east-2.compute.amazonaws.com.

  10. Abra la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  11. Elija el secreto que tiene el mismo nombre que su par de claves.

  12. Elija Retrieve secret value (Recuperar valor secreto).

  13. Copie la clave SSH privada en un archivo de texto y, a continuación, guarde el archivo con la extensión .pem. Por ejemplo, guarde el archivo como /tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem.

Para recuperar la clave SSH privada y guardarla en un archivo.pem, puede utilizar la AWS CLI.

  1. Busque el ID del recurso de base de datos de la instancia de RDS Custom con aws rds describe-db-instances.

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

    En el siguiente ejemplo de resultado se muestra el ID de recurso de la instancia de RDS Custom. El prefijo es db-.

    db-ABCDEFGHIJKLMNOPQRS0123456
  2. Busque el ID de instancia de EC2 de la instancia de base de datos con aws ec2 describe-instances. El siguiente ejemplo utiliza db-ABCDEFGHIJKLMNOPQRS0123456 para el ID del recurso.

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    El siguiente ejemplo muestra el ID de instancia EC2.

    i-abcdefghijklm01234
  3. Para buscar el nombre de la clave, especifique el ID de instancia EC2. En el siguiente ejemplo, se describe la instancia de EC2 i-0bdc4219e66944afa.

    aws ec2 describe-instances \ --instance-ids i-0bdc4219e66944afa \ --output text \ --query 'Reservations[*].Instances[*].KeyName'

    En el siguiente ejemplo de salida se muestra el nombre de la clave, que utiliza el prefijo do-not-delete-rds-custom-ssh-privatekey-.

    do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c
  4. Guarde la clave privada en un archivo .pem que lleva el nombre de la clave con aws secretsmanager. El siguiente ejemplo guarda el archivo en el directorio /tmp.

    aws secretsmanager get-secret-value \ --secret-id do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c \ --query SecretString \ --output text >/tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

Paso 3: conectarse a la instancia de EC2 mediante la utilidad ssh

La técnica de conexión depende de si se conecta a una instancia de base de datos privada o pública. Una conexión privada requiere configurar el túnel de SSH mediante AWS Systems Manager.

Para conectarse a una instancia de EC2 mediante la utilidad ssh
  1. Para conexiones privadas, modifique su archivo de configuración de SSH para que utilice comandos de proxy en AWS Systems Manager Session Manager. Para las conexiones públicas, vaya al paso 2.

    Añada las líneas siguientes a ~/.ssh/config. Estas líneas envían comandos SSH a hosts cuyos nombres comienzan por i- o mi-.

    Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  2. Cambie al directorio que contiene el archivo .pem. Mediante chmod, establezca los permisos en 400.

    cd /tmp chmod 400 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem
  3. Ejecute la utilidad ssh y especifique el archivo .pem y el nombre de DNS público (para conexiones públicas) o el identificador de instancia de EC2 (para conexiones privadas). Inicie sesión como el usuario ec2-user.

    En el siguiente ejemplo, se conecta a una instancia pública mediante el nombre de DNS ec2-12-345-678-901.us-east-2.compute.amazonaws.com.

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@ec2-12-345-678-901.us-east-2.compute.amazonaws.com

    En el siguiente ejemplo, se conecta a una instancia privada mediante el ID de instancia de EC2 i-0bdc4219e66944afa.

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@i-0bdc4219e66944afa

Inicio de sesión en la base de datos de RDS Custom para Oracle como SYS

Después de crear la instancia de base de datos de RDS Custom, puede iniciar sesión en la base de datos Oracle como usuario SYS, lo que le da privilegios SYSDBA. Dispone de estas opciones de inicio de sesión:

  • Obtenga la contraseña SYS de Secrets Manager y especifíquela en su cliente SQL.

  • Utilice la autenticación del sistema operativo para iniciar sesión en la base de datos. En este caso, no es necesario introducir una contraseña.

Búsqueda de la contraseña de SYS para la base de datos RDS Custom para Oracle

Puede iniciar sesión en su base de datos Oracle como SYS o SYSTEM, o bien especificando el nombre de usuario maestro en una llamada a la API. La contraseña de SYS y SYSTEM se almacena en Secrets Manager. El secreto usa el formato de nomenclatura do-not-delete-rds-custom-resource_id-uuid. Puede encontrar la contraseña utilizando la AWS Management Console.

Para encontrar la contraseña de SYS de su base de datos en Secrets Manager
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En la consola de RDS, realice los siguientes pasos:

    1. En el panel de navegación, seleccione Databases (Bases de datos).

    2. Elija el nombre de la instancia de base de datos de RDS Custom para Oracle.

    3. Elija Configuration (Configuración).

    4. Copie el valor debajo de ID de recurso. Por ejemplo, el ID de su recurso podría ser db-abc12cde3fgh4i5jklMno6pqr7.

  3. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  4. En la consola de Secrets Manager, siga estos pasos:

    1. En el panel de navegación de la izquierda, elija Secretos.

    2. Filtre los secretos por el ID del recurso que copió en el paso 5.

    3. Elija el secreto denominado do-not-delete-rds-custom-resource_id-uuid, donde resource_id es el ID del recurso que copió en el paso 5. Por ejemplo, si el ID del recurso es db-ABC12CDE3FGH4I5JKLMNO6PQR7, el secreto se denominará do-not-delete-rds-custom-db-ABC12CDE3FGH4I5JKLMNO6PQR7.

    4. En la sección Valor del secreto, elija Recuperar valor del secreto.

    5. En Clave-valor, copie el valor de la contraseña.

  5. Instale SQL*Plus en su instancia de base de datos e inicie sesión en su base de datos como SYS. Para obtener más información, consulte Paso 3: conectar el cliente de SQL a una instancia de base de datos de Oracle.

Inicio de sesión en la base de datos RDS Custom para Oracle mediante la autenticación del sistema operativo

El usuario del sistema operativo rdsdb es propietario de los archivos binarios de la base de datos Oracle. Puede cambiar al usuario rdsdb e iniciar sesión en su base de datos RDS Custom para Oracle sin contraseña.

  1. Conéctese a la instancia de base de datos con AWS Systems Manager. Para obtener más información, consulte Conexión a su instancia de base de datos de RDS Custom mediante Session Manager.

  2. En un navegador web, vaya a https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html.

  3. Para obtener la versión más reciente de la base de datos que aparece en la página web, copie los enlaces .rpm (no los enlaces .zip) del paquete básico de Instant Client y del package de SQL*Plus. Por ejemplo, los siguientes enlaces corresponden a la versión 21.9 de Oracle Database:

    • https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-basic-21.9.0.0.0-1.el8.x86_64.rpm

    • https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-sqlplus-21.9.0.0.0-1.el8.x86_64.rpm

  4. En su sesión de SSH, ejecute el comando wget para descargar los archivos .rpm desde los enlaces que obtuvo en el paso anterior. En el siguiente ejemplo, se descargan los archivos.rpm de la versión 21.9 de Oracle Database:

    wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-basic-21.9.0.0.0-1.el8.x86_64.rpm wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-sqlplus-21.9.0.0.0-1.el8.x86_64.rpm
  5. Ejecute el comando yum para instalar los paquetes de la manera siguiente:

    sudo yum install oracle-instantclient-*.rpm
  6. Cambie al usuario rdsdb.

    sudo su - rdsdb
  7. Inicie sesión en la base de datos utilizando la autenticación del sistema operativo.

    $ sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Wed Apr 12 20:11:08 2023 Version 21.9.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.10.0.0.0

Instalación de componentes de software adicionales en su instancia de base de datos RDS Custom para Oracle

En una instancia de base de datos recién creada, el entorno de base de datos incluye archivos binarios de Oracle, una base de datos y un oyente de bases de datos. Puede que desee instalar software adicional en el sistema operativo host de la instancia de base de datos. Por ejemplo, puede que desee instalar Oracle Application Express (APEX), el agente Oracle Enterprise Manager (OEM) o el agente Guardium S-TAP. Para obtener pautas e instrucciones detalladas, consulte la entrada de blog AWS detallada Install additional software components on Amazon RDS Custom for Oracle.