Modernisieren und implementieren Sie Mainframe-Anwendungen mithilfe von Terraform AWS Transform - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Modernisieren und implementieren Sie Mainframe-Anwendungen mithilfe von Terraform AWS Transform

Mason Cahill, Polaris Jhandi, Prachi Khanna, Sivasubramanian Ramani und Santosh Kumar Singh, Amazon Web Services

Übersicht

AWS Transformkann die groß angelegte Modernisierung von.NET, VMware Mainframe und Workloads beschleunigen. Es setzt spezialisierte KI-Agenten ein, die komplexe Aufgaben wie Bewertungen, Codeanalysen, Refactoring, Zerlegung, Zuordnung von Abhängigkeiten, Validierung und Transformationsplanung automatisieren. Dieses Muster zeigt, wie eine Mainframe-Anwendung modernisiert und anschließend mithilfe AWS Transform von Hashicorp Terraform in der Infrastruktur bereitgestellt wird. AWS Diese step-by-step Anweisungen helfen Ihnen bei der Transformation CardDemo, bei der es sich um eine Open-Source-Mainframe-Beispielanwendung handelt, von COBOL zu einer modernen Java-Anwendung.

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

  • AWS Transform ist nur in einigen verfügbar. AWS-Regionen Eine vollständige Liste der unterstützten Regionen finden Sie unter Unterstützte Regionen für AWS Transform.

  • Es gibt ein Servicekontingent für Mainframe-Transformationsfunktionen in AWS Transform. Weitere Informationen finden Sie unter Kontingente für AWS Transform.

  • Um an einem gemeinsamen Arbeitsbereich zusammenzuarbeiten, müssen alle Benutzer registrierte Benutzer derselben Instanz sein AWS IAM Identity Center , die mit Ihrer Instanz der AWS Transform Webanwendung verknüpft ist.

  • Der Amazon Simple Storage Service (Amazon S3) -Bucket AWS Transform muss sich in derselben AWS-Konto Region befinden.

Architektur

Das folgende Diagramm zeigt die end-to-end Modernisierung der Legacy-Anwendung und deren Bereitstellung für AWS Cloud. Anwendungs- und Datenbankanmeldedaten werden in gespeichert AWS Secrets Manager, und Amazon CloudWatch bietet Überwachungs- und Protokollierungsfunktionen.

AWS Transform modernisiert eine Mainframe-Anwendung und Bereitstellung über Terraform.

Das Diagramm zeigt den folgenden Workflow:

  1. Durch authentifiziert AWS IAM Identity Center sich der Benutzer und greift auf den zu. AWS Transform AWS-Konto

  2. Der Benutzer lädt den COBOL-Mainframe-Code in den Amazon S3 S3-Bucket hoch und initiiert die Transformation in. AWS Transform

  3. AWS Transform modernisiert den COBOL-Code in Cloud-nativen Java-Code und speichert den modernisierten Code im Amazon S3 S3-Bucket.

  4. Terraform erstellt die AWS Infrastruktur für die Bereitstellung der modernisierten Anwendung, einschließlich eines Application Load Balancer, einer Amazon Elastic Compute Cloud (Amazon EC2) -Instance und einer Amazon Relational Database Service (Amazon RDS) -Datenbank. Terraform stellt den modernisierten Code auf der Amazon-Instance bereit. EC2

  5. Die VSAM-Dateien werden auf Amazon hochgeladen EC2 und von Amazon in die Amazon EC2 RDS-Datenbank migriert.

Tools

