Creación y conexión a una instancia de base de datos para Amazon RDS Custom for SQL Server - Amazon Relational Database Service

Creación y conexión a una instancia de base de datos para Amazon RDS Custom for SQL Server

Puede crear una instancia de base de datos de RDS Custom y, a continuación, conectarse a ella mediante AWS Systems Manager o Remote Desktop Protocol (RDP).

importante

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

Puede etiquetar instancias de base de datos de RDS Custom cuando las crea, pero no cree ni modifique la etiqueta AWSRDSCustom necesaria para la automatización de RDS Custom. Para obtener más información, consulte Etiquetado de los recursos de RDS Custom for SQL Server.

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

Creación de una instancia de base de datos de RDS Custom para SQL Server

Cree una instancia de base de datos de Amazon RDS Custom for SQL Server 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.

Para crear una instancia de base de datos de RDS Custom for SQL Server
  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. Elija Standard Create (Creación estándar) para el método de creación de la base de datos.

  5. Para Engine options (Opciones del motor), elija Microsoft SQL Server para el tipo de motor.

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

  7. En la sección Edition (Edición), elija la edición del motor de base de datos que desea utilizar.

  8. (Opcional) Si tiene la intención de crear la instancia de base de datos a partir de una CEV, active la casilla Use custom engine version (CEV) (Usar versión de motor personalizada [CEV]). En la lista desplegable, seleccione CEV.

  9. Para Versión de la base de datos, mantenga el valor predeterminado de la versión.

  10. Para Templates (Plantillas), elija Production (Producción).

  11. En la sección Settings (Configuración), ingrese un nombre exclusivo para el DB instance identifier (Identificador de instancias de bases de datos).

  12. Para ingresar la contraseña maestra, proceda del modo siguiente:

    1. En la sección Settings (Configuración), abra Credential Settings (Configuración de credenciales).

    2. Desmarque la casilla Auto generate a password (Generar automáticamente una contraseña).

    3. Cambie el valor del Master username (Nombre de usuario maestro) e ingrese la misma contraseña en Master password (Contraseña maestra) y Confirm password (Confirmar contraseña).

    De forma predeterminada, la nueva instancia de base de datos de RDS Custom utiliza una contraseña generada automáticamente para el usuario maestro.

  13. En la sección DB instance size (Tamaño de la instancia de base de datos), elija un valor para la DB instance class 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 for SQL.

  14. Elija la configuración de Storage (Almacenamiento).

  15. 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 SQL Server.

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

    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 Asegúrese de que tiene una clave de cifrado simétrica AWS KMS.

  16. 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)

    • Disponibilidad y durabilidad

    • 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])

    • Grupo de Database options (Opciones de base de datos) en Additional configuration (Configuración adicional)

    • 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

    Backup retention period (Periodo de retención de copia de seguridad) es compatible, pero no puedes elegir 0 días.

  17. Elija Crear base de datos.

    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. Si no la registra, es posible que tenga que cambiarla. Para cambiar la contraseña del usuario maestro después de que la instancia de base de datos de RDS Custom esté disponible, modifique la instancia de base de datos. Para obtener más información acerca de la modificación de una instancia de base de datos, consulte Administración de una instancia de base de datos para Amazon RDS Custom for SQL Server.

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

  19. 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:

El siguiente ejemplo crea una instancia de base de datos de RDS Custom for SQL Server denominada my-custom-instance. El periodo de retención de copia de seguridad es de 3 días.

nota

Para crear una instancia de base de datos a partir de una versión de motor personalizada (CEV, por sus siglas en inglés), proporcione un nombre CEV existente al parámetro --engine-version. Por ejemplo, --engine-version 15.00.4249.2.my_cevtest

Para Linux, macOS, o Unix:

aws rds create-db-instance \ --engine custom-sqlserver-ee \ --engine-version 15.00.4073.23.v1 \ --db-instance-identifier my-custom-instance \ --db-instance-class db.m5.xlarge \ --allocated-storage 20 \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --no-multi-az \ --port 8200 \ --kms-key-id mykmskey \ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance

En Windows:

aws rds create-db-instance ^ --engine custom-sqlserver-ee ^ --engine-version 15.00.4073.23.v1 ^ --db-instance-identifier my-custom-instance ^ --db-instance-class db.m5.xlarge ^ --allocated-storage 20 ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --no-multi-az ^ --port 8200 ^ --kms-key-id mykmskey ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance
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-custom-instance

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

