

AWS Il servizio di modernizzazione del mainframe (esperienza Managed Runtime Environment) non è più aperto a nuovi clienti. Per funzionalità simili a AWS Mainframe Modernization Service (esperienza Managed Runtime Environment), esplora AWS Mainframe Modernization Service (Self-Managed Experience). I clienti esistenti possono continuare a utilizzare il servizio normalmente. [Per ulteriori informazioni, consulta AWS Modifica della disponibilità di Mainframe Modernization.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurare AWS Transform for mainframe Runtime su container
<a name="ba-runtime-deploy-container"></a>

Questo argomento spiega come configurare e distribuire l'applicazione di PlanetsDemo esempio utilizzando AWS Transform for mainframe Runtime su un contenitore docker.

AWS Transform for mainframe Runtime on container è disponibile per Amazon ECS gestito da Amazon EC2, Amazon ECS gestito da e Amazon AWS Fargate EKS gestito da Amazon EC2. Non è compatibile con Amazon EKS gestito da AWS Fargate.

**Topics**
+ [Prerequisiti](#ba-runtime-deploy-prereq)
+ [Configurazione](#ba-runtime-deploy-setup)
+ [Testa l'applicazione distribuita](#ba-runtime-deploy-test)

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

Prima di iniziare, assicurati di completare i seguenti prerequisiti.
+ Configura il AWS CLI seguendo i passaggi descritti in [Configurazione della CLI di AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).
+ Completa [AWS Prerequisiti di Transform for mainframe Runtime](ba-runtime-setup-prereq.md) e. [Onboarding AWS Transform per mainframe Runtime](ba-runtime-setup-onboard.md)
+ Scarica i file binari di AWS Transform for mainframe Runtime. Per istruzioni, consulta [Onboarding AWS Transform per mainframe Runtime](ba-runtime-setup-onboard.md).
+ Scarica i binari di Apache Tomcat.
+ [Scarica l'archivio dell'applicazione. PlanetsDemo](https://d3lkpej5ajcpac.cloudfront.net/demo/bluage/PlanetsDemo-v1.zip)
+ Crea un database Amazon Aurora PostgreSQL per JICS ed esegui la query su di esso. `PlanetsDemo-v1/jics/sql/initJics.sql` Per informazioni su come creare un database Amazon Aurora PostgreSQL, consulta Creazione e [connessione a](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster) un cluster Aurora PostgreSQL DB.

## Configurazione
<a name="ba-runtime-deploy-setup"></a>

Per configurare l'applicazione di esempio, completa i seguenti passaggi. PlanetsDemo 

1. Dopo aver scaricato i file binari di Apache Tomcat, estrai il contenuto e vai alla cartella. `conf` Apri il `catalina.properties` file per modificarlo e sostituisci la riga che inizia `common.loader` con la riga seguente.

   ```
   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. Comprimi la cartella Apache Tomcat usando il comando tar per creare un archivio `tar.gz`.

1. Prepara un [Dockerfile](https://docs.docker.com/engine/reference/builder/) per creare l'immagine personalizzata in base ai binari di runtime forniti e ai binari del server Apache Tomcat. Vedi il seguente esempio Dockerfile. L'obiettivo è installare Apache Tomcat, seguito da AWS Transform for mainframe Runtime (per Amazon ECS managed by AWS Fargate) estratto nella radice della directory di installazione di Apache Tomcat, e quindi installare l'applicazione modernizzata di esempio denominata. PlanetsDemo
**Nota**  
Il contenuto degli script install-gapwalk.sh e install-app.sh, utilizzati in questo esempio Dockerfile, è elencato dopo il 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"]
   ```

   Di seguito sono riportati i contenuti di `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}
   ```

   Di seguito sono riportati i contenuti di `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. Fornisci le informazioni di connessione per il database creato come parte dei prerequisiti nel seguente frammento del `application-main.yml` file, che si trova nella cartella. `{TOMCAT_GAPWALK_DIR}/config` Per ulteriori informazioni, consulta [Creazione e connessione a un cluster Aurora PostgreSQL DB](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. Crea e trasferisci l'immagine nel tuo repository Amazon ECR. Per istruzioni, consulta [Pushing a Docker image](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) nella Amazon Elastic Container Registry User Guide. Quindi, a seconda della situazione, crea un pod Amazon EKS o una definizione di attività Amazon ECS utilizzando l'immagine Amazon ECR e distribuiscila nel tuo cluster. Ad esempio, sulla creazione di questi, consulta [Creazione di una definizione di attività utilizzando la console](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html) nella Guida per gli *sviluppatori di Amazon Elastic Container Service (Amazon ECS)* [e Distribuire un'applicazione](https://docs.aws.amazon.com/eks/latest/userguide/sample-deployment.html) di esempio nella *Amazon* EKS User Guide.

1.  In particolare, per **Amazon ECS gestito** per AWS Fargate caso, quando crei la definizione del task, usa il ruolo IAM che hai creato come parte della configurazione iniziale dell'infrastruttura. Quindi, durante la creazione del servizio, **espandi la sezione Rete** e configura il VPC, le sottoreti e il gruppo di sicurezza che hai creato come parte della configurazione iniziale dell'infrastruttura. Vedi, [Requisiti di configurazione dell'infrastruttura per AWS Transform for mainframe Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html).

## Testa l'applicazione distribuita
<a name="ba-runtime-deploy-test"></a>

Per un esempio di come testare l' PlanetsDemo applicazione, vedere[Prova l' PlanetsDemo applicazione](ba-runtime-test-planetsdemo.md).