

# Implementación de RDS Custom para Oracle con AWS CloudFormation
<a name="custom-oracle-multiaz-deployment"></a>

Automatice la implementación de RDS Custom para Oracle con la plantilla de AWS CloudFormation proporcionada. Complete los siguientes requisitos previos antes de implementar los recursos.

## Requisitos previos
<a name="custom-oracle-prerequisites"></a><a name="custom-oracle-required-files"></a>

**Descargar los archivos de Oracle necesarios**

Necesita archivos de instalación específicos de Oracle antes de poder crear la plantilla de CloudFormation. Descargue estos archivos antes de implementar.

1. Navegación a [Oracle Database 19c (19.3)](https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html)

1. Localización y descarga del archivo `LINUX.X64_193000_db_home.zip`

1. Cambio de nombre del archivo a `V982063-01.zip`

1. Descarga de los parches restantes, seleccionando **Plataforma o Idioma** como `Linux x86-64`

### Utilidad OPatch más reciente
<a name="custom-oracle-opatch"></a>

[Parche 6880880](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=6880880)

### Parches de PSU de enero de 2023
<a name="custom-oracle-jan-2023-patches"></a>

**Parches de PSU y RU de bases de datos**
+ [Parche 34765931](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=34765931)
+ [Parche 34786990](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=34786990)

**Parches adicionales necesarios**
+ [Parche 35099667](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35099667)
+ [Parche 35099674](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35099674)
+ [Parche 28730253](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=28730253)
+ [Parche 29213893](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=29213893)
+ [Parche 35012866](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35012866)

### Parches de PSU de abril de 2023
<a name="custom-oracle-apr-2023-patches"></a>

**Parches de PSU y RU de bases de datos**
+ [Parche 35042068](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35042068)
+ [Parche 35050341](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35050341)

**Parches adicionales necesarios**
+ [Parche 28730253](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=28730253)
+ [Parche 29213893](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=29213893)
+ [Parche 33125873](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=33125873)
+ [Parche 35220732](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35220732)
+ [Parche 35239280](https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=35239280)

### Configuración de buckets de Amazon S3
<a name="custom-oracle-s3-setup"></a>

1. Cree un bucket de Amazon S3 en la Cuenta de AWS o elija un bucket existente.

1. Cree una estructura de carpetas en el bucket similar al ejemplo siguiente.

   ```
   <bucket-name>/
   └── oracle_cev/
       ├── V982063-01.zip
       ├── p6880880_190000_Linux-x86-64.zip
       ├── p34765931_190000_Linux-x86-64.zip
       ├── p34786990_190000_Linux-x86-64.zip
       ├── p35099667_190000_Linux-x86-64.zip
       ├── p35099674_190000_Generic.zip
       ├── p28730253_190000_Linux-x86-64.zip
       ├── p29213893_1918000DBRU_Generic.zip
       ├── p35012866_1918000DBRU_Linux-x86-64.zip
       ├── p35042068_190000_Linux-x86-64.zip
       ├── p35050341_190000_Linux-x86-64.zip
       ├── p29213893_1919000DBRU_Generic.zip
       ├── p33125873_1919000DBRU_Linux-x86-64.zip
       ├── p35220732_190000_Linux-x86-64.zip
       └── p35239280_190000_Generic.zip
   ```

1. Cargue todos los archivos de Oracle que descargó anteriormente en las carpetas correspondientes.

## Implementación de RDS Custom para Oracle con AWS CloudFormation
<a name="custom-oracle-deployment-steps"></a>

### Paso 1: preparar la plantilla de CloudFormation
<a name="custom-oracle-step1-prereqs"></a>

Antes de poder implementar RDS Custom para Oracle, debe descargar y configurar la plantilla de CloudFormation que crea los requisitos previos necesarios. 

**Copie y guarde la plantilla**

1. Vaya a [Implementación de RDS Custom para Oracle con una o varias zonas de disponibilidad](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance--examples--Deploying_RDS_Custom_for_Oracle_with_single_and_multiple_Availability_Zones)

1. Copie la plantilla en el formato que prefiera (YAML o JSON)

1. Guarde el archivo en formato YAML o JSON. Por ejemplo: ., `rds-custom-oracle-prereqs.yaml`

**Lance la pila en la consola de AWS**

1. Abra la consola de AWS y vaya a AWS CloudFormation

1. Elija **Crear pila** > **Con nuevos recursos (estándar)**

1. Seleccione **Elegir una plantilla existente** 

1. Seleccione **Cargar un archivo de plantilla** > **Elegir archivo**

1. Seleccione el archivo de plantilla que descargó anteriormente

1. Mantenga los valores de los parámetros predeterminados

1. Seleccione **Siguiente** para crear la pila

**Alternativa: uso de la CLI de AWS**

En lugar de utilizar la consola, puede crear la pila con la AWS CLI:

