Puede modificar una instancia de base de datos de RDS Custom para SQL Server existente para que pase de una implementación single-AZ a una implementación multi-AZ. Cuando modifica la instancia de base de datos, Amazon RDS realiza varias acciones:
-
Realiza una instantánea de la instancia de base de datos principal.
-
Crea nuevos volúmenes para la réplica en espera a partir de la instantánea. Estos volúmenes se inicializan en segundo plano y se alcanza el máximo rendimiento del volumen cuando los datos se han inicializado por completo.
-
Activa la replicación síncrona a nivel de bloque entre las instancias de base de datos principal y secundaria.
importante
Le recomendamos que no modifique su instancia de base de datos de RDS Custom para SQL Server para convertir la implementación single-AZ en una implementación multi-AZ en una instancia de base de datos de producción durante los períodos de máxima actividad.
AWS usa una instantánea para crear la instancia en espera para evitar el tiempo de inactividad al convertir una implementación single-AZ en multi-AZ, pero el rendimiento podría verse afectado durante y después de la conversión a multi-AZ. Este impacto puede ser significativo para las cargas de trabajo sensibles a la latencia de escritura. Si bien esta capacidad permite restaurar rápidamente grandes volúmenes a partir de instantáneas, puede provocar un aumento considerable de la latencia de las operaciones de E/S debido a la replicación síncrona. Esta latencia puede afectar al rendimiento de la base de datos.
nota
Si creó la instancia de base de datos de RDS Custom para SQL Server antes del 29 de agosto de 2024, aplique el parche a la versión secundaria más reciente antes de modificarla.
-
Para las instancias de SQL Server 2019, actualice la versión del motor de base de datos a
15.00.4410.1.v1
o superior. -
Para las instancias de SQL Server 2022, actualice la versión del motor de base de datos a
16.00.4150.1.v1
o superior.
Configuración de requisitos previos para convertir una implementación single-AZ en multi-AZ mediante CloudFormation
Para utilizar una implementación multi-AZ, debe asegurarse de haber aplicado la plantilla de CloudFormation más reciente con los requisitos previos o de configurar manualmente los requisitos previos más recientes. Si ya ha aplicado la plantilla de requisitos previos de CloudFormation más reciente, puede omitir estos pasos.
Para configurar los requisitos previos de las implementaciones multi-AZ de RDS Custom para SQL Server mediante CloudFormation
-
Abra la consola de CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Para iniciar el asistente Crear pila, seleccione la pila existente que utilizó para crear una implementación Single-AZ y elija Actualizar.
Aparecerá la página Actualizar pila.
-
En Requisito previo: preparar la plantilla, elija Reemplazar la plantilla actual.
-
En Specify template (Especificar plantilla), haga lo siguiente:
Descargue el archivo de plantilla de AWS CloudFormation más reciente. Abra el menú contextual (haga clic con el botón derecho del ratón) del enlace custom-sqlserver-onboard.zip y elija Save Link As (Guardar enlace como).
-
Guarde y extraiga el archivo
custom-sqlserver-onboard.json
en su equipo. -
Para Origen de plantilla, elija Cargar un archivo de plantilla.
-
En Choose file (Elegir archivo), navegue hasta
custom-sqlserver-onboard.json
y elíjalo.
-
Elija Siguiente.
Aparecerá la página Specify stack details (Especificar los detalles de la pila).
-
Para conservar las opciones predeterminadas, elija Next (Siguiente).
Aparece la página Opciones avanzadas.
-
Para conservar las opciones predeterminadas, elija Next (Siguiente).
-
Para conservar las opciones predeterminadas, elija Next (Siguiente).
-
En la página Revisar los cambios, haga lo siguiente:
-
Para Capabilities (Capacidades), seleccione la casilla de verificación I acknowledge that AWS CloudFormation might create IAM resources with custom names (Reconozco que podría crear recursos de IAM con nombres personalizados).
-
Elija Enviar.
-
-
Compruebe que la actualización se ha realizado correctamente. Si la operación se ha realizado correctamente, aparece
UPDATE_COMPLETE
.
Si la actualización falla, se revertirá cualquier configuración nueva especificada en el proceso de actualización. El recurso existente seguirá pudiéndose utilizar. Por ejemplo, si añade reglas de ACL de red con los números 18 y 19, pero ya existían reglas con esos números, la actualización devolvería el siguiente error: Resource handler
returned message: "The network acl entry identified by 18 already exists.
. En este caso, puede modificar las reglas de ACL existentes para usar un número inferior a 18 y, a continuación, volver a intentar la actualización.
Configuración de los requisitos previos para convertir manualmente una implementación single-AZ en multi-AZ
importante
Para simplificar la configuración, le recomendamos que utilice el archivo de plantilla de AWS CloudFormation más reciente que se proporciona en las instrucciones de configuración de red. Para obtener más información, consulte Configuración de requisitos previos para convertir una implementación single-AZ en multi-AZ mediante CloudFormation.
Si decide configurar los requisitos previos manualmente, realice las siguientes tareas.
-
Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/
. -
Elija Punto de conexión. Aparecerá la página Create Endpoint (Creación de un punto de enlace).
-
En Categoría de servicio, elija Servicios de AWS.
-
En Servicios, busque
SQS
. -
En VPC, elija la VPC en la que esté implementada la instancia de base de datos de RDS Custom para SQL Server.
-
En Subredes, elija las subredes en las que está implementada la instancia de base de datos de RDS Custom para SQL Server.
-
En Grupos de seguridad, elija el grupo
-vpc-endpoint-sg
. -
En Política, elija Personalizada.
-
En su política personalizada, sustituya la
partición de AWS
, laregión
, elidentificador de cuenta
y elrol de instancia de IAM
por sus propios valores.{ "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } }, "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*", "Effect": "Allow", "Principal": { "AWS": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/{IAM-Instance-role}" } } ] }
-
Actualice el perfil de instancia con permiso para acceder a Amazon SQS. Sustituya la
partición de AWS
,la región
y elidentificador de cuenta
por sus propios valores.{ "Sid": "SendMessageToSQSQueue", "Effect": "Allow", "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": [ { "Fn::Sub": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*" } ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } } } >
-
Actualice las reglas de entrada y salida del grupo de seguridad de Amazon RDS para permitir el puerto 1120.
En Grupos de seguridad, elija el grupo
-rds-custom-instance-sg
.En Reglas de entrada, cree una regla TCP personalizada para permitir el puerto
1120
desde el grupo-rds-custom-instance-sg
de origen.En Reglas de salida, cree una regla TCP personalizada para permitir el puerto
1120
al grupo-rds-custom-instance-sg
de destino.
-
Añada una regla a la lista de control de acceso (ACL) de su red privada que permita los puertos TCP
0-65535
para la subred de origen de la instancia de base de datos.nota
Al crear una Regla de entrada y una Regla de salida, tome nota del Número de regla más alto. Las nuevas reglas que cree deben tener un Número de regla inferior a 100 y no coincidir con ningún Número de regla existente.
En ACL de red, elija el grupo
-private-network-acl
.En Reglas de entrada, cree una regla para Todos los TCP para permitir los puertos TCP
0-65535
que se originan desdeprivatesubnet1
yprivatesubnet2
.En Reglas de salida, cree una regla para Todos los TCP para permitir los puertos TCP
0-65535
que van aprivatesubnet1
yprivatesubnet2
.
Realice las modificaciones mediante la consola de RDS, la CLI de AWS o la API de RDS.
Una vez completados los requisitos previos, puede modificar una instancia de base de datos de RDS Custom para SQL Server para convertir una implementación single-AZ en multi-AZ mediante la consola de RDS, la CLI de AWS o la API de RDS.
Para convertir una implementación single-AZ de RDS Custom para SQL Server en una implementación multi-AZ
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En la consola de Amazon RDS, seleccione Databases (Bases de datos).
Aparece el panel Databases (Bases de datos).
-
Elija la instancia de base de datos de RDS Custom para SQL Server que desea restaurar.
-
En Acciones, elija Convertir a implementación multi-AZ.
-
Para aplicar los cambios de forma inmediata, seleccione la opción Aplicar inmediatamente en la página Confirmación. La elección de esta opción no provoca tiempo de inactividad, pero existe un posible impacto en el rendimiento. De forma alternativa, también puede aplicar la actualización durante la siguiente ventana de mantenimiento. Para obtener más información, consulte Uso de la configuración de la programación de modificaciones.
-
En la página Confirmación, seleccione Convertir a multi-AZ.
Para convertirla en una implementación de instancia de base de datos multi-AZ mediante la AWS CLI, llame al comando modify-db-instance y defina la opción --multi-az
. Especifique el identificador de instancias de base de datos y los valores de las otras opciones que desea modificar. Para obtener más información acerca de cada opción, consulte Configuración de instancias de base de datos.
ejemplo
El código siguiente modifica mycustomdbinstance
al incluir la opción --multi-az
. Los cambios se aplican durante el siguiente periodo de mantenimiento si se utiliza el parámetro --no-apply-immediately
. Utilice --apply-immediately
para aplicar los cambios inmediatamente. Para obtener más información, consulte Uso de la configuración de la programación de modificaciones.
Para Linux, macOS o Unix:
aws rds modify-db-instance \ --db-instance-identifier
mycustomdbinstance
\ --multi-az \--no-apply-immediately
Para Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mycustomdbinstance
^ --multi-az \ ^--no-apply-immediately
Para convertirla en una implementación de instancia de base de datos multi-AZ con la API de RDS, llame a la operación ModifyDBInstance y defina el parámetro MultiAZ
en true.