Creación de una versión de motor personalizado para RDS para SQL Server
Una versión de motor personalizada (CEV) para RDS para SQL Server se compone de medios de instalación de SQL Server Developer Edition importados a Amazon RDS. Cree una CEV para RDS para SQL Server a fin de lanzar varias instancias de bases de datos con configuraciones uniformes de SQL Server Developer Edition.
Antes de crear una CEV, compruebe que RDS para SQL Server es compatible con el medio de instalación y que está cargado en el bucket de S3:
# Check available engine versions aws rds describe-db-engine-versions \ --engine sqlserver-dev-ee \ --region us-west-2 # Verify S3 files aws s3 lss3://my-installation-media-bucket/sqlserver-dev-media/
Limitaciones de nomenclatura
Al crear una CEV, debe seguir convenciones de nomenclatura específicas:
-
El nombre de la CEV debe seguir el patrón:
major-version.minor-version.customized-string. -
La versión principal y secundaria deben coincidir con la versión de SQL Server del medio de instalación.
-
customized-stringpuede contener de 1 a 50 caracteres alfanuméricos, guiones bajos, guiones y puntos. -
Los nombres de la CEV deben ser únicos en la Cuenta de AWS y región.
-
Ejemplo:
16.00.4215.2.my-dev-cevpara SQL Server 2022.
Creación de la versión de motor personalizada
-
Utilice el comando create-custom-db-engine-version.
Se requieren las siguientes opciones:
-
--engine -
--engine-version -
--database-installation-files-s3-bucket-name -
--database-installation-files -
--region
También puede especificar las siguientes opciones:
-
--database-installation-files-s3-prefix -
--description -
--tags
aws rds create-custom-db-engine-version \ --engine sqlserver-dev-ee \ --engine-version 16.00.4215.2.my-dev-cev \ --region us-west-2 \ --database-installation-files-s3-bucket-name my-installation-media-bucket \ --database-installation-files-s3-prefix sqlserver-dev-media \ --database-installation-files "SQLServer2022-x64-ENU-Dev.iso" "SQLServer2022-KB5065865-x64.exe" -
La creación de la CEV suele tardar entre 30 y 60 minutos. Para supervisar el progreso de creación de CEV, utilice el siguiente comando:
# Check CEV status aws rds describe-db-engine-versions \ --engine sqlserver-dev-ee \ --engine-version 16.00.4215.2.my-dev-cev \ --region us-west-2
Ciclo de vida de una CEV de RDS para SQL Server
Al trabajar con SQL Server Developer Edition en RDS para SQL Server, las versiones personalizadas del motor pasan por varios estados del ciclo de vida.
| Estado del ciclo de vida | Descripción | Cuando ocurre | Acciones disponibles |
|---|---|---|---|
pending-validation |
Estado inicial cuando se crea la CEV | Inmediatamente después de ejecutar el comando create-custom-db-engine-version |
Supervisión del estado a través de describe-db-engine-version |
validating |
RDS valida activamente la CEV | Durante la validación asíncrona | Supervisión del estado, espera para la finalización |
available |
La CEV pasó la validación y puede usarla | Una vez que RDS valide correctamente su ISO | Creación de instancias de base de datos con esta CEV |
failed |
Error en la validación de CEV | Cuando la validación ISO produce un error (discordancia del hash, problemas con los archivos, etc.) |
|
deprecated |
Amazon RDS dejó de usar la CEV, pero aún puede usarla | Durante las campañas de obsolescencia de RDS | Actualización a una versión más reciente o riesgo de suspensión |
no_create |
CEV no se puede utilizar para instancias nuevas | Acción administrativa o aplicación de políticas | No se pueden crear nuevas instancias, las existentes pueden continuar |
Descripción del estado de CEV
Puede ver el estado de las CEV con la AWS CLI:
aws rds describe-db-engine-versions \ --engine sqlserver-dev-ee \ --engine-version16.00.4215.2.my-dev-cev\ --region us-west-2 \ --query 'DBEngineVersions[0].{Version:EngineVersion,Status:Status}'
Cuando una CEV muestra el estado failed, puede determinar el motivo mediante:
aws rds describe-db-engine-versions \ --engine sqlserver-dev-ee \ --engine-version16.00.4215.2.my-dev-cev\ --region us-west-2 \ --query 'DBEngineVersions[0].{Version:EngineVersion,Status:Status,FailureReason:FailureReason}'