{ "DBInstances": [ { "PendingModifiedValues": {}, "Engine": "custom-sqlserver-ee", "MultiAZ": false, "DBSecurityGroups": [], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-sqlserver-ee-15", "ParameterApplyStatus": "in-sync" } ], "AutomationMode": "full", "DBInstanceIdentifier": "my-custom-instance", "TagList": [] } ] }

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 SQL Server, podría recibir el siguiente error: The service-linked role is in the process of being created (El rol vinculado al servicio se está creando). 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 la instancia de base de datos de RDS Custom DB mediante AWS Systems Manager

Una vez que haya creado la instancia de base de datos de RDS Custom, puede conectarse a ella mediante Session Manager AWS Systems Manager. Session Manager es una capacidad de Systems Manager que puede utilizar para administrar instancias de Amazon EC2 a través de un shell 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 valor de 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, elija Instances (Instancias).

  7. Busque el nombre de la instancia EC2 y, a continuación, elija 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 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 RDP

Después de crear su instancia de base de datos de RDS Custom, puede conectarse a esta instancia mediante un cliente RDP. El procedimiento es el mismo que para conectarse a una instancia de Amazon EC2. Para obtener más información, consulte Conexión con su instancia de Windows.

Para conectarse a la instancia de base de datos, necesita el par de claves asociado a la instancia. RDS Custom crea el par de claves por usted. El nombre del par utiliza el prefijo do-not-delete-rds-custom-DBInstanceIdentifier. AWS Secrets Manager almacena la clave privada como secreto.

Complete la tarea en los siguientes pasos:

Configurar la instancia de base de datos para permitir conexiones RDP

Para permitir conexiones RDP, configure el grupo de seguridad de la VPC y establezca una regla de firewall en el host.

Configure los grupos de seguridad de la VPC

Asegúrese de que el grupo de seguridad de la VPC asociado a su instancia de base de datos permita conexiones entrantes en el puerto 3389 para Transmission Control Protocol (TCP). Para obtener información sobre cómo configurar el grupo de seguridad de la VPC, consulte Configure los grupos de seguridad de la VPC.

Establecer la regla de firewall en el host

Para permitir conexiones entrantes en el puerto 3389 para TCP, establezca una regla de firewall en el host. El siguiente ejemplo muestra cómo hacerlo.

Le recomendamos que use el valor específico -Profile: Public, Private o Domain. El uso de Any se refiere a los tres valores. También puede especificar una combinación de valores separados por una coma. Para obtener más información sobre la configuración de reglas de firewall, consulte Set-NetFirewallRule en la documentación de Microsoft.

Cómo usar el administrador de sesiones de Systems Manager para establecer una regla de firewall
  1. Conéctese a Session Manager como se muestra en Conexión a la instancia de base de datos de RDS Custom DB mediante AWS Systems Manager.

  2. Ejecute el siguiente comando de la .

    Set-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)" -Direction Inbound -LocalAddress Any -Profile Any
Cómo usar los comandos de la CLI de Systems Manager para establecer una regla de firewall
  1. Utilice el siguiente comando para abrir RDP en el host.

    OPEN_RDP_COMMAND_ID=$(aws ssm send-command --region $AWS_REGION \ --instance-ids $RDS_CUSTOM_INSTANCE_EC2_ID \ --document-name "AWS-RunPowerShellScript" \ --parameters '{"commands":["Set-NetFirewallRule -DisplayName \"Remote Desktop - User Mode (TCP-In)\" -Direction Inbound -LocalAddress Any -Profile Any"]}' \ --comment "Open RDP port" | jq -r ".Command.CommandId")
  2. Utilice el ID del comando devuelto en el resultado para obtener el estado del comando anterior. Para utilizar la siguiente consulta para devolver el ID del comando, asegúrese de tener el complemento jq instalado.

    aws ssm list-commands \ --region $AWS_REGION \ --command-id $OPEN_RDP_COMMAND_ID

Recuperar la clave secreta

Recuperar la clave secreta mediante la AWS Management Console o la AWS CLI.

Para recuperar la clave 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 la pestaña Configuration (Configuración).

  4. Tenga en cuenta el DB instance ID (ID de la instancia de base de datos) para su instancia de base de datos, por ejemplo my-custom-instance.

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

  6. En el panel de navegación, elija Instances (Instancias).

  7. Busque el nombre de la instancia EC2 y, a continuación, elija el ID de instancia asociado a ella.

    En este ejemplo, el ID de la instancia es i-abcdefghijklm01234.

  8. En Details (Detalles), busque el Key pair name (Nombre del par de claves). El nombre del par incluye el identificador de base de datos. En este ejemplo, el nombre del par es do-not-delete-rds-custom-my-custom-instance-0d726c.

  9. En el resumen de la instancia, busque Public IPv4 DNS (DNS IPv4 público). Por ejemplo, el DNS público podría 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).

Para recuperar la clave privada
  1. Obtenga la lista de instancias de base de datos de RDS Custom llamando al comando aws rds describe-db-instances.

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text
  2. Elija el identificador de instancias de bases de datos de la salida de muestra, por ejemplo, do-not-delete-rds-custom-my-custom-instance.

  3. Busque el ID de instancia EC2 de la instancia de base de datos llamando al comando aws ec2 describe-instances. En el siguiente ejemplo se utiliza el nombre de instancia EC2 para describir la instancia de base de datos.

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=do-not-delete-rds-custom-my-custom-instance" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    El siguiente ejemplo muestra el ID de instancia EC2.

    i-abcdefghijklm01234
  4. Para encontrar el nombre de la clave, especifique el ID de instancia EC2, como se muestra en el siguiente ejemplo.

    aws ec2 describe-instances \ --instance-ids i-abcdefghijklm01234 \ --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-DBInstanceIdentifier.

    do-not-delete-rds-custom-my-custom-instance-0d726c

Conéctese a la instancia EC2 mediante la utilidad RDP

Siga el procedimiento en Connect to your Windows instance using RDP (Conectarse a la instancia de Windows mediante RDP) en Amazon EC2 User Guide for Windows Instances (Guía del usuario de Amazon EC2 para instancias de Windows). Este procedimiento asume que creó un archivo .pem que contiene su clave privada.