

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 Blu Age Runtime 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 Blu Age Runtime en un contenedor docker.

AWS Blu Age Runtime en contenedor está disponible para Amazon ECS gestionado por Amazon EC2, Amazon ECS gestionado por AWS Fargate Amazon 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 de [Configuración de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).
+ Complete [AWS Requisitos previos de Blu Age Runtime](ba-runtime-setup-prereq.md) y [Incorporación de AWS Blu Age Runtime](ba-runtime-setup-onboard.md).
+ Descargue los binarios de AWS Blu Age Runtime. Para obtener instrucciones, consulte [Incorporación de AWS Blu Age Runtime](ba-runtime-setup-onboard.md).
+ Descargue los binarios de Apache Tomcat 10.
+ Descarga el [archivo de PlanetsDemo la aplicació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 10, seguido de AWS Blu Age Runtime (para Amazon ECS gestionado por AWS Fargate) extraído de la raíz del directorio de instalación de Apache Tomcat 10 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 Blu Age 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 Blu Age 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 Blu Age 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[Probar la PlanetsDemo aplicación](ba-runtime-test-planetsdemo.md).