

AWS El servicio de modernización de mainframes (experiencia en entornos de ejecución gestionados) ya no está abierto a nuevos clientes. Para obtener prestaciones similares a las del Servicio de Modernización de AWS Mainframe (experiencia en entornos de ejecución gestionados), explore el Servicio de Modernización de AWS Mainframe (experiencia autogestionada). Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cambio en la disponibilidad de la modernización del [AWS mainframe.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configurar AWS Transform para el tiempo de ejecución de mainframe en un contenedor
<a name="ba-runtime-deploy-container"></a>

En este tema se explica cómo configurar e implementar la aplicación de PlanetsDemo ejemplo mediante AWS Transform for mainframe Runtime en un contenedor docker.

AWS El tiempo de ejecución en contenedor de Transform for mainframe está disponible para Amazon ECS gestionado por Amazon EC2, Amazon ECS gestionado AWS Fargate por Amazon EC2 y Amazon EKS gestionado por Amazon EC2. No es compatible con Amazon EKS gestionado por AWS Fargate.

**Topics**
+ [Requisitos previos](#ba-runtime-deploy-prereq)
+ [Configuración](#ba-runtime-deploy-setup)
+ [Prueba de la aplicación implementada](#ba-runtime-deploy-test)

## Requisitos previos
<a name="ba-runtime-deploy-prereq"></a>

Antes de comenzar, asegúrese de que cumple los requisitos previos que se indican a continuación:
+ Configure el AWS CLI archivo siguiendo los pasos que se indican en [Configuración de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).
+ Complete [AWS Requisitos previos de tiempo de ejecución de Transform for mainframe](ba-runtime-setup-prereq.md) y [AWS Transformación de incorporación para un entorno de ejecución de mainframe](ba-runtime-setup-onboard.md).
+ Descargue los binarios de AWS Transform for mainframe Runtime. Para obtener instrucciones, consulte [AWS Transformación de incorporación para un entorno de ejecución de mainframe](ba-runtime-setup-onboard.md).
+ Descargue los archivos binarios de Apache Tomcat.
+ Descargue el archivo de la [PlanetsDemoaplicación.](https://d3lkpej5ajcpac.cloudfront.net/demo/bluage/PlanetsDemo-v1.zip)
+ Cree una base de datos de PostgreSQL de Amazon Aurora para JICS y ejecute la consulta `PlanetsDemo-v1/jics/sql/initJics.sql` en ella. Para obtener información sobre cómo crear una base de datos de PostgreSQL de Amazon Aurora, consulte [Creación de un clúster de base de datos de Aurora PostgreSQL y conexión a él](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster).

## Configuración
<a name="ba-runtime-deploy-setup"></a>

Para configurar la aplicación PlanetsDemo de muestra, complete los siguientes pasos.

1. Tras descargar los binarios de Apache Tomcat, extraiga el contenido y vaya a la carpeta `conf`. Abra el archivo `catalina.properties` para editarlo y sustituya la línea que empieza por `common.loader` por la siguiente línea.

   ```
   common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/shared","${catalina.home}/shared/*.jar","${catalina.home}/extra","${catalina.home}/extra/*.jar"
   ```

1. Comprima la carpeta de Apache Tomcat mediante el comando tar para crear un archivo tar.gz.

1. Prepare un [Dockerfile](https://docs.docker.com/engine/reference/builder/) para crear su imagen personalizada a partir de los binarios de tiempo de ejecución proporcionados y los binarios del servidor de Apache Tomcat. Consulte el siguiente Dockerfile de ejemplo. El objetivo es instalar Apache Tomcat, seguido de AWS Transform for mainframe Runtime (para Amazon ECS gestionado por AWS Fargate) extraído de la raíz del directorio de instalación de Apache Tomcat y, a continuación, instalar la aplicación modernizada de muestra denominada. PlanetsDemo
**nota**  
El contenido de los scripts install-gapwalk.sh e install-app.sh, que se utilizan en este Dockerfile de ejemplo, aparece después del Dockerfile.

   ```
   FROM --platform=linux/x86_64 amazonlinux:2
   
   RUN mkdir -p /workdir/apps
   WORKDIR /workdir
   COPY install-gapwalk.sh .
   COPY install-app.sh .
   RUN chmod +x install-gapwalk.sh
   RUN chmod +x install-app.sh
   
   # Install Java and AWS CLI v2-y
   RUN yum install sudo java-17-amazon-corretto unzip tar -y
   RUN sudo yum remove awscli -y
   RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
   RUN sudo unzip awscliv2.zip
   RUN sudo ./aws/install
   
   # Installation dir
   RUN mkdir -p /usr/local/velocity/installation/gapwalk
   # Copy PlanetsDemo archive to a dedicated apps dir
   COPY PlanetsDemo-v1.zip /workdir/apps/
   
   # Copy resources (tomcat, blu age runtime) to installation dir
   COPY tomcat.tar.gz /usr/local/velocity/installation/tomcat.tar.gz
   COPY aws-bluage-runtime-4.x.x.zip /usr/local/velocity/installation/gapwalk/gapwalk.zip
   
   # run relevant installation scripts
   RUN ./install-gapwalk.sh
   RUN ./install-app.sh
   
   EXPOSE 8080
   EXPOSE 8081
   # ...
   
   WORKDIR /bluage/tomcat.gapwalk/velocity
   # Run Command to start Tomcat server
   CMD ["sh", "-c", "sudo bin/catalina.sh run"]
   ```

   A continuación se muestra el contenido de `install-gapwalk.sh.`

   ```
   # Vars
   TEMP_DIR=/bluage-on-fargate/tomcat.gapwalk/temp
   
   # Install
   echo "Installing Gapwalk and Tomcat"
   sudo rm -rf /bluage-on-fargate
   mkdir -p ${TEMP_DIR}
   # Copy AWS Transform for mainframe runtime and tomcat archives to temporary extraction dir
   sudo cp /usr/local/velocity/installation/gapwalk/gapwalk.zip ${TEMP_DIR}
   sudo cp /usr/local/velocity/installation/tomcat.tar.gz ${TEMP_DIR}
   # Create velocity dir
   mkdir -p /bluage/tomcat.gapwalk/velocity
   # Extract tomcat files
   tar -xvf ${TEMP_DIR}/tomcat.tar.gz -C ${TEMP_DIR}
   # Copy all tomcat files to velocity dir
   cp -fr ${TEMP_DIR}/apache-tomcat-10.x.x/* /bluage/tomcat.gapwalk/velocity
   # Remove default webapps of Tomcat
   rm -f /bluage-on-fargate/tomcat.gapwalk/velocity/webapps/*
   # Extract AWS Transform for mainframe runtime at velocity dir
   unzip ${TEMP_DIR}/gapwalk.zip -d /bluage/tomcat.gapwalk
   # Remove temporary extraction dir
   sudo rm -rf ${TEMP_DIR}
   ```

   A continuación se muestra el contenido de `install-app.sh`.

   ```
   #!/bin/sh
   
   APP_DIR=/workdir/apps
   TOMCAT_GAPWALK_DIR=/bluage-on-fargate/tomcat.gapwalk
   
   unzip ${APP_DIR}/PlanetsDemo-v1.zip -d ${APP_DIR}
   cp -r ${APP_DIR}/webapps/* ${TOMCAT_GAPWALK_DIR}/velocity/webapps/
   cp -r ${APP_DIR}/config/* ${TOMCAT_GAPWALK_DIR}/velocity/config/
   ```

1. Proporcione la información de conexión para la base de datos que creó como parte de los requisitos previos en el siguiente fragmento de código del archivo `application-main.yml`, que se encuentra en la carpeta `{TOMCAT_GAPWALK_DIR}/config`. Para obtener más información, consulte [Creación de un clúster de base de datos de Aurora PostgreSQL y conexión a él](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster).

   ```
   datasource:
      jicsDs:
        driver-class-name :  
        url: 
        username: 
        password: 
        type :
   ```

1. Compile y envíe la imagen a su repositorio de Amazon ECR. Para ver más instrucciones, consulte [Inserción de una imagen de Docker](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) en la Guía del usuario de Amazon Elastic Container Registry. A continuación, según su situación, cree un pod de Amazon EKS o una definición de tarea de Amazon ECS con su imagen de Amazon ECR e impleméntela en su clúster. Para ver ejemplos de cómo crearlos, consulte [Creación de una definición de tareas con la consola](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html) en la *Guía para desarrolladores de Amazon Elastic Container Service (Amazon ECS)* e [Implementación de una aplicación de ejemplo](https://docs.aws.amazon.com/eks/latest/userguide/sample-deployment.html) en la *Guía del usuario de Amazon EKS*.

1.  En concreto, en el caso de **Amazon ECS administrado por AWS Fargate**, al crear la definición de tarea, utilice el rol de IAM que creó como parte de la configuración de la infraestructura inicial. A continuación, al crear el servicio, expanda la sección **Redes** y configure la VPC, las subredes y el grupo de seguridad que creó como parte de la configuración de la infraestructura inicial. Consulte [Requisitos de configuración de infraestructura para AWS Transform for mainframe Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html).

## Prueba de la aplicación implementada
<a name="ba-runtime-deploy-test"></a>

Para ver un ejemplo de cómo probar la PlanetsDemo aplicación, consulte[Prueba la PlanetsDemo aplicación](ba-runtime-test-planetsdemo.md).