AWS-Services

  • Amazon Elastic Compute Cloud (Amazon EC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren. In diesem Muster werden SQL Server-Failover-Cluster-Instances auf EC2 Amazon-Instances installiert.

  • AWS IAM Identity Centerhilft Ihnen dabei, den Single Sign-On-Zugriff (SSO) auf Ihre AWS-Konten und Cloud-Anwendungen zentral zu verwalten.

  • Amazon Relational Database Service (Amazon RDS) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der. AWS Cloud

  • Mit AWS Secrets Manager können Sie fest codierte Anmeldeinformationen im Code (einschließlich Passwörter) durch einen API-Aufruf an Secrets Manager ersetzen und das Geheimnis programmgesteuert abrufen.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

  • AWS Transformverwendet agentische KI, um Ihnen zu helfen, die Modernisierung älterer Workloads wie .NET, Mainframe und Workloads zu beschleunigen. VMware

Andere Tools

  • Apache Maven ist ein Open-Source-Software-Projektmanagement- und Build-Automatisierungstool für Java-Projekte.

  • Apache Tomcat ist ein Open-Source-Servlet-Container und Webserver für Java-Code.

  • HashiCorp Terraform ist ein IaC-Tool (Infrastructure as Code), mit dem Sie mithilfe von Code Cloud-Infrastruktur und -Ressourcen bereitstellen und verwalten können.

  • Spring Boot ist ein Open-Source-Framework, das auf dem Spring Framework in Java aufbaut.

Code-Repository

Der Code für dieses Muster ist im GitHub Mainframe Transformation E2E-Repository verfügbar. Dieses Muster verwendet die AWS CardDemoOpen-Source-Mainframe-Anwendung als Beispielanwendung.

Bewährte Methoden

  • Weisen Sie den vollen Besitz von Code und Ressourcen zu, die für die Migration vorgesehen sind.

  • Entwickeln und testen Sie einen Machbarkeitsnachweis, bevor Sie auf eine vollständige Migration skalieren.

  • Sicheres Engagement aller Beteiligten.

  • Richten Sie klare Kommunikationskanäle ein.

  • Definieren und dokumentieren Sie die Mindestanforderungen für lebensfähige Produkte (MVP).

  • Legen Sie klare Erfolgskriterien fest.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie einen Bucket.

Erstellen Sie einen Amazon S3 S3-Bucket in derselben AWS-Konto und Region, in der AWS Transform es aktiviert ist. Sie verwenden diesen Bucket, um den Mainframe-Anwendungscode, Daten und zusätzliche Skripts zu speichern, die für die Erstellung und Ausführung der Anwendung erforderlich sind. AWS Transform verwendet diesen Bucket, um den umgestalteten Code und andere mit der Transformation verknüpfte Dateien zu speichern. Anweisungen finden Sie in der Amazon S3 S3-Dokumentation unter Bucket erstellen.

Allgemein AWS, AWS-Administrator

Legen Sie die CORS-Berechtigungen für den Bucket fest.

Wenn Sie Ihren Bucket für AWS Transform den Zugriff einrichten, müssen Sie Cross-Origin Resource Sharing (CORS) für den Bucket konfigurieren. Wenn dies nicht korrekt eingerichtet ist, können Sie möglicherweise die Funktionen zum Inline-Anzeigen oder zum Dateivergleich von nicht verwenden. AWS Transform Anweisungen zur Konfiguration von CORS für einen Bucket finden Sie unter Using Cross-Origin Resource Sharing im Amazon S3 S3-Bucket. Informationen zur Richtlinie finden Sie in der Dokumentation unter CORS-Berechtigungen für den S3-Bucket. AWS Transform

Allgemein AWS, AWS-Administrator

Bereiten Sie den Beispielcode für die Mainframe-Anwendung vor.

  1. Geben Sie den folgenden Befehl ein, um das CardDemoRepository auf Ihre lokale Workstation zu klonen:

    git clone https://github.com/aws-samples/aws-mainframe-modernization-carddemo.git
  2. Komprimieren Sie den aws-mainframe-modernization-carddemo Ordner in eine ZIP-Datei.

  3. Laden Sie die ZIP-Datei in den Amazon S3 S3-Bucket hoch, den Sie erstellt haben. Anweisungen finden Sie unter Objekte hochladen in der Amazon S3 S3-Dokumentation.

Allgemein AWS, App-Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten

Richten Sie den AWS Transform Job ein.

  1. Greifen Sie auf die AWS Transform Webanwendung zu, indem Sie sich mit Ihren Anmeldeinformationen anmelden.

  2. Erstellen Sie einen neuen Workspace, indem Sie den Anweisungen unter Workspace einrichten in der AWS Transform Dokumentation folgen.

  3. Wähle auf deiner Workspace-Landingpage die Option Frage, ob du einen Job erstellen AWS Transform möchtest.

  4. Wählen Sie als Nächstes Mainframe-Modernisierung als Auftragstyp aus.

  5. Geben Sie im Chat-Fenster Transform Code to Java ein.

  6. Prüfen Sie den vorgeschlagenen Jobtyp, den Namen und das Ziel. Geben Sie zur Bestätigung Ja ein.

  7. Wählen Sie Job erstellen aus.  

App-Entwickler, App-Besitzer

Richten Sie einen Connector ein.

  1. Richten Sie einen Connector mit dem Amazon S3 S3-Bucket ein, den Sie erstellt haben. Anweisungen finden Sie in der AWS Transform Dokumentation unter Einen Connector einrichten. Wenn Sie dazu aufgefordert werden, geben Sie den Pfad für die aws-mainframe-modernization-carddemo ZIP-Datei im Amazon S3 S3-Bucket ein.

  2. Warten Sie, bis die Analyse abgeschlossen ist.

App-Entwickler, App-Besitzer

Transformieren Sie den Code.

  1. Überprüfen Sie die Ergebnisse der Codeanalyse gemäß den Anweisungen unter Code analysieren in der AWS Transform Dokumentation.

  2. Refaktorieren Sie den Mainframe-Code gemäß den Anweisungen unter Code umgestalten in der Dokumentation. AWS Transform Für die CardDemo Mainframe-Beispielanwendung können Sie die Standardeinstellungen akzeptieren.

  3. Warten Sie, bis das Refactoring abgeschlossen ist.

  4. Wählen Sie Ergebnisse anzeigen, um den Pfad für den umgestalteten Code im Amazon S3 S3-Bucket zu sehen. Notieren Sie sich diesen Dateipfad. Sie benötigen diese zu einem späteren Zeitpunkt.

App-Entwickler, App-Besitzer
AufgabeBeschreibungErforderliche Fähigkeiten

Aktualisieren Sie die Vorlagen.

  1. Geben Sie den folgenden Befehl ein, um das Mainframe Transformation E2E-Repository auf Ihre lokale Workstation zu klonen:

    git clone https://github.com/aws-samples/sample-mainframe-transformation-e2e.git
  2. Geben Sie den folgenden Befehl ein, um Ihre aktuelle öffentliche IP-Adresse abzurufen:

    curl checkip.amazonaws.com
  3. Geben Sie den folgenden Befehl ein, um zum Infra-Verzeichnis zu navigieren:

    cd mainframe-transformation-e2e/infra
  4. Öffnen Sie die variables.tf Datei.

  5. YOUR_IP_ADDRESS_HEREErsetzen Sie es durch Ihre IP-Adresse.

  6. Wenn Sie eine öffentlich gehostete Zone haben, gehen Sie wie folgt vor:

    1. hosted_zone_nameErsetzen Sie es durch den Namen Ihrer gehosteten Zone.

    2. Setzen Sie hosted_zone_enabled auf true.

    Wenn Sie keine öffentlich gehostete Zone haben, gehen Sie wie folgt vor:

    1. Geben Sie die folgenden Befehle ein, um ein selbstsigniertes Zertifikat zu generieren:

      openssl genrsa 2048 > my-private-key.pem openssl req -new -x509 -nodes -sha256 -days 365 -key my-private-key.pem -outform PEM -out my-certificate.pem
    2. Geben Sie den folgenden Befehl ein, um das Zertifikat in AWS Certificate Manager (ACM) zu importieren:

      aws acm import-certificate \ --certificate fileb://my-certificate.pem \ --private-key fileb://my-private-key.pem

      Die Ausgabe dieses Befehls enthält den Amazon-Ressourcennamen (ARN) des importierten Zertifikats.

    3. self_signed_cert_arnErsetzen Sie es durch den ARN Ihres Zertifikats.

    4. Setzen Sie hosted_zone_enabled auf false.

  7. Wechseln aws_region Sie zur Zielregion. Der Standardwert ist us-east-1.

  8. Speichern und schließen Sie die Datei variables.tf.

Anmerkung

Für produktive oder produktionsähnliche Umgebungen konfigurieren Sie zusätzliche Sicherheitskomponenten. Aktivieren Sie beispielsweise AWS WAF Schutzmaßnahmen für Ihren Application Load Balancer.

Allgemein AWS, AWS-Administrator

Stellen Sie die Infrastruktur bereit.

  1. Geben Sie den folgenden Befehl ein, um Terraform zu initialisieren:

    terraform init
  2. Geben Sie den folgenden Befehl ein, um einen Ausführungsplan zu generieren:

    terraform plan
  3. Überprüfen Sie den Plan und validieren Sie die Ressourcen und Infrastrukturkomponenten, die erstellt werden sollen.

  4. Geben Sie den folgenden Befehl ein, um die Infrastruktur bereitzustellen:

    terraform apply
  5. Wenn Sie dazu aufgefordert werden, geben Sie Ja ein, um die Bereitstellung zu bestätigen.

  6. Warten Sie, bis die Bereitstellung abgeschlossen ist.

Terraform
AufgabeBeschreibungErforderliche Fähigkeiten

Installieren Sie die erforderliche Software.

  1. Connect zu Ihrer EC2 Amazon-Instance her, indem Sie AWS Systems Manager Session Manager

  2. Geben Sie den folgenden Befehl ein, um zum Root-Benutzer zu wechseln:

    sudo su -
  3. Geben Sie den folgenden Befehl ein, um zum Verzeichnis scripts zu navigieren:

    cd /opt/scripts
  4. Überprüfen Sie das Skript install_software.sh. Dieses Skript installiert Java 17, Apache Maven und Apache Tomcat 10.0.23.

  5. Aktualisieren Sie die Skripts nach Bedarf für Ihren Anwendungsfall.

  6. Geben Sie den folgenden Befehl ein, um das Skript ausführbar zu machen:

    chmod +x install_software.sh
  7. Geben Sie den folgenden Befehl ein, um das Skript auszuführen:

    ./install_software.sh
App-Entwickler, Migrationsingenieur

Überprüfen Sie die Softwareinstallation.

  1. Geben Sie den folgenden Befehl ein, um den Tomcat-Server zu starten:

    /opt/tomcat/apache-tomcat-10.0.23/bin/startup.sh
  2. Geben Sie den folgenden Befehl ein, um die Antwort des Webservers zu überprüfen:

    curl http://localhost:8080

    Die Ausgabe sollte bestätigen, dass Tomcat eine HTML-Seite bereitstellt.

App-Entwickler, Migrationsingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Laden Sie den generierten Code herunter und extrahieren Sie ihn.

  1. Geben Sie den folgenden Befehl ein, um das Skript download_and_extract.sh ausführbar zu machen. Dieses Skript lädt den umgestalteten Code und die Gapwalk-Laufzeitbibliothek herunter, die im Amazon S3 S3-Bucket gespeichert sind:

    chmod +x /opt/scripts/download_and_extract.sh
  2. Geben Sie den folgenden Befehl ein, um das -Skript auszuführen. <file_path>Ersetzen Sie durch den Pfad zur Datei generated.zip in Ihrem Amazon S3 S3-Bucket:

    ./download_and_extract.sh <file_path>
    Anmerkung

    Der Dateipfad ist normalerweises3://<bucket-name>/transform_output/<aws_transform_job_id>/codetransformation/generated.zip.

  3. Geben Sie den folgenden Befehl ein, um in den shared Ordner zu navigieren:

    cd /opt/runtime/velocity/shared
  4. Geben Sie den folgenden Befehl ein, um deploy-velocity-runtimedas.sh-Skript zu kopieren:

    cp /opt/scripts/deploy-velocity-runtime.sh .
  5. Geben Sie den folgenden Befehl ein, um das kopierte Skript ausführbar zu machen:

    chmod +x deploy-velocity-runtime.sh
  6. Geben Sie den folgenden Befehl ein, um das -Skript auszuführen. Dieses Skript kopiert alle erforderlichen Abhängigkeiten des Web Application Archive (WAR), die in den POM-Dateien (Project Object Model) vorhanden sind, in den Repository-Ordner:

    ./deploy-velocity-runtime.sh
  7. Überprüfen Sie die erfolgreiche Ausführung, indem Sie überprüfen, ob keine Fehler vorliegen und ob die erforderlichen WAR-Abhängigkeiten in Ihrem lokalen Maven-Repository installiert sind.

App-Entwickler, Migrationsingenieur

Erstellen Sie die modernisierte Anwendung.

  1. Geben Sie den folgenden Befehl ein, um zum app-pom Projektverzeichnis zu navigieren:

    cd /opt/codebase/app-pom/
  2. Geben Sie den folgenden Befehl ein, um Maven zu installieren:

    mvn clean install
  3. Warten Sie, bis die Installation und der Build abgeschlossen sind.

    Anmerkung

    Wenn Sie diesen Befehl für die CardDemo Anwendung ausführen, werden möglicherweise Warnmeldungen für das app-web Projekt angezeigt. Sie können diese Warnungen bedenkenlos ignorieren.

  4. Bestätigen Sie nach erfolgreichem Abschluss des Builds das Vorhandensein von app-service/target/app-service-1.0.0.war undapp-web/target/app-web-1.0.0.war.

    Wichtig

    Starten Sie den Tomcat-Server zu diesem Zeitpunkt nicht neu. Dies würde aufgrund des Fehlens der erforderlichen Datenbanken zu Fehlern führen. Sie müssen die Datenbank einrichten, bevor Sie den Server neu starten können.

App-Entwickler, Migrationsingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die Datenbank und die JICS-Schemas.

  1. Geben Sie den folgenden Befehl ein, um den csd commands Ordner umzubenennen. csd_commands Dadurch werden die Leerzeichen aus dem Ordnernamen entfernt:

    mv /opt/codebase/extra/csd\ commands/ /opt/codebase/extra/csd_commands
  2. Geben Sie den folgenden Befehl ein, um in das scripts Verzeichnis zu navigieren:

    cd /opt/scripts
  3. Geben Sie den folgenden Befehl ein, um das Datenbankmigrationsskript ausführbar zu machen:

    chmod +x database_migration_setup.sh
  4. Geben Sie die folgenden Befehle ein, um die folgenden Variablen als Parameter zu konfigurieren:

    RDS_ENDPOINT=<database_endpoint> SECRET_NAME=<secret_name> JICS_SQL_SCRIPT_DIR=/opt/runtime/velocity/jics/sql/jics.sql INIT_JICS_SQL_SCRIPT_DIR=/opt/codebase/extra/csd_commands/sql/aws-mainframe-modernization-carddemo-main/app/csd/initJics.sql

    Wobei gilt:

    • <database_endpoint>ist der Endpunkt der Amazon RDS-Datenbank, die Sie über Terraform bereitgestellt haben.

    • <secret_name>ist der Name des AWS Secrets Manager Secrets, das Sie über Terraform bereitgestellt haben.

  5. Geben Sie den folgenden Befehl ein, um das Datenbankmigrationsskript auszuführen:

    ./database_migration_setup.sh $RDS_ENDPOINT $SECRET_NAME $JICS_SQL_SCRIPT_DIR $INIT_JICS_SQL_SCRIPT_DIR
  6. Geben Sie den folgenden Befehl ein, um von Ihrer EC2 Amazon-Instance aus eine Verbindung zur Datenbank herzustellen:

    psql -h <Your Amazon RDS Endpoint> -U foo -p 5432 postgres
  7. Wenn Sie dazu aufgefordert werden, geben Sie Ihre Datenbankanmeldedaten ein.

App-Entwickler, Migrationsingenieur

Validieren Sie die Datenbankerstellung.

  1. Geben Sie den folgenden Befehl ein, um alle Datenbanken anzuzeigen:

    \l
  2. Geben Sie den folgenden Befehl ein, um zur jics Datenbank zu wechseln:

    \c jics
  3. Geben Sie den folgenden Befehl ein, um eine Liste der erstellten Tabellen zu überprüfen:

    \dt
App-Entwickler, Migrationsingenieur

Migrieren Sie Daten in die JICS-Datenbank.

  1. Geben Sie den folgenden Befehl ein, um das Skript execute_listcat_sql.sh ausführbar zu machen:

    chmod +x execute_listcat_sql.sh
  2. Geben Sie den folgenden Befehl ein, um die PATH_TO_LISTCAT_SQL_FILES Variable zu konfigurieren. Dabei handelt es sich um das Verzeichnis, das Ihre LISTCAT-SQL-Dateien enthält:

    PATH_TO_LISTCAT_SQL_FILES=/opt/codebase/extra/listcat/sql/cluster/aws-mainframe-modernization-carddemo-main/app/catlg
  3. Stellen Sie sicherRDS_ENDPOINT, dass die PATH_TO_LISTCAT_SQL_FILES VariablenSECRET_NAME, und gemäß den vorherigen Anweisungen richtig gesetzt sind.

  4. Geben Sie den folgenden Befehl ein, um das Skript execute_listcat_sql.sh auszuführen:

    ./execute_listcat_sql.sh $RDS_ENDPOINT $SECRET_NAME $PATH_TO_LISTCAT_SQL_FILES

    Dieses Skript aktualisiert die Eigenschaften der VSAM-Datei in der JICS-Datenbank und führt die erforderlichen Abfragen aus, um die Datenbank zu ändern.

App-Entwickler, Migrationsingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Installieren Sie die modernisierte Anwendung auf der EC2 Amazon-Instance.

  1. Geben Sie den folgenden Befehl ein, um das Skript application_installer.sh ausführbar zu machen:

    chmod +x /opt/scripts/application_installer.sh
  2. Geben Sie die folgenden Befehle ein, um die folgenden Variablen als Parameter zu konfigurieren:

    RDS_ENDPOINT=<database_endpoint> SECRET_NAME=<secret_name> AIX_JSON_FILE_PATH=/opt/codebase/extra/csd_commands/json/aws-mainframe-modernization-carddemo-main/jicsFileAix.json LISTCAT_JSON_FILES_DIR=/opt/codebase/extra/listcat/json/cluster/default/aws-mainframe-modernization-carddemo-main/app/catlg S3_PATH_FOR_EBCDIC_DATA_FILES=s3://<bucket_name>/transform-output/<job_id>/inputs/aws-mainframe-modernization-carddemo-main/app/data/EBCDIC

    Wobei gilt:

    • <database_endpoint>ist der Endpunkt der Amazon RDS-Datenbank, die Sie über Terraform bereitgestellt haben.

    • <secret_name>ist der Name des AWS Secrets Manager Secrets, das Sie über Terraform bereitgestellt haben.

    • <bucket_name>ist der Name des Amazon S3 S3-Buckets, der die modernisierte Anwendung enthält.

    • <job_id>ist die ID des AWS Transform Jobs.

  3. Geben Sie den folgenden Befehl ein, um das Skript application_installer.sh auszuführen:

    ./application_installer.sh $RDS_ENDPOINT $SECRET_NAME $AIX_JSON_FILE_PATH $LISTCAT_JSON_FILES_DIR $S3_PATH_FOR_EBCDIC_DATA_FILES
  4. Ändern /opt/tomcat/apache-tomcat-10.0.23/workingdir/config Sie im Ordner in der application-utility-pgmYML-Datei den Kodierungsparameter wie folgt:

    encoding : CP1047
    Anmerkung

    Wenn Sie Anwendungen mithilfe von AWS Blu Age AWS Transform automatisch umgestalten, konfigurieren Sie die Anwendung und ihre Laufzeitumgebung mithilfe von YAML-Dateien. Sie können beispielsweise die Protokollierung in der Datei application-main.yml für die Anwendung konfigurieren. Weitere Informationen zu den verfügbaren Eigenschaften finden Sie unter Eigenschaften für Blu Age Runtime aktivieren. AWS

App-Entwickler, Cloud-Architekt

Starten Sie den Tomcat-Server neu.

  1. Geben Sie den folgenden Befehl ein, um in das Arbeitsverzeichnis zu navigieren:

    cd /opt/tomcat/apache-tomcat-10.0.23/workingdir
  2. Geben Sie die folgenden Befehle ein, um den Tomcat-Server zu beenden und zu starten:

    /opt/tomcat/apache-tomcat-10.0.23/bin/shutdown.sh /opt/tomcat/apache-tomcat-10.0.23/bin/startup.sh
  3. Geben Sie den folgenden Befehl ein, um die Startprotokolle des Tomcat-Dienstes zu überwachen:

    tail -f /opt/tomcat/apache-tomcat-10.0.23/logs/catalina.out
App-Entwickler, Cloud-Architekt

Migrieren Sie den VSAM-Datensatz.

  1. Öffnen Sie die EC2 Amazon-Konsole.

  2. Klicken Sie im Navigationsbereich auf Load balancers (Load Balancer).

  3. Wählen Sie den Load Balancer aus, der über Terraform erstellt wurde.

  4. Suchen Sie den DNS-Namen (Domain Name System) Ihres Application Load Balancer, z. B. application-load-balancer-<id>.<region>.elb.amazonaws.com

  5. Navigieren Sie in Ihrem Browser zuhttp://<dns_name>/gapwalk-application/scripts/data-load, wo <dns_name> sich der DSN-Name des Application Load Balancer befindet. Dadurch wird das Datenladeskript gestartet.

  6. Warten Sie, bis das Skript abgeschlossen ist. Wenn Sie fertig sind, zeigt der Browser FERTIG an.

  7. Öffnen Sie auf der EC2 Amazon-Instance ein neues Terminal.

  8. Geben Sie den folgenden Befehl ein, um eine Verbindung zur Amazon RDS-Datenbank herzustellen, und <database_endpoint> ersetzen Sie ihn durch Ihren Wert:

    psql -h <database_endpoint> -U foo -p 5432 postgres
  9. Wenn Sie dazu aufgefordert werden, geben Sie Ihre Anmeldeinformationen ein, um eine Verbindung zur Datenbank herzustellen.

  10. Geben Sie den folgenden Befehl ein, um alle Datenbanken anzuzeigen:

    \l
  11. Geben Sie den folgenden Befehl ein, um zur bluesam Datenbank zu wechseln:

    \c bluesam
  12. Geben Sie den folgenden Befehl ein, um eine Liste der erstellten Tabellen zu überprüfen:

    \dt
  13. Geben Sie den folgenden Befehl ein, um das Laden der Daten zu überprüfen:

    SELECT * FROM public.aws_m2_carddemo_usrsec_vsam_ksds;

    In der Ausgabe sollten 10 zurückgegebene Datensätze angezeigt werden.

App-Entwickler, Migrationsingenieur

Aktualisieren Sie die Parameter in den Groovy-Skripten.

  1. Geben Sie den folgenden Befehl ein, um in das Skriptverzeichnis zu navigieren:

    cd /opt/tomcat/apache-tomcat-10.0.23/webapps/workingdir/scripts
  2. Aktualisieren Sie in allen Groovy-Dateien, die Verweise auf Flatfiles enthalten, die folgenden Dateikonfigurationen:

    • Lokaler Dateipfad — Der Pfad zur Flat-Datei im lokalen Verzeichnis Ihrer EC2 Amazon-Instance

    • Dateisystemtyp — Das Dateisystem, das die Flatfiles enthält

    • Datensatzgröße — Die Größe der Flat-Datei

    Als Referenz sehen Sie sich das Beispielskript dusrsecj.jcl.Groovy im Code-Repository an.

  3. Speichern und schließen Sie die Dateien.

App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Testen Sie die modernisierte Anwendung.

  1. Greifen Sie über den Application Load Balancer (http://<your-load-balancer-dns>) oder über die gehostete Zone (https://myhostedzone.dev/) auf die Online-Anwendung zu.

  2. Geben CC00 Sie für die Transaktions-ID ein.

  3. Geben Sie für den Benutzernamen einUSER0001.

  4. Geben Sie für das Passwort einPASSWORD.

    Nach erfolgreicher Anmeldung wird das Hauptmenü angezeigt.

App-Entwickler, Testingenieur

Überprüfen Sie die Batch-Skripte.

  1. Greifen Sie entweder über den Application Load Balancer (http://<your-load-balancer-dns>/gapwalk-application/scripts) oder über die gehostete Zone (https://myhostedzone.dev/gapwalk-application/scripts) auf die Skriptschnittstelle zu.

  2. Wählen Sie ein auszuführendes Skript aus, z. B. das Skript dusrsecj.jcl.Groovy.

  3. Stellen Sie sicher, dass das Skript erfolgreich ausgeführt wird. Im Folgenden finden Sie eine Beispielausgabe nach erfolgreicher Ausführung.

    { "exitCode": 0, "stepName": "STEP03", "program": "IDCAMS", "status": "Succeeded" }
App-Entwickler, Testingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Bereiten Sie sich darauf vor, die Infrastruktur zu löschen.

  1. Geben Sie den folgenden Befehl ein, um den Löschschutz von der Amazon RDS-Instance zu entfernen:

    aws rds modify-db-instance \ --db-instance-identifier <your-db-instance-name> \ --no-deletion-protection \ --apply-immediately
  2. Geben Sie den folgenden Befehl ein, um den Löschschutz aus dem Application Load Balancer zu entfernen:

    aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn <your-load-balancer-arn> \ --attributes Key=deletion_protection.enabled,Value=false
  3. Geben Sie die folgenden Befehle ein, um den Inhalt der Amazon S3 S3-Buckets zu löschen:

    ACCOUNT_NUMBER=$(aws sts get-caller-identity --query Account --output text) aws s3 rm s3://mf-carddemo-$ACCOUNT_NUMBER --recursive aws s3 rm s3://mf-carddemo-logs-$ACCOUNT_NUMBER --recursive
Allgemeines AWS

Löschen Sie die Infrastruktur.

Wichtig

Durch diese Schritte werden Ihre Ressourcen dauerhaft gelöscht. Stellen Sie sicher, dass Sie alle wichtigen Daten gesichert haben, bevor Sie fortfahren.

  1. Geben Sie den folgenden Befehl ein, um in den infra Ordner zu navigieren:

    cd /mainframe-transformation-e2e/infra
  2. Geben Sie den folgenden Befehl ein, um die Infrastruktur zu löschen:

    terraform destroy --auto-approve    
Allgemeines AWS

Fehlerbehebung

ProblemLösung

Terraform-Authentifizierung

  1. Stellen Sie sicher, dass die AWS Anmeldeinformationen richtig konfiguriert sind.

  2. Stellen Sie sicher, dass Sie das richtige AWS Profil ausgewählt haben.

  3. Vergewissern Sie sich, dass Sie über die erforderlichen Berechtigungen verfügen.

Fehler im Zusammenhang mit Tomcat

  1. Überprüfen Sie catalina.out auf Ausnahmen. /opt/tomcat/apache-tomcat-10.0.23/logs

  2. Geben Sie den folgenden Befehl ein, um den Eigentümer des Tomcat-Ordners auf den Tomcat-Benutzer zu übertragen:

    chown -R tomcat:tomcat /opt/tomcat/*

URL-Name wird nicht geladen

Stellen Sie sicher, dass die Application Load Balancer Balancer-Sicherheitsgruppe Ihre IP-Adresse in der Regel für eingehenden Datenverkehr als Quelle hat.

Authentifizierungsproblem im Tomcat-Protokoll

Vergewissern Sie sich, dass das geheime Datenbankkennwort in AWS Secrets Manager und das Passwort in server.xml übereinstimmen.

Zugehörige Ressourcen

AWS Präskriptive Leitlinien

AWS Servicedokumentation

AWS Blog-Beiträge