```
aws cloudformation create-stack \
  --stack-name rds-custom-oracle \
  --template-body file://rds-custom-oracle-prereqs.yaml \
  --capabilities CAPABILITY_NAMED_IAM
```

### Paso 2: crear las versiones personalizadas del motor (CEV) y las instancias de Amazon RDS
<a name="custom-oracle-step2-cev-rds"></a>

**Copie y guarde la plantilla**

1. Vaya a [Implementación de RDS Custom para Oracle con una o varias zonas de disponibilidad](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance--examples--Deploying_RDS_Custom_for_Oracle_with_single_and_multiple_Availability_Zones)

1. Copie la plantilla en el formato que prefiera (YAML o JSON)

1. Actualice los siguientes parámetros en la plantilla si es necesario:
   + `BucketName`
   + `CEVS3Prefix`
   + Contraseña maestra de la base de datos (sustituya \$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1)

1. Guarde el archivo en formato YAML o JSON

### Paso 3: implementar mediante la consola de AWS
<a name="custom-oracle-step3-console-deploy"></a>

1. Abra la consola de AWS y vaya a AWS CloudFormation

1. Elija **Crear pila** > **Con nuevos recursos (estándar)**

1. Seleccione **Elegir una plantilla existente** 

1. Seleccione **Cargar un archivo de plantilla** > **Elegir archivo**

1. Seleccione el archivo de plantilla que descargó anteriormente

1. Dejar los parámetros como valores predeterminados

1. Complete los parámetros de la siguiente manera:

   ```
   BucketName: rds-custom-id
   CEVS3Prefix: oracle_cev
   CEVCreation: Yes
   ```

1. Revise la configuración y seleccione **Siguiente** para crear la pila

**Opcional: implementar mediante AWS CLI**

```
aws cloudformation create-stack \
  --stack-name rds-custom-oracle \
  --template-body file://rds-custom-oracle.yaml \
  --parameters \
    ParameterKey=BucketName,ParameterValue=rds-custom-id \
    ParameterKey=CEVS3Prefix,ParameterValue=oracle_cev \
    ParameterKey=CEVCreation,ParameterValue=Yes \
  --capabilities CAPABILITY_NAMED_IAM
```

## Se han creado recursos de implementación
<a name="custom-oracle-deployment-resources"></a>

La plantilla de crea los siguientes recursos:
+ Amazon VPC con subredes públicas y privadas
+ Grupos de seguridad
+ Puntos de conexión de VPC de Amazon
+ Roles y políticas de IAM
+ Clave de AWS KMS para el cifrado
+ Versiones del motor personalizadas (CEV)
+ Instancias de RDS Custom para Oracle en configuraciones de single-AZ y multi-AZ

## Supervise el progreso de la implementación
<a name="custom-oracle-monitoring-deployment"></a>

Tras crear la pila de CloudFormation, supervise su progreso para garantizar que la implementación se realice correctamente. El proceso de implementación incluye la creación de versiones de motor personalizadas (CEV) e instancias de RDS.

Para supervisar el progreso de la implementación:

1. Abra la consola de CloudFormation.

1. Elija el nombre de la pila.

1. Elija la pestaña **Eventos** para ver el progreso e identificar los errores.

**nota**  
La creación de una CEV suele tardar entre 2 y 3 horas. Cuando la creación de la CEV se completa correctamente, Amazon RDS empieza automáticamente a crear la instancia de Amazon RDS.

## Posterior a la implementación
<a name="custom-oracle-post-deployment"></a>

Una vez finalizado el proceso de creación de la pila, lleve a cabo los siguientes pasos de verificación y configuración posteriores a la implementación:

1. En la página de la consola de Amazon RDS, vaya a **Versiones del motor personalizadas** para verificar la creación de la CEV.

1. Confirme que las instancias de Amazon RDS se hayan creado y estén disponibles

1. Pruebe la conectividad a las instancias de Amazon RDS

1. Configure las estrategias de supervisión y respaldo según sea necesario

## Eliminación
<a name="custom-oracle-cleanup"></a>

Para eliminar todos los recursos, ejecute el siguiente comando de la AWS CLI:

```
aws cloudformation delete-stack --stack-name rds-custom-oracle
```

## Solución de problemas
<a name="custom-oracle-troubleshooting"></a>

Si encuentra problemas durante la implementación, utilice las siguientes soluciones para resolver los problemas comunes.

Error en la creación de CEV  
+ Compruebe que todos los parches necesarios se hayan cargado en Amazon S3
+ Compruebe los permisos de IAM
+ Compruebe que las versiones de los parches son correctas; consulte los [Requisitos previos](#custom-oracle-prerequisites) para obtener la lista de parches necesarios.

Se produce un error al crear la instancia de Amazon RDS  
+ Compruebe las configuraciones de VPC/subred
+ Verifique las reglas del grupo de seguridad
+ Confirme que CEV esté disponible