

# Conexión a la instancia de base de datos de RDS Custom mediante RDP
<a name="custom-creating-sqlserver.rdp"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html).

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:

1. [Configurar la instancia de base de datos para permitir conexiones RDP](#custom-creating-sqlserver.rdp.port).

1. [Recuperar la clave secreta](#custom-creating-sqlserver.rdp.key).

1. [Conéctese a la instancia EC2 mediante la utilidad RDP](#custom-creating-sqlserver.rdp.connect).

## Configurar la instancia de base de datos para permitir conexiones RDP
<a name="custom-creating-sqlserver.rdp.port"></a>

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
<a name="custom-creating-sqlserver.rdp.port.vpc"></a>

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](custom-setup-sqlserver.md#custom-setup-sqlserver.vpc.sg).

### Establecer la regla de firewall en el host
<a name="custom-creating-sqlserver.rdp.port.firewall"></a>

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](https://docs.microsoft.com/en-us/powershell/module/netsecurity/set-netfirewallrule?view=windowsserver2019-ps) 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](custom-creating-sqlserver.ssm.md).

1. 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")
   ```

1. 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
<a name="custom-creating-sqlserver.rdp.key"></a>

Recuperar la clave secreta mediante la Consola de administración de AWS o la AWS CLI.

### Consola
<a name="custom-creating-sqlserver.rdp.key.CON"></a>

**Para recuperar la clave secreta**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. 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.

1. Elija la pestaña **Configuration** (Configuración).

1. 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`.

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

1. 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`.

1. 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`.

1. 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`.

1. Abra la consola de AWS Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

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

1. Elija **Retrieve secret value** (Recuperar valor secreto).

### AWS CLI
<a name="custom-creating-sqlserver.rdp.key.CLI"></a>

**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
   ```

1. Elija el identificador de instancias de bases de datos de la salida de muestra, por ejemplo, `do-not-delete-rds-custom-my-custom-instance`.

1. 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
   ```

1. 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
<a name="custom-creating-sqlserver.rdp.connect"></a>

Siga el procedimiento en [Connect to your Windows instance using RDP](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html#connect-rdp) en la *Guía del usuario de Amazon EC2*. Este procedimiento asume que creó un archivo .pem que contiene su clave privada.