

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.

# Großrechner
<a name="mainframe-pattern-list"></a>

**Topics**
+ [Zugriff AWS-Services von IBM z/OS durch Installation des AWS CLI](access-aws-services-from-ibm-z-os-by-installing-aws-cli.md)
+ [Mainframe-Daten mithilfe von BMC AMI Cloud Data auf Amazon S3 sichern und archivieren](back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.md)
+ [Erstellen Sie COBOL Db2-Programme mit und AWS Mainframe Modernization AWS CodeBuild](build-cobol-db2-programs-mainframe-modernization-codebuild.md)
+ [Erstellen Sie ein Micro Focus Enterprise Server PAC mit Amazon EC2 Auto Scaling und Systems Manager](build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.md)
+ [Erstellen Sie einen fortschrittlichen Mainframe-Dateiviewer in der AWS-Cloud](build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.md)
+ [Containerisieren Sie Mainframe-Workloads, die von Blu Age modernisiert wurden](containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.md)
+ [EBCDIC-Daten mithilfe von Python in ASCII auf AWS konvertieren und entpacken](convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.md)
+ [Konvertieren Sie Mainframe-Dateien vom EBCDIC-Format in das durch Zeichen getrennte ASCII-Format in Amazon S3 mit AWS Lambda](convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda.md)
+ [Konvertieren Sie Mainframe-Datendateien mit komplexen Datensatzlayouts mit Micro Focus](convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.md)
+ [Stellen Sie mithilfe von Terraform eine Umgebung für containerisierte Blu Age-Anwendungen bereit](deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.md)
+ [Generieren Sie Einblicke in z/OS Db2-Daten mithilfe AWS Mainframe Modernization von Amazon Q in Quick Sight](generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.md)
+ [Generieren Sie Dateneinblicke mithilfe AWS Mainframe Modernization von Amazon Q in Quick Sight](generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.md)
+ [Implementieren Sie die auf Microsoft Entra ID basierende Authentifizierung in einer modernisierten Mainframe-Anwendung von AWS Blu Age](implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.md)
+ [Integrieren Sie Stonebranch Universal Controller in AWS Mainframe Modernization](integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.md)
+ [Migrieren und replizieren Sie VSAM-Dateien mit Connect von Precisely zu Amazon RDS oder Amazon MSK](migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.md)
+ [Modernisieren Sie die CardDemo Mainframe-Anwendung mithilfe von AWS Transform](modernize-carddemo-mainframe-app.md)
+ [Modernisieren und implementieren Sie Mainframe-Anwendungen mithilfe von Terraform AWS Transform](modernize-mainframe-app-transform-terraform.md)
+ [Modernisieren Sie das Mainframe-Output-Management mithilfe AWS von Rocket Enterprise Server und LRS X PageCenter](modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.md)
+ [Modernisieren Sie Mainframe-Batchdruck-Workloads mithilfe AWS von Rocket Enterprise Server und LRS VPSX/MFI](modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Mainframe-Modernisierung: DevOps Weiter AWS mit Rocket Software Enterprise Suite](mainframe-modernization-devops-on-aws-with-micro-focus.md)
+ [Modernisieren Sie Mainframe-Online-Druck-Workloads auf AWS mithilfe von Micro Focus Enterprise Server und LRS VPSX/MFI](modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Verschieben Sie Mainframe-Dateien mit Transfer Family direkt nach Amazon S3](move-mainframe-files-directly-to-amazon-s3-using-transfer-family.md)
+ [Optimieren Sie die Leistung Ihrer modernisierten AWS Blu Age-Anwendung](optimize-performance-aws-blu-age-modernized-application.md)
+ [Sicherer und optimierter Benutzerzugriff in einer Db2-Verbunddatenbank auf AWS mithilfe vertrauenswürdiger Kontexte](secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts.md)
+ [Übertragung umfangreicher z/OS Db2-Daten in CSV-Dateien nach Amazon S3](transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.md)
+ [Verwandeln Sie Easytrieve mithilfe von Custom in moderne Sprachen AWS Transform](transform-easytrieve-modern-languages.md)
+ [Mehr Muster](mainframe-more-patterns-pattern-list.md)

# Zugriff AWS-Services von IBM z/OS durch Installation des AWS CLI
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli"></a>

*Souma Ghosh, Paulo Vitor Pereira und Phil de Valence, Amazon Web Services*

## Zusammenfassung
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-summary"></a>

The [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) ist ein Open-Source-Tool zur Verwaltung mehrerer AWS Dienste mithilfe von Befehlen in einer Befehlszeilen-Shell. Mit minimaler Konfiguration können Sie Befehle von Befehlszeilensitzungen wie der Befehlszeile, dem Terminal und der Bash-Shell aus ausführen, um Funktionen zu implementieren, die der browserbasierten AWS-Managementkonsole Version entsprechen.

Alle Administrations-, Management- und Zugriffsfunktionen von AWS Infrastructure as a Service (IaaS) in der AWS-Managementkonsole sind in der AWS API und AWS CLI verfügbar. Sie können den AWS CLI auf einem z/OS IBM-Mainframe installieren, um von z/OS AWS-Services aus direkt darauf zuzugreifen, ihn zu verwalten und mit ihm zu interagieren. Das AWS CLI ermöglicht es Benutzern und Anwendungen, verschiedene Aufgaben auszuführen, wie z. B.:
+ Übertragung von Dateien oder Datensätzen zwischen z/OS einem Amazon Simple Storage Service (Amazon S3) -Objektspeicher und Anzeigen des Inhalts von Buckets
+ Starten und Stoppen verschiedener AWS Ressourcen, z. B. Starten eines Batch-Jobs in einer Umgebung AWS Mainframe Modernization 
+ Aufruf einer AWS Lambda Funktion zur Implementierung allgemeiner Geschäftslogik
+ Integration mit Diensten für künstliche Intelligenz und maschinelles Lernen (AI/ML) sowie Analysedienste

Dieses Muster beschreibt, wie Sie das auf Benutzerebene oder AWS CLI auf z/OS. You can install it globally, so it's available to all z/OS Benutzerebene installieren, konfigurieren und verwenden. Das Muster beschreibt auch, wie der AWS CLI in einer interaktiven Befehlszeilensitzung von z/OS Unix System Services (USS) oder als Batch-Job verwendet wird.

## Voraussetzungen und Einschränkungen
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-prereqs"></a>

**Voraussetzungen**
+ **Netzwerkkommunikation von z/OS bis AWS**

  Standardmäßig AWS CLI sendet der Anfragen unter Verwendung AWS-Services von HTTPS an TCP-Port 443. Um das AWS CLI erfolgreich verwenden zu können, müssen Sie in der Lage sein, ausgehende Verbindungen über den TCP-Port 443 herzustellen. Sie können jeden der folgenden z/OS USS-Befehle (einige davon sind möglicherweise nicht in Ihrer Umgebung installiert) verwenden, um die Netzwerkkonnektivität von bis zu zu zu z/OS zu zu AWS testen:

  ```
  ping amazonaws.com
  dig amazonaws.com
  traceroute amazonaws.com
  curl -k https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html
  ```
+ **AWS Anmeldedaten**

  Um mit den AWS Cloud Diensten von z/OS kommunizieren zu können, AWS CLI müssen Sie einige Anmeldeinformationen mit Rechten für den Zugriff auf das Ziel AWS-Konto konfigurieren. Für programmatische Befehle können Sie Zugriffsschlüssel verwenden, die aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel bestehen. AWS Wenn Sie noch keine Zugriffsschlüssel besitzen, können Sie diese über die AWS-Managementkonsole erstellen. Es hat sich bewährt, die Zugriffsschlüssel für den AWS-Konto Root-Benutzer für keine Aufgabe zu verwenden, es sei denn, der Root-Benutzer ist erforderlich. [Erstellen Sie stattdessen einen neuen Administrator-IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin) und [bereiten Sie sich auf die Berechtigungen mit den geringsten](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#LeastPrivilege) Rechten vor****, um den Benutzer mit Zugriffsschlüsseln einzurichten. Nachdem Sie den Benutzer erstellt haben, können Sie [eine Zugriffsschlüssel-ID und einen geheimen Zugriffsschlüssel für diesen Benutzer erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)
+ **IBM Python für z/OS**

  Das AWS CLI erfordert Python 3.8 oder höher. IBM hat Python für die Ausführung z/OS mit [IBM Open Enterprise Python for z/OS](https://www.ibm.com/products/open-enterprise-python-zos) aktiviert. [IBM Open Enterprise Python ist kostenlos über Shopz SMP/E erhältlich, oder Sie können die PAX-Datei von der IBM-Website herunterladen.](https://www.ibm.com/account/reg/signup?formid=urx-49465) Anweisungen finden Sie in der [Installations- und Konfigurationsdokumentation](https://www.ibm.com/docs/en/python-zos) für IBM Open Enterprise Python for z/OS.

**Einschränkungen**
+ Die in diesem Muster enthaltenen Installationsanweisungen gelten **nur für AWS CLI Version 1.** Die neueste Version von AWS CLI ist Version 2. Dieses Muster verwendet jedoch die ältere Version, da die Installationsmethoden für Version 2 unterschiedlich sind und die für Version 2 verfügbaren binären ausführbaren Dateien nicht mit dem z/OS System kompatibel sind.

**Produktversionen**
+ AWS CLI Version 1
+ Python 3.8 oder höher

## Architektur
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-architecture"></a>

**Technologie-Stack**
+ Mainframe, auf dem z/OS ausgeführt wird
+  z/OS Mainframe-UNIX-Systemdienste (USS)
+ Mainframe Open MVS (OMVS) — Befehlsschnittstelle für die z/OS UNIX-Shell-Umgebung
+ Mainframe-Festplatte, z. B. ein Direct-Access-Speichergerät (DASD)
+ AWS CLI

**Zielarchitektur**

Das folgende Diagramm zeigt eine AWS CLI Bereitstellung auf IBM z/OS. Sie können die AWS CLI in einer interaktiven Benutzersitzung wie SSH und in Telnet-Sitzungen aufrufen. Sie können ihn auch von einem Batchjob aus aufrufen, indem Sie die Job Control Language (JCL) verwenden, oder von einem beliebigen Programm aus, das einen Unix-Shell-Befehl aufrufen kann. z/OS 

![\[AWS-CLI auf einem z/OS IBM-Mainframe, der auf AWS-Services zugreift.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/c3883500-bd00-4c56-982a-26d5e0b8b093.png)


Der AWS CLI kommuniziert mit AWS-Service Endpunkten über ein Netzwerk. TCP/IP Diese Netzwerkverbindung kann über das Internet oder über eine private AWS Direct Connect Verbindung vom Kundenrechenzentrum zu AWS Cloud den Rechenzentren erfolgen. Die Kommunikation wird mit AWS Anmeldeinformationen authentifiziert und verschlüsselt. 

**Automatisierung und Skalierung**

Sie können die Funktionen von und AWS-Service mit dem erkunden AWS CLI und USS-Shell-Skripte entwickeln, um Ihre AWS Ressourcen von z/OS aus zu verwalten. Sie können auch AWS CLI Befehle und Shell-Skripte in der z/OS Batch-Umgebung ausführen und Batch-Jobs automatisieren, sodass sie nach einem bestimmten Zeitplan ausgeführt werden, indem Sie sie in Mainframe-Scheduler integrieren. AWS CLI Befehle oder Skripten können innerhalb von Parametern (PARMs) und Prozeduren (PROCs) codiert und skaliert werden, indem man dem Standardansatz folgt, PARM oder PROC von verschiedenen Batchjobs mit unterschiedlichen Parametern aus aufzurufen.

## Tools
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie AWS-Services über Befehle in Ihrer Befehlszeilen-Shell interagieren können.

## Best Practices
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-best-practices"></a>
+ Beschränken Sie aus Sicherheitsgründen die Zugriffsberechtigungen auf das USS-Verzeichnis, in dem die AWS Zugangsschlüsseldetails gespeichert sind. Erlauben Sie den Zugriff nur Benutzern oder Programmen, die den verwenden AWS CLI.
+ Verwenden Sie die AWS-Konto Root-Benutzerzugriffstasten für keine Aufgabe. [Erstellen Sie stattdessen einen neuen Administrator-IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin) für sich selbst und richten Sie ihn mit Zugriffsschlüsseln ein.


| 
| 
| IAM-Benutzer verfügen über langfristige Anmeldeinformationen, die ein Sicherheitsrisiko darstellen. Um dieses Risiko zu minimieren, empfehlen wir, diesen Benutzern nur die Berechtigungen zu gewähren, die sie für die Ausführung der Aufgabe benötigen, und diese Benutzer zu entfernen, wenn sie nicht mehr benötigt werden. | 
| --- |

## Epen
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-epics"></a>

### Installieren Sie AWS CLI Version 1 auf USS z/OS
<a name="install-cli-version-1-on-z-os-uss"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie Python 3.8 oder höher. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe-Administrator z/OS  | 
| Legen Sie die USS-Umgebungsvariablen fest. | Fügen Sie dem Profil Umgebungsvariablen hinzu. Sie können diese entweder der `/u/cliuser/.profile` Datei für einen einzelnen Benutzer (`cliuser`) oder der `/etc/profile` Datei für alle Benutzer hinzufügen.Dieses Muster geht davon aus, dass Python in dem `/u/awscli/python` Verzeichnis installiert wurde. Wenn Ihr Installationsverzeichnis anders ist, aktualisieren Sie den Code entsprechend.<pre># Python configuration<br />export BPXKAUTOCVT='ON'<br />export CEERUNOPTS='FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)'<br />export TAGREDIR_ERR=txt<br />export TAGREDIR_IN=txt<br />export TAGREDIR_OUT=txt<br /><br /># AWS CLI configuration<br />export PATH=/u/cliuser/python/bin:$PATH<br />export PYTHONPATH=/u/cliuser/python:$PYTHONPATH</pre> | Mainframe-Administrator z/OS  | 
| Testen Sie die Python-Installation. | Führen Sie den **Python-Befehl** aus:<pre>python --version</pre>Die Ausgabe sollte bestätigen, dass Sie Python 3.8 oder höher korrekt installiert haben. | Mainframe-Administrator z/OS  | 
| Überprüfen oder installieren Sie **Pip**. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe-Administrator z/OS  | 
| Installieren Sie AWS CLI Version 1. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe-Administrator z/OS  | 

### Konfigurieren Sie den AWS CLI Zugriff von z/OS aus
<a name="configure-cli-access-from-z-os"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie die AWS Zugriffstasten, die Standardregion und die Ausgabe. | In der [AWS CLI Dokumentation](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html) werden verschiedene Optionen für die Einrichtung des AWS Zugriffs beschrieben. Sie können eine Konfiguration wählen, die den Standards Ihrer Organisation entspricht. In diesem Beispiel wird die Konfiguration mit kurzfristigen Anmeldeinformationen verwendet.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | AWS-Administrator, z/OS Mainframe-Administrator, Mainframe-Entwickler z/OS  | 
| Testen Sie das. AWS CLI | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe-Administrator, Mainframe-Entwickler z/OS z/OS  | 

### Option 1 ‒ Daten interaktiv aus einer USS-Sitzung von USS zu Amazon S3 übertragen
<a name="option-1-transfer-data-from-uss-to-s3-interactively-from-a-uss-session"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Laden Sie die CSV-Beispieldatei herunter und übertragen Sie sie. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | App-Entwickler, Mainframe-Entwickler z/OS  | 
| Erstellen Sie einen S3-Bucket und laden Sie die CSV-Datei hoch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | App-Entwickler, z/OS Mainframe-Entwickler | 
| Sehen Sie sich den S3-Bucket und die hochgeladene Datei an. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)Weitere Informationen zum Hochladen von Objekten finden Sie unter [Erste Schritte mit Amazon S3 in der Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html) S3-Dokumentation. | Allgemeines AWS | 
| Führen Sie eine SQL-Abfrage für eine Amazon Athena Athena-Tabelle aus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)In der Ausgabe der SQL-Abfrage wird der Inhalt Ihrer CSV-Datei angezeigt. | Allgemein AWS, App-Entwickler | 

### Option 2 ‒ Daten mithilfe von Batch-JCL von USS nach Amazon S3 übertragen
<a name="option-2-transfer-data-from-uss-to-s3-by-using-batch-jcl"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Laden Sie die Beispieldatei hoch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe-Entwickler z/OS  | 
| Erstellen Sie eine Batch-JCL. | Codieren Sie die Batch-JCL wie folgt, um den Ziel-S3-Bucket zu erstellen, den Datensatz hochzuladen und den Bucket-Inhalt aufzulisten. Stellen Sie sicher, dass Sie den Verzeichnisnamen, die Dateinamen und den Bucket-Namen durch Ihre eigenen Werte ersetzen.<pre>//AWSCLICP JOB ACTINFO1,'IBMUSER',CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1), <br />// NOTIFY=&SYSUID,TIME=1440 <br />//*---------------------------------------------------------<br />//* Sample job for AWS CLI <br />//*--------------------------------------------------------- <br />//USSCMD EXEC PGM=BPXBATCH<br />//STDERR  DD SYSOUT=*<br />//STDOUT  DD SYSOUT=*<br />//STDENV  DD *<br /> export PATH=/u/cliuser/python/bin:$PATH<br />//STDPARM DD *<br />SH<br /> export _BPXK_AUTOCVT=ON;<br /> aws s3 mb s3://DOC-EXAMPLE-BUCKET2;<br /> cp "//'USER.DATA.FIXED'" /tmp/tmpfile;<br /> aws s3 cp /tmp/tmpfile s3://DOC-EXAMPLE-BUCKET2/USER.DATA.FIXED; <br /> rm /tmp/tmpfile;<br /> aws s3 ls s3://DOC-EXAMPLE-BUCKET2;<br />/*</pre> | Mainframe-Entwickler z/OS  | 
| Reichen Sie den Batch-JCL-Job ein. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe-Entwickler z/OS  | 
| Sehen Sie sich den Datensatz an, der in den S3-Bucket hochgeladen wurde. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Allgemeines AWS | 

## Zugehörige Ressourcen
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-resources"></a>
+ [AWS CLI Dokumentation zu Version 1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html)
+ [AWS Mainframe Modernization CLI-Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/m2/)
+ [AWS Mainframe Modernization](https://aws.amazon.com/mainframe-modernization/)

## Zusätzliche Informationen
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-additional"></a>

**USER.DATA.FIXED in der ISPF-Option 3.4 (Hilfsprogramm zur Datensatzliste)**

![\[Den Inhalt des Datensatzes in z/OS anzeigen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/96c25145-3d4d-4007-99f6-5eeb9e88642d.png)


**SYSOUT des übermittelten Batch-Jobs**

![\[Standardausgabe aus dem Job-Protokoll.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/03fffbd2-7d2b-43b2-bf14-736b3d150e38.png)


## Anlagen
<a name="attachments-4e3188d8-287f-4ced-8c29-80a01cbbdf50"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/4e3188d8-287f-4ced-8c29-80a01cbbdf50/attachments/attachment.zip)

# Mainframe-Daten mithilfe von BMC AMI Cloud Data auf Amazon S3 sichern und archivieren
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data"></a>

*Santosh Kumar Singh, Gilberto Biondo und Maggie Li, Amazon Web Services*

*Mikhael Liberman, Modell 9 Mainframe-Software*

## Zusammenfassung
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-summary"></a>

Dieses Muster zeigt, wie Mainframe-Daten direkt in Amazon Simple Storage Service (Amazon S3) gesichert und archiviert werden. Anschließend werden diese Daten mithilfe von BMC AMI Cloud Data (früher bekannt als Model9 Manager) abgerufen und auf dem Mainframe wiederhergestellt. Wenn Sie nach einer Möglichkeit suchen, Ihre Sicherungs- und Archivierungslösung im Rahmen eines Mainframe-Modernisierungsprojekts zu modernisieren oder um Compliance-Anforderungen zu erfüllen, kann dieses Muster Ihnen helfen, diese Ziele zu erreichen.

In der Regel verwenden Unternehmen, die wichtige Geschäftsanwendungen auf Mainframes ausführen, eine virtuelle Bandbibliothek (VTL), um Datenspeicher wie Dateien und Protokolle zu sichern. Diese Methode kann teuer sein, da sie gebührenpflichtiges MIPS verbraucht und auf die auf Bändern außerhalb des Mainframes gespeicherten Daten nicht zugegriffen werden kann. Um diese Probleme zu vermeiden, können Sie BMC AMI Cloud Data verwenden, um betriebliche und historische Mainframe-Daten schnell und kostengünstig direkt zu Amazon S3 zu übertragen. Sie können BMC AMI Cloud Data verwenden, um Daten zu sichern und TCP/IP zu archivieren und AWS gleichzeitig die Vorteile der IBM z Integrated Information Processor (zIIP) -Engines zu nutzen, um Kosten, Parallelität und Übertragungszeiten zu reduzieren.

## Voraussetzungen und Einschränkungen
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ BMC AMI Cloud Data mit einem gültigen Lizenzschlüssel
+ TCP/IP-Konnektivität zwischen dem Mainframe und AWS
+ Eine AWS Identity and Access Management (IAM-) Rolle für read/write den Zugriff auf einen S3-Bucket
+ Zugriff auf das Mainframe-Sicherheitsprodukt (RACF) zur Ausführung von BMC AMI-Cloud-Prozessen vorhanden
+ Ein BMC AMI z/OS Cloud-Agent (Java Version 8 64-Bit SR5 FP16 oder höher) mit verfügbaren Netzwerkports, Firewallregeln, die den Zugriff auf S3-Buckets ermöglichen, und einem dedizierten Dateisystem z/FS 
+ Die [Anforderungen](https://docs.bmc.com/docs/cdacv27/management-server-requirements-1245343255.html) für den BMC AMI Cloud-Verwaltungsserver wurden erfüllt

**Einschränkungen**
+ BMC AMI Cloud Data speichert seine Betriebsdaten in einer PostgreSQL-Datenbank, die als Docker-Container auf derselben Amazon Elastic Compute Cloud (Amazon EC2) -Instance wie der Management-Server ausgeführt wird. Amazon Relational Database Service (Amazon RDS) wird derzeit nicht als Backend für BMC AMI Cloud Data unterstützt. Weitere Informationen zu den neuesten Produktupdates finden Sie unter [Was ist neu?](https://docs.bmc.com/docs/cdacv27/what-s-new-1245343246.html) in der BMC-Dokumentation.
+ Mit diesem Muster werden nur z/OS Mainframe-Daten gesichert und archiviert. BMC AMI Cloud Data sichert und archiviert nur Mainframe-Dateien.
+ Dieses Muster konvertiert keine Daten in offene Standardformate wie JSON oder CSV. Verwenden Sie einen zusätzlichen Transformationsdienst wie [BMC AMI Cloud Analytics](https://www.bmc.com/it-solutions/bmc-ami-cloud-analytics.html) (früher bekannt als Model9 Gravity), um die Daten in offene Standardformate zu konvertieren. Cloud-native Anwendungen und Datenanalysetools können auf die Daten zugreifen, nachdem sie in die Cloud geschrieben wurden.

**Produktversionen**
+ BMC AMI Cloud-Daten Version 2.x

## Architektur
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-architecture"></a>

**Quelltechnologie-Stack**
+ Mainframe, auf dem z/OS ausgeführt wird
+ Mainframe-Dateien wie Datensätze und z/OS UNIX System Services (USS) -Dateien
+ Mainframe-Festplatte, z. B. ein Direct-Access-Speichergerät (DASD)
+ Mainframe-Band (virtuelle oder physische Bandbibliothek)

**Zieltechnologie-Stack**
+ Amazon S3
+  EC2 Amazon-Instanz in einer virtuellen privaten Cloud (VPC)
+ AWS Direct Connect
+ Amazon Elastic File System (Amazon EFS)

**Zielarchitektur**

Das folgende Diagramm zeigt eine Referenzarchitektur, in der BMC AMI Cloud Data-Softwareagenten auf einem Mainframe die älteren Datensicherungs- und Archivierungsprozesse ausführen, die die Daten in Amazon S3 speichern.

![\[BMC AMI Cloud Data-Softwareagenten auf einem Mainframe, die ältere Datensicherungs- und Archivierungsprozesse vorantreiben\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/bde3b029-184e-4eb0-933b-f8caf6cc40ab/images/a24cd6c1-b131-49ea-8238-f3aea5ab8134.png)


Das Diagramm zeigt den folgenden Workflow:

1. BMC AMI Cloud Data-Softwareagenten werden auf logischen Mainframe-Partitionen () LPARs ausgeführt. Die Softwareagenten lesen und schreiben Mainframe-Daten von DASD oder Band direkt über TCP/IP in Amazon S3.

1. AWS Direct Connect richtet eine physische, isolierte Verbindung zwischen dem lokalen Netzwerk und ein. AWS Führen Sie zur Erhöhung der Sicherheit zusätzlich ein site-to-site VPN aus, um Daten während der Übertragung Direct Connect zu verschlüsseln.

1. Der S3-Bucket speichert Mainframe-Dateien als Objektspeicherdaten, und BMC AMI Cloud Data-Agents kommunizieren direkt mit den S3-Buckets. Zertifikate werden für die HTTPS-Verschlüsselung der gesamten Kommunikation zwischen dem Agenten und Amazon S3 verwendet. Die Amazon S3 S3-Datenverschlüsselung wird verwendet, um die Daten im Ruhezustand zu verschlüsseln und zu schützen.

1. BMC AMI Cloud Data Management Server werden als Docker-Container auf EC2 Instanzen ausgeführt. Die Instances kommunizieren mit Agenten, die auf Mainframe LPARs - und S3-Buckets ausgeführt werden.

1. Amazon EFS wird sowohl auf aktiven als auch auf passiven EC2 Instances bereitgestellt, um den NFS-Speicher (Network File System) gemeinsam zu nutzen. Dadurch wird sichergestellt, dass Metadaten, die sich auf eine auf dem Management-Server erstellte Richtlinie beziehen, im Falle eines Failovers nicht verloren gehen. Im Falle eines Failovers durch den aktiven Server kann ohne Datenverlust auf den passiven Server zugegriffen werden. Wenn der passive Server ausfällt, kann ohne Datenverlust auf den aktiven Server zugegriffen werden.

## Tools
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-tools"></a>

**AWS-Services**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/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.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) hilft Ihnen bei der Erstellung und Konfiguration gemeinsam genutzter Dateisysteme in der AWS Cloud.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, mit dem Sie nahezu jede Datenmenge speichern, schützen und abrufen können.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) hilft Ihnen dabei, AWS Ressourcen in einem von Ihnen definierten virtuellen Netzwerk bereitzustellen. Dieses virtuelle Netzwerk entspricht einem herkömmlichen Netzwerk, wie Sie es in Ihrem Rechenzentrum betreiben würden, mit den Vorteilen der Verwendung der skalierbaren Infrastruktur von AWS.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)verbindet Ihr internes Netzwerk über ein Standard-Ethernet-Glasfaserkabel mit einem AWS Direct Connect Standort. Mit dieser Verbindung können Sie virtuelle Schnittstellen direkt zu öffentlichen AWS Diensten einrichten und gleichzeitig Internetdienstanbieter in Ihrem Netzwerkpfad umgehen.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

**BMC-Tools**
+ Der [BMC AMI Cloud Management Server](https://docs.bmc.com/docs/cdacv27/bmc-ami-cloud-overview-1245343249.html) ist eine GUI-Anwendung, die als Docker-Container auf einem Amazon Linux Amazon Machine Image (AMI) für Amazon läuft. EC2 Der Management-Server bietet Funktionen zur Verwaltung von BMC AMI Cloud-Aktivitäten wie Berichten, Erstellen und Verwalten von Richtlinien, Ausführen von Archiven und Durchführen von Backups, Rückrufen und Wiederherstellungen.
+ Der [BMC AMI Cloud-Agent](https://docs.bmc.com/docs/cdacv27/bmc-ami-cloud-overview-1245343249.html) wird auf einem lokalen Mainframe-LPAR ausgeführt, der Dateien mithilfe von TCP/IP direkt in den Objektspeicher liest und schreibt. Eine gestartete Aufgabe wird auf einem Mainframe-LPAR ausgeführt und ist für das Lesen und Schreiben von Sicherungs- und Archivdaten in und von Amazon S3 verantwortlich.
+ Das [BMC AMI Cloud Mainframe Command Line Interface (M9CLI)](https://docs.bmc.com/docs/cdacv27/command-line-interface-cli-reference-1245343519.html) bietet Ihnen eine Reihe von Befehlen, mit denen Sie BMC AMI Cloud-Aktionen direkt von TSO/E oder in Batch-Vorgängen ausführen können, ohne vom Management-Server abhängig zu sein.

## Epen
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-epics"></a>

### Erstellen Sie einen S3-Bucket und eine IAM-Richtlinie
<a name="create-an-s3-bucket-and-iam-policy"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen S3-Bucket. | [Erstellen Sie einen S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), um die Dateien und Volumes zu speichern, die Sie aus Ihrer Mainframe-Umgebung sichern und archivieren möchten. | Allgemeines AWS | 
| Erstellen Sie eine IAM-Richtlinie. | Alle BMC AMI Cloud-Verwaltungsserver und -Agenten benötigen Zugriff auf den S3-Bucket, den Sie im vorherigen Schritt erstellt haben.Um den erforderlichen Zugriff zu gewähren, erstellen Sie die folgende IAM-Richtlinie:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "Listfolder",<br />            "Action": [<br />                "s3:ListBucket",<br />                "s3:GetBucketLocation",<br />                "s3:ListBucketVersions"<br />            ],<br />            "Effect": "Allow",<br />            "Resource": [<br />                "arn:aws:s3:::<Bucket Name>"<br />            ]<br />        },<br />        {<br />            "Sid": "Objectaccess",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",<br />                "s3:GetObjectAcl",<br />                "s3:GetObject",<br />                "s3:DeleteObjectVersion",<br />                "s3:DeleteObject",<br />                "s3:PutObjectAcl",<br />                "s3:GetObjectVersion"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::<Bucket Name>/*"<br />            ]<br />        }<br />    ]<br />}</pre> | Allgemeines AWS | 

### Holen Sie sich die BMC AMI Cloud-Softwarelizenz und laden Sie die Software herunter
<a name="get-the-bmc-ami-cloud-software-license-and-download-the-software"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Besorgen Sie sich eine BMC AMI Cloud-Softwarelizenz. | Um einen Softwarelizenzschlüssel zu erhalten, wenden Sie sich an das [BMC AMI Cloud-Team](https://www.bmc.com/it-solutions/bmc-ami-cloud.html?vd=model9-io). Die Ausgabe des z/OS `D M=CPU` Befehls ist für die Generierung einer Lizenz erforderlich. | Blei aufbauen | 
| Laden Sie die BMC AMI Cloud-Software und den Lizenzschlüssel herunter. | Besorgen Sie sich die Installationsdateien und den Lizenzschlüssel, indem Sie den Anweisungen in der [BMC-Dokumentation](https://docs.bmc.com/docs/cdacv27/preparing-to-install-the-bmc-ami-cloud-agent-1245343285.html) folgen. | Administrator der Mainframe-Infrastruktur | 

### Installieren Sie den BMC AMI Cloud-Softwareagenten auf dem Mainframe
<a name="install-the-bmc-ami-cloud-software-agent-on-the-mainframe"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie den BMC AMI Cloud-Softwareagenten. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Administrator der Mainframe-Infrastruktur | 

### Richten Sie einen BMC AMI Cloud-Verwaltungsserver auf einer Instanz ein EC2
<a name="set-up-a-bmc-ami-cloud-management-server-on-an-ec2-instance"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie Amazon EC2 Linux 2-Instances. | Starten Sie zwei Amazon EC2 Linux 2-Instances in verschiedenen Availability Zones, indem Sie den Anweisungen in [Schritt 1: Starten einer Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance) in der EC2 Amazon-Dokumentation folgen.Die Instance muss die folgenden empfohlenen Hardware- und Softwareanforderungen erfüllen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Weitere Informationen finden Sie in der [BMC-Dokumentation](https://docs.bmc.com/docs/cdacv27/preparing-to-install-the-management-server-on-linux-1245343268.html). | Cloud-Architekt, Cloud-Administrator | 
| Erstellen Sie ein Amazon EFS-Dateisystem. | Erstellen Sie ein Amazon EFS-Dateisystem, indem Sie den Anweisungen unter [Schritt 1: Erstellen Sie Ihr Amazon EFS-Dateisystem](https://docs.aws.amazon.com/efs/latest/ug/gs-step-two-create-efs-resources.html) in der Amazon EFS-Dokumentation folgen.Gehen Sie beim Erstellen des Dateisystems wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Cloud-Administrator, Cloud-Architekt | 
| Installieren Sie Docker und konfigurieren Sie den Management-Server. | **Connect zu Ihren EC2 Instances her:**Stellen Sie eine Verbindung zu Ihren EC2 Instances her, indem Sie den Anweisungen unter [Connect to your Linux Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html) in der EC2 Amazon-Dokumentation folgen.**Konfigurieren Sie Ihre EC2 Instances:**Gehen Sie für jede EC2 Instanz wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Cloud-Architekt, Cloud-Administrator | 
| Installieren Sie die Management-Server-Software. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Um Probleme zu beheben, gehen Sie zu den Protokollen, die im Ordner gespeichert sind. `/data/model9/logs/`**** Weitere Informationen finden Sie in der [BMC-Dokumentation](https://docs.bmc.com/docs/cdacv27/performing-the-management-server-installation-on-linux-1245343272.html). | Cloud-Architekt, Cloud-Administrator | 

### Fügen Sie einen Agenten hinzu und definieren Sie eine Sicherungs- oder Archivierungsrichtlinie auf dem BMC AMI Cloud-Verwaltungsserver
<a name="add-an-agent-and-define-a-backup-or-archive-policy-on-the-bmc-ami-cloud-management-server"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Fügen Sie einen neuen Agenten hinzu. | Bevor Sie einen neuen Agenten hinzufügen, bestätigen Sie Folgendes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Sie müssen einen Agenten auf dem Management-Server erstellen, bevor Sie Sicherungs- und Archivierungsrichtlinien definieren. Gehen Sie wie folgt vor, um den Agenten zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Nachdem der Agent erstellt wurde, wird in einem neuen Fenster, das in der Tabelle angezeigt wird, der **Verbindungsstatus** für den Objektspeicher und den Mainframe-Agenten angezeigt. | Mainframe-Speicheradministrator oder Entwickler | 
| Erstellen Sie eine Sicherungs- oder Archivierungsrichtlinie. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Mainframe-Speicheradministrator oder Entwickler | 

### Führen Sie die Sicherungs- oder Archivierungsrichtlinie vom Management-Server aus
<a name="run-the-backup-or-archive-policy-from-the-management-server"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie die Sicherungs- oder Archivierungsrichtlinie aus. | Führen Sie die Datensicherungs- oder Archivierungsrichtlinie, die Sie zuvor auf dem Management-Server erstellt haben, entweder manuell oder automatisch (nach einem Zeitplan) aus. Gehen Sie wie folgt vor, um die Richtlinie manuell auszuführen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Mainframe-Speicheradministrator oder Entwickler | 
| Stellen Sie die Sicherungs- oder Archivierungsrichtlinie wieder her. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html) | Mainframe-Speicheradministrator oder Entwickler | 

### Führen Sie die Sicherungs- oder Archivierungsrichtlinie vom Mainframe aus
<a name="run-the-backup-or-archive-policy-from-the-mainframe"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie die Sicherungs- oder Archivierungsrichtlinie mithilfe von M9CLI aus. | Verwenden Sie die M9CLI, um Sicherungs- und Wiederherstellungsprozesse von TSO/E, REXX oder so aus durchzuführen, JCLs ohne Regeln auf dem BMC AMI Cloud-Verwaltungsserver einzurichten.**Verwenden von TSO/E:**Wenn Sie TSO/E verwenden, stellen Sie sicher, dass dies mit verknüpft ist. `M9CLI REXX` `TSO` Verwenden Sie den Befehl, um einen Datensatz über TSO/E zu sichern. `TSO M9CLI BACKDSN <DSNAME>`Weitere Informationen zu M9CLI-Befehlen finden Sie in der [CLI-Referenz](https://docs.bmc.com/docs/cdacv27/command-line-interface-cli-reference-1245343519.html) in der BMC-Dokumentation.** JCLsVerwenden von:**Um die Sicherungs- und Archivierungsrichtlinie mithilfe auszuführen JCLs, führen Sie den `M9CLI` Befehl aus.**Verwenden von Batch-Operationen:**Das folgende Beispiel zeigt Ihnen, wie Sie einen Datensatz archivieren, indem Sie den `M9CLI` Befehl im Batch ausführen:<pre>//JOBNAME JOB …<br />//M9CLI EXEC PGM=IKJEFT01<br />//STEPLIB DD DISP=SHR,DSN=<MODEL9 LOADLIB><br />//SYSEXEC DD DISP=SHR,DSN=<MODEL9 EXEC LIB><br />//SYSTSPRT DD SYSOUT=*<br />//SYSPRINT DD SYSOUT=*<br />//SYSTSIN DD TSO M9CLI ARCHIVE <br /> M9CLI ARCHIVE <DSNNAME OR DSN PATTERN>   <br />/</pre> | Mainframe-Speicheradministrator oder Entwickler | 
| Führen Sie die Sicherungs- oder Archivierungsrichtlinie im JCL-Batch aus. | **BMC AMI Cloud bietet eine JCL-Beispielroutine namens M9SAPIJ.** Sie können **M9SAPIJ** so anpassen, dass eine bestimmte Richtlinie ausgeführt wird, die auf dem Management-Server mit einer JCL erstellt wurde. Dieser Job kann auch Teil eines Batch-Schedulers sein, mit dem Sicherungs- und Wiederherstellungsprozesse automatisch ausgeführt werden.Der Batch-Job erwartet die folgenden obligatorischen Werte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data.html)Sie können auch andere Werte ändern, indem Sie den Anweisungen im Beispieljob folgen. | Mainframe-Speicheradministrator oder Entwickler | 

## Zugehörige Ressourcen
<a name="back-up-and-archive-mainframe-data-to-amazon-s3-using-bmc-ami-cloud-data-resources"></a>
+ [Mainframe-Modernisierung mit AWS (AWS-Dokumentation](https://aws.amazon.com/mainframe/))
+ [Wie Cloud Backup für Mainframes mit Model9 und AWS Kosten senkt (AWS-Partnernetzwerk-Blog](https://aws.amazon.com/blogs/apn/how-cloud-backup-for-mainframes-cuts-costs-with-model9-and-aws/))
+ [So aktivieren Sie Mainframe-Datenanalysen auf AWS mithilfe von Model9](https://aws.amazon.com/blogs/apn/how-to-enable-mainframe-data-analytics-on-aws-using-model9/) (AWS-Partnernetzwerk-Blog)
+ [Empfehlungen zur Ausfallsicherheit von AWS Direct Connect](https://aws.amazon.com/directconnect/resiliency-recommendation/?nc=sn&loc=4&dn=2) (AWS-Dokumentation)
+ [BMC AMI Cloud-Dokumentation](https://docs.bmc.com/docs/cdacv27/getting-started-1245343248.html) (BMC-Webseite)

# Erstellen Sie COBOL Db2-Programme mit und AWS Mainframe Modernization AWS CodeBuild
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild"></a>

*Luis Gustavo Dantas und Eduardo Zimelewicz, Amazon Web Services*

## Zusammenfassung
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-summary"></a>

**Anmerkung**  
AWS Mainframe Modernization Der Service (Managed Runtime Environment Experience) steht Neukunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Dieses Muster erklärt, wie Sie mithilfe der AWS CodeBuild Replatform-Tools ein einfaches Projekt erstellen, um COBOL Db2-Programme vorzukompilieren und zu binden. AWS Mainframe Modernization Dies ermöglicht die Bereitstellung und Ausführung dieser Programme in der Replatform-Laufzeitumgebung. AWS Mainframe Modernization 

COBOL, eine geschäftsorientierte Programmiersprache, unterstützt aufgrund ihrer Zuverlässigkeit und Lesbarkeit viele kritische Anwendungen. IBM Db2, ein relationales Datenbankmanagementsystem, verwaltet große Datenmengen effizient und lässt sich über SQL in COBOL-Programme integrieren. Zusammen bilden COBOL und Db2 trotz des Aufkommens neuerer Technologien das Rückgrat geschäftskritischer Abläufe in Branchen wie Finanzen und Behörden.

Die Migration von COBOL- und Db2-Komponenten aus der Mainframe-Umgebung auf andere Plattformen führt zu Herausforderungen wie Plattformkompatibilität, Integrationskomplexität, Datenmigration und Leistungsoptimierung. Die Migration dieser kritischen Komponenten erfordert sorgfältige Planung, technisches Fachwissen und Ressourcen, um eine reibungslose Migration zu gewährleisten und gleichzeitig Zuverlässigkeit und Funktionalität zu gewährleisten.

Der AWS Mainframe Modernization Service bietet Tools und Ressourcen zur Neuplattformierung von Mainframe-Anwendungen und Datenbanken, sodass sie auf AWS Infrastrukturen wie Amazon Elastic Compute Cloud (Amazon EC2) -Instances ausgeführt werden können. Dies beinhaltet die Verlagerung von Mainframe-Workloads in die Cloud ohne größere Codeänderungen.

Der Db2-Vorkompilierungs- und Bindungsprozess ist für die Optimierung der Leistung und Zuverlässigkeit von Datenbankanwendungen unerlässlich. Durch die Vorkompilierung werden eingebettete SQL-Anweisungen in ausführbaren Code umgewandelt, wodurch der Laufzeitaufwand reduziert und die Effizienz gesteigert wird. Der Bind-Prozess verknüpft den vorkompilierten Code mit Datenbankstrukturen und erleichtert so die Zugriffspfade und die Abfrageoptimierung. Dieser Prozess gewährleistet die Datenintegrität, verbessert die Reaktionsfähigkeit von Anwendungen und schützt vor Sicherheitslücken. Ordnungsgemäß vorkompilierte und gebundene Anwendungen minimieren den Ressourcenverbrauch, verbessern die Skalierbarkeit und verringern die Risiken von SQL-Injection-Angriffen.

## Voraussetzungen und Einschränkungen
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-prereqs"></a>

**Voraussetzungen**
+ Ein AWS-Konto Konsolenzugriff auf Administratorebene.
+ Ein IBM Db2-Datenbanksystem, wie IBM Db2 für z/OS oder Db2 für Linux, Unix und Windows (LUW).
+ [Die IBM Data Server Client-Software, die von der IBM-Website heruntergeladen werden kann.](https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers) Weitere Informationen finden Sie unter [IBM Data Server Client- und Data Server-Treibertypen](https://www.ibm.com/docs/en/db2/11.5?topic=overviews-data-server-clients).
+ Ein COBOL Db2-Programm, das kompiliert und gebunden werden soll. Alternativ bietet dieses Muster ein grundlegendes Beispielprogramm, das Sie verwenden können.
+ Eine virtuelle private Cloud (VPC) AWS mit einem privaten Netzwerk. Informationen zum Erstellen einer VPC finden Sie in der Dokumentation zu [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html).
+ Ein Quellcodeverwaltungs-Repository wie GitHub oder. GitLab

**Einschränkungen**
+ Informationen zu AWS CodeBuild Kontingenten finden Sie unter [Kontingente für AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/limits.html).
+ Einige AWS-Services sind nicht in allen verfügbar AWS-Regionen. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie [AWS-Services unter Nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie auf der Seite [Dienstendpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Dienst aus.

## Architektur
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-architecture"></a>

**Quelltechnologie-Stack**

Der Quellstapel umfasst:
+ COBOL-Programme, die eine Db2-Datenbank zum Speichern von Daten verwenden
+ IBM COBOL-Compiler und Db2 für Precompiler z/OS 
+ Andere Teile des Mainframe-Setups, wie das Dateisystem, der Transaktionsmanager und der Spool

**Zieltechnologie-Stack**

Der Ansatz dieses Musters funktioniert für zwei Optionen: das Verschieben von Daten von Db2 für LUW z/OS nach Db2 oder das Verbleiben auf Db2 für z/OS. Die Zielarchitektur umfasst:
+ COBOL-Programme, die eine Db2-Datenbank zum Speichern von Daten verwenden
+ AWS Mainframe Modernization Kompilierungstools auf eine neue Plattform
+ AWS CodeBuild als Infrastruktur für die Erstellung der Anwendung
+ Andere AWS Cloud Ressourcen wie Amazon Linux

**Zielarchitektur**

![\[Architektur für die Erstellung von COBOL Db2-Programmen auf AWS.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/5895fa34-f05b-4cc3-a59f-a596f9116c66/images/0dda414a-21a7-41d1-b86b-7ff3b1c6fbda.png)


Das Diagramm veranschaulicht folgende Vorgänge:

1. Der Benutzer lädt seinen Code in ein Quellcodeverwaltungs-Repository wie oder hoch. GitHub GitLab

1. AWS CodePipeline bemerkt die Änderung und ruft den Code aus dem Repository ab.

1. CodePipeline startet AWS CodeBuild und sendet den Code.

1. CodeBuild folgt den Anweisungen in der `buildspec.yml` Vorlage (im Abschnitt [Zusätzliche Informationen](#build-cobol-db2-programs-mainframe-modernization-codebuild-additional)), um:

   1. Holen Sie sich den IBM Data Server Client aus einem Amazon Simple Storage Service (Amazon S3) -Bucket.

   1. Installieren und richten Sie den IBM Data Server Client ein.

   1. Rufen Sie die Db2-Anmeldeinformationen von ab AWS Secrets Manager.

   1. Stellen Sie eine Verbindung zum Db2-Server her.

   1. Kompilieren Sie das COBOL-Programm vor, kompilieren Sie es und binden Sie es.

   1. Speichern Sie die fertigen Produkte zur AWS CodeDeploy Verwendung in einem S3-Bucket.

1. CodePipeline beginnt CodeDeploy.

1. CodeDeploy koordiniert seine Agenten, die bereits in den Laufzeitumgebungen installiert sind. Die Agenten rufen die Anwendung von Amazon S3 ab und installieren sie gemäß den Anweisungen in`appspec.yml`.

Um die Dinge einfach zu halten und sich auf den Build zu konzentrieren, decken die Anweisungen in diesem Muster die Schritte 1 bis 4 ab, beinhalten jedoch nicht die Bereitstellung des COBOL Db2-Programms.

**Automatisierung und Skalierung**

Der Einfachheit halber beschreibt dieses Muster, wie Ressourcen manuell bereitgestellt werden. Es stehen jedoch zahlreiche Automatisierungsoptionen zur Verfügung, wie, und HashiCorp Terraform CloudFormation AWS Cloud Development Kit (AWS CDK), mit denen diese Aufgaben automatisiert werden können. Weitere Informationen finden Sie in der Dokumentation [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)und [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/home.html).

## Tools
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-tools"></a>

**AWS-Services**
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)ist ein vollständig verwalteter Build-Service, der Sie beim Kompilieren von Quellcode, beim Ausführen von Komponententests und beim Erstellen von Artefakten unterstützt, die sofort einsatzbereit sind.
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)automatisiert Bereitstellungen für Amazon EC2 - oder lokale Instances, AWS Lambda Funktionen oder Amazon Elastic Container Service (Amazon ECS) -Services.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)hilft Ihnen dabei, die verschiedenen Phasen einer Softwareversion schnell zu modellieren und zu konfigurieren und die Schritte zu automatisieren, die für die kontinuierliche Veröffentlichung von Softwareänderungen erforderlich sind.
+ [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)stellt Tools und Ressourcen bereit, die Sie bei der Planung und Implementierung der Migration und Modernisierung von Mainframes zu AWS verwalteten Runtime-Umgebungen unterstützen.

**Andere Tools**
+ **Amazon ECR-Image für AWS Mainframe Modernization Replatform-Tools**. Um eine COBOL-Anwendung zu kompilieren, müssen Sie sie CodeBuild mithilfe eines Amazon Elastic Container Registry (Amazon ECR) -Images initiieren, das die AWS Mainframe Modernization Replatform-Tools enthält:

  `673918848628.dkr.ecr.<your-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1`

  *Weitere Informationen zum verfügbaren ECR-Image finden Sie im [Tutorial im Benutzerhandbuch](https://docs.aws.amazon.com/m2/latest/userguide/tutorial-build-mf.html).AWS Mainframe Modernization *
+ Die [IBM Data Server Client-Software](https://www.ibm.com/docs/en/db2/11.5?topic=overviews-data-server-clients) ist für die Vorkompilierung und Einbindung von COBOL Db2-Programmen unverzichtbar. CodeBuild Sie fungiert als Brücke zwischen dem COBOL-Compiler und Db2.

## Best Practices
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-best-practices"></a>
+ Nicht jedes COBOL-Programm stützt sich auf Db2 als Datenpersistenzschicht. Stellen Sie sicher, dass Kompilierungsanweisungen für den Zugriff auf Db2 nur auf COBOL-Programme angewendet werden, die speziell für die Interaktion mit Db2 entwickelt wurden. Implementieren Sie eine Logik, um zwischen COBOL-Db2-Programmen und COBOL-Programmen zu unterscheiden, die Db2 nicht verwenden.
+ Es wird empfohlen, das Kompilieren von Programmen zu vermeiden, die nicht geändert wurden. Implementieren Sie einen Prozess, um zu ermitteln, welche Programme kompiliert werden müssen.

## Epen
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-epics"></a>

### Erstellen Sie die Cloud-Infrastruktur
<a name="create-the-cloud-infrastructure"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen S3-Bucket, um den IBM Data Server Client und die Pipeline-Artefakte zu hosten. | Sie müssen einen S3-Bucket einrichten, um (a) den IBM Data Server Client hochzuladen, (b) Ihren Code aus dem Repository zu speichern und (c) die Ergebnisse des Build-Prozesses zu speichern.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Informationen zum Erstellen eines S3-Buckets finden Sie in der [Amazon S3 S3-Dokumentation.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) | Allgemeines AWS | 
| Laden Sie den IBM Data Server Client in den S3-Bucket hoch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | Allgemeines AWS | 
| Erstellen Sie ein AWS Secrets Manager Geheimnis für Ihre Db2-Anmeldeinformationen. | Um ein Geheimnis zu erstellen, um Ihre DB2 Anmeldeinformationen sicher zu speichern:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Weitere Informationen zum Erstellen von Geheimnissen finden Sie in der [Secrets Manager Manager-Dokumentation](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). | Allgemeines AWS | 
| Stellen Sie sicher, dass auf Db2 vom VPC-Subnetz aus zugegriffen werden kann. | AWS CodeBuild benötigt eine Verbindung zum Db2-Server, damit der Data Server Client Vorkompilierungs- und Bindungsvorgänge durchführen kann. Stellen Sie sicher, dass der Db2-Server über eine sichere Verbindung erreicht werden CodeBuild kann.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | Netzwerkadministrator, General AWS | 

### Erstellen Sie die Anwendungsartefakte
<a name="create-the-application-artifacts"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das COBOL Db2-Asset. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | App-Developer | 
| Erstellen Sie die Datei `buildspec.yml`. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS DevOps | 
| Connect dein Repository mit CodePipeline. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Sie benötigen den Amazon-Ressourcennamen (ARN) für die Verbindung, wenn Sie CodePipeline in einem späteren Schritt die AWS Identity and Access Management (IAM) -Richtlinie für erstellen. | AWS DevOps | 

### Konfigurieren von -Berechtigungen
<a name="configure-permissions"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine IAM-Richtlinie für CodeBuild. | Das CodeBuild Projekt benötigt Zugriff auf einige Ressourcen, darunter Secrets Manager und Amazon S3.So richten Sie die erforderlichen Berechtigungen ein:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html)Weitere Informationen zum Erstellen von IAM-Richtlinien finden Sie in der [IAM-Dokumentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html). | Allgemeines AWS | 
| Erstellen Sie eine IAM-Rolle für CodeBuild. | Um die Sicherheitsrichtlinien für verfügbar zu machen CodeBuild, müssen Sie eine IAM-Rolle konfigurieren.Um diese Rolle zu erstellen:1. Wählen Sie in der [IAM-Konsole](https://console.aws.amazon.com/iam) im Navigationsbereich **Rollen**, **Rolle erstellen** aus.3. Behalten Sie für den **Entitätstyp Vertrauenswürdig** die **AWS-Service**Standardeinstellung bei.4. Wählen **Sie unter Anwendungsfall** den CodeBuild Dienst aus und klicken Sie dann auf **Weiter**.4. Suchen Sie in der Liste der verfügbaren IAM-Richtlinien nach der Richtlinie, für die Sie sie erstellt haben CodeBuild, und klicken Sie dann auf **Weiter**, um sie der Rolle hinzuzufügen.5. Geben Sie einen Namen für die Rolle an und wählen Sie **Rolle erstellen** aus, um sie zur future in zu speichern CodeBuild.Weitere Informationen zum Erstellen einer IAM-Rolle für eine AWS-Service finden Sie in der [IAM-Dokumentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). | Allgemeines AWS | 
| Erstellen Sie eine IAM-Richtlinie für CodePipeline. | Die AWS CodePipeline Pipeline benötigt Zugriff auf einige Ressourcen, einschließlich Ihres Code-Repositorys und Amazon S3.Wiederholen Sie die zuvor beschriebenen Schritte CodeBuild , um eine IAM-Richtlinie für zu erstellen CodePipeline (wählen Sie in Schritt 2 **CodePipeline**statt **CodeBuild**). | AWS DevOps | 
| Erstellen Sie eine IAM-Rolle für CodePipeline. | Um die Sicherheitsrichtlinien für verfügbar zu machen CodePipeline, müssen Sie eine IAM-Rolle konfigurieren.Um diese Rolle zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS DevOps | 

### Kompilieren und binden Sie das COBOL Db2-Programm
<a name="compile-and-bind-the-cobol-db2-program"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine CodePipeline Pipeline und ein CodeBuild Projekt. | So erstellen Sie eine CodePipeline Pipeline und das CodeBuild Projekt, das das COBOL Db2-Programm kompiliert und bindet:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-cobol-db2-programs-mainframe-modernization-codebuild.html) | AWS DevOps | 
| Überprüfen Sie die Ausgabe. | Überprüfen Sie den Erfolg des Builds, indem Sie die CodePipeline Build-Logs überprüfen. | AWS DevOps | 
| Überprüfen Sie die Ergebnisse in Db2. | Überprüfen Sie die Paketversion in der SYSPLAN-Tabelle.<pre>select CAST(NAME AS VARCHAR(10)) as name, VALIDATE, LAST_BIND_TIME, LASTUSED, CAST(PKGVERSION AS VARCHAR(10)) as PKGVERSION from SYSIBM.SYSPLAN where NAME = 'CDB2SMP' order by LAST_BIND_TIME desc<br /></pre>Die Version muss mit der CodeBuild Build-ID übereinstimmen, die `CDB2SMP` in unserem Beispiel wie folgt lautet:<pre>NAME       VALIDATE LAST_BIND_TIME             LASTUSED   PKGVERSION<br />---------- -------- -------------------------- ---------- ----------<br />CDB2SMP    B        2024-05-18-11.53.11.503738 01/01/0001 19</pre> |  | 

## Fehlerbehebung
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Gelegentlich wechselt die AWS Konsole zwischen Regionen, wenn Sie zwischen Diensten wechseln. | Stellen Sie sicher, dass Sie bei AWS-Region jedem Wechsel zwischen Diensten die Auswahl überprüfen.Der AWS-Region Selektor befindet sich in der oberen rechten Ecke des Konsolenfensters. | 
| Es kann schwierig sein, Db2-Konnektivitätsprobleme anhand von zu identifizieren. CodeBuild | Um Verbindungsprobleme zu beheben, fügen Sie der `buildspec.yml` Datei den folgenden DB2 Verbindungsbefehl hinzu. Dieser Zusatz hilft Ihnen beim Debuggen und Beheben von Verbindungsproblemen.<pre>db2 connect to $DB_NAME user $DB2USER using $DB2PASS</pre> | 
| Gelegentlich wird im Rollenbereich der IAM-Konsole die von Ihnen erstellte IAM-Richtlinie nicht sofort angezeigt. | Wenn Sie auf eine Verzögerung stoßen, aktualisieren Sie den Bildschirm, um die neuesten Informationen anzuzeigen. | 

## Zugehörige Ressourcen
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-resources"></a>

**IBM-Dokumentation**
+ [IBM Data Server Client- und Treibertypen](https://www.ibm.com/docs/en/db2/11.5?topic=overviews-data-server-clients)
+ [Laden Sie IBM Data Server Client und Treibertypen herunter](https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers)

**AWS Dokumentation**
+ [Amazon S3 S3-Benutzerhandbuch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [AWS CodeBuild Benutzerhandbuch](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)
+ [AWS Mainframe Modernization Benutzerhandbuch](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)
+ [AWS Secrets Manager Benutzerhandbuch](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [AWS CodePipeline Benutzerhandbuch](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)
+ [AWS CodeDeploy Benutzerhandbuch** **](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-codedeploy.html)

## Zusätzliche Informationen
<a name="build-cobol-db2-programs-mainframe-modernization-codebuild-additional"></a>

**CodeBuild Richtlinie**

Ersetzen Sie die Platzhalter `<RegionID>``<AccountID>`,, `<SubnetARN>``<BucketARN>`, und `<DB2CredSecretARN>` durch Ihre Werte.

```
{"Version": "2012-10-17",		 	 	 
    "Statement": [
        {"Action": "ecr:GetAuthorizationToken", "Effect": "Allow", "Resource": "*" },
        {"Action": ["ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", 
                    "ecr:BatchCheckLayerAvailability"],
         "Effect": "Allow", 
         "Resource": "arn:aws:ecr:*:673918848628:repository/m2-enterprise-build-tools"},
        {"Action": "s3:PutObject", "Effect": "Allow", "Resource": "arn:aws:s3:::aws-m2-repo-*/*"},
        {"Action": ["logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup"],
         "Effect": "Allow", "Resource": "arn:aws:logs:<RegionId>:<AccountId>:*"},
        {"Action": ["ec2:DescribeVpcs", "ec2:DescribeSubnets", 
                    "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", 
                    "ec2:DescribeDhcpOptions", "ec2:DeleteNetworkInterface", 
                    "ec2:CreateNetworkInterface"],
         "Effect": "Allow", "Resource": "*"},
        {"Action": "ec2:CreateNetworkInterfacePermission", 
         "Effect": "Allow", "Resource": ["<SubnetARN>"]},
        {"Action": "s3:*", "Effect": "Allow", "Resource": ["<BucketARN>/*","<BucketARN>"]},
        {"Action": "secretsmanager:GetSecretValue", 
         "Effect": "Allow", "Resource": "<DB2CredSecretARN>"}
    ]
}
```

**CodePipeline Richtlinie**

Ersetzen Sie die Platzhalter `<BucketARN>` und `<ConnectionARN>` durch Ihre Werte.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {"Action": ["s3:List*", "s3:GetObjectVersion", "s3:GetObject", "s3:GetBucketVersioning" ], 
        "Effect": "Allow",
        "Resource": ["<BucketARN>/*", "<BucketARN>"]},
        {"Action": ["codebuild:StartBuild", "codebuild:BatchGetBuilds"], 
         "Effect": "Allow", "Resource": "*"},
        {"Action": ["codestar-connections:UseConnection"],
         "Effect": "Allow", "Resource": "<ConnectionARN>"}
        ]
}
```

**`buildspec.yml`**

Ersetzen Sie den `<your-bucket-name>` Platzhalter durch Ihren tatsächlichen S3-Bucket-Namen.

```
version: 0.2
phases:
  pre_build:
    commands:
      - /var/microfocuslicensing/bin/mfcesd -no > /var/microfocuslicensing/logs/mfcesd_startup.log 2>&1 &
      - |
        mkdir $CODEBUILD_SRC_DIR/db2client
        aws s3 cp s3://<your-bucket-name>/v11.5.8_linuxx64_client.tar.gz $CODEBUILD_SRC_DIR/db2client/ >> /dev/null 2>&1
        tar -xf $CODEBUILD_SRC_DIR/db2client/v11.5.8_linuxx64_client.tar.gz -C $CODEBUILD_SRC_DIR/db2client/
        cd $CODEBUILD_SRC_DIR/db2client/
        ./client/db2_install -f sysreq -y -b /opt/ibm/db2/V11.5 >> /dev/null 2>&1        
        useradd db2cli
        /opt/ibm/db2/V11.5/instance/db2icrt -s client -u db2cli db2cli
        DB2CRED=$(aws secretsmanager get-secret-value --secret-id dev-db2-cred | jq -r '.SecretString | fromjson')
        read -r DB2USER DB2PASS DB_NODE DB_HOST DB_PORT DB_NAME DB_QUAL <<<$(echo $DB2CRED | jq -r '.username, .password, .db2node, .db2host, .db2port, .db2name, .qualifier')
        . /home/db2cli/sqllib/db2profile
        db2 catalog tcpip node $DB_NODE remote $DB_HOST server $DB_PORT
        db2 catalog db $DB_NAME as $DB_NAME at node $DB_NODE authentication server
  build:
    commands:
      - |
        revision=$CODEBUILD_SRC_DIR/loadlib
        mkdir -p $revision; cd $revision
        . /opt/microfocus/EnterpriseDeveloper/bin/cobsetenv
        cob -zU $CODEBUILD_SRC_DIR/CDB2SMP.cbl -C "DB2(DB==${DB_NAME} PASS==${DB2USER}.${DB2PASS} VERSION==${CODEBUILD_BUILD_NUMBER} COLLECTION==DB2AWSDB"
artifacts:
  files:
    - "**/*"
  base-directory: $revision
```

# Erstellen Sie ein Micro Focus Enterprise Server PAC mit Amazon EC2 Auto Scaling und Systems Manager
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager"></a>

*Kevin Yung und Krithika Palani Selvam, Amazon Web Services*

*Peter Woods, keiner*

*Abraham Rondon, Mikrofokus*

## Zusammenfassung
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-summary"></a>

Dieses Muster führt eine skalierbare Architektur für Mainframe-Anwendungen ein, die [Micro Focus Enterprise Server im Scale-Out Performance and Availability Cluster (PAC)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-F6E1BBB7-AEC2-45B1-9E36-1D86B84D2B85.html) und eine Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling Scaling-Gruppe auf Amazon Web Services () verwenden.AWS Die Lösung ist vollständig automatisiert AWS Systems Manager und verfügt über Lifecycle-Hooks von Amazon EC2 Auto Scaling. Mithilfe dieses Musters können Sie Ihre Mainframe-Online- und Batch-Anwendungen so einrichten, dass sie durch automatische Ein- und Ausskalierung auf der Grundlage Ihrer Kapazitätsanforderungen eine hohe Ausfallsicherheit erreichen. 

**Anmerkung**  
Dieses Muster wurde mit Micro Focus Enterprise Server Version 6.0 getestet. Informationen zu Version 8 finden Sie unter [Micro Focus Runtime einrichten (bei Amazon EC2)](https://docs.aws.amazon.com/m2/latest/userguide/mf-runtime-setup.html).

## Voraussetzungen und Einschränkungen
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Micro Focus Enterprise Server-Software und -Lizenz. Weitere Informationen erhalten Sie vom [Micro Focus-Vertrieb](https://www.microfocus.com/en-us/contact/contactme).
+ Ein Verständnis des Konzepts der Neuerstellung und Bereitstellung einer Mainframe-Anwendung zur Ausführung auf Micro Focus Enterprise Server. Einen allgemeinen Überblick finden Sie im [Micro Focus Enterprise Server-Datenblatt](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf).
+ Ein Verständnis der Konzepte im Micro Focus Enterprise Server Scale-out Performance and Availability Cluster. Weitere Informationen finden Sie in der [Micro Focus Enterprise Server-Dokumentation](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-F6E1BBB7-AEC2-45B1-9E36-1D86B84D2B85.html).
+ Ein Verständnis des Gesamtkonzepts einer Mainframe-Anwendung DevOps mit kontinuierlicher Integration (CI). Ein von AWS und Micro Focus entwickeltes AWS Prescriptive Guidance-Muster finden Sie unter [Mainframe-Modernisierung: DevOps weiter AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/mainframe-modernization-devops-on-aws-with-micro-focus.html) mit Micro Focus.

**Anmerkung**  
Dieses Muster wurde mit Micro Focus Enterprise Server Version 6 getestet. Informationen zu Version 8 finden Sie unter [Micro Focus Runtime einrichten (bei Amazon EC2)](https://docs.aws.amazon.com/m2/latest/userguide/mf-runtime-setup.html).

**Einschränkungen**
+ Eine Liste der Plattformen, die von Micro Focus Enterprise Server unterstützt werden, finden Sie im [Micro Focus Enterprise Server-Datenblatt](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf).
+ Die in diesem Muster verwendeten Skripts und Tests basieren auf Amazon EC2 Windows Server 2019; andere Windows Server-Versionen und Betriebssysteme wurden nicht auf dieses Muster getestet.
+ Das Muster basiert auf Micro Focus Enterprise Server 6.0 für Windows. Frühere oder spätere Versionen wurden bei der Entwicklung dieses Musters nicht getestet.

**Produktversionen**
+ Micro Focus Enterprise Server 6.0
+ Windows Server 2019

## Architektur
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-architecture"></a>

In der herkömmlichen Mainframe-Umgebung müssen Sie Hardware bereitstellen, um Ihre Anwendungen und Unternehmensdaten zu hosten. Um den saisonalen, monatlichen, vierteljährlichen oder sogar beispiellosen oder unerwarteten Bedarfsspitzen gerecht zu werden und diese zu bewältigen, müssen Mainframe-Benutzer *skalieren*, indem sie zusätzliche Speicher- und Rechenkapazität erwerben. Durch die Erhöhung der Anzahl der Speicher- und Rechenkapazitätsressourcen wird die Gesamtleistung verbessert, die Skalierung erfolgt jedoch nicht linear.

Dies ist nicht der Fall, wenn Sie mit der Einführung eines On-Demand-Nutzungsmodells auf AWS beginnen, indem Sie Amazon EC2 Auto Scaling und Micro Focus Enterprise Server verwenden. In den folgenden Abschnitten wird detailliert beschrieben, wie Sie mithilfe des Micro Focus Enterprise Server Scale-Out Performance and Availability Clusters (PAC) mit einer Amazon EC2 Auto Scaling-Gruppe eine vollautomatische, skalierbare Mainframe-Anwendungsarchitektur aufbauen. 

**Die automatische Skalierungsarchitektur von Micro Focus Enterprise Server**

Zunächst ist es wichtig, die grundlegenden Konzepte von Micro Focus Enterprise Server zu verstehen. Diese Umgebung bietet eine Mainframe-kompatible x86-Bereitstellungsumgebung für Anwendungen, die traditionell auf dem IBM Mainframe ausgeführt wurden. Sie bietet sowohl Online- als auch Batchläufe sowie eine Transaktionsumgebung, die Folgendes unterstützt:
+ IBM COBOL
+ IBM PL/I
+ IBM JCL-Batchaufträge
+ IBM CICS- und IMS TM-Transaktionen
+ Web-Services
+ Gängige Batch-Dienstprogramme, einschließlich SORT

Micro Focus Enterprise Server ermöglicht die Ausführung von Mainframe-Anwendungen mit minimalen Änderungen. Bestehende Mainframe-Workloads können auf x86-Plattformen verlagert und modernisiert werden, um die Vorteile der nativen AWS-Cloud-Erweiterungen für eine schnelle Expansion in neue Märkte oder Regionen zu nutzen. 

Das AWS Prescriptive Guidance Guidance-Muster [Mainframe-Modernisierung: DevOps auf AWS mit Micro Focus](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/mainframe-modernization-devops-on-aws-with-micro-focus.html) wurde die Architektur eingeführt, um die Entwicklung und das Testen von Mainframe-Anwendungen auf AWS mithilfe von Micro Focus Enterprise Developer und Enterprise Test Server mit AWS und AWS zu beschleunigen. CodePipeline CodeBuild Dieses Muster konzentriert sich auf die Bereitstellung von Mainframe-Anwendungen in der AWS-Produktionsumgebung, um eine hohe Verfügbarkeit und Ausfallsicherheit zu erreichen.

In einer Mainframe-Produktionsumgebung haben Sie möglicherweise IBM Parallel Sysplex auf dem Mainframe eingerichtet, um eine hohe Leistung und hohe Verfügbarkeit zu erreichen. Um eine Scale-Out-Architektur zu schaffen, die Sysplex ähnelt, hat Micro Focus den Performance and Availability Cluster (PAC) in Enterprise Server eingeführt. PACs unterstützt die Bereitstellung von Mainframe-Anwendungen auf mehreren Enterprise Server-Regionen, die als einzelnes Image verwaltet und in EC2 Amazon-Instances skaliert werden. PACs unterstützt außerdem vorhersehbare Anwendungsleistung und Systemdurchsatz bei Bedarf. 

In einem PAC arbeiten mehrere Enterprise Server-Instanzen als eine einzige logische Einheit zusammen. Der Ausfall einer Enterprise Server-Instance beeinträchtigt daher nicht die Geschäftskontinuität, da die Kapazität mit anderen Regionen geteilt wird, während neue Instances automatisch mit Industriestandardfunktionen wie einer Amazon EC2 Auto Scaling Scaling-Gruppe gestartet werden. Dadurch werden einzelne Fehlerquellen beseitigt und die Widerstandsfähigkeit gegenüber Hardware-, Netzwerk- und Anwendungsproblemen verbessert. Skalierte Enterprise Server-Instanzen können mithilfe der Enterprise Server Common Web Administration (ESCWA) betrieben und verwaltet werden APIs, was die betriebliche Wartung und Wartungsfreundlichkeit von Enterprise Servern vereinfacht. 

**Anmerkung**  
Micro Focus empfiehlt, dass der [Performance and Availability Cluster (PAC)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-C06DC883-8A67-44DB-8553-8F0DD2062DAB.html) aus mindestens drei Enterprise Server-Regionen bestehen sollte, damit die Verfügbarkeit nicht beeinträchtigt wird, falls eine Enterprise Server-Region ausfällt oder gewartet werden muss.

Für die PAC-Konfiguration ist ein unterstützter relationaler Datenbankverwaltungsdienst (RDBMS) zur Verwaltung der Regionsdatenbank, einer regionsübergreifenden Datenbank und optionaler Datenspeicherdatenbanken erforderlich. Für die Verwaltung von VSAM-Dateien (Virtual Storage Access Method) mithilfe der Micro Focus Database File Handler-Unterstützung sollte eine Datenspeicher-Datenbank verwendet werden, um die Verfügbarkeit und Skalierbarkeit zu verbessern. RDBMSs Zu den unterstützten Produkten gehören:
+ Microsoft SQL Server 2009 R2 und höher
+ PostgreSQL 10.x, einschließlich Amazon Aurora PostgreSQL-kompatibler Edition
+ DB2 10.4 und höher

Einzelheiten zu den unterstützten RDBMS- und PAC-Anforderungen finden Sie unter [Micro Focus Enterprise Server — Voraussetzungen](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-486C5A4B-E3CD-4B17-81F3-32F9DE970EA5.html) und [Micro Focus Enterprise Server — Empfohlene](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-7038DB6F-E89F-4B5F-BCAA-BD1456F6CCA3.html) PAC-Konfiguration.

Das folgende Diagramm zeigt ein typisches AWS-Architektur-Setup für ein Micro Focus PAC. 

![\[Eine Architektur mit drei Verfügbarkeitszonen und fünf Schritten, die in einer Tabelle nach dem Diagramm beschrieben werden.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/64e3c22b-1058-4ab8-855f-18bbbed5dc13/images/df291568-a442-454f-80bf-49e4ffff4f6d.png)


 


| 
| 
|  | **Komponente** | **Beschreibung** | 
| --- |--- |--- |
| 1 | Automatische Skalierung der Enterprise Server-Instanzen (Gruppe) | Richten Sie eine automatische Skalierungsgruppe ein, die mit Enterprise Server-Instanzen in einem PAC bereitgestellt wird. Die Anzahl der Instances kann durch CloudWatch Amazon-Alarme mithilfe von CloudWatch Metriken nach oben oder unten skaliert werden. | 
| 2 | Automatische Skalierung der ESCWA-Instanzen von Enterprise Server  | Richten Sie eine automatische Skalierungsgruppe ein, die mit Enterprise Server Common Web Administration (ESCWA) bereitgestellt wird. ESCWA bietet Clusterverwaltung. APIs   Die ESCWA-Server dienen als Steuerungsebene zum Hinzufügen oder Entfernen von Enterprise Servern und zum Starten oder Stoppen von Enterprise Server-Regionen in der PAC während der automatischen Skalierungsereignisse der Enterprise Server-Instanz.   Da die ESCWA-Instanz nur für das PAC-Management verwendet wird, ist ihr Datenverkehrsmuster vorhersehbar, und die gewünschte Kapazitätsanforderung für die automatische Skalierung kann auf 1 gesetzt werden.  | 
| 3 | Amazon Aurora Aurora-Instance in einem Multi-AZ-Setup | Richten Sie ein relationales Datenbankmanagementsystem (RDBMS) ein, um sowohl Benutzer- als auch Systemdatendateien zu hosten, die von den Enterprise Server-Instances gemeinsam genutzt werden sollen. | 
| 4 | Amazon-Instanz ElastiCache (Redis OSS) und Replikat | Richten Sie eine primäre Instance ElastiCache (Redis OSS) und mindestens ein Replikat ein, um Benutzerdaten zu hosten und als Scale-Out-Repository (SOR) für die Enterprise Server-Instances zu fungieren. Sie können ein oder mehrere [Scale-Out-Repositorys konfigurieren, um bestimmte Arten von Benutzerdaten](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-3840E10F-80AA-4109-AF2C-894237D3AD00.html) zu speichern.   Enterprise Server verwendet eine Redis NoSQL-Datenbank als SOR, [eine Voraussetzung für die Aufrechterhaltung der PAC-Integrität](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-176B97CA-4F9F-4CE1-952F-C3F4FB0ADD25.html). | 
| 5 | Network Load Balancer | Richten Sie einen Load Balancer ein, der einen Hostnamen für Anwendungen bereitstellt, um eine Verbindung zu den von Enterprise Server-Instanzen bereitgestellten Diensten herzustellen (z. B. für den Zugriff auf die Anwendung über einen 3270-Emulator). | 

Diese Komponenten bilden die Mindestanforderung für einen Micro Focus Enterprise Server PAC-Cluster. Der nächste Abschnitt befasst sich mit der Automatisierung der Clusterverwaltung.

**Verwenden von AWS Systems Manager Automation für die Skalierung**

Nachdem der PAC-Cluster auf AWS bereitgestellt wurde, wird der PAC über die Enterprise Server Common Web Administration (ESCWA) APIs verwaltet. 

Um die Clusterverwaltungsaufgaben bei automatischen Skalierungsereignissen zu automatisieren, können Sie Systems Manager Automation-Runbooks und Amazon EC2 Auto Scaling mit Amazon EventBridge verwenden. Die Architektur dieser Automatisierungen ist in der folgenden Abbildung dargestellt.

![\[AWS architecture diagram showing EventBridge, Systems Manager, and EC2 Auto Scaling integration.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/64e3c22b-1058-4ab8-855f-18bbbed5dc13/images/6f9e4035-fafd-4aee-a6cc-d5e95d6514c2.png)


 


| 
| 
|  | **Komponente** | **Beschreibung** | 
| --- |--- |--- |
| 1 | Automatischer Skalierungslebenszyklus-Hook | Richten Sie automatische Skalierungs-Lifecycle-Hooks ein und senden Sie Benachrichtigungen an Amazon, EventBridge wenn neue Instances gestartet und bestehende Instances in der automatischen Skalierungsgruppe beendet werden. | 
| 2 | Amazon EventBridge | Richten Sie eine EventBridge Amazon-Regel ein, um automatische Skalierungsereignisse an Systems Manager Automation-Runbook-Ziele weiterzuleiten. | 
| 3 | Runbooks für die Automatisierung | Richten Sie Systems Manager Automation-Runbooks ein, um PowerShell Windows-Skripts auszuführen, und rufen Sie ESCWA auf, um das PAC APIs zu verwalten. Beispiele finden Sie im Abschnitt *Zusätzliche* Informationen. | 
| 4 | Enterprise Server ESCWA-Instanz in einer automatischen Skalierungsgruppe | Richten Sie eine Enterprise Server ESCWA-Instanz in einer automatischen Skalierungsgruppe ein. Die ESCWA-Instanz ermöglicht APIs die Verwaltung des PAC.  | 

## Tools
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-tools"></a>
+ [Micro Focus Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-A2F23243-962B-440A-A071-480082DF47E7.html) — Micro Focus Enterprise Server bietet die Ausführungsumgebung für Anwendungen, die mit einer beliebigen IDE-Variante (Integrated Development Environment) von Enterprise Developer erstellt wurden.
+ [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) — Amazon EC2 Auto Scaling hilft Ihnen sicherzustellen, dass Ihnen die richtige Anzahl von EC2 Amazon-Instances zur Verfügung steht, um die Last für Ihre Anwendung zu bewältigen. Sie erstellen Sammlungen von EC2 Instances, sogenannte Auto Scaling Scaling-Gruppen, und geben die Mindest- und Höchstanzahl von Instances an.
+ [Amazon ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html) — Amazon ElastiCache ist ein Webservice zum Einrichten, Verwalten und Skalieren einer verteilten In-Memory-Datenspeicher- oder Cache-Umgebung in der Cloud. Es handelt sich um eine leistungsstarke, skalierbare und kostengünstige Caching-Lösung.
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) — Amazon Relational Database Service (Amazon RDS) ist ein Webservice, der die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der AWS-Cloud erleichtert. Er bietet kosteneffiziente, anpassbare Kapazität für eine relationale Datenbank und verwaltet allgemeine Datenbankverwaltungsaufgaben. 
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) — AWS Systems Manager ist ein AWS-Service, mit dem Sie Ihre Infrastruktur auf AWS anzeigen und steuern können. Mithilfe der Systems Manager Manager-Konsole können Sie Betriebsdaten von mehreren AWS-Services anzeigen und betriebliche Aufgaben in Ihren AWS-Ressourcen automatisieren. Systems Manager unterstützt Sie bei der Aufrechterhaltung von Sicherheit und Compliance, indem er Ihre verwalteten Instances scannt und über festgestellte Richtlinienverstöße (oder Abhilfemaßnahmen ergreifen) berichtet.

## Epen
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-epics"></a>

### Eine Amazon Aurora Aurora-Instance erstellen
<a name="create-an-amazon-aurora-instance"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine CloudFormation AWS-Vorlage für eine Amazon Aurora Aurora-Instance. | Verwenden Sie den [AWS-Beispielcodeausschnitt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RDS.html), um eine CloudFormation Vorlage zu erstellen, mit der eine Amazon Aurora PostgreSQL-kompatible Edition-Instance erstellt wird. | Cloud-Architekt | 
| Stellen Sie einen CloudFormation Stack bereit, um die Amazon Aurora Aurora-Instance zu erstellen. | Verwenden Sie die CloudFormation Vorlage, um eine Aurora PostgreSQL-kompatible Instance zu erstellen, für die Multi-AZ-Replikation für Produktions-Workloads aktiviert ist. | Cloud-Architekt | 
| Konfigurieren Sie die Datenbankverbindungseinstellungen für Enterprise Server. | Folgen Sie den Anweisungen in der [Micro Focus-Dokumentation](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-40748F62-84B3-4B7B-8E96-5484ADEDFB5F.html), um die Verbindungszeichenfolgen und die Datenbankkonfiguration für Micro Focus Enterprise Server vorzubereiten. | Dateningenieur, DevOps Ingenieur | 

### Erstellen Sie einen ElastiCache Amazon-Cluster für die Redis-Instance
<a name="create-an-elclong-cluster-for-the-redis-instance"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine CloudFormation Vorlage für den ElastiCache Amazon-Cluster für die Redis-Instance. | Verwenden Sie den [AWS-Beispielcodeausschnitt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElastiCache.html), um eine CloudFormation Vorlage zu erstellen, die einen ElastiCache Amazon-Cluster für die Redis-Instance erstellt. | Cloud-Architekt | 
| Stellen Sie den CloudFormation Stack bereit, um einen ElastiCache Amazon-Cluster für die Redis-Instance zu erstellen. | Erstellen Sie den ElastiCache Amazon-Cluster für die Redis-Instance, für die Multi-AZ-Replikation für Produktions-Workloads aktiviert ist. | Cloud-Architekt | 
| Konfigurieren Sie die PSOR-Verbindungseinstellungen für Enterprise Server. | Folgen Sie den Anweisungen in der [Micro Focus-Dokumentation](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2A420ADD-4CA6-472D-819F-371C037C0653.html), um die Verbindungskonfiguration des PAC Scale-Out Repository (PSOR) für Micro Focus Enterprise Server PAC vorzubereiten. | DevOps Ingenieur | 

### Erstellen Sie eine automatische ESCWA-Skalierungsgruppe für Micro Focus Enterprise Server
<a name="create-a-micro-focus-enterprise-server-escwa-automatic-scaling-group"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie ein Micro Focus Enterprise Server-AMI. | Erstellen Sie eine Amazon EC2 Windows Server-Instance und installieren Sie die Micro Focus Enterprise Server-Binärdatei in der EC2 Instance. Erstellen Sie ein Amazon Machine Image (AMI) der EC2 Instance. Weitere Informationen finden Sie in der [Enterprise Server-Installationsdokumentation](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-FACEF60F-BAE3-446C-B2B4-4379A5DF6D9F.html). | Cloud-Architekt | 
| Erstellen Sie eine CloudFormation Vorlage für Enterprise Server ESCWA.  | Verwenden Sie den [AWS-Beispielcodeausschnitt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScaling.html), um eine Vorlage für die Erstellung eines benutzerdefinierten Stacks von Enterprise Server ESCWA in einer automatischen Skalierungsgruppe zu erstellen. | Cloud-Architekt | 
| Stellen Sie den CloudFormation Stack bereit, um eine EC2 Amazon-Skalierungsgruppe für Enterprise Server ESCWA zu erstellen. | Verwenden Sie die CloudFormation Vorlage, um die automatische Skalierungsgruppe mit dem Micro Focus Enterprise Server ESCWA-AMI bereitzustellen, das in der vorherigen Geschichte erstellt wurde. | Cloud-Architekt | 

### Erstellen Sie ein AWS Systems Manager Automation Automation-Runbook
<a name="create-an-aws-systems-manager-automation-runbook"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine CloudFormation Vorlage für ein Systems Manager Automation-Runbook. | Verwenden Sie die Beispielcodefragmente im Abschnitt *Zusätzliche Informationen*, um eine CloudFormation Vorlage zu erstellen, mit der ein Systems Manager Automation-Runbook zur Automatisierung der PAC-Erstellung, Enterprise Server Scale In und Enterprise Server Scale Out erstellt wird. | Cloud-Architekt | 
| Stellen Sie den CloudFormation Stack bereit, der das Systems Manager Automation-Runbook enthält. | Verwenden Sie die CloudFormation Vorlage, um einen Stack bereitzustellen, der das Automation-Runbook für die PAC-Erstellung, Enterprise Server Scale In und Enterprise Server Scale Out enthält. | Cloud-Architekt | 

### Erstellen Sie eine automatische Skalierungsgruppe für Micro Focus Enterprise Server
<a name="create-an-automatic-scaling-group-for-micro-focus-enterprise-server"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine CloudFormation Vorlage für die Einrichtung einer automatischen Skalierungsgruppe für Micro Focus Enterprise Server. | Verwenden Sie den [AWS-Beispielcodeausschnitt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScaling.html), um eine CloudFormation Vorlage zu erstellen, die eine automatische Skalierungsgruppe erstellt. Diese Vorlage wird dasselbe AMI wiederverwenden, das für die Micro Focus Enterprise Server ESCWA-Instanz erstellt wurde. Verwenden Sie dann einen [AWS-Beispielcodeausschnitt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html), um das automatische Skalierungslebenszyklusereignis zu erstellen, und richten Sie Amazon so ein, dass in derselben EventBridge Vorlage nach Scale-Out- und Scale-In-Ereignissen gefiltert wird. CloudFormation  | Cloud-Architekt | 
| Stellen Sie den CloudFormation Stack für die automatische Skalierungsgruppe für Micro Focus Enterprise Server bereit. | Stellen Sie den CloudFormation Stack bereit, der die automatische Skalierungsgruppe für Micro Focus Enterprise Server enthält. | Cloud-Architekt | 

## Zugehörige Ressourcen
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-resources"></a>
+ [Micro Focus Enterprise Server Leistungs- und Verfügbarkeitscluster (PAC)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-613F5E2D-2FBC-47AE-9327-48CA4FF84C5B.html) 
+ [Lebenszyklus-Hooks von Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
+ [Ausführen von Automatisierungen mit Triggern unter Verwendung von EventBridge](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-cwe-target.html)

## Zusätzliche Informationen
<a name="build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager-additional"></a>

Die folgenden Szenarien müssen für die Ein- oder Ausskalierung der PAC-Cluster automatisiert werden.

**Automatisierung für den Start oder die Neuerstellung eines PAC**

Beim Start eines PAC-Clusters verlangt Enterprise Server, dass ESCWA aufgerufen wird, um eine APIs PAC-Konfiguration zu erstellen. Dadurch werden Enterprise Server-Regionen gestartet und dem PAC hinzugefügt. Gehen Sie wie folgt vor, um eine PAC zu erstellen oder neu zu erstellen: 

1. Konfigurieren Sie ein [PAC Scale-Out Repository (PSOR)](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2A420ADD-4CA6-472D-819F-371C037C0653.html) in ESCWA mit einem bestimmten Namen.

   ```
   POST /server/v1/config/groups/sors
   ```

1. Erstellen Sie ein PAC mit einem bestimmten Namen und hängen Sie den PSOR daran an.

   ```
   POST /server/v1/config/groups/pacs
   ```

1. Konfigurieren Sie die Regionsdatenbank und die regionsübergreifende Datenbank, wenn Sie zum ersten Mal eine PAC einrichten.
**Anmerkung**  
In diesem Schritt werden SQL-Abfragen und das Befehlszeilentool **dbhfhadmin** der Micro Focus Enterprise Suite verwendet, um die Datenbank zu erstellen und die ersten Daten zu importieren.

1. Installieren Sie die PAC-Definition in den Enterprise Server-Regionen.

   ```
   POST /server/v1/config/mfds 
   POST /native/v1/config/groups/pacs/${pac_uid}/install
   ```

1. Starten Sie die Enterprise Server-Regionen im PAC.

   ```
   POST /native/v1/regions/${host_ip}/${port}/${region_name}/start
   ```

Die vorherigen Schritte können mithilfe eines PowerShell Windows-Skripts implementiert werden. 

In den folgenden Schritten wird erklärt, wie Sie mithilfe des PowerShell Windows-Skripts eine Automatisierung für die Erstellung einer PAC erstellen.

1. Erstellen Sie eine EC2 Amazon-Startvorlage, die das PowerShell Windows-Skript als Teil des Bootstrap-Prozesses herunterlädt oder erstellt. Sie können beispielsweise EC2 Benutzerdaten verwenden, um das Skript aus einem Amazon Simple Storage Service (Amazon S3) -Bucket herunterzuladen.

1. Erstellen Sie ein AWS Systems Manager Automation Automation-Runbook, um das PowerShell Windows-Skript aufzurufen.

1. Ordnen Sie das Runbook mithilfe des Instance-Tags der ESCWA-Instance zu.

1. Erstellen Sie mithilfe der Startvorlage eine ESCWA-Skalierungsgruppe für automatische Skalierung. 

Sie können das folgende CloudFormation AWS-Beispiel-Snippet verwenden, um das Automation-Runbook zu erstellen.

* CloudFormation Beispielausschnitt für ein Systems Manager Automation-Runbook, das für die PAC-Erstellung verwendet wird*

```
  PACInitDocument:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Command
       Content:
         schemaVersion: '2.2'
         description: Operation Runbook to create Enterprise Server PAC
         mainSteps:
         - action: aws:runPowerShellScript
           name: CreatePAC
           inputs:
             onFailure: Abort
             timeoutSeconds: "1200"
             runCommand:
             - | 
               C:\Scripts\PAC-Init.ps1
  PacInitAutomation:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Automation
       Content:
         description: Prepare Micro Focus PAC Cluster via ESCWA Server
         schemaVersion: '0.3'
         assumeRole: !GetAtt SsmAssumeRole.Arn
         mainSteps:
           - name: RunPACInitDocument
             action: aws:runCommand
             timeoutSeconds: 300
             onFailure: Abort
             inputs:
               DocumentName: !Ref PACInitDocument
               Targets:
                 - Key: tag:Enterprise Server - ESCWA
                   Values:
                     - "true"
   PacInitDocumentAssociation:
     Type: AWS::SSM::Association
     Properties:
       DocumentVersion: "$LATEST"
       Name: !Ref PACInitDocument
       Targets:
         - Key: tag:Enterprise Server - ESCWA
           Values:
             - "true"
```

Weitere Informationen finden Sie unter [Micro Focus Enterprise Server — Konfiguration eines PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2B15EBA5-84AF-47C3-9F8E-EE57EB17245F.html).

**Automatisierung für die horizontale Skalierung mit einer neuen Enterprise Server-Instanz**

Wenn eine Enterprise Server-Instanz horizontal skaliert wird, muss ihre Enterprise Server-Region der PAC hinzugefügt werden. In den folgenden Schritten wird erklärt, wie ESCWA aufgerufen APIs und die Enterprise Server-Region zur PAC hinzugefügt wird. 

1. Installieren Sie die PAC-Definition in den Enterprise Server-Regionen.

   ```
   POST '/server/v1/config/mfds'
   POST /native/v1/config/groups/pacs/${pac_uid}/install
   ```

1. Warmstart der Region im PAC.

   ```
   POST /native/v1/regions/${host_ip}/${port}/${region_name}/start
   ```

1. Fügen Sie die Enterprise Server-Instanz dem Load Balancer hinzu, indem Sie die automatische Skalierungsgruppe dem Load Balancer zuordnen.

Die vorherigen Schritte können mithilfe eines Windows-Skripts implementiert werden. PowerShell Weitere Informationen finden Sie unter [Micro Focus Enterprise Server — Konfiguration eines PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-2B15EBA5-84AF-47C3-9F8E-EE57EB17245F.html).

Die folgenden Schritte können verwendet werden, um eine ereignisgesteuerte Automatisierung zu erstellen, bei der eine neu gestartete Enterprise Server-Instanz durch Wiederverwendung des PowerShell Windows-Skripts zu einer PAC hinzugefügt wird. 

1. Erstellen Sie eine EC2 Amazon-Startvorlage für eine Enterprise Server-Instance, die beim Bootstrap eine Enterprise Serverregion bereitstellt. Sie können beispielsweise den Micro Focus Enterprise Server-Befehl mfds verwenden, um eine Regionskonfiguration zu importieren. Weitere Informationen und Optionen, die für diesen Befehl verfügbar sind, finden Sie in der [Enterprise Server-Referenz.](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/HRADRHCOMM06.html)

1. Erstellen Sie eine automatische Skalierungsgruppe für Enterprise Server, die die im vorherigen Schritt erstellte Startvorlage verwendet.

1. Erstellen Sie ein Systems Manager Automation-Runbook, um das PowerShell Windows-Skript aufzurufen. 

1. Ordnen Sie das Runbook mithilfe des Instance-Tags der ESCWA-Instanz zu.

1. Erstellen Sie eine EventBridge Amazon-Regel, um nach dem Ereignis EC2 Instance Launch Successful für die automatische Skalierungsgruppe Enterprise Server zu filtern, und erstellen Sie das Ziel für die Verwendung des Automation-Runbooks.

Sie können den folgenden CloudFormation Beispielausschnitt verwenden, um das Automation-Runbook und die Regel zu erstellen. EventBridge 

* CloudFormation Beispielausschnitt für Systems Manager, der für die Skalierung von Enterprise Server-Instanzen verwendet wird*

```
  ScaleOutDocument:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Command
       Content:
         schemaVersion: '2.2'
         description: Operation Runbook to Adding MFDS Server into an existing PAC 
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"
           InstanceId:
             type: String
             default: "Not-Available"
         mainSteps:
         - action: aws:runPowerShellScript
           name: Add_MFDS
           inputs:
             onFailure: Abort
             timeoutSeconds: "300"
             runCommand:
             - |
               $ip = "{{InstanceIpAddress}}"
               if ( ${ip} -eq "Not-Available" ) {
                 $ip = aws ec2 describe-instances --instance-id {{InstanceId}} --output text --query "Reservations[0].Instances[0].PrivateIpAddress"
               }            
               C:\Scripts\Scale-Out.ps1 -host_ip ${ip} -port {{MfdsPort}}
 
   PacScaleOutAutomation:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Automation
       Content:
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"
           InstanceId:
             type: String
             default: "Not-Available"
         description: Scale Out 1 New Server in Micro Focus PAC Cluster via ESCWA Server
         schemaVersion: '0.3'
         assumeRole: !GetAtt SsmAssumeRole.Arn
         mainSteps:
           - name: RunScaleOutCommand
             action: aws:runCommand
             timeoutSeconds: 300
             onFailure: Abort
             inputs:
               DocumentName: !Ref ScaleOutDocument
               Parameters:
                 InstanceIpAddress: "{{InstanceIpAddress}}"
                 InstanceId: "{{InstanceId}}"
                 MfdsPort: "{{MfdsPort}}"
               Targets:
                 - Key: tag:Enterprise Server - ESCWA
                   Values:
                     - "true"
```

**Automatisierung für die Skalierung in einer Enterprise Server-Instanz**

Ähnlich wie beim Skalieren wird bei der *Skalierung* einer Enterprise Server-Instanz das Ereignis EC2 Instance-Terminate Lifecycle Action ausgelöst, und die folgenden Prozess- und API-Aufrufe sind erforderlich, um eine Micro Focus Enterprise Server-Instanz aus dem PAC zu entfernen. 

1. Beenden Sie die Region in der beendenden Enterprise Server-Instanz.

   ```
   POST "/native/v1/regions/${host_ip}/${port}/${region_name}/stop"
   ```

1. Entfernen Sie die Enterprise Server-Instanz aus dem PAC.

   ```
   DELETE "/server/v1/config/mfds/${uid}"
   ```

1. Senden Sie ein Signal, um mit dem Beenden der Enterprise Server-Instanz fortzufahren.

Die vorherigen Schritte können in einem PowerShell Windows-Skript implementiert werden. Weitere Informationen zu diesem Prozess finden Sie im [Dokument Micro Focus Enterprise Server — Verwaltung einer PAC](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-E864E2E9-EB49-43BF-9AAD-7FE334749441.html).

In den folgenden Schritten wird erklärt, wie Sie eine ereignisgesteuerte Automatisierung erstellen, um eine Enterprise Server-Instanz von einem PAC aus zu beenden, indem Sie das Windows-Skript wiederverwenden. PowerShell  

1. Erstellen Sie ein Systems Manager Automation-Runbook, um das PowerShell Windows-Skript aufzurufen.

1. Ordnen Sie das Runbook mithilfe des Instance-Tags der ESCWA-Instanz zu.

1. Erstellen Sie einen Lifecycle-Hook für automatische Skalierungsgruppen zur EC2 Instanzbeendigung.

1. Erstellen Sie eine EventBridge Amazon-Regel, um das Ereignis EC2 Instance-Terminate Lifecycle Action für die automatische Skalierungsgruppe Enterprise Server zu filtern, und erstellen Sie das Ziel für die Verwendung des Automation-Runbooks. 

Sie können die folgende CloudFormation Beispielvorlage verwenden, um ein Systems Manager Automation-Runbook, einen Lifecycle-Hook und eine EventBridge Regel zu erstellen.

* CloudFormation Beispielausschnitt für ein Systems Manager Automation-Runbook, das für die Skalierung in einer Enterprise Server-Instanz verwendet wird*

```
  ScaleInDocument:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Command
       Content:
         schemaVersion: '2.2'
         description: Operation Runbook to Remove MFDS Server from PAC 
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"
           InstanceId:
             type: String
             default: "Not-Available"
         mainSteps:
         - action: aws:runPowerShellScript
           name: Remove_MFDS
           inputs:
             onFailure: Abort
             runCommand:
             - |
               $ip = "{{InstanceIpAddress}}"
               if ( ${ip} -eq "Not-Available" ) {
                 $ip = aws ec2 describe-instances --instance-id {{InstanceId}} --output text --query "Reservations[0].Instances[0].PrivateIpAddress"
               }            
               C:\Scripts\Scale-In.ps1 -host_ip ${ip} -port {{MfdsPort}}
 
   PacScaleInAutomation:
     Type: AWS::SSM::Document
     Properties:
       DocumentType: Automation
       Content:
         parameters:
           MfdsPort:
             type: String
           InstanceIpAddress:
             type: String
             default: "Not-Available"            
           InstanceId:
             type: String
             default: "Not-Available"                
         description: Scale In 1 New Server in Micro Focus PAC Cluster via ESCWA Server
         schemaVersion: '0.3'
         assumeRole: !GetAtt SsmAssumeRole.Arn
         mainSteps:
           - name: RunScaleInCommand
             action: aws:runCommand
             timeoutSeconds: "600"
             onFailure: Abort
             inputs:
               DocumentName: !Ref ScaleInDocument
               Parameters:
                 InstanceIpAddress: "{{InstanceIpAddress}}"
                 MfdsPort: "{{MfdsPort}}"
                 InstanceId: "{{InstanceId}}"
               Targets:
                 - Key: tag:Enterprise Server - ESCWA
                   Values:
                     - "true"
           - name: TerminateTheInstance
             action: aws:executeAwsApi
             inputs:
               Service: autoscaling
               Api: CompleteLifecycleAction
               AutoScalingGroupName: !Ref AutoScalingGroup
               InstanceId: "{{ InstanceId }}"
               LifecycleActionResult: CONTINUE
               LifecycleHookName: !Ref ScaleInLifeCycleHook
```

**Automatisierung für einen EC2 automatischen Skalierungsauslöser von Amazon**

Die Einrichtung einer Skalierungsrichtlinie für Enterprise Server-Instances erfordert ein Verständnis des Anwendungsverhaltens. In den meisten Fällen können Sie Skalierungsrichtlinien für die Zielverfolgung einrichten. Sie können beispielsweise die durchschnittliche CPU-Auslastung als CloudWatch Amazon-Metrik verwenden, um die automatische Skalierungsrichtlinie festzulegen. Weitere Informationen finden Sie unter [Target-Tracking-Skalierungsrichtlinien für Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html). Für Anwendungen mit regelmäßigen Datenverkehrsmustern sollten Sie die Verwendung einer Richtlinie zur vorausschauenden Skalierung in Betracht ziehen. Weitere Informationen finden Sie unter [Prädiktive Skalierung für Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html). 

# Erstellen Sie einen fortschrittlichen Mainframe-Dateiviewer in der AWS-Cloud
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud"></a>

*Biopathie GOPALSAMY und Jeremiah O'Connor, Amazon Web Services*

## Zusammenfassung
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-summary"></a>

Dieses Muster enthält Codebeispiele und Schritte, mit denen Sie mithilfe von serverlosen AWS-Services ein erweitertes Tool zum Durchsuchen und Überprüfen Ihrer Mainframe-Dateien im festen Format erstellen können. Das Muster bietet ein Beispiel dafür, wie eine Mainframe-Eingabedatei zum Durchsuchen und Suchen in ein Amazon OpenSearch Service-Dokument konvertiert wird. Das Datei-Viewer-Tool kann Ihnen dabei helfen, Folgendes zu erreichen:
+ Behalten Sie die gleiche Mainframe-Dateistruktur und das gleiche Layout für Konsistenz in Ihrer AWS-Zielmigrationsumgebung bei (Sie können beispielsweise dasselbe Layout für Dateien in einer Batch-Anwendung beibehalten, die Dateien an externe Parteien überträgt)
+ Beschleunigen Sie die Entwicklung und das Testen während Ihrer Mainframe-Migration
+ Support von Wartungsaktivitäten nach der Migration

## Voraussetzungen und Einschränkungen
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Eine virtuelle private Cloud (VPC) mit einem Subnetz, das über Ihre Legacy-Plattform erreichbar ist
+ 
**Anmerkung**  
Eine Eingabedatei und das dazugehörige COBOL-Copybook (Common Business-Oriented Language) (: Beispiele für Eingabedateien und COBOL-Copybooks finden Sie im Repository. [gfs-mainframe-solutions](https://github.com/aws-samples/gfs-mainframe-patterns.git) GitHub Weitere Informationen zu COBOL-Copybooks finden Sie im [Enterprise COBOL for z/OS ](https://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf) 6.3 Programming Guide auf der IBM-Website.)

**Einschränkungen**
+ Das Parsen von Copybooks ist auf nicht mehr als zwei verschachtelte Ebenen beschränkt (OCCURS)

## Architektur
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-architecture"></a>

**Quelltechnologie-Stack**
+ Eingabedateien im [FB-Format (Fixed Blocked)](https://www.ibm.com/docs/en/zos-basic-skills?topic=set-data-record-formats)
+ COBOL-Copybook-Layout

**Zieltechnologie-Stack**
+ Amazon Athena
+  OpenSearch Amazon-Dienst
+ Amazon Simple Storage Service (Amazon-S3)
+ AWS Lambda
+ AWS Step Functions

**Zielarchitektur**

Das folgende Diagramm zeigt den Prozess des Parsens und Konvertierens einer Mainframe-Eingabedatei in ein OpenSearch Servicedokument zum Durchsuchen und Suchen.

![\[Prozess zum Analysieren und Konvertieren einer Mainframe-Eingabedatei in einen Service. OpenSearch\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/cce68438-bcf2-48c1-b86b-01242235ec76.png)


Das Diagramm zeigt den folgenden Workflow:

1. Ein Admin-Benutzer oder eine Admin-Anwendung überträgt Eingabedateien in einen S3-Bucket und COBOL-Copybooks in einen anderen S3-Bucket.

1. 
**Anmerkung**  
Der S3-Bucket mit den Eingabedateien ruft eine Lambda-Funktion auf, die einen serverlosen Step Functions Functions-Workflow startet. : Die Verwendung eines S3-Ereignistriggers und einer Lambda-Funktion zur Steuerung des Step Functions Functions-Workflows in diesem Muster ist optional. Die GitHub Codebeispiele in diesem Muster beinhalten nicht die Verwendung dieser Dienste, aber Sie können diese Dienste je nach Ihren Anforderungen verwenden.

1. Der Step Functions Functions-Workflow koordiniert alle Batch-Prozesse aus den folgenden Lambda-Funktionen:
   + Die `s3copybookparser.py` Funktion analysiert das Copybook-Layout und extrahiert Feldattribute, Datentypen und Offsets (erforderlich für die Verarbeitung der Eingabedaten).
   + Die `s3toathena.py` Funktion erstellt ein Athena-Tabellenlayout. Athena analysiert die Eingabedaten, die von der `s3toathena.py` Funktion verarbeitet werden, und konvertiert die Daten in eine CSV-Datei.
   + Die `s3toelasticsearch.py` Funktion nimmt die Ergebnisdatei aus dem S3-Bucket auf und leitet die Datei an den Service weiter. OpenSearch 

1. Benutzer greifen mit OpenSearch Service auf OpenSearch Dashboards zu, um die Daten in verschiedenen Tabellen- und Spaltenformaten abzurufen und dann Abfragen für die indizierten Daten auszuführen.

## Tools
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-tools"></a>

**AWS-Services**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) ist ein interaktiver Abfrageservice, mit dem Sie Daten mithilfe von Standard-SQL direkt in Amazon Simple Storage Service (Amazon S3) analysieren können.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ist ein Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen. In diesem Muster verwenden Sie Lambda, um Kernlogik zu implementieren, z. B. das Parsen von Dateien, das Konvertieren von Daten und das Laden von Daten in OpenSearch Service für den interaktiven Dateizugriff.
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) ist ein verwalteter Service, der Sie bei der Bereitstellung, dem Betrieb und der Skalierung von OpenSearch Service-Clustern in der AWS-Cloud unterstützt. In diesem Muster verwenden Sie OpenSearch Service, um die konvertierten Dateien zu indizieren und Benutzern interaktive Suchfunktionen bereitzustellen.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS-Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) ist ein serverloser Orchestrierungsservice, mit dem Sie Lambda-Funktionen und andere AWS-Services kombinieren können, um geschäftskritische Anwendungen zu erstellen. In diesem Muster verwenden Sie Step Functions, um Lambda-Funktionen zu orchestrieren.

**Andere Tools**
+ [GitHub](https://github.com/)ist ein Code-Hosting-Dienst, der Tools für die Zusammenarbeit und Versionskontrolle bereitstellt.
+ [Python](https://www.python.org/) ist eine Programmiersprache auf hohem Niveau.

**Code**

Der Code für dieses Muster ist im GitHub [gfs-mainframe-patterns](https://github.com/aws-samples/gfs-mainframe-patterns.git)Repository verfügbar.

## Epen
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-epics"></a>

### Bereiten Sie die Zielumgebung vor
<a name="prepare-the-target-environment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den S3-Bucket. | [Erstellen Sie einen S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) zum Speichern der Copybooks, Eingabedateien und Ausgabedateien. Wir empfehlen die folgende Ordnerstruktur für Ihren S3-Bucket:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 
| Erstellen Sie die Funktion s3copybookparser. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 
| Erstellen Sie die Funktion s3toathena. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 
| Erstellen Sie die Funktion s3toelasticsearch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 
| Erstellen Sie den OpenSearch Service-Cluster. | **Erstellen Sie den Cluster**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)**Gewähren Sie Zugriff auf die IAM-Rolle**Gehen Sie wie folgt vor, um einen detaillierten Zugriff auf die IAM-Rolle (`arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**`) der Lambda-Funktion bereitzustellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 
| Erstellen Sie Step Functions für die Orchestrierung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 

### Bereitstellen und ausführen
<a name="deploy-and-run"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Laden Sie die Eingabedateien und Copybooks in den S3-Bucket hoch. | Laden Sie Beispieldateien aus dem [GitHub ](https://github.com/aws-samples/gfs-mainframe-patterns.git)Repository-Beispielordner herunter und laden Sie die Dateien in den S3-Bucket hoch, den Sie zuvor erstellt haben.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 
| Rufen Sie die Step Functions auf. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)<pre>{<br />  "s3_copybook_bucket_name": "<BUCKET NAME>",<br />  "s3_copybook_bucket_key": "<COPYBOOK PATH>",<br />  "s3_source_bucket_name": "<BUCKET NAME",<br />  "s3_source_bucket_key": "INPUT FILE PATH"<br />}</pre>Beispiel:<pre>{<br />  "s3_copybook_bucket_name": "fileaidtest",<br />  "s3_copybook_bucket_key": "copybook/acctix.cpy",<br />  "s3_source_bucket_name": "fileaidtest",<br />  "s3_source_bucket_key": "input/acctindex"<br />}</pre> | Allgemeines AWS | 
| Validieren Sie die Workflow-Ausführung in Step Functions. | Überprüfen Sie in der [Step Functions Functions-Konsole](https://console.aws.amazon.com/states/home) die Workflow-Ausführung im **Graph Inspector**. Die Status des Ausführungslaufs sind farblich gekennzeichnet, um den Ausführungsstatus darzustellen. Blau steht beispielsweise für **In Bearbeitung**, Grün für **Erfolgreich** und Rot für **Fehlgeschlagen**. Ausführlichere Informationen zu den **Ausführungsereignissen finden Sie auch in der Tabelle im Abschnitt Verlauf** der Ausführungsereignisse.Ein Beispiel für eine grafische Workflow-Ausführung finden Sie im *Diagramm Step Functions* im Abschnitt *Zusätzliche Informationen* dieses Musters. | Allgemeines AWS | 
| Überprüfen Sie die Lieferprotokolle in Amazon CloudWatch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html)Ein Beispiel für erfolgreiche Zustellungsprotokolle finden Sie unter *CloudWatch Übermittlungsprotokolle* im Abschnitt *Zusätzliche Informationen* dieses Musters. | Allgemeines AWS | 
| Überprüfen Sie die formatierte Datei in OpenSearch Dashboards und führen Sie Dateioperationen durch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.html) | Allgemeines AWS | 

## Zugehörige Ressourcen
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-resources"></a>

**Referenzen**
+ [Beispiel für ein COBOL-Copybook](https://www.ibm.com/docs/en/record-generator/3.0?topic=SSMQ4D_3.0.0/documentation/cobol_rcg_examplecopybook.html) (IBM-Dokumentation)
+ [BMC Compuware File-AID](https://www.bmc.com/it-solutions/bmc-compuware-file-aid.html) (BMC-Dokumentation)

**Tutorials**
+ [Tutorial: Verwenden eines Amazon S3 S3-Triggers zum Aufrufen einer Lambda-Funktion (AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) Lambda-Dokumentation)
+ [Wie erstelle ich einen serverlosen Workflow mit AWS Step Functions und AWS Lambda](https://aws.amazon.com/getting-started/hands-on/create-a-serverless-workflow-step-functions-lambda/) (AWS-Dokumentation)
+ [Verwenden von OpenSearch Dashboards mit Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) (AWS-Dokumentation)

## Zusätzliche Informationen
<a name="build-an-advanced-mainframe-file-viewer-in-the-aws-cloud-additional"></a>

**Diagramm der Step Functions**

Das folgende Beispiel zeigt ein Step Functions Functions-Diagramm. Das Diagramm zeigt den Ausführungsstatus der in diesem Muster verwendeten Lambda-Funktionen.

![\[Das Diagramm Step Functions zeigt den Ausführungsstatus der in diesem Muster verwendeten Lambda-Funktionen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/36d72b00-d163-455f-9e59-e2c872e7c28a/images/11093e5d-2f9e-4bbf-8abc-f3b2980dd550.png)


**CloudWatch Zustellungsprotokolle**

Das folgende Beispiel zeigt erfolgreiche Zustellungsprotokolle für die Ausführung der `s3toelasticsearch` Ausführung.


| 
| 
| 2022-08-10T 15:53:33.033-05:00 | Anzahl der Verarbeitungsdokumente: 100 |  | 
| --- |--- |--- |
|  | 2022-08-10T 15:53:33.171-05:00 | [INFO] 20.08.2022 20:53:33.171 Z a1b2c3d4-5678-90ab-cdef- Beitrag:443/\$1Bulk [Status:200 Anfrage:0,100s] EXAMPLE11111 https://search-essearch-3h4uqclifeqaj2vg4mphe7ffle.us-east-2.es.amazonaws.com | 
|  | 10.08.2022 UM 15:53:33.172-05:00 | Massen-Schreibvorgänge waren erfolgreich: 100 Dokumente | 

# Containerisieren Sie Mainframe-Workloads, die von Blu Age modernisiert wurden
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age"></a>

*Richard Milner-Watts, Amazon Web Services*

## Zusammenfassung
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-summary"></a>

[Dieses Muster bietet ein Beispiel für eine Container-Umgebung zum Ausführen von Mainframe-Workloads, die mithilfe des Blu Age-Tools modernisiert wurden.](https://www.bluage.com/) Blu Age konvertiert ältere Mainframe-Workloads in modernen Java-Code. Dieses Muster bietet einen Wrapper für die Java-Anwendung, sodass Sie sie mithilfe von Container-Orchestrierungsdiensten wie [Amazon Elastic Container Service (Amazon ECS) oder Amazon Elastic](https://aws.amazon.com/ecs/) [Kubernetes Service (Amazon](https://aws.amazon.com/eks/) EKS) ausführen können.

Weitere Informationen zur Modernisierung Ihrer Workloads mithilfe von Blu Age- und AWS-Services finden Sie in den folgenden Publikationen zu AWS Prescriptive Guidance:
+ [Ausführung modernisierter Blu-Age-Mainframe-Workloads auf einer serverlosen AWS-Infrastruktur](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Stellen Sie mithilfe von Terraform eine Umgebung für containerisierte Blu Age-Anwendungen bereit](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)

[Wenn Sie Unterstützung bei der Nutzung von Blu Age zur Modernisierung Ihrer Mainframe-Workloads benötigen, wenden Sie sich an das Blu Age-Team, indem Sie auf der Blu Age-Website auf **Kontaktieren Sie unsere Experten klicken**.](https://www.bluage.com/) Wenn Sie Unterstützung bei der Migration Ihrer modernisierten Workloads zu AWS, ihrer Integration mit AWS-Services und ihrer Umstellung auf die Produktion benötigen, wenden Sie sich an Ihren AWS-Kundenbetreuer oder füllen Sie das [AWS Professional](https://pages.awscloud.com/AWS-Professional-Services.html) Services-Formular aus.

## Voraussetzungen und Einschränkungen
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-prereqs"></a>

**Voraussetzungen**
+ Eine modernisierte Java-Anwendung, die von Blu Age erstellt wurde. Zu Testzwecken bietet dieses Muster eine Java-Beispielanwendung, die Sie als Machbarkeitsnachweis verwenden können.
+ Eine [Docker-Umgebung](https://aws.amazon.com/docker/), mit der Sie den Container erstellen können.

**Einschränkungen**

Je nachdem, welche Container-Orchestrierungsplattform Sie verwenden, sind die Ressourcen, die dem Container zur Verfügung gestellt werden können (wie CPU, RAM und Speicher), möglicherweise begrenzt. Wenn Sie beispielsweise Amazon ECS mit AWS Fargate verwenden, finden Sie in der [Amazon ECS-Dokumentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) Einschränkungen und Überlegungen.

## Architektur
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-architecture"></a>

**Quelltechnologie-Stack**
+ Blaues Zeitalter
+ Java

**Zieltechnologie-Stack**
+ Docker

**Zielarchitektur**

Das folgende Diagramm zeigt die Architektur der Blu Age-Anwendung in einem Docker-Container.

![\[Blu Age-Anwendung im Docker-Container\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/c1747094-357b-4222-b4eb-b1336d810f83/images/0554332d-eff5-49ca-9789-da39b5a10045.png)


1. Der Einstiegspunkt für den Container ist das Wrapper-Skript. Dieses Bash-Skript ist dafür verantwortlich, die Laufzeitumgebung für die Blu Age-Anwendung vorzubereiten und die Ausgaben zu verarbeiten.

1. Umgebungsvariablen innerhalb des Containers werden verwendet, um Variablen im Wrapper-Skript zu konfigurieren, wie z. B. die Bucket-Namen und Datenbankanmeldeinformationen von Amazon Simple Storage Service (Amazon S3). Umgebungsvariablen werden entweder von AWS Secrets Manager oder Parameter Store, einer Funktion von AWS Systems Manager, bereitgestellt. Wenn Sie Amazon ECS als Container-Orchestrierungsservice verwenden, können Sie die Umgebungsvariablen auch in der Amazon ECS-Aufgabendefinition hartcodieren.

1. Das Wrapper-Skript ist dafür verantwortlich, alle Eingabedateien aus dem S3-Bucket in den Container zu ziehen, bevor Sie die Blu Age-Anwendung ausführen. Die AWS-Befehlszeilenschnittstelle (AWS CLI) ist im Container installiert. Dies bietet einen Mechanismus für den Zugriff auf Objekte, die in Amazon S3 gespeichert sind, über den Gateway-Endpunkt der Virtual Private Cloud (VPC).

1. Die Java-Archivdatei (JAR) für die Blu Age-Anwendung muss möglicherweise mit anderen Datenquellen wie Amazon Aurora kommunizieren.

1. Nach Abschluss liefert das Wrapper-Skript die resultierenden Ausgabedateien zur weiteren Verarbeitung (z. B. durch Amazon CloudWatch Logging Services) in einen S3-Bucket. Das Muster unterstützt auch die Übermittlung komprimierter Protokolldateien an Amazon S3, wenn Sie eine Alternative zur CloudWatch Standardprotokollierung verwenden.

## Tools
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-tools"></a>

**AWS-Services**
+ [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) ist ein hoch skalierbarer, schneller Container-Management-Service, der das Ausführen, Beenden und Verwalten von Containern in einem Cluster vereinfacht.

**Tools**
+ [Docker](https://aws.amazon.com/docker/) ist eine Softwareplattform zum Erstellen, Testen und Bereitstellen von Anwendungen. Docker packt Software in standardisierte Einheiten, sogenannte [Container](https://aws.amazon.com/containers/), die alles enthalten, was die Software zum Ausführen benötigt, einschließlich Bibliotheken, Systemtools, Code und Laufzeit. Sie können Docker verwenden, um Anwendungen in jeder Umgebung bereitzustellen und zu skalieren.
+ [Bash](https://www.gnu.org/software/bash/manual/) ist eine Befehlssprachenschnittstelle (Shell) für das GNU-Betriebssystem.
+ [Java](https://www.java.com/) ist die Programmiersprache und Entwicklungsumgebung, die in diesem Muster verwendet werden.
+ [Blu Age](https://www.bluage.com/) ist ein AWS-Mainframe-Modernisierungstool, das ältere Mainframe-Workloads, einschließlich Anwendungscode, Abhängigkeiten und Infrastruktur, in moderne Workloads für die Cloud umwandelt.

**Code-Repository**

Der Code für dieses Muster ist im GitHub [Blu Age-Beispielcontainer-Repository](https://github.com/aws-samples/aws-blu-age-sample-container) verfügbar.

## Best Practices
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-best-practices"></a>
+ Externalisieren Sie die Variablen, um das Verhalten Ihrer Anwendung mithilfe von Umgebungsvariablen zu ändern. Diese Variablen ermöglichen es der Container-Orchestrierungslösung, die Laufzeitumgebung zu ändern, ohne den Container neu erstellen zu müssen. Dieses Muster enthält Beispiele für Umgebungsvariablen, die für Blu Age-Anwendungen nützlich sein können.
+ Überprüfen Sie alle Anwendungsabhängigkeiten, bevor Sie Ihre Blu Age-Anwendung ausführen. Stellen Sie beispielsweise sicher, dass die Datenbank verfügbar und die Anmeldeinformationen gültig sind. Schreiben Sie Tests in das Wrapper-Skript, um Abhängigkeiten zu überprüfen, und schlagen Sie frühzeitig fehl, wenn sie nicht erfüllt werden.
+ Verwenden Sie eine ausführliche Protokollierung innerhalb des Wrapper-Skripts. Die direkte Interaktion mit einem laufenden Container kann je nach Orchestrierungsplattform und Dauer der Aufgabe eine Herausforderung sein. Stellen Sie sicher, dass nützliche Informationen geschrieben werden, `STDOUT` um Probleme diagnostizieren zu können. Die Ausgabe kann beispielsweise den Inhalt des Arbeitsverzeichnisses der Anwendung sowohl vor als auch nach der Ausführung der Anwendung enthalten.

## Epen
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-epics"></a>

### Besorgen Sie sich eine JAR-Datei für die Blu-Age-Anwendung
<a name="obtain-a-blu-age-application-jar-file"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Option 1 — Arbeiten Sie mit Blu Age zusammen, um die JAR-Datei Ihrer Anwendung zu erhalten. | Der Container in diesem Muster erfordert eine Blu Age-Anwendung. Alternativ können Sie die Java-Beispielanwendung, die mit diesem Muster geliefert wird, für einen Prototyp verwenden.Arbeiten Sie mit dem Blu Age-Team zusammen, um eine JAR-Datei für Ihre Anwendung zu erhalten, die in den Container integriert werden kann. Wenn die JAR-Datei nicht verfügbar ist, lesen Sie die nächste Aufgabe, um stattdessen die Beispielanwendung zu verwenden. | Cloud-Architekt | 
| Option 2 — Erstellen oder verwenden Sie die mitgelieferte JAR-Datei der Beispielanwendung. | Dieses Muster stellt eine vorgefertigte Beispiel-JAR-Datei bereit. Diese Datei gibt die Umgebungsvariablen der Anwendung an aus, `STDOUT` bevor sie 30 Sekunden lang in den Ruhemodus wechselt und dann beendet wird.Diese Datei hat einen Namen `bluAgeSample.jar` und befindet sich im [Docker-Ordner](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/docker) des GitHub Repositorys.[Wenn Sie den Code ändern und Ihre eigene Version der JAR-Datei erstellen möchten, verwenden Sie den Quellcode unter. /java\$1 sample/src/sample \$1java\$1app.java im Repository](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample/src). GitHub [Sie können das Build-Skript unter verwenden. ](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample)/java\$1sample/build.sh, um den Java-Quellcode zu kompilieren und eine neue JAR-Datei zu erstellen. | App-Developer | 

### Erstellen Sie den Blue Age-Container
<a name="build-the-blu-age-container"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das GitHub Repository. | Klonen Sie das Beispielcode-Repository mit dem folgenden Befehl:<pre>git clone https://github.com/aws-samples/aws-blu-age-sample-container</pre> | AWS DevOps | 
| Verwenden Sie Docker, um den Container zu erstellen. | Verwenden Sie Docker, um den Container zu erstellen, bevor Sie ihn in eine Docker-Registry wie Amazon ECR pushen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html) | AWS DevOps | 
| Testen Sie den Blu Age-Container. | (Optional) Testen Sie den Container bei Bedarf lokal mit dem folgenden Befehl:<pre>docker run -it <tag> /bin/bash</pre> | AWS DevOps | 
| Authentifizieren Sie sich bei Ihrem Docker-Repository. | Wenn Sie Amazon ECR verwenden möchten, folgen Sie den Anweisungen in der [Amazon ECR-Dokumentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html), um die AWS-CLI zu installieren und zu konfigurieren und die Docker-CLI bei Ihrer Standardregistrierung zu authentifizieren.[Wir empfehlen, den Befehl zur Authentifizierung zu verwenden. get-login-password ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/get-login-password.html)  Die [Amazon ECR-Konsole](https://console.aws.amazon.com/ecr/) bietet eine vorausgefüllte Version dieses Befehls, wenn Sie die Schaltfläche „**Push-Befehle anzeigen**“ verwenden. Weitere Informationen finden Sie in der [Amazon ECR-Dokumentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-console.html).<pre>aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <account>.dkr.ecr.<region>.amazonaws.com</pre>Wenn Sie Amazon ECR nicht verwenden möchten, folgen Sie den Anweisungen für Ihr Container-Registrierungssystem. | AWS DevOps | 
| Erstellen Sie ein Container-Repository. | Erstellen Sie ein Repository in Amazon ECR. Anweisungen finden Sie im Muster [Bereitstellen einer Umgebung für containerisierte Blu Age-Anwendungen mithilfe von Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html).Wenn Sie ein anderes Container-Registrierungssystem verwenden, folgen Sie den Anweisungen für dieses System. | AWS DevOps | 
| Markieren Sie Ihren Container und übertragen Sie ihn in das Ziel-Repository. | Wenn Sie Amazon ECR verwenden:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)Weitere Informationen finden Sie unter [Pushing a Docker-Image](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) im *Amazon ECR-Benutzerhandbuch*. | AWS DevOps | 

## Zugehörige Ressourcen
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-resources"></a>

**AWS-Ressourcen**
+ [AWS Blu Age Age-Probencontainer-Repository](https://github.com/aws-samples/aws-blu-age-sample-container)
+ [Ausführung modernisierter Blu-Age-Mainframe-Workloads auf einer serverlosen AWS-Infrastruktur](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Stellen Sie mithilfe von Terraform eine Umgebung für containerisierte Blu Age-Anwendungen bereit](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)
+ [Verwenden von Amazon ECR mit der AWS-CLI](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) (*Amazon ECR-Benutzerhandbuch*)
+ [Authentifizierung in privaten Registern](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) (*Amazon ECR-Benutzerhandbuch*)
+ [Amazon ECS-Dokumentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)
+ [Amazon EKS-Dokumentation](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)

**Weitere Ressourcen**
+ [Blu Age-Webseite](https://www.bluage.com/)
+ [Docker-Webseite](https://docker.com/)

# EBCDIC-Daten mithilfe von Python in ASCII auf AWS konvertieren und entpacken
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python"></a>

*Luis Gustavo Dantas, Amazon Web Services*

## Zusammenfassung
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-summary"></a>

Da Mainframes in der Regel wichtige Geschäftsdaten hosten, ist die Modernisierung von Daten eine der wichtigsten Aufgaben bei der Migration von Daten in die Amazon Web Services (AWS) -Cloud oder eine andere American Standard Code for Information Interchange (ASCII) -Umgebung. Auf Mainframes werden Daten in der Regel im EBCDIC-Format (Extended Binary-Coded Decimal Interchange Code) codiert. Beim Exportieren von Datenbank-, Virtual Storage Access Method- (VSAM) oder Flatfiles werden im Allgemeinen gepackte, binäre EBCDIC-Dateien erzeugt, deren Migration komplexer ist. Die am häufigsten verwendete Lösung für die Datenbankmigration ist Change Data Capture (CDC), die in den meisten Fällen die Datenkodierung automatisch konvertiert. CDC-Mechanismen sind jedoch möglicherweise nicht für diese Datenbank-, VSAM- oder Flatfiles verfügbar. Für diese Dateien ist ein alternativer Ansatz zur Modernisierung der Daten erforderlich.

Dieses Muster beschreibt, wie EBCDIC-Daten modernisiert werden, indem sie in das ASCII-Format konvertiert werden. Nach der Konvertierung können Sie die Daten in verteilte Datenbanken laden oder Anwendungen in der Cloud die Daten direkt verarbeiten lassen. Das Muster verwendet das Konvertierungsskript und die Beispieldateien im [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities) GitHub Repository.

## Voraussetzungen und Einschränkungen
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Eine EBCDIC-Eingabedatei und das dazugehörige COBOL-Copybook (Common Business-Oriented Language). Eine EBCDIC-Beispieldatei und ein COBOL-Copybook sind im Repository enthalten. [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities) GitHub Weitere Informationen zu COBOL-Copybooks finden Sie im [Enterprise COBOL for z/OS 6.4](https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf) Programming Guide auf der IBM-Website.

**Einschränkungen**
+ In COBOL-Programmen definierte Dateilayouts werden nicht unterstützt. Sie müssen separat zur Verfügung gestellt werden.

**Produktversionen**
+ Python-Version 3.8 oder höher

## Architektur
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-architecture"></a>

**Quelltechnologie-Stack**
+ EBCDIC-Daten auf einem Mainframe
+ COBOL-Copybook

**Zieltechnologie-Stack**
+ Amazon Elastic Compute Cloud (Amazon EC2) -Instanz in einer virtuellen privaten Cloud (VPC)
+ Amazon Elastic Block Store (Amazon EBS)
+ Python und die erforderlichen Pakete, JavaScript Object Notation (JSON), sys und datetime
+ ASCII-Flatdatei, die bereit ist, von einer modernen Anwendung gelesen oder in eine relationale Datenbanktabelle geladen zu werden

**Zielarchitektur**

![\[EBCDIC-Daten wurden auf einer EC2 Instanz mithilfe von Python-Skripten und einem COBOL-Copybook in ASCII konvertiert\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/f5907bfe-7dff-4cd0-8523-57015ad48c4b/images/4f97b1dd-3f20-4966-a291-22180680ea99.png)


Das Architekturdiagramm zeigt den Prozess der Konvertierung einer EBCDIC-Datei in eine ASCII-Datei auf einer Instanz: EC2 

1. Mithilfe des Skripts **parse\$1copybook\$1to\$1json.py** konvertieren Sie das COBOL-Copybook in eine JSON-Datei.

1. Mithilfe der JSON-Datei und des Skripts **extract\$1ebcdic\$1to\$1ascii.py** konvertieren Sie die EBCDIC-Daten in eine ASCII-Datei.

**Automatisierung und Skalierung**

Sobald die für die ersten manuellen Dateikonvertierungen benötigten Ressourcen vorhanden sind, können Sie die Dateikonvertierung automatisieren. Dieses Muster enthält keine Anweisungen zur Automatisierung. Es gibt mehrere Möglichkeiten, die Konvertierung zu automatisieren. Im Folgenden finden Sie einen Überblick über einen möglichen Ansatz:

1. Kapseln Sie die AWS-Befehlszeilenschnittstelle (AWS CLI) und die Python-Skriptbefehle in ein Shell-Skript.

1. Erstellen Sie eine AWS-Lambda-Funktion, die den Shell-Skriptjob asynchron an eine Instance weiterleitet. EC2 Weitere Informationen finden Sie unter [SSH-Jobs mit AWS Lambda planen](https://aws.amazon.com/blogs/compute/scheduling-ssh-jobs-using-aws-lambda/).

1. Erstellen Sie einen Amazon Simple Storage Service (Amazon S3) -Trigger, der die Lambda-Funktion jedes Mal aufruft, wenn eine Legacy-Datei hochgeladen wird. Weitere Informationen finden Sie unter [Verwenden eines Amazon S3 S3-Triggers zum Aufrufen einer Lambda-Funktion](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html).

## Tools
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-tools"></a>

**AWS-Services**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/?id=docs_gateway) bietet skalierbare Rechenkapazität in der AWS-Cloud. Sie können so viele virtuelle Server starten, wie Sie benötigen, und diese schnell nach oben oder unten skalieren.
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) bietet Speichervolumes auf Blockebene zur Verwendung mit Amazon Elastic Compute Cloud (Amazon EC2) -Instances.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS-Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

**Andere Tools**
+ [GitHub](https://github.com/)ist ein Code-Hosting-Dienst, der Tools für die Zusammenarbeit und Versionskontrolle bereitstellt.
+ [Python](https://www.python.org/) ist eine Programmiersprache auf hohem Niveau.

**Code-Repository**

Der Code für dieses Muster ist im [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities) GitHub Repository verfügbar.

## Epen
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-epics"></a>

### Bereite die Instanz vor EC2
<a name="prepare-the-ec2-instance"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Starten Sie eine EC2 Instanz. | Die EC2 Instance muss über ausgehenden Internetzugang verfügen. Dadurch kann die Instanz auf den Python-Quellcode zugreifen, der auf verfügbar ist GitHub. Um die Instanz zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | Allgemeines AWS | 
| Installieren Sie Git. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | Allgemein AWS, Linux | 
| Installieren Sie Python. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | Allgemein AWS, Linux | 
| Klonen Sie das GitHub Repository. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html) | Allgemeines AWS, GitHub | 

### Erstellen Sie die ASCII-Datei aus den EBCDIC-Daten
<a name="create-the-ascii-file-from-the-ebcdic-data"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Analysieren Sie das COBOL-Copybook in die JSON-Layoutdatei. | **Führen Sie innerhalb des `mainframe-data-utilities` Ordners das Skript parse\$1copybook\$1to\$1json.py aus.** Dieses Automatisierungsmodul liest das Datei-Layout aus einem COBOL-Copybook und erstellt eine JSON-Datei. Die JSON-Datei enthält die Informationen, die zum Interpretieren und Extrahieren der Daten aus der Quelldatei erforderlich sind. Dadurch werden die JSON-Metadaten aus dem COBOL-Copybook erstellt. Der folgende Befehl konvertiert das COBOL-Copybook in eine JSON-Datei.<pre>python3 parse_copybook_to_json.py \<br />-copybook LegacyReference/COBPACK2.cpy \<br />-output sample-data/cobpack2-list.json \<br />-dict sample-data/cobpack2-dict.json \<br />-ebcdic sample-data/COBPACK.OUTFILE.txt \<br />-ascii sample-data/COBPACK.ASCII.txt \<br />-print 10000</pre>Das Skript druckt die empfangenen Argumente.<pre>-----------------------------------------------------------------------<br />Copybook file...............| LegacyReference/COBPACK2.cpy<br />Parsed copybook (JSON List).| sample-data/cobpack2-list.json<br />JSON Dict (documentation)...| sample-data/cobpack2-dict.json<br />ASCII file..................| sample-data/COBPACK.ASCII.txt<br />EBCDIC file.................| sample-data/COBPACK.OUTFILE.txt<br />Print each..................| 10000<br />-----------------------------------------------------------------------</pre>Weitere Informationen zu den Argumenten finden Sie in der [README-Datei](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md) im GitHub Repository. | Allgemein AWS, Linux | 
| Untersuchen Sie die JSON-Layoutdatei. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)<pre> "input": "extract-ebcdic-to-ascii/COBPACK.OUTFILE.txt",<br /> "output": "extract-ebcdic-to-ascii/COBPACK.ASCII.txt",<br /> "max": 0,<br /> "skip": 0,<br /> "print": 10000,<br /> "lrecl": 150,<br /> "rem-low-values": true,<br /> "separator": "|",<br /> "transf": [<br /> {<br /> "type": "ch",<br /> "bytes": 19,<br /> "name": "OUTFILE-TEXT"<br /> } </pre>Die wichtigsten Attribute der JSON-Layoutdatei sind:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)Weitere Informationen zur JSON-Layoutdatei finden Sie in der [README-Datei](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md) im GitHub Repository. | Allgemein AWS, JSON | 
| Erstellen Sie die ASCII-Datei.  | Führen Sie das Skript **extract\$1ebcdic\$1to\$1ascii.py** aus, das im GitHub geklonten Repository enthalten ist. Dieses Skript liest die EBCDIC-Datei und schreibt eine konvertierte und lesbare ASCII-Datei.<pre>python3 extract_ebcdic_to_ascii.py -local-json sample-data/cobpack2-list.json</pre>Während das Skript die EBCDIC-Daten verarbeitet, druckt es für jeden Stapel von 10.000 Datensätzen eine Nachricht. Sehen Sie sich das folgende Beispiel an.<pre>------------------------------------------------------------------<br />2023-05-15 21:21:46.322253 | Local Json file   | -local-json | sample-data/cobpack2-list.json<br />2023-05-15 21:21:47.034556 | Records processed | 10000<br />2023-05-15 21:21:47.736434 | Records processed | 20000<br />2023-05-15 21:21:48.441696 | Records processed | 30000<br />2023-05-15 21:21:49.173781 | Records processed | 40000<br />2023-05-15 21:21:49.874779 | Records processed | 50000<br />2023-05-15 21:21:50.705873 | Records processed | 60000<br />2023-05-15 21:21:51.609335 | Records processed | 70000<br />2023-05-15 21:21:52.292989 | Records processed | 80000<br />2023-05-15 21:21:52.938366 | Records processed | 89280<br />2023-05-15 21:21:52.938448 Seconds 6.616232</pre>Informationen zum Ändern der Druckfrequenz finden Sie in der [README-Datei im Repository](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md). GitHub  | Allgemeines AWS | 
| Untersuchen Sie die ASCII-Datei. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)Wenn Sie die bereitgestellte EBCDIC-Beispieldatei verwendet haben, ist der folgende Datensatz der erste Datensatz in der ASCII-Datei.<pre>00000000: 2d30 3030 3030 3030 3030 3130 3030 3030  -000000000100000<br />00000010: 3030 307c 3030 3030 3030 3030 3031 3030  000|000000000100<br />00000020: 3030 3030 3030 7c2d 3030 3030 3030 3030  000000|-00000000<br />00000030: 3031 3030 3030 3030 3030 7c30 7c30 7c31  0100000000|0|0|1<br />00000040: 3030 3030 3030 3030 7c2d 3130 3030 3030  00000000|-100000<br />00000050: 3030 307c 3130 3030 3030 3030 307c 2d31  000|100000000|-1<br />00000060: 3030 3030 3030 3030 7c30 3030 3030 7c30  00000000|00000|0<br />00000070: 3030 3030 7c31 3030 3030 3030 3030 7c2d  0000|100000000|-<br />00000080: 3130 3030 3030 3030 307c 3030 3030 3030  100000000|000000<br />00000090: 3030 3030 3130 3030 3030 3030 307c 2d30  0000100000000|-0<br />000000a0: 3030 3030 3030 3030 3031 3030 3030 3030  0000000001000000<br />000000b0: 3030 7c41 7c41 7c0a                      00|A|A|.</pre> | Allgemein AWS, Linux | 
| Evaluieren Sie die EBCDIC-Datei. | Geben Sie in der EC2 Amazon-Konsole den folgenden Befehl ein. Dadurch wird der erste Datensatz der EBCDIC-Datei geöffnet.<pre>head sample-data/COBPACK.OUTFILE.txt -c 150 | xxd</pre>Wenn Sie die EBCDIC-Beispieldatei verwendet haben, ist das Ergebnis wie folgt.<pre> 00000000: 60f0 f0f0 f0f0 f0f0 f0f0 f1f0 f0f0 f0f0 `...............<br /> 00000010: f0f0 f0f0 f0f0 f0f0 f0f0 f0f0 f1f0 f0f0 ................<br /> 00000020: f0f0 f0f0 f0f0 f0f0 f0f0 f0f0 f0f0 f1f0 ................<br /> 00000030: f0f0 f0f0 f0f0 d000 0000 0005 f5e1 00fa ................<br /> 00000040: 0a1f 0000 0000 0005 f5e1 00ff ffff fffa ................<br /> 00000050: 0a1f 0000 000f 0000 0c10 0000 000f 1000 ................<br /> 00000060: 0000 0d00 0000 0000 1000 0000 0f00 0000 ................<br /> 00000070: 0000 1000 0000 0dc1 c100 0000 0000 0000 ................<br /> 00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................<br /> 00000090: 0000 0000 0000 ......</pre>Um die Gleichwertigkeit zwischen den Quell- und Zieldateien zu bewerten, sind umfassende Kenntnisse über EBCDIC erforderlich. Das erste Zeichen der EBCDIC-Beispieldatei ist beispielsweise ein Bindestrich (). `-` In der hexadezimalen Schreibweise der EBCDIC-Datei wird dieses Zeichen durch dargestellt`60`, und in der hexadezimalen Schreibweise der ASCII-Datei wird dieses Zeichen durch dargestellt. `2D` [Eine EBCDIC-to-ASCII Umrechnungstabelle finden Sie auf der IBM-Website unter EBCDIC zu ASCII.](https://www.ibm.com/docs/en/iis/11.3?topic=tables-ebcdic-ascii) | Allgemein AWS, Linux, EBCDIC | 

## Zugehörige Ressourcen
<a name="convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python-resources"></a>

**Referenzen**
+ [Der EBCDIC-Zeichensatz](https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set) (IBM-Dokumentation)
+ [EBCDIC zu ASCII](https://www.ibm.com/docs/en/iis/11.3?topic=tables-ebcdic-ascii) (IBM-Dokumentation)
+ [COBOL](https://www.ibm.com/docs/en/i/7.1?topic=languages-cobol) (IBM-Dokumentation)
+ [Grundlegende JCL-Konzepte](https://www.ibm.com/docs/en/zos-basic-skills?topic=collection-basic-jcl-concepts) (IBM-Dokumentation)
+ [Connect zu Ihrer Linux-Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html) her ( EC2 Amazon-Dokumentation)

**Tutorials**
+ [Planung von SSH-Jobs mit AWS Lambda](https://aws.amazon.com/blogs/compute/scheduling-ssh-jobs-using-aws-lambda/) (AWS-Blogbeitrag)
+ [Verwenden eines Amazon S3 S3-Triggers zum Aufrufen einer Lambda-Funktion (AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) Lambda-Dokumentation)

# Konvertieren Sie Mainframe-Dateien vom EBCDIC-Format in das durch Zeichen getrennte ASCII-Format in Amazon S3 mit AWS Lambda
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda"></a>

*Luis Gustavo Dantas, Amazon Web Services*

## Zusammenfassung
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-summary"></a>

Dieses Muster zeigt Ihnen, wie Sie eine AWS Lambda Funktion starten, die EBCDIC-Dateien (Extended Binary Coded Decimal Interchange Code) für Mainframes automatisch in durch Zeichen getrennte ASCII-Dateien (American Standard Code for Information Interchange) konvertiert. Die Lambda-Funktion wird ausgeführt, nachdem die ASCII-Dateien in einen Amazon Simple Storage Service (Amazon S3) -Bucket hochgeladen wurden. Nach der Dateikonvertierung können Sie die ASCII-Dateien auf x86-basierten Workloads lesen oder die Dateien in moderne Datenbanken laden.

Der in diesem Muster vorgestellte Ansatz zur Dateikonvertierung kann Ihnen helfen, die Herausforderungen bei der Arbeit mit EBCDIC-Dateien in modernen Umgebungen zu bewältigen. In EBCDIC kodierte Dateien enthalten häufig Daten, die in einem binären oder komprimierten Dezimalformat dargestellt werden, und Felder haben eine feste Länge. Diese Eigenschaften stellen Hindernisse dar, da moderne x86-basierte Workloads oder verteilte Umgebungen im Allgemeinen mit ASCII-kodierten Daten arbeiten und EBCDIC-Dateien nicht verarbeiten können.

## Voraussetzungen und Einschränkungen
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver AWS-Konto
+ Ein Amazon S3 S3-Bucket
+ Ein AWS Identity and Access Management (IAM-) Benutzer mit Administratorrechten
+ AWS CloudShell
+ [Python 3.8.0 oder höher](https://www.python.org/downloads/release/python-380/)
+ Eine in EBCDIC kodierte Flatfile und die dazugehörige Datenstruktur in einem COBOL-Copybook (Common Business Oriented Language)

**Anmerkung**  
[Dieses Muster verwendet eine EBCDIC-Beispieldatei ([Client.EBCDIC.txt](https://github.com/aws-samples/mainframe-data-utilities/blob/main/sample-data/CLIENT.EBCDIC.txt)) und das entsprechende COBOL-Copybook (COBKS05.cpy).](https://github.com/aws-samples/mainframe-data-utilities/blob/main/LegacyReference/COBKS05.cpy) Beide GitHub [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities)Dateien sind im Repository verfügbar.

**Einschränkungen**
+ COBOL-Copybooks enthalten normalerweise mehrere Layoutdefinitionen. Das [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities)Projekt kann diese Art von Copybook analysieren, kann aber nicht ableiten, welches Layout bei der Datenkonvertierung berücksichtigt werden soll. Das liegt daran, dass Copybooks diese Logik nicht verwenden (die stattdessen bei COBOL-Programmen verbleibt). Folglich müssen Sie die Regeln für die Auswahl von Layouts manuell konfigurieren, nachdem Sie das Copybook analysiert haben.
+ Dieses Muster unterliegt [Lambda-Quoten](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

## Architektur
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-architecture"></a>

**Quelltechnologie-Stack**
+ IBM z/OS, IBM i und andere EBCDIC-Systeme
+ Sequentielle Dateien mit in EBCDIC codierten Daten (z. B. IBM Db2-Entladungen)
+ COBOL-Copybook

**Zieltechnologie-Stack**
+ Amazon S3
+ Amazon S3 S3-Ereignisbenachrichtigung
+ IAM
+ Lambda-Funktion
+ Python 3.8 oder höher
+ Mainframe-Datendienstprogramme
+ JSON-Metadaten
+ ASCII-Dateien, die durch Zeichen getrennt sind

**Zielarchitektur**

Das folgende Diagramm zeigt eine Architektur für die Konvertierung von Mainframe-EBCDIC-Dateien in ASCII-Dateien.

![\[Architektur für die Konvertierung von Mainframe-EBCDIC-Dateien in ASCII-Dateien\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/97ab4129-2639-4733-86cb-962d91526df4/images/3ca7ca44-373a-434f-8c40-09e7c2abf5ec.png)


Das Diagramm zeigt den folgenden Workflow:

1. Der Benutzer führt das Copybook-Parser-Skript aus, das das COBOL-Copybook in eine JSON-Datei konvertiert.

1. Der Benutzer lädt die JSON-Metadaten in einen Amazon S3 S3-Bucket hoch. Dadurch werden die Metadaten von der Lambda-Funktion zur Datenkonvertierung lesbar.

1. Der Benutzer oder ein automatisierter Prozess lädt die EBCDIC-Datei in den Amazon S3 S3-Bucket hoch.

1. Das Amazon S3 S3-Benachrichtigungsereignis löst die Lambda-Funktion zur Datenkonvertierung aus.

1. AWS überprüft die Lese- und Schreibberechtigungen des Amazon S3 S3-Buckets für die Lambda-Funktion.

1. Lambda liest die Datei aus dem Amazon S3 S3-Bucket und konvertiert die Datei lokal von EBCDIC nach ASCII.

1. Lambda protokolliert den Prozessstatus in Amazon CloudWatch.

1. Lambda schreibt die ASCII-Datei zurück nach Amazon S3.

**Anmerkung**  
Das Copybook-Parser-Skript wird einmal ausgeführt, um die Konvertierung der Metadaten in das JSON-Format durchzuführen, das anschließend in einem Amazon S3 S3-Bucket gespeichert wird. Nach der ersten Konvertierung verwenden alle nachfolgenden EBCDIC-Dateien, die auf dieselbe JSON-Datei im Amazon S3 S3-Bucket verweisen, die bestehende Metadatenkonfiguration.

## Tools
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-tools"></a>

**AWS-Services**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) hilft Ihnen dabei, die Kennzahlen Ihrer AWS Ressourcen und der Anwendungen, auf denen Sie laufen, AWS in Echtzeit zu überwachen.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)ist eine browserbasierte Shell, die Sie zur Verwaltung mithilfe AWS-Services von AWS Command Line Interface (AWS CLI) und einer Reihe vorinstallierter Entwicklungstools verwenden können.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

**Andere Tools**
+ [GitHub](https://github.com/)ist ein Code-Hosting-Dienst, der Tools für die Zusammenarbeit und Versionskontrolle bereitstellt.
+ [Python](https://www.python.org/) ist eine Programmiersprache auf hohem Niveau.

**Code**

Der Code für dieses Muster ist im GitHub [mainframe-data-utilities](https://github.com/aws-samples/mainframe-data-utilities)Repository verfügbar.

## Best Practices
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-best-practices"></a>

Bedenken Sie die folgenden bewährten Methoden:
+ Legen Sie die erforderlichen Berechtigungen auf der Ebene des Amazon-Ressourcennamens (ARN) fest.
+ Gewähren Sie immer Berechtigungen mit den geringsten Rechten für IAM-Richtlinien. Weitere Informationen finden Sie in der IAM-Dokumentation unter [Bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).

## Epen
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-epics"></a>

### Erstellen Sie Umgebungsvariablen und einen Arbeitsordner
<a name="create-environment-variables-and-a-working-folder"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie die Umgebungsvariablen. | Kopieren Sie die folgenden Umgebungsvariablen in einen Texteditor und ersetzen Sie dann die `<placeholder>` Werte im folgenden Beispiel durch Ihre Ressourcenwerte:<pre>bucket=<your_bucket_name><br />account=<your_account_number><br />region=<your_region_code></pre>Sie erstellen Verweise auf Ihren Amazon S3 S3-Bucket und AWS-Region später. AWS-KontoUm Umgebungsvariablen zu definieren, öffnen Sie die [CloudShell Konsole](https://console.aws.amazon.com/cloudshell/) und kopieren Sie dann Ihre aktualisierten Umgebungsvariablen und fügen Sie sie in die Befehlszeile ein.Sie müssen diesen Schritt bei jedem Neustart der CloudShell Sitzung wiederholen. | Allgemeines AWS | 
| Erstellen Sie einen Arbeitsordner. | Um die spätere Bereinigung von Ressourcen zu vereinfachen, erstellen Sie einen Arbeitsordner in, CloudShell indem Sie den folgenden Befehl ausführen:<pre>mkdir workdir; cd workdir</pre>Sie müssen jedes Mal, wenn Sie die Verbindung zu Ihrer CloudShell Sitzung verlieren, das Verzeichnis in das Arbeitsverzeichnis (`workdir`) ändern. | Allgemeines AWS | 

### Definieren Sie eine IAM-Rolle und -Richtlinie
<a name="define-an-iam-role-and-policy"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Vertrauensrichtlinie für die Lambda-Funktion. | Der EBCDIC-Konverter läuft in einer Lambda-Funktion. Die Funktion muss eine IAM-Rolle haben. Bevor Sie die IAM-Rolle erstellen, müssen Sie ein Dokument mit einer Vertrauensrichtlinie definieren, das es Ressourcen ermöglicht, diese Richtlinie zu übernehmen.Erstellen Sie im CloudShell Arbeitsordner ein Richtliniendokument, indem Sie den folgenden Befehl ausführen:<pre>E2ATrustPol=$(cat <<EOF<br />{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "Service": "lambda.amazonaws.com"<br />            },<br />            "Action": "sts:AssumeRole"<br />        }<br />    ]<br />}<br />EOF<br />)<br />printf "$E2ATrustPol" > E2ATrustPol.json</pre> | Allgemeines AWS | 
| Erstellen Sie die IAM-Rolle für die Lambda-Konvertierung. | Um eine IAM-Rolle zu erstellen, führen Sie den folgenden AWS CLI Befehl im CloudShell Arbeitsordner aus:<pre>aws iam create-role --role-name E2AConvLambdaRole --assume-role-policy-document file://E2ATrustPol.json</pre> | Allgemeines AWS | 
| Erstellen Sie das IAM-Richtliniendokument für die Lambda-Funktion. | Die Lambda-Funktion muss Lese- und Schreibzugriff auf den Amazon S3 S3-Bucket und Schreibberechtigungen für Amazon Logs haben. CloudWatch Um eine IAM-Richtlinie zu erstellen, führen Sie den folgenden Befehl im Arbeitsordner aus: CloudShell <pre>E2APolicy=$(cat <<EOF<br />{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "Logs",<br />            "Effect": "Allow",<br />            "Action": [<br />                "logs:PutLogEvents",<br />                "logs:CreateLogStream",<br />                "logs:CreateLogGroup"<br />            ],<br />            "Resource": [<br />                "arn:aws:logs:*:*:log-group:*",<br />                "arn:aws:logs:*:*:log-group:*:log-stream:*"<br />            ]<br />        },<br />        {<br />            "Sid": "S3",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:PutObject",<br />                "s3:GetObjectVersion"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::%s/*",<br />                "arn:aws:s3:::%s"<br />            ]<br />        }<br />    ]<br />}<br />EOF<br />)<br />printf "$E2APolicy" "$bucket" "$bucket" > E2AConvLambdaPolicy.json</pre> | Allgemeines AWS | 
| Hängen Sie das IAM-Richtliniendokument an die IAM-Rolle an. | Um die IAM-Richtlinie an die IAM-Rolle anzuhängen, geben Sie den folgenden Befehl aus Ihrem Arbeitsordner ein: CloudShell <pre>aws iam put-role-policy --role-name E2AConvLambdaRole --policy-name E2AConvLambdaPolicy --policy-document file://E2AConvLambdaPolicy.json</pre> | Allgemeines AWS | 

### Erstellen Sie die Lambda-Funktion für die EBCDIC-Konvertierung
<a name="create-the-lam-function-for-ebcdic-conversion"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Laden Sie den Quellcode für die EBCDIC-Konvertierung herunter. | Führen Sie im CloudShell Arbeitsordner den folgenden Befehl aus, um den mainframe-data-utilities Quellcode herunterzuladen: GitHub<pre>git clone https://github.com/aws-samples/mainframe-data-utilities.git mdu</pre> | Allgemeines AWS | 
| Erstellen Sie das ZIP-Paket. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um das ZIP-Paket zu erstellen, das die Lambda-Funktion für die EBCDIC-Konvertierung erstellt:<pre>cd mdu; zip ../mdu.zip *.py; cd ..</pre> | Allgemeines AWS | 
| So erstellen Sie die Lambda-Funktion: | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um die Lambda-Funktion für die EBCDIC-Konvertierung zu erstellen:<pre>aws lambda create-function \<br />--function-name E2A \<br />--runtime python3.9 \<br />--zip-file fileb://mdu.zip \<br />--handler extract_ebcdic_to_ascii.lambda_handler \<br />--role arn:aws:iam::$account:role/E2AConvLambdaRole \<br />--timeout 10 \<br />--environment "Variables={layout=$bucket/layout/}"</pre> Das Layout der Umgebungsvariablen teilt der Lambda-Funktion mit, wo sich die JSON-Metadaten befinden. | Allgemeines AWS | 
| Erstellen Sie die ressourcenbasierte Richtlinie für die Lambda-Funktion. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, damit Ihre Amazon S3 S3-Ereignisbenachrichtigung die Lambda-Funktion für die EBCDIC-Konvertierung auslöst:<pre>aws lambda add-permission \<br />--function-name E2A \<br />--action lambda:InvokeFunction \<br />--principal s3.amazonaws.com \<br />--source-arn arn:aws:s3:::$bucket \<br />--source-account $account \<br />--statement-id 1</pre> | Allgemeines AWS | 

### Erstellen Sie die Amazon S3 S3-Ereignisbenachrichtigung
<a name="create-the-s3-event-notification"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das Konfigurationsdokument für die Amazon S3 S3-Ereignisbenachrichtigung. | Die Amazon S3 S3-Ereignisbenachrichtigung initiiert die Lambda-Funktion für die EBCDIC-Konvertierung, wenn Dateien im Eingabeordner platziert werden.Führen Sie im CloudShell Arbeitsordner den folgenden Befehl aus, um das JSON-Dokument für die Amazon S3 S3-Ereignisbenachrichtigung zu erstellen:<pre>S3E2AEvent=$(cat <<EOF<br />{<br />"LambdaFunctionConfigurations": [<br />    {<br />      "Id": "E2A",<br />      "LambdaFunctionArn": "arn:aws:lambda:%s:%s:function:E2A",<br />      "Events": [ "s3:ObjectCreated:Put" ],<br />      "Filter": {<br />        "Key": {<br />          "FilterRules": [<br />            {<br />              "Name": "prefix",<br />              "Value": "input/"<br />            }<br />          ]<br />        }<br />      }<br />    }<br />  ]<br />}<br />EOF<br />)<br />printf "$S3E2AEvent" "$region" "$account" > S3E2AEvent.json</pre> | Allgemeines AWS | 
| Erstellen Sie die Amazon S3 S3-Ereignisbenachrichtigung. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um die Amazon S3 S3-Ereignisbenachrichtigung zu erstellen:<pre>aws s3api put-bucket-notification-configuration --bucket $bucket --notification-configuration file://S3E2AEvent.json</pre> | Allgemeines AWS | 

### Erstellen Sie die JSON-Metadaten und laden Sie sie hoch
<a name="create-and-upload-the-json-metadata"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Analysieren Sie das COBOL-Copybook. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um ein COBOL-Beispiel-Copybook in eine JSON-Datei zu parsen (die definiert, wie die Datendatei richtig gelesen und aufgeteilt wird):<pre>python3       mdu/parse_copybook_to_json.py \<br />-copybook     mdu/LegacyReference/COBKS05.cpy \<br />-output       CLIENT.json \<br />-output-s3key CLIENT.ASCII.txt \<br />-output-s3bkt $bucket \<br />-output-type  s3 \<br />-print        25</pre> | Allgemeines AWS | 
| Fügen Sie die Transformationsregel hinzu. | Die Beispieldatendatei und das entsprechende COBOL-Copybook sind eine Datei mit mehreren Layouts. Das bedeutet, dass bei der Konvertierung Daten nach bestimmten Regeln aufgeteilt werden müssen. In diesem Fall definieren die Bytes an den Positionen 3 und 4 in jeder Zeile das Layout.Bearbeiten Sie die `CLIENT.json` Datei im CloudShell Arbeitsordner und ändern Sie `"transf-rule": [],` den Inhalt wie folgt:<pre>"transf-rule": [<br />{<br />"offset": 4,<br />"size": 2,<br />"hex": "0002",<br />"transf": "transf1"<br />},<br />{<br />"offset": 4,<br />"size": 2,<br />"hex": "0000",<br />"transf": "transf2"<br />}<br />],</pre> | Allgemein AWS, IBM Mainframe, Cobol | 
| Laden Sie die JSON-Metadaten in den Amazon S3 S3-Bucket hoch. | Geben Sie im CloudShell Arbeitsordner den folgenden AWS CLI Befehl ein, um die JSON-Metadaten in Ihren Amazon S3 S3-Bucket hochzuladen:<pre>aws s3 cp CLIENT.json s3://$bucket/layout/CLIENT.json</pre> | Allgemeines AWS | 

### Konvertieren Sie die EBCDIC-Datei
<a name="convert-the-ebcdic-file"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Senden Sie die EBCDIC-Datei an den Amazon S3 S3-Bucket. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um die EBCDIC-Datei an den Amazon S3 S3-Bucket zu senden:<pre>aws s3 cp mdu/sample-data/CLIENT.EBCDIC.txt s3://$bucket/input/</pre> Wir empfehlen, unterschiedliche Ordner für Eingabe- (EBCDIC) und Ausgabedateien (ASCII) festzulegen, um zu vermeiden, dass die Lambda-Konvertierungsfunktion erneut aufgerufen wird, wenn die ASCII-Datei in den Amazon S3 S3-Bucket hochgeladen wird. | Allgemeines AWS | 
| Überprüfen Sie die Ausgabe. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um zu überprüfen, ob die ASCII-Datei in Ihrem Amazon S3 S3-Bucket generiert wurde:<pre>aws s3 ls s3://$bucket/</pre> Die Datenkonvertierung kann mehrere Sekunden dauern. Wir empfehlen Ihnen, einige Male nach der ASCII-Datei zu suchen.Nachdem die ASCII-Datei verfügbar ist, geben Sie den folgenden Befehl ein, um den Inhalt der konvertierten Datei im Amazon S3 S3-Bucket anzuzeigen. Bei Bedarf können Sie es herunterladen oder direkt aus dem Amazon S3 S3-Bucket verwenden:<pre>aws s3 cp s3://$bucket/CLIENT.ASCII.txt - | head</pre>Überprüfen Sie den Inhalt der ASCII-Datei:<pre>0|0|220|<br />1|1|HERBERT MOHAMED|1958-08-31|BACHELOR|0010000.00|<br />1|2|36|THE ROE AVENUE|<br />2|1|JAYLEN GEORGE|1969-05-29|ELEMENTARY|0020000.00|<br />2|2|365|HEATHFIELD ESPLANADE|<br />3|1|MIKAEEL WEBER|1982-02-17|MASTER|0030000.00|<br />3|2|4555|MORRISON STRAND|<br />4|1|APRIL BARRERA|1967-01-12|DOCTOR|0030000.00|<br />4|2|1311|MARMION PARK|<br />5|1|ALEEZA PLANT|1985-03-01|BACHELOR|0008000.00|</pre> | Allgemeines AWS | 

### Säubere die Umwelt
<a name="clean-the-environment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| (Optional) Bereiten Sie die Variablen und den Ordner vor. | Wenn Sie die Verbindung mit verlieren CloudShell, stellen Sie die Verbindung erneut her und geben Sie dann den folgenden Befehl ein, um das Verzeichnis in den Arbeitsordner zu ändern:<pre>cd workdir</pre>Stellen Sie sicher, dass die Umgebungsvariablen definiert sind:<pre>bucket=<your_bucket_name><br />account=<your_account_number><br />region=<your_region_code></pre> | Allgemeines AWS | 
| Entfernen Sie die Benachrichtigungskonfiguration für den Bucket. | Führen Sie im CloudShell Arbeitsordner den folgenden Befehl aus, um die Konfiguration der Amazon S3 S3-Ereignisbenachrichtigung zu entfernen:<pre>aws s3api put-bucket-notification-configuration \<br />--bucket=$bucket \<br />--notification-configuration="{}"</pre> | Allgemeines AWS | 
| Löschen Sie die Lambda-Funktion. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um die Lambda-Funktion für den EBCDIC-Konverter zu löschen:<pre>aws lambda delete-function \<br />--function-name E2A</pre> | Allgemeines AWS | 
| Löschen Sie die IAM-Rolle und -Richtlinie. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um die EBCDIC-Konverter-Rolle und -Richtlinie zu entfernen:<pre>aws iam delete-role-policy \<br />--role-name E2AConvLambdaRole \<br />--policy-name E2AConvLambdaPolicy<br /><br />aws iam delete-role \<br />--role-name E2AConvLambdaRole</pre> | Allgemeines AWS | 
| Löschen Sie die im Amazon S3 S3-Bucket generierten Dateien. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um die im Amazon S3 S3-Bucket generierten Dateien zu löschen:<pre>aws s3 rm s3://$bucket/layout --recursive<br />aws s3 rm s3://$bucket/input --recursive<br />aws s3 rm s3://$bucket/CLIENT.ASCII.txt</pre> | Allgemeines AWS | 
| Löschen Sie den Arbeitsordner. | Geben Sie im CloudShell Arbeitsordner den folgenden Befehl ein, um ihn `workdir` und seinen Inhalt zu entfernen:<pre>cd ..; rm -Rf workdir</pre> | Allgemeines AWS | 

## Zugehörige Ressourcen
<a name="convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda-resources"></a>
+ [README () für Mainframe-Datendienstprogramme](https://github.com/aws-samples/mainframe-data-utilities/blob/main/README.md) GitHub
+ [Der EBCDIC-Zeichensatz](https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set) (IBM-Dokumentation)
+ [EBCDIC zu ASCII](https://www.ibm.com/docs/en/iis/11.7.0?topic=tables-ebcdic-ascii) (IBM-Dokumentation)
+ [COBOL](https://www.ibm.com/docs/en/i/7.6.0?topic=languages-cobol) (IBM-Dokumentation)
+ [Verwenden eines Amazon S3 S3-Triggers zum Aufrufen einer Lambda-Funktion (Dokumentation](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html))AWS Lambda 

# Konvertieren Sie Mainframe-Datendateien mit komplexen Datensatzlayouts mit Micro Focus
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus"></a>

*Peter West, Amazon Web Services*

## Zusammenfassung
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-summary"></a>

Hinweis: AWS Mainframe Modernization Der Service (Managed Runtime Environment Experience) steht Neukunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Dieses Muster zeigt Ihnen, wie Sie Mainframe-Datendateien mit Nicht-Textdaten und komplexen Datensatzlayouts mithilfe einer Micro Focus-Strukturdatei von der EBCDIC-Zeichenkodierung (Extended Binary Coded Decimal Interchange Code) in die ASCII-Zeichenkodierung (American Standard Code for Information Interchange) konvertieren. Um die Dateikonvertierung abzuschließen, müssen Sie wie folgt vorgehen:

1. Bereiten Sie eine einzelne Quelldatei vor, die alle Datenelemente und Datensatzlayouts in Ihrer Mainframe-Umgebung beschreibt.

1. Erstellen Sie mit dem Micro Focus Data File Editor als Teil der Micro Focus Classic Data File Tools oder Data File Tools eine Strukturdatei, die das Datensatzlayout der Daten enthält. Die Strukturdatei identifiziert die Nicht-Textdaten, sodass Sie Ihre Mainframe-Dateien korrekt von EBCDIC nach ASCII konvertieren können.

1. Testen Sie die Strukturdatei mithilfe der Classic Data File Tools oder Data File Tools.

## Voraussetzungen und Einschränkungen
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Micro Focus Enterprise Developer für Windows, erhältlich über [AWS Mainframe](https://aws.amazon.com/mainframe-modernization/) Modernization

**Produktversionen**
+ Micro Focus Enterprise Server 7.0 und höher

## Tools
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-tools"></a>
+ [Micro Focus Enterprise Developer](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-8D6B7358-AC35-4DAF-A445-607D8D97EBB2.html) bietet die Ausführungsumgebung für Anwendungen, die mit einer beliebigen IDE-Variante (Integrated Development Environment) von Enterprise Developer erstellt wurden.
+ Die Micro Focus [Classic Data File Tools](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-06115324-0FBC-4CB7-BE9D-04BCFEA5821A.html) helfen Ihnen beim Konvertieren, Navigieren, Bearbeiten und Erstellen von Datendateien. Zu den klassischen Datendatei-Tools gehören der [Datendateikonverter](https://www.microfocus.com/documentation/visual-cobol/vc60/VS2017/BKFHFHDFCV.html), der [Datensatzlayout-Editor](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/BKFHFHRLMF.html) und der [Datendatei-Editor](https://www.microfocus.com/documentation/visual-cobol/vc60/VS2017/BKFHFHDFED.html).
+ Mit den Micro Focus [Data File Tools](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-B1BCB613-6947-451C-8F71-72FB8254076A.html) können Sie Datendateien erstellen, bearbeiten und verschieben. Zu den Datendateitools gehören der [Datendatei-Editor](https://www.microfocus.com/documentation/visual-cobol/vc60/VS2017/BKFHFHDFED.html), die [Dateikonvertierungsprogramme](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/BKFHFHCONV.html) und das [Befehlszeilenprogramm für die Datendateistruktur](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GUID-E84348EB-A93A-481A-A47C-61B0E1C076E6.html).

## Epen
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-epics"></a>

### Bereiten Sie die Quelldatei vor
<a name="prepare-the-source-file"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Identifizieren Sie die Quellkomponenten. | Identifizieren Sie alle möglichen Datensatzlayouts für die Datei, einschließlich aller Neudefinitionen, die Daten enthalten, die keine Textdaten enthalten.Wenn Sie Layouts haben, die Neudefinitionen enthalten, müssen Sie diese Layouts auf eindeutige Layouts reduzieren, die jede mögliche Permutation der Datenstruktur beschreiben. In der Regel können die Datensatzlayouts einer Datendatei durch die folgenden Archetypen beschrieben werden:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Weitere Informationen zum Erstellen vereinfachter Datensatzlayouts für Dateien, die komplexe Datensatzlayouts enthalten, finden Sie unter [Rehosting von EBCDIC-Anwendungen in ASCII-Umgebungen für Mainframe-Migrationen](https://docs.aws.amazon.com/prescriptive-guidance/latest/mainframe-rehost-ebcdic-ascii/introduction.html). | App-Developer | 
| Identifizieren Sie die Bedingungen für das Datensatzlayout. | Identifizieren Sie bei Dateien mit mehreren Datensatzlayouts oder bei Dateien, die komplexe Layouts mit einer REDEFINES-Klausel enthalten, die Daten und Bedingungen innerhalb eines Datensatzes, anhand derer Sie definieren können, welches Layout bei der Konvertierung verwendet werden soll. Wir empfehlen Ihnen, diese Aufgabe mit einem Fachexperten (SME) zu besprechen, der sich mit den Programmen auskennt, die diese Dateien verarbeiten.Eine Datei kann beispielsweise zwei Datensatztypen enthalten, die keine Textdaten enthalten. Sie können die Quelle überprüfen und möglicherweise Code finden, der dem folgenden ähnelt:<pre>MOVE "M" TO PART-TYPE<br /> MOVE "MAIN ASSEMBLY" TO PART-NAME<br />MOVE "S" TO PART-TYPE<br /> MOVE "SUB ASSEMBLY 1" TO PART-NAME</pre>Der Code hilft Ihnen dabei, Folgendes zu identifizieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Sie können die Werte dokumentieren, die von diesem Feld verwendet werden, um die Datensatzlayouts den richtigen Datensätzen in der Datei zuzuordnen. | App-Developer | 
| Erstellen Sie die Quelldatei. | Wenn die Datei in mehreren Quelldateien beschrieben wird oder wenn das Datensatzlayout Nicht-Textdaten enthält, die einer REDEFINES-Klausel untergeordnet sind, erstellen Sie eine neue Quelldatei, die die Datensatzlayouts enthält. Das neue Programm muss die Datei nicht mit SELECT- und FD-Anweisungen beschreiben. Das Programm kann die Datensatzbeschreibungen einfach als 10 Stufen innerhalb von Working-Storage enthalten.Sie können für jede Datendatei eine Quelldatei oder eine Master-Quelldatei erstellen, die alle Datendateien beschreibt. | App-Developer | 
| Kompilieren Sie die Quelldatei. | Kompilieren Sie die Quelldatei, um das Datenwörterbuch zu erstellen. Es wird empfohlen, die Quelldatei mit dem EBCDIC-Zeichensatz zu kompilieren. Wenn die IBMCOMP-Direktive oder die ODOSLIDE-Direktive verwendet werden, müssen Sie diese Direktiven auch in der Quelldatei verwenden.IBMCOMP beeinflusst die Bytespeicherung von COMP-Feldern und ODOSLIDE beeinflusst die Auffüllung von OCCURS VARIIERENDEN Strukturen. Wenn diese Direktiven falsch gesetzt sind, liest das Konvertierungstool den Datensatz nicht korrekt. Dies führt zu fehlerhaften Daten in der konvertierten Datei. | App-Developer | 

### (Option A) Erstellen Sie die Strukturdatei mit den klassischen Datendatei-Tools
<a name="option-a-create-the-structure-file-using-classic-data-file-tools"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Starten Sie das Tool und laden Sie das Wörterbuch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 
| Erstellen Sie das Standard-Datensatzlayout. | Verwenden Sie das Standard-Datensatzlayout für alle Datensätze, die keinen bedingten Layouts entsprechen.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Das Standardlayout wird im Bereich **Layouts** angezeigt und ist an dem roten Ordnersymbol zu erkennen. | App-Developer | 
| Erstellen Sie ein bedingtes Datensatzlayout. | Verwenden Sie das bedingte Datensatzlayout, wenn eine Datei mehr als ein Datensatzlayout enthält.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 

### (Option B) Erstellen Sie die Strukturdatei mithilfe von Data File Tools
<a name="option-b-create-the-structure-file-using-data-file-tools"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Starten Sie das Tool und laden Sie das Wörterbuch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 
| Erstellen Sie das Standard-Datensatzlayout. | Verwenden Sie das Standard-Datensatzlayout für alle Datensätze, die keinem bedingten Layout entsprechen.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html)Das Standardlayout wird im Bereich **Layouts** angezeigt und ist an dem blauen „D“ -Symbol zu erkennen. | App-Developer | 
| Erstellen Sie ein bedingtes Datensatzlayout. | Verwenden Sie das bedingte Datensatzlayout, wenn eine Datei mehr als ein Datensatzlayout enthält.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 

### (Option A) Testen Sie die Strukturdatei mit den klassischen Datendatei-Tools
<a name="option-a-test-the-structure-file-using-classic-data-file-tools"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie eine EBCDIC-Datendatei. | Vergewissern Sie sich, dass Sie Ihre Strukturdatei verwenden können, um eine EBCDIC-Testdatendatei korrekt anzuzeigen.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 

### (Option B) Testen Sie die Strukturdatei mit den Datendatei-Tools
<a name="option-b-test-the-structure-file-using-data-file-tools"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie eine EBCDIC-Datendatei. | Vergewissern Sie sich, dass Sie Ihre Strukturdatei verwenden können, um eine EBCDIC-Testdatendatei korrekt anzuzeigen.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 

### Testen Sie die Konvertierung der Datendatei
<a name="test-data-file-conversion"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie die Konvertierung einer EBCDIC-Datei. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus.html) | App-Developer | 

## Zugehörige Ressourcen
<a name="convert-mainframe-data-files-with-complex-record-layouts-using-micro-focus-resources"></a>
+ Micro Focus ([Micro Focus-Dokumentation](https://www.microfocus.com/en-us/products/enterprise-suite/overview))
+ [Mainframe und Legacy-Code](https://aws.amazon.com/blogs/?awsf.blog-master-category=category%23mainframe-and-legacy) (AWS-Blogbeiträge)
+ [AWS Prescriptive Guidance](https://docs.aws.amazon.com/prescriptive-guidance/) (AWS-Dokumentation)
+ [AWS-Dokumentation](https://docs.aws.amazon.com/index.html) (AWS-Dokumentation)
+ [Allgemeine AWS-Referenz](https://docs.aws.amazon.com/general/latest/gr/Welcome.html) (AWS-Dokumentation)
+ [AWS-Glossar](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html) (AWS-Dokumentation)

# Stellen Sie mithilfe von Terraform eine Umgebung für containerisierte Blu Age-Anwendungen bereit
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform"></a>

*Richard Milner-Watts, Amazon Web Services*

## Zusammenfassung
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-summary"></a>

Durch die Migration älterer Mainframe-Workloads in moderne Cloud-Architekturen können die Kosten für die Wartung eines Mainframes eingespart werden — Kosten, die mit zunehmendem Alter der Umgebung nur noch steigen. Die Migration von Jobs von einem Mainframe kann jedoch besondere Herausforderungen mit sich bringen. Interne Ressourcen sind möglicherweise nicht mit der Joblogik vertraut, und die hohe Leistung von Mainframes bei diesen speziellen Aufgaben kann im Vergleich zu herkömmlichen, generellen Aufgaben schwierig zu replizieren sein. CPUs Das Umschreiben dieser Jobs kann ein großes Unterfangen sein und erheblichen Aufwand erfordern.

Blu Age konvertiert ältere Mainframe-Workloads in modernen Java-Code, den Sie dann als Container ausführen können.

Dieses Muster bietet ein Beispiel für eine serverlose Architektur zum Ausführen einer containerisierten Anwendung, die mit dem Blu Age-Tool modernisiert wurde. Die enthaltenen HashiCorp Terraform-Dateien bilden eine sichere Architektur für die Orchestrierung von Blu Age-Containern, die sowohl Batch-Aufgaben als auch Echtzeitdienste unterstützt.

Weitere Informationen zur Modernisierung Ihrer Workloads mithilfe von Blu Age- und AWS-Services finden Sie in den folgenden Publikationen zu AWS Prescriptive Guidance:
+ [Ausführung von Mainframe-Workloads, die mit Blu Age modernisiert wurden, auf einer serverlosen AWS-Infrastruktur](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Containerisieren Sie Mainframe-Workloads, die von Blu Age modernisiert wurden](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)

[Wenn Sie Unterstützung bei der Nutzung von Blu Age zur Modernisierung Ihrer Mainframe-Workloads benötigen, wenden Sie sich an das Blu Age-Team, indem Sie auf der Blu Age-Website auf **Kontaktieren Sie unsere Experten klicken**.](https://www.bluage.com/) Wenn Sie Unterstützung bei der Migration Ihrer modernisierten Workloads zu AWS, ihrer Integration mit AWS-Services und ihrer Umstellung auf die Produktion benötigen, wenden Sie sich an Ihren AWS-Kundenbetreuer oder füllen Sie das [AWS Professional](https://pages.awscloud.com/AWS-Professional-Services.html) Services-Formular aus.

## Voraussetzungen und Einschränkungen
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-prereqs"></a>

**Voraussetzungen**
+ Die containerisierte Blu-Age-Beispielanwendung, die von den [Containerize-Mainframe-Workloads](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html) bereitgestellt wird, die nach dem Blu Age-Muster modernisiert wurden. Die Beispielanwendung bietet die Logik für die Verarbeitung von Eingabe und Ausgabe für die modernisierte Anwendung und kann in diese Architektur integriert werden.
+ Terraform ist erforderlich, um diese Ressourcen bereitzustellen.

**Einschränkungen**
+ Amazon Elastic Container Service (Amazon ECS) begrenzt die Aufgabenressourcen, die dem Container zur Verfügung gestellt werden können. Zu diesen Ressourcen gehören CPU, RAM und Speicher. Wenn Sie beispielsweise Amazon ECS mit AWS Fargate verwenden, [gelten die Limits für Aufgabenressourcen](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html).

**Produktversionen**

Diese Lösung wurde mit den folgenden Versionen getestet:
+ Terraform 1.3.6
+ Terraform AWS-Anbieter 4.46.0

## Architektur
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-architecture"></a>

**Quelltechnologie-Stack**
+ Blaues Zeitalter
+ Terraform

**Zieltechnologie-Stack**
+ Amazon Aurora PostgreSQL-Compatible Edition
+ AWS Backup
+ Amazon Elastic Container Registry (Amazon ECR)
+ Amazon ECS
+ AWS Identity and Access Management Service (IAM)
+ AWS-Schlüsselverwaltungsserver (AWS KMS)
+ AWS Secrets Manager
+ Amazon-Simple-Notification-Service (Amazon-SNS)
+ Amazon Simple Storage Service (Amazon-S3)
+ AWS Step Functions
+ AWS Systems Manager

**Zielarchitektur**

Das folgende Diagramm zeigt die Lösungsarchitektur.

![\[Die Beschreibung folgt dem Diagramm.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/12825490-2622-4f0b-80c9-2c5076d50fa3/images/c0708b0a-aa36-458a-8d6c-d42e3dec7727.png)


1. Die Lösung stellt die folgenden IAM-Rollen bereit:
   + Batch-Task-Rolle
   + Rolle zur Ausführung von Batch-Tasks
   + Rolle bei der Dienstaufgabe
   + Rolle bei der Ausführung von Servicetasks
   + Rolle „Step Functions“
   + AWS-Backup-Rolle
   + Rolle „RDS Enhanced Monitoring“.

   Die Rollen entsprechen den Prinzipien des am wenigsten privilegierten Zugriffs.

1. Amazon ECR wird verwendet, um das Container-Image zu speichern, das nach diesem Muster orchestriert wird.

1. Der AWS Systems Manager Parameter Store stellt der Amazon ECS-Aufgabendefinition zur Laufzeit Konfigurationsdaten zu jeder Umgebung bereit.

1. AWS Secrets Manager stellt der Amazon ECS-Aufgabendefinition zur Laufzeit sensible Konfigurationsdaten über die Umgebung zur Verfügung. Die Daten wurden von AWS KMS verschlüsselt.

1. Die Terraform-Module erstellen Amazon ECS-Aufgabendefinitionen für alle Echtzeit- und Batch-Aufgaben.

1. Amazon ECS führt eine Batch-Aufgabe mithilfe von AWS Fargate als Rechen-Engine aus. Dies ist eine kurzlebige Aufgabe, die nach Bedarf von AWS Step Functions initiiert wird.

1. Amazon Aurora PostgreSQL-Compatible bietet eine Datenbank zur Unterstützung der modernisierten Anwendung. Dies ersetzt Mainframe-Datenbanken wie IBM Db2 oder IBM IMS DB.

1. Amazon ECS bietet einen langlebigen Service zur Bereitstellung eines modernisierten Echtzeit-Workloads. Diese statusfreien Anwendungen werden permanent mit Containern ausgeführt, die über Availability Zones verteilt sind.

1. Ein Network Load Balancer wird verwendet, um Zugriff auf den Echtzeit-Workload zu gewähren. Der Network Load Balancer unterstützt frühere Protokolle wie IBM CICS. Alternativ können Sie einen Application Load Balancer mit HTTP-basierten Workloads verwenden.

1. Amazon S3 bietet Objektspeicher für Auftragseingaben und -ausgaben. Der Container sollte Pull- und Push-Operationen in Amazon S3 durchführen, um das Arbeitsverzeichnis für die Blu Age-Anwendung vorzubereiten.

1. Der AWS Step Functions Functions-Service wird verwendet, um die Ausführung der Amazon ECS-Aufgaben zur Verarbeitung von Batch-Workloads zu orchestrieren.

1. SNS-Themen für jeden Batch-Workload werden verwendet, um die modernisierte Anwendung in andere Systeme wie E-Mail zu integrieren oder um zusätzliche Aktionen zu initiieren, wie z. B. die Übermittlung von Ausgabeobjekten von Amazon S3 an FTP.

**Anmerkung**  
Standardmäßig hat die Lösung keinen Zugang zum Internet. Dieses Muster geht davon aus, dass die Virtual Private Cloud (VPC) über einen Service wie [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) mit anderen Netzwerken verbunden wird. Daher werden VPC-Endpunkte mit mehreren Schnittstellen bereitgestellt, um Zugriff auf die von der Lösung verwendeten AWS-Services zu gewähren. Um den direkten Internetzugang zu aktivieren, können Sie den Schalter im Terraform-Modul verwenden, um die VPC-Endpunkte durch ein Internet-Gateway und die zugehörigen Ressourcen zu ersetzen.

**Automatisierung und Skalierung**

Die Verwendung serverloser Ressourcen in diesem Muster trägt dazu bei, dass durch die Skalierung des Designs nur wenige Grenzen gesetzt werden. Auf diese Weise *werden Probleme mit unnötigen* Nebenkosten vermieden, z. B. die Konkurrenz um Rechenressourcen, die auf dem ursprünglichen Mainframe auftreten könnten. Batch-Aufgaben können so geplant werden, dass sie bei Bedarf gleichzeitig ausgeführt werden.

Einzelne Container sind durch die von Fargate unterstützten Maximalgrößen begrenzt. Weitere Informationen finden Sie im Abschnitt [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html#fargate-tasks-size](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html#fargate-tasks-size) in der Amazon ECS-Dokumentation.

Um [Echtzeit-Workloads horizontal zu skalieren](https://nathanpeck.com/amazon-ecs-scaling-best-practices/), können Sie Container hinzufügen.

## Tools
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-tools"></a>

**AWS-Services**
+ [Amazon Aurora PostgreSQL-Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) ist eine vollständig verwaltete, ACID-konforme relationale Datenbank-Engine, die Sie bei der Einrichtung, dem Betrieb und der Skalierung von PostgreSQL-Bereitstellungen unterstützt.
+ [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) ist ein vollständig verwalteter Service, der Sie bei der Zentralisierung und Automatisierung des AWS-Services Datenschutzes in der Cloud und vor Ort unterstützt.
+ [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) ist ein hoch skalierbarer, schneller Container-Management-Service, der das Ausführen, Beenden und Verwalten von Containern in einem Cluster vereinfacht.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) unterstützt Sie bei der Erstellung und Kontrolle kryptografischer Schlüssel, um Ihre Daten zu schützen.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) hilft Ihnen dabei, hartcodierte Anmeldeinformationen in Ihrem Code, einschließlich Passwörter, durch einen API-Aufruf an Secrets Manager zu ersetzen, um das Geheimnis programmgesteuert abzurufen.
+ [Amazon Simple Notification Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) unterstützt Sie bei der Koordination und Verwaltung des Nachrichtenaustauschs zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) ist ein serverloser Orchestrierungsservice, mit dem Sie AWS Lambda Funktionen und andere Funktionen kombinieren können, um geschäftskritische AWS-Services Anwendungen zu erstellen.
+ [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) bietet sicheren, hierarchischen Speicher für die Verwaltung von Konfigurationsdaten und Geheimnissen.

**Andere Dienste**
+ [HashiCorp Terraform](https://www.terraform.io/docs) ist ein Infrastructure-as-Code-Tool (IaC), mit dem Sie mithilfe von Code Cloud-Infrastruktur und -Ressourcen bereitstellen und verwalten können. Dieses Muster verwendet Terraform, um die Beispielarchitektur zu erstellen.

**Code-Repository**

Der Quellcode für dieses Muster ist im GitHub [Blu Age Sample ECS Infrastructure (Terraform)](https://github.com/aws-samples/aws-blu-age-sample-ecs-infrastructure-using-terraform#aws-blu-age-sample-ecs-infrastructure-terraform) -Repository verfügbar.

## Best Practices
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-best-practices"></a>
+ Verwenden Sie für Testumgebungen Funktionen wie die `forceDate` Option, die modernisierte Anwendung so zu konfigurieren, dass sie konsistente Testergebnisse generiert, indem sie immer für einen bekannten Zeitraum ausgeführt wird.
+ Passen Sie jede Aufgabe einzeln an, um die optimale Menge an Ressourcen zu verbrauchen. Sie können [Amazon CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) verwenden, um Hinweise zu potenziellen Engpässen zu erhalten.

## Epen
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-epics"></a>

### Bereiten Sie die Umgebung für den Einsatz vor
<a name="prepare-the-environment-for-deployment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie den Quellcode der Lösung. | Klonen Sie den Lösungscode aus dem [GitHub Projekt](https://github.com/aws-samples/aws-blu-age-sample-ecs-infrastructure-using-terraform). | DevOps Ingenieur | 
| Booten Sie die Umgebung, indem Sie Ressourcen bereitstellen, um den Terraform-Status zu speichern. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html) | DevOps Ingenieur | 

### Stellen Sie die Lösungsinfrastruktur bereit
<a name="deploy-the-solution-infrastructure"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Überprüfen und aktualisieren Sie die Terraform-Konfiguration. | Öffnen Sie die Datei im Stammverzeichnis, `main.tf,` überprüfen Sie den Inhalt und erwägen Sie, die folgenden Aktualisierungen vorzunehmen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html) | DevOps Ingenieur | 
| Stellen Sie die Terraform-Datei bereit. | Führen Sie von Ihrem Terminal aus den `terraform apply` Befehl aus, um alle Ressourcen bereitzustellen. Überprüfen Sie die von Terraform generierten Änderungen und geben Sie **Ja ein, um den Build** zu starten.Beachten Sie, dass die Bereitstellung dieser Infrastruktur über 15 Minuten dauern kann. | DevOps Ingenieur | 

### (Optional) Stellen Sie eine gültige containerisierte Blu-Age-Anwendung bereit
<a name="optional-deploy-a-valid-blu-age-containerized-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Senden Sie das Blu Age-Container-Image an Amazon ECR. | Schieben Sie den Container in das Amazon ECR-Repository, das Sie im vorherigen Epic erstellt haben. Anweisungen finden Sie in der [Amazon ECR-Dokumentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html).Notieren Sie sich den URI des Container-Images. | DevOps Ingenieur | 
| Aktualisieren Sie die Terraform so, dass sie auf das Blu Age-Container-Image verweist. | Aktualisieren Sie die Datei so, dass `main.tf`**** sie auf das Container-Image verweist, das Sie hochgeladen haben. | DevOps Ingenieur | 
| Stellen Sie die Terraform-Datei erneut bereit. | Führen Sie von Ihrem Terminal aus den Befehl aus, `terraform apply` um alle Ressourcen bereitzustellen. Überprüfen Sie die von Terraform vorgeschlagenen Updates und geben Sie dann **Ja** ein, um mit der Bereitstellung fortzufahren. | DevOps Ingenieur | 

## Zugehörige Ressourcen
<a name="deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform-resources"></a>
+ [Blu Age](https://www.bluage.com/)
+ [Ausführung von Mainframe-Workloads, die mit Blu Age modernisiert wurden, auf einer serverlosen AWS-Infrastruktur](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Containerisieren Sie Mainframe-Workloads, die von Blu Age modernisiert wurden](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)

# Generieren Sie Einblicke in z/OS Db2-Daten mithilfe AWS Mainframe Modernization von Amazon Q in Quick Sight
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight"></a>

*Shubham Roy, Roshna Razack und Santosh Kumar Singh, Amazon Web Services*

## Zusammenfassung
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-summary"></a>

Hinweis: AWS Mainframe Modernization Der Service (Managed Runtime Environment-Erlebnis) steht Neukunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Wenn Ihr Unternehmen geschäftskritische Daten in einer IBM Db2-Mainframe-Umgebung hostet, ist es entscheidend, Erkenntnisse aus diesen Daten zu gewinnen, um Wachstum und Innovation voranzutreiben. Durch die Erschließung von Mainframe-Daten können Sie schnellere, sichere und skalierbare Business Intelligence aufbauen, um datengestützte Entscheidungen, Wachstum und Innovation in der Amazon Web Services ()AWS Cloud zu beschleunigen.

Dieses Muster bietet eine Lösung für die Generierung von Geschäftseinblicken und die Erstellung gemeinsam nutzbarer Geschichten aus Mainframe-Daten in IBM Db2 für Tabellen. z/OS Mainframe-Datenänderungen werden mithilfe von [AWS Mainframe Modernization Data](https://docs.aws.amazon.com/m2/latest/userguide/precisely.html) Replication with Precisely zum Thema [Amazon Managed Streaming for Apache Kafka (Amazon MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) gestreamt. Mithilfe von [Amazon Redshift Streaming Ingestion](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html) werden Amazon MSK-Themendaten in Amazon [Redshift Serverless Data Warehouse-Tabellen für Analysen in Amazon](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-whatis.html) Quick Sight gespeichert.

Sobald die Daten in Quick Sight verfügbar sind, können Sie mit [Amazon Q in Quick Sight Aufforderungen in](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-gen-bi.html) natürlicher Sprache verwenden, um Zusammenfassungen der Daten zu erstellen, Fragen zu stellen und Datenstorys zu generieren. Sie müssen keine SQL-Abfragen schreiben oder ein Business Intelligence (BI) -Tool erlernen.

**Geschäftlicher Kontext**

Dieses Muster stellt eine Lösung für Anwendungsfälle von Mainframe-Datenanalysen und Datenerkenntnissen dar. Mithilfe des Musters erstellen Sie ein visuelles Dashboard für die Daten Ihres Unternehmens. Um die Lösung zu demonstrieren, verwendet dieses Muster ein Gesundheitsunternehmen, das seinen Mitgliedern in den USA medizinische, zahnärztliche und augenärztliche Pläne anbietet. In diesem Beispiel werden demografische Daten und Versicherungsinformationen der Mitglieder in den z/OS Datentabellen IBM Db2 for gespeichert. Das visuelle Dashboard zeigt Folgendes:
+ Verteilung der Mitglieder nach Regionen
+ Verteilung der Mitglieder nach Geschlecht
+ Verteilung der Mitglieder nach Alter
+ Verteilung der Mitglieder nach Tariftyp
+ Mitglieder, die die Schutzimpfung noch nicht abgeschlossen haben

Beispiele für die Verteilung der Mitglieder nach Regionen und Mitgliedern, die die präventive Impfung nicht abgeschlossen haben, finden Sie im Abschnitt Zusätzliche Informationen.

Nachdem Sie das Dashboard erstellt haben, generieren Sie eine Datenstory, die die Erkenntnisse aus der vorherigen Analyse erklärt. Die Datenstory enthält Empfehlungen zur Erhöhung der Zahl der Mitglieder, die präventive Impfungen abgeschlossen haben.

## Voraussetzungen und Einschränkungen
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver AWS-Konto. Diese Lösung wurde auf Amazon Linux 2 auf Amazon Elastic Compute Cloud (Amazon EC2) entwickelt und getestet.
+ Eine virtuelle private Cloud (VPC) mit einem Subnetz, auf das Ihr Mainframe-System zugreifen kann.
+ Eine Mainframe-Datenbank mit Geschäftsdaten. Die Beispieldaten, die zum Erstellen und Testen dieser Lösung verwendet wurden, finden Sie im Abschnitt *Anlagen*.
+ Change Data Capture (CDC) ist in den z/OS Db2-Tabellen aktiviert. [Informationen zur Aktivierung von CDC auf Db2 z/OS finden Sie in der IBM-Dokumentation.](https://www.ibm.com/docs/en/daafz/7.5?topic=cdc-enabling-data-capture-changes)
+ Precisely Connect CDC for ist auf dem z/OS System z/OS installiert, das die Quelldatenbanken hostet. Das Precisely Connect CDC for z/OS Image wird als Zip-Datei im [AWS Mainframe Modernization - Data Replication for IBM z/OS](https://aws.amazon.com/marketplace/pp/prodview-doe2lroefogia?applicationId=AWSMPContessa&ref_=beagle&sr=0-1) Amazon Machine Image (AMI) bereitgestellt. Informationen zur Installation von Precisely Connect CDC for z/OS auf dem Mainframe finden Sie in der [Precisely Installationsdokumentation](https://help.precisely.com/r/AWS-Mainframe-Modernization/Latest/en-US/AWS-Mainframe-Modernization-Data-Replication-for-IBM-z/OS/Install-Precisely-Connect-CDC-z/OS).

**Einschränkungen**
+ Ihre Mainframe-Db2-Daten sollten einen Datentyp haben, der von Precisely Connect CDC unterstützt wird. Eine Liste der unterstützten Datentypen finden Sie in der [CDC-Dokumentation von Precisely Connect](https://help.precisely.com/r/AWS-Mainframe-Modernization/Latest/en-US/AWS-Mainframe-Modernization-Data-Replication-for-IBM-z/OS/Data-replication-overview/Supported-source-data-types).
+ Ihre Daten bei Amazon MSK sollten einen Datentyp haben, der von Amazon Redshift unterstützt wird. Eine Liste der unterstützten Datentypen finden Sie in der [Amazon Redshift Redshift-Dokumentation](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html).
+ Amazon Redshift hat unterschiedliche Verhaltensweisen und Größenbeschränkungen für verschiedene Datentypen. Weitere Informationen finden Sie in der [Amazon Redshift Redshift-Dokumentation](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html#materialized-view-streaming-ingestion-limitations).
+ Die Daten in Quick Sight nahezu in Echtzeit hängen vom Aktualisierungsintervall ab, das für die Amazon Redshift Redshift-Datenbank festgelegt wurde.
+ Einige AWS-Services sind nicht in allen AWS-Regionen verfügbar. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie [AWS-Services unter Nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Amazon Q in Quick Sight ist derzeit nicht in jeder Region verfügbar, die Quick Sight unterstützt. Informationen zu bestimmten Endpunkten finden Sie auf der Seite [Service-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Service.

**Produktversionen**
+ AWS Mainframe Modernization Datenreplikation mit Precisiely Version 4.1.44
+ Python-Version 3.6 oder höher
+ Apache Kafka Version 3.5.1****

## Architektur
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-architecture"></a>

**Zielarchitektur**

Das folgende Diagramm zeigt eine Architektur zur Generierung von Geschäftseinblicken aus Mainframe-Daten mithilfe von Data [Replication AWS Mainframe Modernization with Precisely](https://aws.amazon.com/mainframe-modernization/capabilities/data-replication/) und Amazon Q in Quick Sight.

![\[Prozess in sieben Schritten vom z/OS Mainframe zu Amazon. QuickSight\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/cddb6d20-14ae-4276-90d8-14df435db824.png)


Das Diagramm zeigt den folgenden Workflow:

1. Der Precisely Log Reader Agent liest Daten aus Db2-Protokollen und schreibt die Daten in einen vorübergehenden Speicher auf einem OMVS-Dateisystem auf dem Mainframe.

1. Der Publisher Agent liest die unformatierten Db2-Protokolle aus dem transienten Speicher.

1. Der lokale Controller-Daemon authentifiziert, autorisiert, überwacht und verwaltet Vorgänge.

1. Der Apply Agent wird mithilfe des vorkonfigurierten AMI auf Amazon EC2 bereitgestellt. Er stellt über den Controller-Daemon mithilfe von TCP/IP eine Verbindung zum Publisher Agent her. Der Apply Agent überträgt Daten mithilfe mehrerer Worker an Amazon MSK, um einen hohen Durchsatz zu erzielen.

1. Die Mitarbeiter schreiben die Daten im JSON-Format in das Amazon MSK-Thema. Als Zwischenziel für die replizierten Nachrichten bietet Amazon MSK die hochverfügbaren und automatisierten Failover-Funktionen.

1. Amazon Redshift Streaming Ingestion ermöglicht die schnelle Datenaufnahme mit geringer Latenz und hoher Geschwindigkeit von Amazon MSK in eine Amazon Redshift Serverless-Datenbank. Eine gespeicherte Prozedur in Amazon Redshift führt den Mainframe-Abgleich der Änderungsdaten (insert/update/deletes) in Amazon Redshift Redshift-Tabellen durch. Diese Amazon Redshift Redshift-Tabellen dienen als Datenanalysequelle für Quick Sight.

1. Benutzer greifen auf die Daten in Quick Sight zu, um Analysen und Einblicke zu erhalten. Sie können Amazon Q in Quick Sight verwenden, um mithilfe von Eingabeaufforderungen in natürlicher Sprache mit den Daten zu interagieren.

## Tools
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-tools"></a>

**AWS-Services**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server starten, wie Sie benötigen, und diese schnell vergrößern oder verkleinern.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) hilft Ihnen dabei, kryptografische Schlüssel zu erstellen und zu kontrollieren, um Ihre Daten zu schützen.
+ [Amazon Managed Streaming for Apache Kafka (Amazon MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) ist ein vollständig verwalteter Service, der Sie beim Erstellen und Ausführen von Anwendungen unterstützt, die Apache Kafka zur Verarbeitung von Streaming-Daten verwenden.
+ [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) ist ein Business Intelligence (BI) -Service auf Cloud-Ebene, mit dem Sie Ihre Daten in einem einzigen Dashboard visualisieren, analysieren und Berichte erstellen können. Dieses Muster verwendet die generativen BI-Funktionen von Amazon Q in Quick Sight.
+ [Amazon Redshift Serverless](https://aws.amazon.com/redshift/redshift-serverless/) ist eine serverlose Option von Amazon Redshift, mit der Analysen in Sekundenschnelle effizienter ausgeführt und skaliert werden können, ohne dass eine Data Warehouse-Infrastruktur eingerichtet und verwaltet werden muss.
+ Mit [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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.

**Andere Tools**
+ [Precisely Connect CDC](https://support.precisely.com/products/connect-cdc-formerly-sqdata/) sammelt und integriert Daten aus Altsystemen in Cloud- und Datenplattformen.

**Code-Repository**

Der Code für dieses Muster ist im GitHub [Mainframe\$1 DataInsights \$1change\$1data\$1reconciliation-Repository](https://github.com/aws-samples/Mainframe_DataInsights_change_data_reconcilition) verfügbar. Der Code ist eine gespeicherte Prozedur in Amazon Redshift. Diese gespeicherte Prozedur gleicht Mainframe-Datenänderungen (Einfügungen, Aktualisierungen und Löschungen) aus Amazon MSK mit den Amazon Redshift Redshift-Tabellen ab. Diese Amazon Redshift Redshift-Tabellen dienen als Datenanalysequelle für Quick Sight.

## Best Practices
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-best-practices"></a>
+ Folgen Sie bei der Einrichtung Ihres Amazon MSK-Clusters den [Best Practices](https://docs.aws.amazon.com/msk/latest/developerguide/bestpractices.html).
+ Folgen Sie den [Best Practices für das Analysieren von Amazon Redshift Redshift-Daten](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html#materialized-view-streaming-recommendations), um die Leistung zu verbessern.
+ Wenn Sie die AWS Identity and Access Management (IAM-) Rollen für das Precisely Setup erstellen, folgen Sie dem Prinzip der geringsten Rechte und gewähren Sie die Mindestberechtigungen, die zur Ausführung einer Aufgabe erforderlich sind. Weitere Informationen finden Sie in der IAM-Dokumentation unter [Gewährung der geringsten Rechte](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) und [bewährte Methoden zur Sicherheit](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).

## Epen
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-epics"></a>

### Richten Sie die AWS Mainframe Modernization Datenreplikation mit Precisely auf Amazon ein EC2
<a name="set-up-m2long-data-replication-with-precisely-on-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie eine Sicherheitsgruppe ein. | Um eine Verbindung mit dem Controller-Daemon und dem Amazon MSK-Cluster [herzustellen, erstellen Sie eine Sicherheitsgruppe](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) für die EC2 Instance. Fügen Sie die folgenden Regeln für eingehenden und ausgehenden Datenverkehr hinzu:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Notieren Sie sich den Namen der Sicherheitsgruppe. Sie müssen den Namen angeben, wenn Sie die EC2 Instance starten und den Amazon MSK-Cluster konfigurieren. | DevOps Ingenieur, AWS DevOps | 
| Erstellen Sie eine IAM-Richtlinie und eine IAM-Rolle. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | DevOps Ingenieur, AWS-Systemadministrator | 
| Stellen Sie eine EC2 Instanz bereit. | Gehen Sie wie folgt vor, um eine EC2 Instance für die Ausführung von Precisely CDC und die Verbindung zu Amazon MSK bereitzustellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | AWS-Administrator, DevOps Ingenieur | 

### Amazon MSK einrichten
<a name="set-up-msk"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den Amazon MSK-Cluster. | Gehen Sie wie folgt vor, um einen Amazon MSK-Cluster zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Die Erstellung eines bereitgestellten Clusters dauert in der Regel bis zu 15 Minuten. Nachdem der Cluster erstellt wurde, ändert sich sein Status von **Creating** zu **Active**. | AWS DevOps, Cloud-Administrator | 
| Richten Sie die SASL/SCRAM Authentifizierung ein. | Gehen Sie wie folgt vor, um die SASL/SCRAM Authentifizierung für einen Amazon MSK-Cluster einzurichten:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Cloud-Architekt | 
| Erstellen Sie das Amazon MSK-Thema. | Gehen Sie wie folgt vor, um das Amazon MSK-Thema zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Cloud-Administrator | 

### Konfigurieren Sie die Precisely Apply Engine bei Amazon EC2
<a name="configure-the-precisely-apply-engine-on-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie die Precisely Scripts ein, um Datenänderungen zu replizieren. | Gehen Sie wie folgt vor, um die Precisely Connect CDC-Skripts so einzurichten, dass sie geänderte Daten vom Mainframe in das Amazon MSK-Thema replizieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)[Beispielweise.ddl-Dateien finden Sie im Abschnitt Zusätzliche Informationen.](#generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-additional) | App-Entwickler, Cloud-Architekt | 
| Generieren Sie den Netzwerk-ACL-Schlüssel. | Gehen Sie wie folgt vor, um den Netzwerk-ACL-Schlüssel (Network Access Control List) zu generieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Cloud-Architekt, AWS DevOps | 

### Bereiten Sie die Mainframe-Quellumgebung vor
<a name="prepare-the-mainframe-source-environment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie die Standardeinstellungen auf dem ISPF-Bildschirm. | [Folgen Sie den Anweisungen in der Precisely Dokumentation, um die Standardeinstellungen in der Interactive System Productivity Facility (ISPF) zu konfigurieren.](https://help.precisely.com/r/AWS-Mainframe-Modernization/Latest/en-US/AWS-Mainframe-Modernization-Data-Replication-for-IBM-z/OS/Install-Precisely-Connect-CDC-z/OS/Start-ISPF-Panel-Interface) | Mainframe-Systemadministrator | 
| Konfigurieren Sie den Controller-Daemon. | Gehen Sie wie folgt vor, um den Controller-Daemon zu konfigurieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Mainframe-Systemadministrator | 
| Konfigurieren Sie den Publisher. | Gehen Sie wie folgt vor, um den Herausgeber zu konfigurieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Mainframe-Systemadministrator | 
| Aktualisieren Sie die Daemon-Konfigurationsdatei. | Gehen Sie wie folgt vor, um die Herausgeberdetails in der Controller-Daemon-Konfigurationsdatei zu aktualisieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Mainframe-Systemadministrator | 
| Erstellen Sie den Job, um den Controller-Daemon zu starten. | Gehen Sie wie folgt vor, um den Job zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Mainframe-Systemadministrator | 
| Generieren Sie die JCL-Datei für den Capture Publisher. | Gehen Sie wie folgt vor, um die Capture Publisher-JCL-Datei zu generieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Mainframe-Systemadministrator | 
| Überprüfen und aktualisieren Sie CDC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Mainframe-Systemadministrator | 
| Reichen Sie die JCL-Dateien ein. | Reichen Sie die folgenden JCL-Dateien ein, die Sie in den vorherigen Schritten konfiguriert haben:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Nachdem Sie die JCL-Dateien eingereicht haben, können Sie die Apply Engine in Precisely auf der EC2 Instanz starten. | Mainframe-Systemadministrator | 

### Führen Sie CDC aus und validieren Sie es
<a name="run-and-validate-cdc"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Starten Sie die Apply Engine und validieren Sie das CDC. | Gehen Sie wie folgt vor, um die Apply Engine auf der EC2 Instanz zu starten und das CDC zu validieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Cloud-Architekt, App-Entwickler | 
| Überprüfen Sie die Datensätze zum Thema Amazon MSK. | Gehen Sie wie folgt vor, um die Nachricht aus dem Kafka-Thema zu lesen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | App-Entwickler, Cloud-Architekt | 

### Speichern Sie Mainframe-Änderungsdaten in einem Amazon Redshift Serverless Data Warehouse
<a name="store-mainframe-change-data-in-an-rsslong-data-warehouse"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Amazon Redshift Serverless ein. | [Folgen Sie den Anweisungen in der Dokumentation, um ein Amazon Redshift Serverless Data Warehouse zu erstellen.AWS](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html)Überprüfen Sie im Amazon Redshift Serverless-Dashboard, ob der Namespace und die Arbeitsgruppe erstellt wurden und verfügbar sind. Bei diesem Beispielmuster kann der Vorgang 2—5 Minuten dauern. | Dateningenieur | 
| Richten Sie die IAM-Rolle und die Vertrauensrichtlinie ein, die für die Streaming-Aufnahme erforderlich sind. | Gehen Sie wie folgt vor, um die serverlose Amazon Redshift Redshift-Streaming-Aufnahme von Amazon MSK einzurichten:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Dateningenieur | 
| Connect Amazon Redshift Serverless mit Amazon MSK. | Um eine Verbindung zum Amazon MSK-Thema herzustellen, erstellen Sie ein externes Schema in Amazon Redshift Serverless. Führen Sie im Amazon Redshift Query Editor v2 den folgenden SQL-Befehl aus, `'iam_role_arn'` ersetzen Sie ihn durch die Rolle, die Sie zuvor erstellt haben, und ersetzen Sie `'MSK_cluster_arn` 'durch den ARN für Ihren Cluster.<pre>CREATE EXTERNAL SCHEMA member_schema<br />FROM MSK<br />IAM_ROLE 'iam_role_arn'<br />AUTHENTICATION iam<br />URI 'MSK_cluster_arn';</pre> | Migrationsingenieur | 
| Erstellen Sie eine materialisierte Ansicht. | Um die Daten aus dem Amazon MSK-Thema in Amazon Redshift Serverless zu nutzen, erstellen Sie eine materialisierte Ansicht. Führen Sie im Amazon Redshift Query Editor v2 die folgenden SQL-Befehle aus und `<MSK_Topic_name>` ersetzen Sie sie durch den Namen Ihres Amazon MSK-Themas.<pre>CREATE MATERIALIZED VIEW member_view<br />AUTO REFRESH YES<br />AS SELECT<br />kafka_partition, <br />kafka_offset, <br />refresh_time, <br />json_parse(kafka_value) AS Data<br />FROM member_schema.<MSK_Topic_name><br />WHERE CAN_JSON_PARSE(kafka_value); <br /></pre> | Ingenieur für Migration | 
| Erstellen Sie Zieltabellen in Amazon Redshift. | Amazon Redshift Redshift-Tabellen stellen die Eingabe für Quick Sight bereit. Dieses Muster verwendet die Tabellen `member_dtls` und`member_plans`, die den Db2-Quelltabellen auf dem Mainframe entsprechen.Um die beiden Tabellen in Amazon Redshift zu erstellen, führen Sie die folgenden SQL-Befehle im Amazon Redshift Query Editor v2 aus:<pre>-- Table 1: members_dtls<br />CREATE TABLE members_dtls (<br /> memberid INT ENCODE AZ64,<br /> member_name VARCHAR(100) ENCODE ZSTD,<br /> member_type VARCHAR(50) ENCODE ZSTD,<br /> age INT ENCODE AZ64,<br /> gender CHAR(1) ENCODE BYTEDICT,<br /> email VARCHAR(100) ENCODE ZSTD,<br /> region VARCHAR(50) ENCODE ZSTD<br />) DISTSTYLE AUTO;<br /><br />-- Table 2: member_plans<br />CREATE TABLE member_plans (<br /> memberid INT ENCODE AZ64,<br /> medical_plan CHAR(1) ENCODE BYTEDICT,<br /> dental_plan CHAR(1) ENCODE BYTEDICT,<br /> vision_plan CHAR(1) ENCODE BYTEDICT,<br /> preventive_immunization VARCHAR(50) ENCODE ZSTD<br />) DISTSTYLE AUTO;</pre> | Migrationsingenieur | 
| Erstellen Sie eine gespeicherte Prozedur in Amazon Redshift. | Dieses Muster verwendet eine gespeicherte Prozedur, um Änderungsdaten (`INSERT`,`UPDATE`,`DELETE`) vom Quell-Mainframe mit der Amazon Redshift Redshift-Data-Warehouse-Zieltabelle für Analysen in Quick Sight zu synchronisieren.Um die gespeicherte Prozedur in Amazon Redshift zu erstellen, verwenden Sie den Abfrage-Editor v2, um den Code der gespeicherten Prozedur auszuführen, der sich im GitHub Repository befindet. | Migrationsingenieur | 
| Lesen Sie aus der materialisierten Streaming-Ansicht und laden Sie sie in die Zieltabellen. | Die gespeicherte Prozedur liest Datenänderungen aus der materialisierten Streaming-Ansicht und lädt die Datenänderungen in die Zieltabellen. Verwenden Sie den folgenden Befehl, um die gespeicherte Prozedur auszuführen:<pre>call SP_Members_Load();</pre>Sie können [Amazon](https://aws.amazon.com/eventbridge/) verwenden EventBridge, um die Jobs in Ihrem Amazon Redshift Data Warehouse so zu planen, dass diese gespeicherte Prozedur auf der Grundlage Ihrer Datenlatenzanforderungen aufgerufen wird. EventBridge führt Jobs in festen Intervallen aus. Um zu überprüfen, ob der vorherige Aufruf der Prozedur abgeschlossen wurde, müssen Sie möglicherweise einen Mechanismus wie eine [AWS Step Functions](https://aws.amazon.com/step-functions/)Zustandsmaschine verwenden. Weitere Informationen finden Sie in den folgenden Ressourcen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Eine weitere Option besteht darin, den Amazon Redshift Query Editor v2 zu verwenden, um die Aktualisierung zu planen. Weitere Informationen finden Sie unter [Planen einer Abfrage mit dem Abfrage-Editor v2](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-schedule-query.html). | Ingenieur für Migration | 

### Quick Sight mit Daten in Amazon Redshift Connect
<a name="connect-quick-sight-to-data-in-rs"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Quick Sight ein. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html), um Quick Sight einzurichten. | Ingenieur für Migration | 
| Richten Sie eine sichere Verbindung zwischen Quick Sight und Amazon Redshift ein. | Gehen Sie wie folgt vor, um eine sichere Verbindung zwischen Quick Sight und Amazon Redshift einzurichten[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Migrationsingenieur | 
| Erstellen Sie einen Datensatz für Quick Sight. | Gehen Sie wie folgt vor, um einen Datensatz für Quick Sight aus Amazon Redshift zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Migrationsingenieur | 
| Treten Sie dem Datensatz bei. | Um Analysen in Quick Sight zu erstellen, verbinden Sie die beiden Tabellen, indem Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/joining-data.html#create-a-join) folgen.Wählen **Sie im Bereich Join-Konfiguration** für **Verbindungstyp** die Option **Left** aus. Verwenden **Sie unter Join-Klauseln** die Option`memberid from member_plans = memberid from members_details`. | Ingenieur für Migration | 

### Gewinnen Sie mithilfe von Amazon Q in Quick Sight Geschäftseinblicke aus den Mainframe-Daten
<a name="get-business-insights-from-the-mainframe-data-by-using-qdev-in-quick-sight"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Amazon Q in Quick Sight ein. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/generative-bi-get-started.html), um die generative BI-Funktion von Amazon Q in Quick Sight einzurichten. | Migrationsingenieur | 
| Analysieren Sie Mainframe-Daten und erstellen Sie ein visuelles Dashboard. | Gehen Sie wie folgt vor, um Ihre Daten in Quick Sight zu analysieren und zu visualisieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html)Wenn Sie fertig sind, können Sie Ihr Dashboard veröffentlichen, um es mit anderen in Ihrer Organisation zu teilen. Beispiele finden Sie unter *Visuelles Mainframe-Dashboard* im Abschnitt [Zusätzliche Informationen](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html#generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-additional). | Ingenieur für Migration | 

### Erstellen Sie mit Amazon Q in Quick Sight eine Data Story aus Mainframe-Daten
<a name="create-a-data-story-with-qdev-in-quick-sight-from-mainframe-data"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Datenstory. | Erstellen Sie eine Datenstory, um die Erkenntnisse aus der vorherigen Analyse zu erläutern, und geben Sie eine Empfehlung zur Erhöhung der präventiven Impfungen für Mitglieder ab:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Ingenieur für Migration | 
| Sehen Sie sich die generierte Datenstory an. | Um die generierte Datenstory anzuzeigen, wählen Sie diese Story auf der Seite **Data Stories aus**. | Ingenieur für Migration | 
| Bearbeiten Sie eine generierte Datenstory. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-edit.html), um die Formatierung, das Layout oder die visuelle Darstellung in einer Data Story zu ändern. | Ingenieur für Migration | 
| Teilen Sie eine Datenstory. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-share.html), um eine Data Story mit anderen zu teilen. | Ingenieur für Migration | 

## Fehlerbehebung
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Für Quick Sight to Amazon Redshift ist die Datensatzerstellung `Validate Connection` fehlgeschlagen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | 
| Beim Versuch, die Apply Engine auf der EC2 Instance zu starten, wird der folgende Fehler zurückgegeben:`-bash: sqdeng: command not found` | Exportieren Sie den `sqdata` Installationspfad, indem Sie den folgenden Befehl ausführen:<pre>export PATH=$PATH:/usr/sbin:/opt/precisely/di/sqdata/bin</pre> | 
| Beim Versuch, die Apply Engine zu starten, wird einer der folgenden Verbindungsfehler zurückgegeben:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight.html) | Überprüfen Sie den Mainframe-Spool, um sicherzustellen, dass die Controller-Daemon-Jobs ausgeführt werden. | 

## Zugehörige Ressourcen
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-resources"></a>
+ [Generieren Sie Erkenntnisse mithilfe AWS Mainframe Modernization von Amazon Q in Quick Sight](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html?did=pg_card&trk=pg_card) (Muster)
+ [Generieren Sie Dateneinblicke mithilfe AWS Mainframe Modernization von Amazon Q in Quick Sight](https://youtu.be/F8b7l79p6TM?si=gASuQtFbMVuEm7IJ) (Demo)
+ [AWS Mainframe Modernization - Datenreplikation für IBM z/OS](https://aws.amazon.com/marketplace/pp/prodview-doe2lroefogia?sr=0-4&ref_=beagle&applicationId=AWSMPContessa)
+ [Amazon Redshift Streaming-Aufnahme in eine materialisierte Ansicht](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion.html)

## Zusätzliche Informationen
<a name="generate-db2-zos-data-insights-aws-mainframe-modernization-amazon-q-in-quicksight-additional"></a>

**Beispieldateien im Format .ddl**

*members\$1details.ddl*

```
CREATE TABLE MEMBER_DTLS (
memberid INTEGER NOT NULL,
member_name VARCHAR(50),
member_type VARCHAR(20),
age INTEGER,
gender CHAR(1),
email VARCHAR(100),
region VARCHAR(20)
);
```

*member\$1plans.ddl*

```
CREATE TABLE MEMBER_PLANS (
memberid INTEGER NOT NULL,
medical_plan CHAR(1),
dental_plan CHAR(1),
vision_plan CHAR(1),
preventive_immunization VARCHAR(20)
);
```

**Beispiel für eine .sqd-Datei**

**`<kafka topic name>`**Ersetzen Sie es durch den Namen Ihres Amazon MSK-Themas.

*script.sqd*

```
-- Name: DB2ZTOMSK: DB2z To MSK JOBNAME DB2ZTOMSK;REPORT EVERY 1;OPTIONS CDCOP('I','U','D');-- Source Descriptions
JOBNAME DB2ZTOMSK;
REPORT EVERY 1;
OPTIONS CDCOP('I','U','D');

-- Source Descriptions 
BEGIN GROUP DB2_SOURCE; 
DESCRIPTION DB2SQL /var/precisely/di/sqdata/apply/DB2ZTOMSK/ddl/mem_details.ddl AS MEMBER_DTLS;
DESCRIPTION DB2SQL /var/precisely/di/sqdata/apply/DB2ZTOMSK/ddl/mem_plans.ddl AS MEMBER_PLANS; 
END GROUP;
-- Source Datastore 
DATASTORE cdc://<zos_host_name>/DB2ZTOMSK/DB2ZTOMSK
OF UTSCDC 
AS CDCIN 
DESCRIBED BY GROUP DB2_SOURCE ;
-- Target Datastore(s)
DATASTORE 'kafka:///<kafka topic name>/key'
OF JSON
AS TARGET
DESCRIBED BY GROUP DB2_SOURCE;
PROCESS INTO TARGET
SELECT
{
REPLICATE(TARGET)
}
FROM CDCIN;
```

**Visuelles Mainframe-Dashboard**

Das folgende Datenbild wurde von Amazon Q in Quick Sight für die Analysefrage erstellt `show member distribution by region`*.*

![\[Der Nordosten und der Südwesten haben 8 Mitglieder, der Südwesten hat 5 Mitglieder, der Mittlere Westen hat 4 Mitglieder.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/b40a784c-c1fc-444b-b6df-8bd1f7a6abaa.png)


Das folgende Datenbild wurde von Amazon Q in Quick Sight für die Frage erstellt`show member distribution by Region who have not completed preventive immunization, in pie chart`.

![\[Der Südosten zeigt 6, der Südwesten zeigt 5 und der Mittlere Westen zeigt 4.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/8a95da3c-df4a-458b-9cfe-44e34f80a235.png)


**Ausgabe von Data Story**

Die folgenden Screenshots zeigen Abschnitte der Data Story, die von Amazon Q in Quick Sight für die Aufforderung erstellt wurde`Build a data story about Region with most numbers of members. Also show the member distribution by age, member distribution by gender. Recommend how to motivate members to complete immunization. Include 4 points of supporting data for this pattern`.

In der Einleitung wird in der Datenstory empfohlen, die Region mit den meisten Mitgliedern auszuwählen, um die größtmögliche Wirkung der Impfmaßnahmen zu erzielen.

![\[Einführungsbildschirm für Analysen auf der Grundlage geografischer, demografischer Daten und des Alters der Mitglieder.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/40f13957-2db4-42b7-b7a4-a0dd3dad6899.png)


Die Datenstory bietet eine Analyse der Mitgliederzahlen für die vier Regionen. Die Regionen Nordosten, Südwesten und Südosten haben die meisten Mitglieder.

![\[Die Regionen Nordosten und Südwesten haben 8 Mitglieder, Südosten hat 6 Mitglieder und Mittlerer Westen hat 4 Mitglieder.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/fc6ed0a0-b79c-4397-95ac-a2fc4c87482a.png)


Die Datenstory enthält eine Analyse der Mitglieder nach Alter.

![\[Die Grafik zeigt, dass sich die Mitgliederbasis eher jüngeren Erwachsenen und Erwachsenen mittleren Alters zuwendet.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/8c56f1ec-3a2e-47a6-bbc4-3631782aa333.png)


Die Datengeschichte konzentriert sich auf Impfmaßnahmen im Mittleren Westen.

![\[Empfehlung für eine Kampagne zur persönlichen Öffentlichkeitsarbeit und für regionale Herausforderungen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/84a647e8-c7d5-4637-94f0-03a611f899b3.png)


![\[Fortsetzung der Datenanalyse mit erwarteten Ergebnissen und Schlußfolgerungen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/18e72bcb-1b9a-406a-8220-83aca7743ad2/images/fc9094fc-2a20-485d-b238-e5e4ec70f1d3.png)


## Anlagen
<a name="attachments-18e72bcb-1b9a-406a-8220-83aca7743ad2"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/18e72bcb-1b9a-406a-8220-83aca7743ad2/attachments/attachment.zip)

# Generieren Sie Dateneinblicke mithilfe AWS Mainframe Modernization von Amazon Q in Quick Sight
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight"></a>

*Shubham Roy, Roshna Razack und Santosh Kumar Singh, Amazon Web Services*

## Zusammenfassung
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-summary"></a>

Hinweis: AWS Mainframe Modernization Der Service (Managed Runtime Environment-Erlebnis) steht Neukunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Wenn Ihr Unternehmen geschäftskritische Daten in einer Mainframe-Umgebung hostet, ist es entscheidend, Erkenntnisse aus diesen Daten zu gewinnen, um Wachstum und Innovation voranzutreiben. Durch die Erschließung von Mainframe-Daten können Sie schnellere, sichere und skalierbare Business Intelligence aufbauen, um datengestützte Entscheidungen, Wachstum und Innovation in der Amazon Web Services ()AWS Cloud zu beschleunigen.

Dieses Muster bietet eine Lösung für die Generierung von Geschäftseinblicken und die Erstellung gemeinsam nutzbarer Geschichten aus Mainframe-Daten mithilfe der [AWS Mainframe Modernization Dateiübertragung](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer.html) mit BMC und [Amazon Q](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-gen-bi.html) in Quick Sight. Mainframe-Datensätze werden mithilfe der AWS Mainframe Modernization Dateiübertragung mit BMC an [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) übertragen. Eine AWS Lambda Funktion formatiert die Mainframe-Datendatei und bereitet sie für das Laden in Quick Sight vor.

Sobald die Daten in Quick Sight verfügbar sind, können Sie mit [Amazon Q](https://docs.aws.amazon.com/quicksight/latest/user/quicksight-gen-bi.html) in Quick Sight Aufforderungen in natürlicher Sprache verwenden, um Zusammenfassungen der Daten zu erstellen, Fragen zu stellen und Datenstorys zu generieren. Sie müssen keine SQL-Abfragen schreiben oder ein Business Intelligence (BI) -Tool erlernen.

**Geschäftlicher Kontext**

Dieses Muster stellt eine Lösung für Anwendungsfälle von Mainframe-Datenanalysen und Datenerkenntnissen dar. Mithilfe des Musters erstellen Sie ein visuelles Dashboard für die Daten Ihres Unternehmens. Um die Lösung zu demonstrieren, verwendet dieses Muster ein Gesundheitsunternehmen, das seinen Mitgliedern in den USA medizinische, zahnärztliche und augenärztliche Pläne anbietet. In diesem Beispiel werden demografische Daten und Versicherungsinformationen der Mitglieder in den Mainframe-Datensätzen gespeichert. Das visuelle Dashboard zeigt Folgendes:
+ Verteilung der Mitglieder nach Regionen
+ Verteilung der Mitglieder nach Geschlecht
+ Verteilung der Mitglieder nach Alter
+ Verteilung der Mitglieder nach Tariftyp
+ Mitglieder, die die Schutzimpfung noch nicht abgeschlossen haben

Nachdem Sie das Dashboard erstellt haben, generieren Sie eine Datenstory, die die Erkenntnisse aus der vorherigen Analyse erklärt. Die Datenstory enthält Empfehlungen zur Erhöhung der Zahl der Mitglieder, die präventive Impfungen abgeschlossen haben.

## Voraussetzungen und Einschränkungen
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver AWS-Konto
+ Mainframe-Datensätze mit Geschäftsdaten
+ Zugriff auf die Installation eines File Transfer Agents auf dem Mainframe

**Einschränkungen**
+ Ihre Mainframe-Datendatei sollte in einem der von Quick Sight unterstützten Dateiformate vorliegen. Eine Liste der unterstützten Dateiformate finden Sie unter [Unterstützte Datenquellen](https://docs.aws.amazon.com/quicksuite/latest/userguide/supported-data-sources.html).
+ Dieses Muster verwendet eine Lambda-Funktion, um die Mainframe-Datei in ein von Quick Sight unterstütztes Format zu konvertieren.

## Architektur
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-architecture"></a>

Das folgende Diagramm zeigt eine Architektur zur Generierung von Geschäftseinblicken aus Mainframe-Daten mithilfe von AWS Mainframe Modernization Dateiübertragung mit BMC und Amazon Q in Quick Sight.

![\[Die Beschreibung des Architekturdiagramms folgt dem Diagramm.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/6fe0f1d9-961c-4089-a746-e5b8d5fd6c1e.png)


Das Diagramm zeigt den folgenden Workflow:

1. Ein Mainframe-Datensatz mit Geschäftsdaten wird mithilfe der AWS Mainframe Modernization Dateiübertragung mit BMC an Amazon S3 übertragen.

1. Die Lambda-Funktion konvertiert die Datei, die sich im S3-Bucket des Ziels für die Dateiübertragung befindet, in das CSV-Format (Comma-Separated Values).

1. Die Lambda-Funktion sendet die konvertierte Datei an den S3-Bucket des Quelldatensatzes.

1. Die Daten in der Datei werden von Quick Sight aufgenommen.

1. Benutzer greifen in Quick Sight auf die Daten zu. Sie können Amazon Q in Quick Sight verwenden, um mithilfe von Eingabeaufforderungen in natürlicher Sprache mit den Daten zu interagieren.

## Tools
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-tools"></a>

**AWS-Services**
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.
+ [AWS Mainframe Modernization File Transfer mit BMC](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer.html) konvertiert Mainframe-Datensätze und überträgt sie an Amazon S3 für Anwendungsfälle zur Mainframe-Modernisierung, -Migration und Erweiterung.
+ [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) ist ein BI-Service auf Cloud-Ebene, mit dem Sie Ihre Daten in einem einzigen Dashboard visualisieren, analysieren und Berichte erstellen können. Dieses Muster verwendet die generativen BI-Funktionen von [Amazon Q in Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/working-with-quicksight-q.html).
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

## Best Practices
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-best-practices"></a>
+ [Wenn Sie die AWS Identity and Access Management (IAM-) Rollen für die AWS Mainframe Modernization Dateiübertragung mit BMC und der Lambda-Funktion erstellen, folgen Sie dem Prinzip der geringsten Rechte.](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)
+ Stellen Sie sicher, dass Ihr Quelldatensatz [Datentypen für Quick Sight unterstützt](https://docs.aws.amazon.com/quicksight/latest/user/supported-data-types-and-values.html). Wenn Ihr Quelldatensatz Datentypen enthält, die nicht unterstützt werden, konvertieren Sie diese in unterstützte Datentypen. Informationen zu nicht unterstützten Mainframe-Datentypen und deren Konvertierung in Datentypen, die von Amazon Q in Quick Sight unterstützt werden, finden Sie im Abschnitt [Verwandte Ressourcen](#generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-resources).

## Epen
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-epics"></a>

### Richten Sie die AWS Mainframe Modernization Dateiübertragung mit BMC ein
<a name="set-up-m2long-file-transfer-with-bmc"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie den File Transfer Agent. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/m2/latest/userguide/m2-agent-installation.html), um den AWS Mainframe Modernization File Transfer Agent zu installieren. | Mainframe-Systemadministrator | 
| Erstellen Sie einen S3-Bucket für die Mainframe-Dateiübertragung. | [Erstellen Sie einen S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), um die Ausgabedatei der AWS Mainframe Modernization Dateiübertragung mit BMC zu speichern. Im Architekturdiagramm ist dies der Ziel-Bucket für die Dateiübertragung. | Ingenieur für Migration | 
| Erstellen Sie den Endpunkt für die Datenübertragung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Spezialist AWS AWS-Mainframe-Modernisierung | 

### Konvertieren Sie die Mainframe-Dateinamenerweiterung für die Quick Sight-Integration
<a name="convert-the-mainframe-file-name-extension-for-quick-sight-integration"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen S3-Bucket. | [Erstellen Sie einen S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) für die Lambda-Funktion, um die konvertierte Mainframe-Datei von der Quelle in den endgültigen Ziel-Bucket zu kopieren. | Ingenieur für Migration | 
| Erstellen Sie eine Lambda-Funktion. | Gehen Sie wie folgt vor, um eine Lambda-Funktion zu erstellen, die die Dateierweiterung ändert und die Mainframe-Datei in den Ziel-Bucket kopiert:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Ingenieur für Migration | 
| Erstellen Sie einen Amazon S3 S3-Trigger, um die Lambda-Funktion aufzurufen. | Gehen Sie wie folgt vor, um einen Trigger zu konfigurieren, der die Lambda-Funktion aufruft:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html)Weitere Informationen finden Sie unter [Tutorial: Verwenden eines Amazon S3-Auslösers zum Aufrufen einer Lambda-Funktion](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html). | Leiter der Migration | 
| Stellen Sie IAM-Berechtigungen für die Lambda-Funktion bereit. | Für den Zugriff der Lambda-Funktion auf die S3-Buckets des Dateiübertragungsziels und des Quelldatensatzes sind IAM-Berechtigungen erforderlich. Aktualisieren Sie die Richtlinie, die mit der Lambda-Funktionsausführungsrolle verknüpft ist, indem Sie den Ziel-S3-Bucket**** für die Dateiübertragung `s3:GetObject` und `s3:DeleteObject`**** den `s3:PutObject` Zugriff auf den S3-Bucket des Quelldatensatzes zulassen und gewähren.Weitere Informationen finden Sie im**** Abschnitt [Erstellen einer Berechtigungsrichtlinie](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html#with-s3-example-create-policy) in *Tutorial: Verwenden eines Amazon S3 S3-Triggers zum Aufrufen einer Lambda-Funktion*. | Leiter der Migration | 

### Definieren Sie eine Mainframe-Datenübertragungsaufgabe
<a name="define-a-mainframe-data-transfer-task"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Übertragungsaufgabe, um die Mainframe-Datei in den S3-Bucket zu kopieren. | [Folgen Sie den Anweisungen in der Dokumentation, um eine Mainframe-Dateiübertragungsaufgabe zu erstellen.AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer-transfer-tasks.html)**Geben Sie die **Quellcodepage-Kodierung auf IBM1** **047** und die **Ziel-Codepage-Kodierung auf UTF-8** an.** | Ingenieur für Migration | 
| Überprüfen Sie die Übertragungsaufgabe. | Folgen Sie den Anweisungen in der [AWS Mainframe Modernization Dokumentation](https://docs.aws.amazon.com/m2/latest/userguide/filetransfer-transfer-tasks.html#filetransfer-ts-view-console), um zu überprüfen, ob die Datenübertragung erfolgreich war. Vergewissern Sie sich, dass sich die Mainframe-Datei im Ziel-S3-Bucket für die Dateiübertragung befindet. | Leiter der Migration | 
| Überprüfen Sie die Lambda-Kopierfunktion. | Stellen Sie sicher, dass die Lambda-Funktion initiiert wurde und dass die Datei mit der Erweiterung.csv in den S3-Bucket des Quelldatensatzes kopiert wurde.Die von der Lambda-Funktion erstellte .csv-Datei ist die Eingabedatendatei für Quick Sight. Beispieldaten finden Sie in der `Sample-data-member-healthcare-APG` Datei im Abschnitt [Anlagen](#attachments-53572abb-06c6-4dd7-add4-8fad7e9bfa68). | Leiter der Migration | 

### Quick Sight mit den Mainframe-Daten Connect
<a name="connect-quick-sight-to-the-mainframe-data"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Quick Sight ein. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html), um Quick Sight einzurichten. | Leiter der Migration | 
| Erstellen Sie einen Datensatz für Quick Sight. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-s3.html), um einen Datensatz für Quick Sight zu erstellen. Die Eingabedatendatei ist die konvertierte Mainframe-Datei, die bei der Definition der Mainframe-Datenübertragungsaufgabe erstellt wurde. | Leiter der Migration | 

### Gewinnen Sie mithilfe von Amazon Q in Quick Sight Geschäftseinblicke aus den Mainframe-Daten
<a name="get-business-insights-from-the-mainframe-data-by-using-qdev-in-quick-sight"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Amazon Q in Quick Sight ein. | Für diese Funktion ist die Enterprise Edition erforderlich. Gehen Sie wie folgt vor, um Amazon Q in Quick Sight einzurichten:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Leiter der Migration | 
| Analysieren Sie Mainframe-Daten und erstellen Sie ein visuelles Dashboard. | Gehen Sie wie folgt vor, um Ihre Daten in Quick Sight zu analysieren und zu visualisieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html)Wenn Sie fertig sind, können Sie Ihr Dashboard veröffentlichen, um es mit anderen in Ihrer Organisation zu teilen. Beispiele finden Sie unter *Visuelles Mainframe-Dashboard* im Abschnitt [Zusätzliche Informationen](#generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-additional). | Ingenieur für Migration | 

### Erstellen Sie mit Amazon Q in Quick Sight aus den Mainframe-Daten eine Datenstory
<a name="create-a-data-story-with-qdev-in-quick-sight-from-the-mainframe-data"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Datenstory. | Erstellen Sie eine Datenstory, um die Erkenntnisse aus der vorherigen Analyse zu erläutern, und geben Sie eine Empfehlung zur Erhöhung der präventiven Impfungen für Mitglieder ab:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | Ingenieur für Migration | 
| Sehen Sie sich die generierte Datenstory an. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-view.html), um die generierte Datenstory anzusehen. | Leitung der Migration | 
| Bearbeiten Sie eine generierte Datenstory. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-edit.html), um die Formatierung, das Layout oder die visuelle Darstellung in einer Data Story zu ändern. | Leiter der Migration | 
| Teilen Sie eine Datenstory. | Folgen Sie den Anweisungen in der [AWS Dokumentation](https://docs.aws.amazon.com/quicksight/latest/user/working-with-stories-share.html), um eine Data Story mit anderen zu teilen. | Ingenieur für Migration | 

## Fehlerbehebung
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Die Mainframe-Dateien oder Datensätze, die in die **Suchkriterien** für Datensätze für die **Aufgabe Übertragung bei AWS Mainframe Modernization Dateiübertragung mit BMC erstellen** eingegeben wurden, konnten nicht gefunden werden. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.html) | 

## Zugehörige Ressourcen
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-resources"></a>

Um Mainframe-Datentypen wie [PACKED-DECIMAL (COMP-3) oder BINARY (COMP](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=v6-packed-decimal-comp-3) [oder COMP-4) in einen von Quick Sight](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=v6-binary-comp-comp-4) unterstützten [Datentyp](https://docs.aws.amazon.com/quicksight/latest/user/supported-data-types-and-values.html) zu konvertieren, verwenden Sie die folgenden Muster:
+ [EBCDIC-Daten mithilfe von Python in ASCII umwandeln und entpacken AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/convert-and-unpack-ebcdic-data-to-ascii-on-aws-by-using-python.html)
+ [Konvertieren Sie Mainframe-Dateien vom EBCDIC-Format in das durch Zeichen getrennte ASCII-Format in Amazon S3 mit AWS Lambda](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/convert-mainframe-files-from-ebcdic-format-to-character-delimited-ascii-format-in-amazon-s3-using-aws-lambda.html)

## Zusätzliche Informationen
<a name="generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight-additional"></a>

**S3 .py CopyLambda**

Der folgende Python-Code wurde mithilfe einer Aufforderung mit Amazon Q in einer IDE generiert:

```
#Create a lambda function triggered by S3. display the S3 bucket name and key
import boto3
s3 = boto3.client('s3')
def lambda_handler(event, context):
print(event)
bucket = event['Records'][0]['s3']['bucket']['name']
key = event['Records'][0]['s3']['object']['key']
print(bucket, key)
#If key starts with object_created, skip copy, print "copy skipped". Return lambda with key value.
if key.startswith('object_created'):
print("copy skipped")
return {
'statusCode': 200,
'body': key
}
# Copy the file from the source bucket to the destination bucket. Destination_bucket_name = 'm2-filetransfer-final-opt-bkt'. Destination_file_key = 'healthdata.csv'
copy_source = {'Bucket': bucket, 'Key': key}
s3.copy_object(Bucket='m2-filetransfer-final-opt-bkt', Key='healthdata.csv', CopySource=copy_source)
print("file copied")
#Delete the file from the source bucket.
s3.delete_object(Bucket=bucket, Key=key)
return {
'statusCode': 200,
'body': 'Copy Successful'
}
```

**Visuelles Mainframe-Dashboard**

Das folgende Datenbild wurde von Amazon Q in Quick Sight für die Analysefrage erstellt `show member distribution by region`*.*

![\[Diagramm mit den Mitgliederzahlen für den Südwesten, Mittleren Westen, Nordosten und Südosten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/e5c1d049-407d-42ff-bc51-28f9d2b24d4f.png)


Das folgende Datenbild wurde von Amazon Q in Quick Sight für die Frage erstellt`show member distribution by Region who have not completed preventive immunization, in pie chart`.

![\[Pie chart showing preventive immunization incompletion by region: Southeast 40%, Southwest 33%, Midwest 27%.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/47efa1c1-54c9-47cc-b668-416090021d34.png)


**Ausgabe von Data Story**

Die folgenden Screenshots zeigen Abschnitte der Data Story, die von Amazon Q in Quick Sight für die Aufforderung erstellt wurde. `Build a data story about Region with most numbers of members. Also show the member distribution by medical plan, vision plan, dental plan. Recommend how to motivate members to complete immunization. Include 4 points of supporting data.`

In der Einleitung wird in der Datenstory empfohlen, die Region mit den meisten Mitgliedern auszuwählen, um die größtmögliche Wirkung der Impfmaßnahmen zu erzielen.

![\[Einführungsseite für eine Datenstory, die sich auf die Abschlussquoten der Impfungen konzentriert.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/4612fcc7-51fd-48a5-bc58-b6b0aa9b0ef3.png)


Die Datenstory enthält eine Analyse der Mitgliederzahlen für die drei wichtigsten Regionen und nennt den Südwesten als die Region, in der der Schwerpunkt auf Impfmaßnahmen liegt.

![\[Pie chart showing member distribution by region, with Southwest and Northeast leading at 31% each.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/53572abb-06c6-4dd7-add4-8fad7e9bfa68/images/30d3b56b-3b92-4748-9cef-a73ff9339fee.png)


**Anmerkung**  
Die Regionen Südwesten und Nordosten haben jeweils acht Mitglieder. Im Südwesten gibt es jedoch mehr Mitglieder, die nicht vollständig geimpft sind, sodass er mehr Potenzial hat, von Initiativen zur Erhöhung der Impfraten zu profitieren.

## Anlagen
<a name="attachments-53572abb-06c6-4dd7-add4-8fad7e9bfa68"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/53572abb-06c6-4dd7-add4-8fad7e9bfa68/attachments/attachment.zip)

# Implementieren Sie die auf Microsoft Entra ID basierende Authentifizierung in einer modernisierten Mainframe-Anwendung von AWS Blu Age
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application"></a>

*Vishal Jaswani und Rimpy Tewani, Amazon Web Services*

## Zusammenfassung
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-summary"></a>

**Anmerkung**  
AWS Mainframe Modernization Service (Managed Runtime Environment Experience) steht Neukunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Mainframe-Anwendungen, die mithilfe von Refactoring-Mustern modernisiert werden, wie z. B. die von [AWS Mainframe Modernization Refactor mit AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html), erfordern eine sorgfältige Integration der Authentifizierungsmechanismen in die neue Anwendungsarchitektur. Diese Integration wird in der Regel erst nach der Modernisierung angegangen. Die Aufgabe kann komplex sein und beinhaltet häufig die Migration oder Externalisierung vorhandener Authentifizierungssysteme, um sie an moderne Sicherheitsstandards und Cloud-native Praktiken anzupassen. Entwickler müssen überlegen, wie sie die Authentifizierung effektiv implementieren können, während sie gleichzeitig die Einschränkungen der Laufzeitumgebung und der Bibliotheken der modernisierten Anwendung einhalten. AWS Bietet nach der Modernisierung Möglichkeiten, wie Sie Ihren modernen AWS Blu-Age-Code einfacher in Identitäts- und Zugriffsverwaltungssysteme wie [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) und [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) (früher bekannt als Azure AD) integrieren können.

Dieses Muster erklärt, wie Sie einen Authentifizierungsmechanismus in Ihrer modernisierten Anwendung implementieren können, wenn der Authentifizierungsanbieter Microsoft Entra ID ist, ohne Zeit für Recherchen und Tests aufzuwenden. Das Muster bietet:
+ Praxiserprobte und relevante Angular-Bibliotheken aus der Microsoft Authentication Library (MSAL) und anderen Microsoft Entra ID-Dokumentationen, die für die Authentifizierungsimplementierung unerlässlich sind. 
+ Konfigurationen, die auf der AWS Blu Age Runtime erforderlich sind, um Spring Security mithilfe von 2.0 zu aktivieren. OAuth 
+ Eine Bibliothek, die die Identitäten authentifizierter Benutzer erfasst und an die AWS Blu Age Runtime weitergibt.
+ Sicherheitsmaßnahmen, deren Implementierung wir empfehlen.
+ Tipps zur Fehlerbehebung für häufig auftretende Probleme mit dem Microsoft Entra ID-Setup.

**Anmerkung**  
Dieses Muster verwendet die AWS Blu OAuth Age-Erweiterungsbibliothek, die Kunden im Rahmen ihrer [AWS Professional Services-Vereinbarung](https://aws.amazon.com/professional-services/) zur Verfügung gestellt wird. Diese Bibliothek ist nicht Teil der AWS Blu Age Runtime.

## Voraussetzungen und Einschränkungen
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-prereqs"></a>

**Voraussetzungen**
+ Eine modernisierte Anwendung, die mit den Refactoring-Tools für die Mainframe-Modernisierung von AWS Blu Age entwickelt wurde. Dieses Muster dient [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)als Beispiel für eine Open-Source-Mainframe-Anwendung.
+ Die AWS Blu OAuth Age-Erweiterungsbibliothek, die Ihnen das AWS Blu Age-Team im Rahmen Ihres Engagements bei [AWS Professional Services](https://aws.amazon.com/professional-services/) zur Verfügung stellt.
+ Aktiv AWS-Konto für die Bereitstellung und das Testen der modernisierten Anwendung.
+ Vertrautheit mit AWS Blu Age-Konfigurationsdateien und den Grundlagen von Microsoft Entra ID.

**Einschränkungen**
+ Dieses Muster deckt die OAuth 2.0-Authentifizierung und grundlegende tokenbasierte Autorisierungsabläufe ab. Fortgeschrittene Autorisierungsszenarien und detaillierte Zugriffskontrollmechanismen sind nicht im Anwendungsbereich enthalten.
+ Einige AWS-Services sind nicht in allen verfügbar. AWS-Regionen Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie [AWS-Services unter Nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie unter [Dienstendpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Dienst aus.

**Produktversionen**

Dieses Muster wurde entwickelt unter Verwendung von:
+ AWS Blu Age Runtime Version 4.1.0 (das Muster funktioniert auch mit späteren Versionen, die abwärtskompatibel sind)
+ MSAL-Bibliothek, Version 3.0.23
+ Version 17 des Java-Entwicklungskits (JDK)
+ Winkelversion 16.1

## Architektur
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-architecture"></a>

**Quelltechnologie-Stack**

In typischen Mainframe-Umgebungen wird die Authentifizierung über Benutzerprofile implementiert. Diese Profile identifizieren Benutzer im System, definieren, wer sich anmelden kann, und geben an, welche Funktionen Benutzer mit Systemressourcen ausführen können. Benutzerprofile werden von Sicherheitsbeauftragten oder Sicherheitsadministratoren verwaltet.

**Zieltechnologie-Stack**
+ Microsoft Entra ID
+ Modernisiertes Backend auf Basis von Java Spring Boot
+ AWS Blue Age Runtime
+ Spring Security mit OAuth 2.0
+ Angular Single-Page-Anwendung (SPA)

**Zielarchitektur**

AWS Blu Age Runtime unterstützt standardmäßig die OAuth 2.0-basierte Authentifizierung, sodass das Pattern diesen Standard zum Schutz des Backends APIs verwendet.

Das folgende Diagramm veranschaulicht den Prozessablauf.

**Anmerkung**  
Das Diagramm enthält Amazon Aurora als Beispiel für die Datenbankmodernisierung, obwohl Aurora nicht in den Schritten für dieses Muster enthalten ist.

![\[Prozessablauf für die Entra ID-basierte Authentifizierung für eine AWS Blu Age Age-Anwendung.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/e51f24b8-178f-4974-aae9-23a0cc8540f5/images/0fdcdb22-9e46-4b02-86b2-395cba3e2f81.png)


Wobei:

1. Ein Benutzer versucht, sich mit Microsoft Entra ID zu authentifizieren.

1. Microsoft Entra ID gibt Aktualisierungs-, Zugriffs- und ID-Tokens zurück, die die Anwendung bei nachfolgenden Aufrufen verwendet.

1. Der MSAL-Interceptor fügt das Zugriffstoken in den `Authorization` Header einer HTTPS-Anfrage ein, um die Blu Age Runtime AWS aufzurufen.

1. Die AWS Blu `extension-oauth` Age-Bibliothek extrahiert die Benutzerinformationen mithilfe einer AWS Blu Age Runtime-Konfigurationsdatei (`application-main.yml`) aus dem Header und platziert diese Informationen in einem `SharedContext` Objekt, sodass die Geschäftslogik sie verarbeiten kann.
**Anmerkung**  
`SharedContext`ist eine von AWS Blu Age bereitgestellte Laufzeitkomponente, die den Anwendungskontext und die Statusinformationen in der gesamten modernisierten Anwendung verwaltet. Weitere Informationen zu den Komponenten und Updates von AWS Blu Age Runtime finden Sie in den [Versionshinweisen zu AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html) in der AWS Mainframe Modernization Dokumentation. Weitere Informationen zur `application-main.yml` Datei finden Sie in der AWS Mainframe Modernization Dokumentation unter [Konfiguration für AWS Blu Age Runtime einrichten](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html).

1. Die AWS Blu Age Runtime prüft, ob das Token vorhanden ist. 

   1. Wenn das Token vorhanden ist, überprüft es die Gültigkeit des Tokens, indem es mit der Microsoft Entra ID kommuniziert. 

   1. Wenn das Token nicht vorhanden ist, gibt die AWS Blu Age Runtime einen Fehler mit dem HTTP-Statuscode 403 zurück.

1. Wenn das Token gültig ist, ermöglicht die AWS Blue Age Runtime die Fortsetzung der Geschäftslogik. Wenn das Token ungültig ist, gibt die AWS Blu Age Runtime einen Fehler mit dem HTTP-Statuscode 403 zurück.

**OAuth 2.0-Arbeitsablauf**

Ein allgemeines Diagramm des OAuth 2.0-Workflows finden Sie in der [Microsoft Entra-Dokumentation](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#protocol-details).

## Tools
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools"></a>

**AWS-Services**

[AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)stellt Tools und Ressourcen bereit, die Sie bei der Planung und Implementierung der Migration und Modernisierung von Mainframes zu AWS verwalteten Laufzeitumgebungen unterstützen. Sie können die von AWS Blu Age bereitgestellten Refactoring-Funktionen dieses Services nutzen, um Ihre älteren Mainframe-Anwendungen zu konvertieren und zu modernisieren.

**Anmerkung**  
AWS Mainframe Modernization Der Service (Managed Runtime Environment Experience) steht neuen Kunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

**Code-Repository**

Die CardDemo Anwendung wurde aktualisiert, um die Integration mit Microsoft Entra ID zu demonstrieren. Sie können auf den Code [für dieses Muster aus dem GitHub Repository](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app) zugreifen.

**Backend-Konfiguration**

Dieses Muster erfordert Änderungen an der `application-main.yml`**** Konfigurationsdatei, um Spring Security mithilfe von OAuth 2.0 in der Backend-Anwendung zu aktivieren.  Die `.yml` Datei sieht so aus:

```
gapwalk-application.security: enabled
gapwalk-application:
  security: 
    identity: oauth
    issuerUri: ${issuerUrl}
    claim:
      claims:
        -
          claimName: upn
          claimMapValue: username
spring:
  autoconfigure:
    exclude:
     - org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration
     - org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration
  security:
    oauth2:
      client:
        registration: 
          azure:
            client-id: {clientId}
            client-secret: ${clientSecret}
            provider: azure
            authorization-grant-type: authorization_code
            redirect-uri: ${redirectUri}
            scope: openid
           
        provider:
          azure:
            authorization-uri: ${gapwalk-application.security.issuerUri}/oauth2/v2.0/authorize
            token-uri:  ${gapwalk-application.security.issuerUri}/oauth2/v2.0/token
            jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys
      resourceserver:
        jwt:
          jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys
```

**AWS Blu OAuth Age-Erweiterungsfilterbibliothek**

Die AWS Blu OAuth Age-Erweiterungsbibliothek wird vom AWS Blu Age-Team während Ihres Aufenthalts bei [AWS Professional Services](https://aws.amazon.com/professional-services/) bereitgestellt.

Diese Bibliothek liest die `claim.claims` Konfiguration in der `application-main.yml` Datei, die im vorherigen Codeblock gezeigt wurde. Diese Konfiguration ist eine Liste. Jedes Element in der Liste bietet zwei Werte: `claimName` und`claimMapValue`. `claimName`steht für einen Schlüsselnamen in einem vom Frontend gesendeten JSON Web Token (JWT) und `claimMapValue` ist der Name des Schlüssels in. `SharedContext` Wenn Sie beispielsweise die Benutzer-ID im Backend erfassen möchten, legen `claimName` Sie den Schlüsselnamen im JWT fest, der die von Microsoft bereitgestellte Entra-ID enthält, und legen Sie den Schlüsselnamen fest, `claimMapValue` um die Benutzer-ID im Backend-Code abzurufen. `userId`

Wenn Sie beispielsweise angeben, können Sie `UserId` den folgenden Code verwenden`claimMapValue`, um die Benutzer-ID zu extrahieren:

```
SharedContext.get().getValue("userId", [UserId]);
```

## Best Practices
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-best-practices"></a>

Berücksichtigen Sie bei der Implementierung dieses Musters die folgenden wichtigen Sicherheitsüberlegungen.

**Wichtig**  
Dieses Muster bietet eine Grundlage für die Integration der Authentifizierung. Wir empfehlen Ihnen, zusätzlich zu den in diesem Abschnitt beschriebenen Sicherheitsmaßnahmen auf der Grundlage Ihrer Geschäftsanforderungen zu ergreifen, bevor Sie das Produkt in der Produktion einsetzen.
+ **AWS Sicherheit der Konfiguration.**Verschieben Sie sensible Konfigurationswerte von `application-main.yml` nach AWS Secrets Manager. Konfigurieren Sie beispielsweise die folgenden Eigenschaften mithilfe von Secrets Manager:

  ```
  security:
      oauth2:
        client:
          registration: 
            azure:
              client-id: {clientId}
              client-secret: ${clientSecret}
  ```

  Weitere Informationen darüber, wie Sie Secrets Manager zur Konfiguration von AWS Blu Age-Parametern verwenden können, finden Sie in der AWS Mainframe Modernization Dokumentation unter [AWS Blu Age Runtime Secrets](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config-app-secrets.html).
+ **Schutz der Runtime-Umgebung.** Konfigurieren Sie die modernisierte Anwendungsumgebung mit geeigneten AWS Sicherheitskontrollen:

  ```
  server: 
    tomcat: 
      remoteip: 
       protocol-header: X-Forwarded-Proto 
       remote-ip-header: X-Forwarded-For 
    forward-headers-strategy: NATIVE
  ```
+ ** CloudWatch Amazon-Protokollierung.** Erwägen Sie, die Datei hinzuzufügen`logback-spring.xml to src/main/resources`:

  ```
  <configuration> 
   <appender name="CLOUDWATCH" class="com.amazonaws.services.logs.logback.CloudWatchAppender">  
     <logGroup>/aws/bluage/application</logGroup> 
     <logStream>${AWS_REGION}-${ENVIRONMENT}</logStream> 
     <layout> 
      <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </layout> 
   </appender> 
  
   <root level="INFO"> 
   <appender-ref ref="CLOUDWATCH"/> 
   </root> 
  </configuration>
  ```

  Informationen zur Aktivierung der Ablaufverfolgung mit CloudWatch finden Sie in der CloudWatch Dokumentation unter [Aktivieren der Ablaufverfolgung zur Protokollierung der Korrelation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).
+ **Konfiguration und Handhabung von Token.** Konfigurieren Sie die Token-Gültigkeitsdauer in Microsoft Entra ID entsprechend Ihren Sicherheitsanforderungen. Legen Sie fest, dass Zugriffstoken innerhalb von 1 Stunde ablaufen, und aktualisieren Sie Tokens so, dass sie innerhalb von 24 Stunden ablaufen. Stellen Sie in der AWS Blu Age Runtime-Konfiguration (`application-main.yml`) sicher, dass die JWT-Validierung ordnungsgemäß mit den exakten Aussteller-URI- und Zielgruppenwerten aus Ihrer Entra ID-Anwendungsregistrierung konfiguriert ist.

  Wenn ein Token abläuft und aktualisiert wird:

  1. Der Error Interceptor der Angular-Anwendung verarbeitet die 401-Antwort, indem er über MSAL ein neues Token erhält.

  1. Das neue Token wird mit der nachfolgenden Anfrage gesendet.

  1. Der OAuth Filter der AWS Blu Age Runtime validiert das neue Token und aktualisiert es automatisch `SharedContext` mit den aktuellen Benutzerinformationen. Dadurch wird sichergestellt, dass die Geschäftslogik über `SharedContext.get().getValue()` Aufrufe weiterhin Zugriff auf den gültigen Benutzerkontext hat.

  Weitere Informationen zu den AWS Blu Age Runtime-Komponenten und ihren Updates finden Sie in den [AWS Blu Age-Versionshinweisen](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html).
+ **AWS Blu Age Runtime-Sicherheit.** Die von AWS Blu Age bereitgestellte `oauth2-ext` Bibliothek muss im richtigen gemeinsamen Verzeichnis (`{app-server-home}/shared/`) mit den richtigen Dateiberechtigungen platziert werden. Stellen Sie sicher, dass die Bibliothek erfolgreich Benutzerinformationen extrahiert, JWTs indem Sie die `SharedContext` Objektpopulation in Ihren Protokollen überprüfen.
+ **Spezifische Anspruchskonfiguration.** Definieren Sie in `application-main.yml` explizit die Ansprüche, die Sie von Microsoft Entra ID benötigen. Um beispielsweise die E-Mail-Adresse und die Rollen des Benutzers zu erfassen, geben Sie Folgendes an:

  ```
  gapwalk-application:
    security:
      claim:
        claims:
          - claimName: upn
            claimMapValue: username
          - claimName: roles
            claimMapValue: userRoles
          - claimName: email
            claimMapValue: userEmail
  ```
+ **Behandlung von Fehlern.** Fügen Sie eine Fehlerbehandlung hinzu, um Authentifizierungsfehler in Ihrer Angular-Anwendung zu beheben; zum Beispiel:

  ```
  @Injectable()
  export class AuthErrorInterceptor implements HttpInterceptor {
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
      return next.handle(request).pipe(
        catchError((error: HttpErrorResponse) => {
          if (error.status === 401) {
            // Handle token expiration
            this.authService.login();
          }
          if (error.status === 403) {
            // Handle unauthorized access
            this.router.navigate(['/unauthorized']);
          }
          return throwError(() => error);
        })
      );
    }
  }
  ```
+ **Konfiguration des Sitzungs-Timeouts.** Konfigurieren Sie die Einstellungen für das Sitzungstimeout sowohl in der AWS Blu Age Runtime als auch in der Microsoft Entra ID. Fügen Sie Ihrer Datei beispielsweise den folgenden Code hinzu`application-main.yml`:

  ```
  server:
    servlet:
      session:
        timeout: 3600 # 1 hour in seconds
  ```
+ **MsalGuard.** Sie müssen die MsalGuard Funktion für alle geschützten Routen implementieren, um unbefugten Zugriff zu verhindern. Beispiel:

  ```
  const routes: Routes = [
      { path: '', redirectTo: '/transaction-runner', pathMatch: 'full' },
      { path: 'transaction-runner', component: TransactionRunnerComponent, canActivate:guards },
      { path: 'user-info', component: UserInfoComponent, canActivate:guards },
      { path: 'term/:transid/:commarea', component: TermComponent, canActivate:guards },
  	{ path: 'code', component: TransactionRunnerComponent  }
  ];
  ```

  Routen, die nicht MsalGuard geschützt sind, sind ohne Authentifizierung zugänglich, wodurch möglicherweise vertrauliche Funktionen offengelegt werden. Stellen Sie sicher, dass alle Routen, für die eine Authentifizierung erforderlich ist, die Guards in ihrer Konfiguration enthalten.

## Epen
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-epics"></a>

### Richten Sie eine Microsoft Entra ID ein
<a name="set-up-a-microsoft-entra-id"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie ein Microsoft Azure-Konto ein, um eine Entra-ID zu erstellen. | Optionen und Anweisungen finden Sie auf der [Microsoft Azure-Website](https://azure.microsoft.com/en-us/free/). | App-Developer | 
| Richten Sie in Ihrer Anwendung eine Microsoft Entra ID ein. | [Informationen zum Hinzufügen der Microsoft Entra ID B2C-Authentifizierung (Azure AD B2C) zu Ihrem Angular SPA finden Sie in der Microsoft-Dokumentation.](https://learn.microsoft.com/en-us/azure/active-directory-b2c/enable-authentication-angular-spa-app#add-the-authentication-components) Das heißt:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | App-Developer | 

### Klonen Sie das Repository und stellen Sie Ihren AWS Blu Age-Code bereit
<a name="clone-the-repository-and-deploy-your-aws-blu-age-code"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das GitHub Repository, um den für die Authentifizierung erforderlichen Angular-Code zu erhalten. | Führen Sie den folgenden Befehl aus, um das [GitHub Repository](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app), das mit diesem Muster bereitgestellt wurde, in Ihr lokales aktuelles Arbeitsverzeichnis zu klonen:<pre>git clone https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app.git</pre> | App-Developer | 
| Stellen Sie den modernisierten AWS Blu-Age-Code auf einem Tomcat-Server bereit, um die Authentifizierung zu implementieren. | Um die lokale Umgebung einzurichten, die Tomcat und den Angular-Entwicklungsserver umfasst, folgen Sie den Installationsschritten, die das AWS Blu Age-Team im Rahmen Ihrer Kundenbindung mit AWS Professional Services bereitgestellt hat. | App-Developer | 

### Erstellen Sie die Authentifizierungslösung
<a name="build-the-authentication-solution"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktivieren Sie die AWS Blu Age Runtime-Sicherheit, um die AWS Blu Age REST-API-Endpunkte zu schützen. | Konfigurieren Sie die `application-main.yml` Datei, die die AWS Blu Age Runtime verwendet, wie folgt. Ein Beispiel für diese Datei finden Sie im Abschnitt [Code-Repository](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) weiter oben in diesem Muster.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | App-Developer | 
| Integrieren Sie den Beispielcode aus Ihrer lokalen Umgebung in Ihre modernisierte Angular-Codebasis von Blu Age. | Informationen darüber, wie Sie das Beispiel in Ihre modernisierte AWS Blu Age-Angular-Codebasis integrieren können, finden Sie im Abschnitt [Code-Repository weiter](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) oben in diesem Muster. | App-Developer | 
| Platzieren Sie die `oauth2-ext` Bibliothek im gemeinsam genutzten Verzeichnis. | **Platzieren Sie die `oauth2-ext` Bibliothek im**** gemeinsam genutzten Verzeichnis des Anwendungsservers, sodass Ihre modernisierte **AWS **Blu Age-Anwendung sie verwenden kann.**Führen Sie die folgenden Befehle aus:<pre>cd oauth2-ext/target<br />cp extension-oauth-filter-<version>.jar /{app-server-home}/shared/</pre> | App-Developer | 

### Stellen Sie die Authentifizierungslösung bereit
<a name="deploy-the-authentication-solution"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie die Frontend-Anwendung bereit. | Führen Sie die folgenden Befehle aus, um die Frontend-Anwendung lokal zu starten:<pre>npm install <br />ng serve --ssl<br />npm start</pre>Durch das Hinzufügen des `--ssl` Flags zum `ng serve` Befehl wird sichergestellt, dass der Entwicklungsserver HTTPS verwendet, das sicherer als andere Protokolle ist und eine bessere Simulation einer Produktionsumgebung ermöglicht. | App-Developer | 
| Starten Sie die Backend-Anwendung. | Starten Sie den Tomcat-Server in Eclipse. | App-Developer | 

### Testen der Anwendung
<a name="test-the-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie die Anmeldefunktion. | Rufen Sie die lokal bereitgestellte Anwendung unter auf, `http://localhost:4200` um zu überprüfen, ob Benutzer aufgefordert werden, ihre Identität zu bestätigen.HTTP wird hier zu Demonstrationszwecken verwendet. In einer Produktionsumgebung oder einer anderen öffentlich zugänglichen Umgebung müssen Sie aus Sicherheitsgründen HTTPS verwenden. Selbst für die lokale Entwicklung empfehlen wir, dass Sie, wenn möglich, HTTPS einrichten.Die Microsoft-Anmeldeaufforderung sollte angezeigt werden, und Benutzer, die in Microsoft Entra ID konfiguriert sind, sollten auf die Anwendung zugreifen können. | App-Developer | 
| Testen Sie den Autorisierungsheader in der Anfrage. | In den folgenden Schritten wird die [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)Anwendung als Beispiel verwendet. Die Testschritte für andere moderne Anwendungen werden variieren.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | App-Developer | 
| Testen Sie die Abmeldefunktion. | Wählen Sie **Quit**, um sich abzumelden, und versuchen Sie erneut, auf die Anwendung zuzugreifen. Es sollte eine neue Anmeldeaufforderung angezeigt werden. | App-Developer | 

## Fehlerbehebung
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Das von Microsoft Entra ID ausgegebene Token ist nicht mit der Spring Boot OAuth 2.0-Sicherheit kompatibel. | Eine Lösung für das Problem finden Sie im OAuth Blog unter [Microsoft OAuth Entra ID Flow](https://authguidance.com/azure-ad-troubleshooting/). | 
| Allgemeine Fragen zu Tokens. | [Verwenden Sie die Website https://jwt.io/, um den Inhalt eines JWT-Tokens zu dekodieren und anzuzeigen.](https://jwt.io/) | 

## Zugehörige Ressourcen
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-resources"></a>
+ [Informationen zum Refactoring Ihrer Anwendung mithilfe von AWS Blu Age finden Sie in der Dokumentation.AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html)
+ Informationen zur Funktionsweise von OAuth 2.0 finden Sie auf der [OAuth 2.0-Website](https://oauth.net/2/).
+ Einen Überblick über die Microsoft Authentication Library (MSAL) finden Sie in der [Microsoft Entra-Dokumentation](https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview).
+ Informationen zu Benutzerprofilen auf einem AS/400-System finden Sie im [IBM i (AS400) -Tutorial](https://www.go4as400.com/subsystem-jobs-user-profile-in-as400/jobs.aspx?cid=14).
+ Informationen zum Authentifizierungsablauf OAuth 2.0 und OpenID Connect (OIDC) in der Microsoft Identity Platform finden Sie in der Microsoft [Entra-Dokumentation](https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols).

# Integrieren Sie Stonebranch Universal Controller in AWS Mainframe Modernization
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization"></a>

*Vaidy Sankaran und Pablo Alonso Prieto, Amazon Web Services*

*Robert Lemieux und Hüseyin Gomleksizoglu, Stonebranch*

## Zusammenfassung
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-summary"></a>

Hinweis: AWS Mainframe Modernization Der Service (Managed Runtime Environment Experience) steht Neukunden nicht mehr zur Verfügung. Funktionen, die AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS Mainframe Modernization Verfügbarkeit](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Dieses Muster erklärt, wie die [Workload-Orchestrierung des Stonebranch Universal Automation Center (UAC)](https://www.stonebranch.com/stonebranch-platform/universal-automation-center) in den Mainframe-Modernisierungsservice von [Amazon Web Services (AWS)](https://aws.amazon.com/mainframe-modernization/) integriert wird. Der AWS Mainframe Modernization Service migriert und modernisiert Mainframe-Anwendungen in die AWS-Cloud. Es bietet zwei Muster: [AWS Mainframe Modernization Replatform](https://aws.amazon.com/mainframe-modernization/patterns/replatform/) mit Micro Focus Enterprise-Technologie und [AWS Mainframe Modernization Automated Refactor mit AWS](https://aws.amazon.com/mainframe-modernization/patterns/refactor/?mainframe-blogs.sort-by=item.additionalFields.createdDate&mainframe-blogs.sort-order=desc) Blu Age.  

Stonebranch UAC ist eine Echtzeit-IT-Automatisierungs- und Orchestrierungsplattform. UAC wurde entwickelt, um Jobs, Aktivitäten und Workflows in hybriden IT-Systemen zu automatisieren und zu orchestrieren, von On-Premise bis hin zu AWS. Unternehmenskunden, die Mainframe-Systeme verwenden, stellen auf Cloud-zentrierte, modernisierte Infrastrukturen und Anwendungen um. Die Tools und professionellen Services von Stonebranch erleichtern die Migration vorhandener Scheduler und Automatisierungsfunktionen in die AWS-Cloud.

Wenn Sie Ihre Mainframe-Programme mithilfe des AWS Mainframe Modernization Service in die AWS-Cloud migrieren oder modernisieren, können Sie diese Integration nutzen, um die Batch-Planung zu automatisieren, die Agilität zu erhöhen, die Wartung zu verbessern und die Kosten zu senken.

Dieses Muster enthält Anweisungen für die Integration von [Stonebranch Scheduler](https://www.stonebranch.com/) in Mainframe-Anwendungen, die zur Laufzeit des AWS Mainframe Modernization Service Micro Focus Enterprise migriert wurden. Dieses Muster richtet sich an Lösungsarchitekten, Entwickler, Berater, Migrationsspezialisten und andere Personen, die in den Bereichen Migrationen, Modernisierungen, Betrieb oder tätig sind. DevOps

**Angestrebtes Ergebnis**

Dieses Muster konzentriert sich auf die Erzielung der folgenden Zielergebnisse:
+ Die Möglichkeit, Mainframe-Batch-Jobs, die im AWS Mainframe Modernization Service (Microfocus Runtime) ausgeführt werden, von Stonebranch Universal Controller aus zu planen, zu automatisieren und auszuführen.
+ Überwachen Sie die Batch-Prozesse der Anwendung vom Stonebranch Universal Controller aus.
+ Start/Restart/Rerun/StopBatch-Prozesse automatisch oder manuell vom Stonebranch Universal Controller aus.
+ Rufen Sie die Ergebnisse der Batch-Prozesse für die AWS Mainframe-Modernisierung ab.
+ Erfassen Sie die [ CloudWatchAWS-Protokolle](https://aws.amazon.com/cloudwatch/) der Batch-Jobs in Stonebranch Universal Controller.

## Voraussetzungen und Einschränkungen
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Eine Micro Focus [Bank-Demo-Anwendung](https://d1vi4vxke6c2hu.cloudfront.net/demo/bankdemo_runtime.zip) mit Job Control Language (JCL) -Dateien und einem Batch-Prozess, der in einer AWS Mainframe Modernization Service-Umgebung (Micro Focus Runtime) bereitgestellt wird
+ [Grundkenntnisse zum Erstellen und Bereitstellen einer Mainframe-Anwendung, die auf Micro Focus Enterprise Server läuft](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf)
+ Grundkenntnisse über Stonebranch Universal Controller
+ [Stonebranch-Testlizenz (wenden Sie sich an Stonebranch)](https://www.stonebranch.com/)
+ Windows- oder Linux-Instances von Amazon Elastic Compute Cloud (Amazon EC2) (z. B. xlarge) mit mindestens vier Kernen, 8 GB Arbeitsspeicher und 2 GB Festplattenspeicher
+ Apache Tomcat Version 8.5.x oder 9.0.x
+ Oracle Java Runtime Environment (JRE) oder OpenJDK Version 8 oder 11
+ [Amazon Aurora MySQL-kompatible Edition](https://aws.amazon.com/rds/aurora/)
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) -Bucket für das Export-Repository
+ [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) für Agenten Stonebranch Universal Message Service (OMS) -Verbindungen für Hochverfügbarkeit (HA)
+ Installationsdateien für Stonebranch Universal Controller 7.2 Universal Agent 7.2
+ [Vorlage für die Aufgabenplanung](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) von AWS Mainframe Modernization (neueste veröffentlichte Version der ZIP-Datei)

**Einschränkungen**
+ Das Produkt und die Lösung wurden nur mit OpenJDK 8 und 11 getestet und ihre Kompatibilität validiert.
+ Die Aufgabenplanungsvorlage [aws-mainframe-modernization-stonebranch-integration](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) funktioniert nur mit dem AWS Mainframe Modernization Service.
+ Diese Vorlage zur Aufgabenplanung funktioniert nur auf einer Unix-, Linux- oder Windows-Edition von Stonebranch-Agenten.
+ Einige AWS-Services sind nicht in allen AWS-Regionen verfügbar. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie unter [AWS-Services nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie auf der Seite [Service-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Service.

## Architektur
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-architecture"></a>

**Architektur des Zielzustands**

Das folgende Diagramm zeigt die AWS-Beispielumgebung, die für dieses Pilotprojekt erforderlich ist.

![\[Stonebranch UAC interagiert mit der AWS-Mainframe-Modernisierungsumgebung.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4a7bea37-0a5b-4663-902b-9b051e92f0cb.png)


1. Das Stonebranch Universal Automation Center (UAC) umfasst zwei Hauptkomponenten: Universal Controller und Universal Agents. Stonebranch OMS wird als Nachrichtenbus zwischen dem Controller und einzelnen Agenten verwendet.

1. Die Stonebranch UAC-Datenbank wird von Universal Controller verwendet. Die Datenbank kann mit MySQL, Microsoft SQL Server, Oracle oder Aurora MySQL kompatibel sein.

1. AWS Mainframe Modernization Service — Micro Focus-Laufzeitumgebung mit der [bereitgestellten BankDemo Anwendung](https://aws.amazon.com/blogs/aws/modernize-your-mainframe-applications-deploy-them-in-the-cloud/). Die BankDemo Anwendungsdateien werden in einem S3-Bucket gespeichert. Dieser Bucket enthält auch die Mainframe-JCL-Dateien.

1. Stonebranch UAC kann die folgenden Funktionen für den Batchlauf ausführen:

   1. Starten Sie einen Batch-Job mit dem JCL-Dateinamen, der im S3-Bucket vorhanden ist, der mit dem AWS-Mainframe-Modernisierungsservice verknüpft ist.

   1. Rufen Sie den Status des ausgeführten Batch-Jobs ab.

   1. Warten Sie, bis die Batch-Job-Ausführung abgeschlossen ist.

   1. Ruft die Protokolle der Batch-Job-Ausführung ab.

   1. Führen Sie die fehlgeschlagenen Batch-Jobs erneut aus.

   1. Brechen Sie den Batch-Job ab, während der Job ausgeführt wird.

1. Stonebranch UAC kann die folgenden Funktionen für die Anwendung ausführen:

   1. Anwendung starten

   1. Status der Bewerbung abrufen

   1. Warten Sie, bis die Anwendung gestartet oder gestoppt ist

   1. Anwendung beenden

   1. Protokolle des Anwendungsbetriebs abrufen

**Konvertierung von Stonebranch-Jobs**

Das folgende Diagramm zeigt den Prozess der Umstellung von Arbeitsplätzen bei Stonebranch während der Modernisierung. Es wird beschrieben, wie die Jobpläne und Aufgabendefinitionen in ein kompatibles Format konvertiert werden, mit dem Batch-Aufgaben von AWS Mainframe Modernization ausgeführt werden können.

![\[Prozess vom Mainframe bis zur Konvertierung zum Job Scheduler auf Amazon EC2 mit JCL-Dateien in Amazon S3.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4d2ed890-f143-455e-8180-4d967b71c494.png)


1. Für den Konvertierungsprozess werden die Jobdefinitionen aus dem vorhandenen Mainframe-System exportiert.

1. JCL-Dateien können in den S3-Bucket für die Mainframe-Modernisierungsanwendung hochgeladen werden, sodass diese JCL-Dateien vom AWS Mainframe Modernization Service bereitgestellt werden können.

1. Das Konvertierungstool konvertiert die exportierten Auftragsdefinitionen in UAC-Aufgaben.

1. Nachdem alle Aufgabendefinitionen und Jobpläne erstellt wurden, werden diese Objekte in den Universal Controller importiert. Die konvertierten Aufgaben führen dann die Prozesse im AWS Mainframe Modernization Service aus, anstatt sie auf dem Mainframe auszuführen.

**Stonebranch UAC-Architektur**

Das folgende Architekturdiagramm stellt ein active-active-passive Modell eines Universal Controllers mit hoher Verfügbarkeit (HA) dar. Stonebranch UAC wird in mehreren Availability Zones eingesetzt, um hohe Verfügbarkeit zu gewährleisten und Disaster Recovery (DR) zu unterstützen.

![\[Multi-AZ-Umgebung mit DR und Controllern, Amazon EFS, Aurora und einem S3-Bucket für Backups.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/3f94b855-c146-4fcb-902c-5d343438a558.png)


*Universeller Controller*

Zwei Linux-Server werden als Universal Controller bereitgestellt. Beide stellen eine Verbindung zum selben Datenbankendpunkt her. Jeder Server beherbergt eine Universal Controller-Anwendung und OMS. Zum Zeitpunkt der Bereitstellung wird die neueste Version von Universal Controller verwendet.

Die Universal Controller werden in der Tomcat-Webapp als Dokument ROOT bereitgestellt und auf Port 80 bereitgestellt. Diese Bereitstellung erleichtert die Konfiguration des Frontend-Load Balancers.

HTTP über TLS oder HTTPS wird mithilfe des Stonebranch-Platzhalterzertifikats aktiviert (z. B.). `https://customer.stonebranch.cloud` Dadurch wird die Kommunikation zwischen dem Browser und der Anwendung gesichert.

*OMS*

Ein Universal Agent und OMS (Opswise Message Service) befinden sich auf jedem Universal Controller-Server. Alle vom Kunden bereitgestellten Universal Agents sind so eingerichtet, dass sie eine Verbindung zu beiden OMS-Diensten herstellen. OMS fungiert als gemeinsamer Messaging-Dienst zwischen den Universal Agents und dem Universal Controller.

Amazon EFS mountet auf jedem Server ein Spool-Verzeichnis. OMS verwendet dieses gemeinsam genutzte Spool-Verzeichnis, um die Verbindungs- und Aufgabeninformationen von Controllern und Agenten zu speichern. OMS arbeitet in einem Hochverfügbarkeitsmodus. Wenn das aktive OMS ausfällt, hat das passive OMS Zugriff auf alle Daten und nimmt den aktiven Betrieb automatisch wieder auf. Universal Agents erkennen diese Änderung und stellen automatisch eine Verbindung zum neuen aktiven OMS her.

*Datenbank*

Amazon Relational Database Service (Amazon RDS) beherbergt die UAC-Datenbank, deren Engine mit Amazon Aurora MySQL kompatibel ist. Amazon RDS hilft bei der Verwaltung und Bereitstellung von geplanten Backups in regelmäßigen Abständen. Beide Universal Controller-Instances stellen eine Verbindung mit demselben Datenbank-Endpunkt her.

*Load Balancer*

Für jede Instanz wird ein Application Load Balancer eingerichtet. Der Load Balancer leitet den Datenverkehr zu einem bestimmten Zeitpunkt an den aktiven Controller weiter. Ihre Instance-Domainnamen verweisen auf die jeweiligen Load Balancer-Endpunkte.

*URLs*

Jede Ihrer Instances hat eine URL, wie im folgenden Beispiel gezeigt.


| 
| 
| Umgebung | Instance | 
| --- |--- |
| **Produktion** | `customer.stonebranch.cloud` | 
| **Entwicklung (Nichtproduktion)** | `customerdev.stonebranch.cloud` | 
| **Testen (außerhalb der Produktion)** | `customertest.stonebranch.cloud` | 

**Anmerkung**  
  Instanznamen, die nicht zur Produktion verwendet werden, können Ihren Anforderungen entsprechend festgelegt werden.

*Hohe Verfügbarkeit*

Hochverfügbarkeit (HA) ist die Fähigkeit eines Systems, über einen bestimmten Zeitraum kontinuierlich ohne Ausfall zu arbeiten. Zu diesen Ausfällen gehören unter anderem Speicher, Reaktionsverzögerungen bei der Serverkommunikation aufgrund von CPU- oder Speicherproblemen und Netzwerkkonnektivität.

Um die HA-Anforderungen zu erfüllen:
+ Alle EC2-Instances, Datenbanken und anderen Konfigurationen werden in zwei separaten Availability Zones innerhalb derselben AWS-Region gespiegelt.
+ Der Controller wird über ein Amazon Machine Image (AMI) auf zwei Linux-Servern in den beiden Availability Zones bereitgestellt. Wenn Sie beispielsweise in der Region Europa eu-west-1 bereitgestellt werden, haben Sie einen Universal Controller in der Availability Zone eu-west-1a und der Availability Zone eu-west-1c.
+ Jobs dürfen nicht direkt auf den Anwendungsservern ausgeführt werden und es dürfen keine Daten auf diesen Servern gespeichert werden.
+ Der Application Load Balancer führt Integritätsprüfungen auf jedem Universal Controller durch, um den aktiven Controller zu identifizieren und den Datenverkehr an ihn weiterzuleiten. Falls bei einem Server Probleme auftreten, versetzt der Load Balancer den passiven Universal Controller automatisch in einen aktiven Status. Der Load Balancer identifiziert dann die neue aktive Universal Controller-Instanz anhand der Integritätsprüfungen und leitet den Datenverkehr weiter. Der Failover erfolgt innerhalb von vier Minuten ohne Jobverlust, und die Frontend-URL bleibt unverändert.
+ Der Aurora MySQL-kompatible Datenbankdienst speichert Universal Controller-Daten. Für Produktionsumgebungen wird ein Datenbankcluster mit zwei Datenbank-Instances in zwei verschiedenen Availability Zones innerhalb einer einzigen AWS-Region erstellt. Beide Universal Controller verwenden eine Java Database Connectivity (JDBC) -Schnittstelle, die auf einen einzelnen Datenbankcluster-Endpunkt verweist. Falls bei einer Datenbankinstanz Probleme auftreten, verweist der Datenbankcluster-Endpunkt dynamisch auf die fehlerfreie Instanz. Es ist kein manueller Eingriff erforderlich.

*Backup und Löschen*

Stonebranch Universal Controller ist so eingestellt, dass alte Daten nach dem in der Tabelle angegebenen Zeitplan gesichert und gelöscht werden.


| 
| 
| Typ | Plan | 
| --- |--- |
| **Aktivität** | 7 Tage | 
| **Prüfung** | 90 Tage | 
| **Verlauf** | 60 Tage | 

Backup-Daten, die älter als die angegebenen Daten sind, werden in das XML-Format exportiert und im Dateisystem gespeichert. Nach Abschluss des Sicherungsvorgangs werden ältere Daten aus der Datenbank gelöscht und für Produktionsinstanzen bis zu einem Jahr in einem S3-Bucket archiviert.

Sie können diesen Zeitplan in Ihrer Universal Controller-Oberfläche anpassen. Eine Verlängerung dieser Zeitrahmen kann jedoch zu längeren Ausfallzeiten während der Wartung führen.

## Tools
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-tools"></a>

**AWS-Services**
+ [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html) ist eine Cloud-native AWS-Plattform, mit der Sie Ihre Mainframe-Anwendungen auf von AWS verwaltete Laufzeitumgebungen modernisieren können. Er bietet Tools und Ressourcen, die Sie bei der Planung und Implementierung von Migration und Modernisierung unterstützen.
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) bietet Volumes für die Speicherung auf Blockebene, die in Verbindung mit Amazon-EC2-Instances verwendet werden.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) unterstützt Sie bei der Erstellung und Konfiguration gemeinsam genutzter Dateisysteme in der AWS-Cloud.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud. Dieses Muster verwendet Amazon Aurora MySQL-Compatible Edition.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) verteilt eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele. Sie können beispielsweise den Datenverkehr auf Amazon EC2 EC2-Instances, Container und IP-Adressen in einer oder mehreren Availability Zones verteilen. Dieses Muster verwendet einen Application Load Balancer.

**Stonebranch**
+ Das [Universal Automation Center (UAC)](https://stonebranchdocs.atlassian.net/wiki/spaces/SD/pages/239239169/Universal+Automation+Center) ist ein System von Produkten zur Workload-Automatisierung für Unternehmen. Dieses Muster verwendet die folgenden UAC-Komponenten:
  + [Universal Controller](https://www.stonebranch.com/documentation-universal-controller), eine Java-Webanwendung, die in einem Tomcat-Webcontainer ausgeführt wird, ist die Lösung für Enterprise Job Scheduler und Workload Automation Broker von Universal Automation Center. Der Controller bietet eine Benutzeroberfläche zum Erstellen, Überwachen und Konfigurieren von Controller-Informationen, verwaltet die Planungslogik, verarbeitet alle Nachrichten an und von Universal Agents und synchronisiert einen Großteil des Hochverfügbarkeitsbetriebs von Universal Automation Center.
  + [Universal Agent](https://www.stonebranch.com/documentation-universal-agent) ist ein herstellerunabhängiger Planungsagent, der mit dem vorhandenen Job Scheduler auf allen wichtigen Computerplattformen zusammenarbeitet, sowohl auf älteren als auch auf verteilten Computerplattformen. Alle Scheduler, die unter Unixz/Series, i/Series, Linux oder Windows laufen, werden unterstützt.
+ [Universal Agent](https://www.stonebranch.com/documentation-universal-agent) ist ein herstellerunabhängiger Scheduling-Agent, der mit bestehenden Job-Schedulern auf allen wichtigen Computerplattformen zusammenarbeitet, sowohl auf älteren als auch auf verteilten Computerplattformen. Alle Scheduler, die unter Unixz/Series, i/Series, Linux oder Windows laufen, werden unterstützt.
+ [Stonebranch aws-mainframe-modernization-stonebranch -integration AWS Mainframe Modernization Universal Extension](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases) ist die Integrationsvorlage zum Ausführen, Überwachen und erneuten Ausführen von Batch-Jobs auf der AWS Mainframe Modernization Platform.

**Code**

[Der Code für dieses Muster ist im Repository -integration verfügbar. aws-mainframe-modernization-stonebranch](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases/) GitHub 

## Epen
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-epics"></a>

### Installieren Sie Universal Controller und Universal Agent auf Amazon EC2
<a name="install-universal-controller-and-universal-agent-on-amazon-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Laden Sie die Installationsdateien herunter. | Laden Sie die Installation von den Stonebranch-Servern herunter. Wenden Sie sich an Stonebranch, um die Installationsdateien zu erhalten. | Cloud-Architekt | 
| Starten Sie die EC2-Instanz. | Sie benötigen etwa 3 GB zusätzlichen Speicherplatz für die Universal Controller- und Universal Agent-Installationen. Stellen Sie also mindestens 30 GB Festplattenspeicher für die Instanz bereit.Fügen Sie der Sicherheitsgruppe Port 8080 hinzu, damit darauf zugegriffen werden kann. | Cloud-Architekt | 
| Überprüfen Sie die Voraussetzungen. | Gehen Sie vor der Installation wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Cloud-Administrator, Linux-Administrator | 
| Installieren Sie Universal Controller. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Cloud-Architekt, Linux-Administrator | 
| Installieren Sie Universal Agent. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Cloud-Administrator, Linux-Administrator | 
| Fügen Sie OMS zu Universal Controller hinzu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 

### Importieren Sie AWS Mainframe Modernization Universal Extension und erstellen Sie eine Aufgabe
<a name="import-aws-mainframe-modernization-universal-extension-and-create-a-task"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Integrationsvorlage importieren. | Für diesen Schritt benötigen Sie die [AWS Mainframe Modernization Universal Extension](https://github.com/aws-samples/aws-mainframe-modernization-stonebranch-integration/releases). Stellen Sie sicher, dass die neueste veröffentlichte Version der ZIP-Datei heruntergeladen wurde.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html)Nachdem die Integrationsvorlage importiert wurde, werden unter **Verfügbare Services** **AWS Mainframe Modernization Tasks** angezeigt. | Universeller Controller-Administrator | 
| Aktivieren Sie auflösbare Anmeldeinformationen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 
| Starten Sie die Aufgabe. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 

### Testen Sie das Starten eines Batch-Jobs
<a name="test-starting-a-batch-job"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Aufgabe für den Batch-Job. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 
| Starten Sie die Aufgabe. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 

### Erstellen Sie einen Workflow für mehrere Aufgaben
<a name="create-a-workflow-for-multiple-tasks"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Kopieren Sie die Aufgaben. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 
| Aufgaben aktualisieren. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 
| Erstellen Sie einen Workflow. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 
| Überprüfen Sie den Status des Workflows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 

### Beheben Sie fehlgeschlagene Batch-Jobs und führen Sie sie erneut aus
<a name="troubleshoot-failed-batch-jobs-and-rerun"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Korrigieren Sie die fehlgeschlagene Aufgabe und führen Sie sie erneut aus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 

### Aufgaben „Anwendung starten“ und „Anwendung beenden“ erstellen
<a name="create-start-application-and-stop-application-tasks"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie die Aktion „Anwendung starten“. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) | Universeller Controller-Administrator | 

### Eine Aufgabe zum Abbrechen der Batch-Ausführung erstellen
<a name="create-a-cancel-batch-execution-task"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie die Aktion Batch stornieren. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.html) |  | 

## Zugehörige Ressourcen
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-resources"></a>
+ [Universeller Controller](https://stonebranchdocs.atlassian.net/wiki/spaces/UC77/overview)
+ [Universeller Agent](https://stonebranchdocs.atlassian.net/wiki/spaces/UA77/overview)
+ [LDAP-Einstellungen](https://stonebranchdocs.atlassian.net/wiki/spaces/UC77/pages/794552355/LDAP+Settings)
+ [SAML-Single-Sign-On](https://stonebranchdocs.atlassian.net/wiki/spaces/UC77/pages/794553130/SAML+Single+Sign-On)
+ [Xpress-Konvertierungstool](https://www.stonebranch.com/resources/xpress-conversion-windows)

## Zusätzliche Informationen
<a name="integrate-stonebranch-universal-controller-with-aws-mainframe-modernization-additional"></a>

**Symbole im Workflow-Editor**

![\[RUNHELLO-Aufgabe oben, FOOBAR in der Mitte und die restlichen Aufgaben auf der dritten Ebene.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/837430ee-3159-4fe2-8e17-65168294ef1e.png)


**Alle Aufgaben sind miteinander verbunden**

![\[RUNHELLO stellt eine Verbindung zu FOOBAR her, wodurch eine Verbindung zu den drei verbleibenden Aufgaben hergestellt wird.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/fe483348-9a6f-450b-87e6-ceae6b2bdaad.png)


**Status des Workflows**

![\[Die FOOBAR-Aufgabe schlägt fehl und die verbleibenden drei Aufgaben warten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/5ea4e239-fbbe-4fa4-9ffa-b7a9443b7975.png)


# Migrieren und replizieren Sie VSAM-Dateien mit Connect von Precisely zu Amazon RDS oder Amazon MSK
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely"></a>

*Prachi Khanna und Biopathie GOPALSAMY, Amazon Web Services*

## Zusammenfassung
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-summary"></a>

Dieses Muster zeigt Ihnen, wie Sie mithilfe von [Connect](https://www.precisely.com/product/precisely-connect/connect) from Precisely VSAM-Dateien (Virtual Storage Access Method) von einem Mainframe in eine Zielumgebung in der AWS-Cloud migrieren und replizieren. Zu den Zielumgebungen, die in diesem Muster behandelt werden, gehören Amazon Relational Database Service (Amazon RDS) und Amazon Managed Streaming for Apache Kafka (Amazon MSK). Connect verwendet [Change Data Capture (CDC)](https://www.precisely.com/resource-center/productsheets/change-data-capture-with-connect), um Aktualisierungen Ihrer VSAM-Quelldateien kontinuierlich zu überwachen und diese Updates dann in eine oder mehrere Ihrer AWS-Zielumgebungen zu übertragen. Sie können dieses Muster verwenden, um Ihre Ziele im Bereich Anwendungsmodernisierung oder Datenanalyse zu erreichen. Beispielsweise können Sie Connect verwenden, um Ihre VSAM-Anwendungsdateien mit geringer Latenz in die AWS-Cloud zu migrieren, oder Ihre VSAM-Daten zu einem AWS-Data Warehouse oder Data Lake für Analysen migrieren, die Synchronisationslatenzen tolerieren können, die höher sind als für die Anwendungsmodernisierung erforderlich.

## Voraussetzungen und Einschränkungen
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-prereqs"></a>

**Voraussetzungen**
+ [IBM V2R1 oder höher z/OS ](https://www-40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosv2r1-pdf-download?OpenDocument)
+ [CICS Transaction Server für z/OS (CICS TS) V5.1 oder höher (CICS/VSAM-Datenerfassung)](https://www.ibm.com/support/pages/cics-transaction-server-zos-51-detailed-system-requirements)
+ [IBM MQ 8.0 oder höher](https://www.ibm.com/support/pages/downloading-ibm-mq-80)
+ Einhaltung der [z/OS-Sicherheitsanforderungen](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS) (z. B. APF-Autorisierung für SQData Ladebibliotheken)
+ Die VSAM-Wiederherstellungsprotokolle sind aktiviert
+ (Optional) [CICS VSAM Recovery Version (CICS VR) zur automatischen Erfassung von CDC-Protokollen](https://www.ibm.com/docs/en/cics-vr/5.1?topic=started-introducing-cics-vr)
+ Ein aktives AWS-Konto
+ Eine [Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) mit einem Subnetz, das über Ihre Legacy-Plattform erreichbar ist
+ Eine VSAM Connect-Lizenz von Precisely

**Einschränkungen**
+ Connect unterstützt keine automatische Erstellung von Zieltabellen auf der Grundlage von Quell-VSAM-Schemas oder Copybooks. Sie müssen die Zieltabellenstruktur zum ersten Mal definieren.
+ Für Nicht-Streaming-Ziele wie Amazon RDS müssen Sie die Zuordnung von Konvertierungsquelle zu Ziel im Apply Engine-Konfigurationsskript angeben.
+ Protokollierungs-, Überwachungs- und Warnfunktionen werden über externe Komponenten (wie Amazon CloudWatch) implementiert APIs und erfordern, dass sie voll funktionsfähig sind.

**Produktversionen**
+ SQData 40134 für z/OS
+ SQData 4.0.43 für das Amazon Linux Amazon Machine Image (AMI) auf Amazon Elastic Compute Cloud (Amazon) EC2

## Architektur
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-architecture"></a>

**Quelltechnologie-Stack**
+ Sprache zur Jobkontrolle (JCL)
+ z/OS Unix-Shell und Interactive System Productivity Facility (ISPF)
+ VSAM-Dienstprogramme (IDCAMS)

**Zieltechnologie-Stack**
+ Amazon EC2
+ Amazon MSK
+ Amazon RDS
+ Amazon VPC

**Zielarchitektur**

*Migrieren von VSAM-Dateien zu Amazon RDS*

Das folgende Diagramm zeigt, wie VSAM-Dateien in Echtzeit oder nahezu in Echtzeit in eine relationale Datenbank wie Amazon RDS migriert werden, indem das CDC agent/publisher in der Quellumgebung (lokaler Mainframe) und die [Apply Engine](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) in der Zielumgebung (AWS Cloud) verwendet werden.

![\[Diagram showing VSAM file migration from on-premises mainframe to AWS Cloud using CDC and Apply Engine.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/47cefbde-e0c8-4c36-ba48-cccc2c443074.png)


Das Diagramm zeigt den folgenden Batch-Workflow:

1. Connect erfasst Änderungen an einer Datei, indem es VSAM-Dateien mit Backupdateien vergleicht, um Änderungen zu identifizieren, und sendet die Änderungen dann an den Logstream.

1. Der Herausgeber verwendet Daten aus dem System-Logstream.

1. Der Herausgeber übermittelt die erfassten Datenänderungen über TCP/IP an eine Ziel-Engine. Der Controller-Daemon authentifiziert die Kommunikation zwischen der Quell- und der Zielumgebung.

1. Die Apply Engine in der Zielumgebung empfängt die Änderungen vom Publisher-Agent und wendet sie auf eine relationale oder nicht-relationale Datenbank an.

Das Diagramm zeigt den folgenden Online-Workflow:

1. Connect erfasst Änderungen in der Online-Datei mithilfe einer Protokollreplikation und streamt dann die erfassten Änderungen in einen Logstream.

1. Der Herausgeber verwendet Daten aus dem System-Logstream.

1. Der Herausgeber übermittelt die erfassten Datenänderungen über TCP/IP an die Ziel-Engine. Der Controller-Daemon authentifiziert die Kommunikation zwischen der Quell- und der Zielumgebung.

1. Die Apply Engine in der Zielumgebung empfängt die Änderungen vom Publisher-Agent und wendet sie dann auf eine relationale oder nicht-relationale Datenbank an.

*Migrieren von VSAM-Dateien zu Amazon MSK*

Das folgende Diagramm zeigt, wie Sie VSAM-Datenstrukturen im Hochleistungsmodus von einem Mainframe zu Amazon MSK streamen und automatisch JSON- oder AVRO-Schemakonvertierungen generieren, die in Amazon MSK integriert werden.

![\[Diagram showing data flow from on-premises mainframe to AWS Cloud services via Amazon VPC.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/4ee183bd-1c0d-449d-8cdc-eb6e2c41a695/images/13eb27ad-c0d2-489b-91e1-5b2a729fb8dd.png)


Das Diagramm zeigt den folgenden Batch-Workflow:

1. Connect erfasst Änderungen an einer Datei mithilfe von CICS VR oder durch den Vergleich von VSAM-Dateien mit Backupdateien, um Änderungen zu identifizieren. Erfasste Änderungen werden an den Logstream gesendet.

1. Der Herausgeber verwendet Daten aus dem System-Logstream.

1. Der Herausgeber übermittelt die erfassten Datenänderungen über TCP/IP an die Ziel-Engine. Der Controller-Daemon authentifiziert die Kommunikation zwischen der Quell- und der Zielumgebung.

1. Die Replicator Engine, die im Parallelverarbeitungsmodus arbeitet, teilt die Daten in eine Arbeitseinheit auf.

1. Worker-Threads erfassen die Daten aus dem Cache.

1. Daten werden aus den Worker-Threads in Amazon MSK-Themen veröffentlicht.

1. [Benutzer wenden mithilfe von Konnektoren Änderungen von Amazon MSK auf Ziele wie Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) oder Amazon OpenSearch Service an.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

Das Diagramm zeigt den folgenden Online-Workflow:

1. Änderungen in der Online-Datei werden mithilfe eines Protokollreplikats erfasst. Erfasste Änderungen werden in den Logstream gestreamt.

1. Der Herausgeber verwendet Daten aus dem System-Logstream.

1. Der Herausgeber übermittelt die erfassten Datenänderungen über TCP/IP an die Ziel-Engine. Der Controller-Daemon authentifiziert die Kommunikation zwischen der Quell- und der Zielumgebung.

1. Die Replicator Engine, die im Parallelverarbeitungsmodus arbeitet, teilt die Daten in eine Arbeitseinheit auf.

1. Worker-Threads erfassen die Daten aus dem Cache.

1. Daten werden aus den Worker-Threads in Amazon MSK-Themen veröffentlicht.

1. [Benutzer wenden Änderungen von Amazon MSK mithilfe von Konnektoren auf Ziele wie DynamoDB, Amazon S3 oder OpenSearch Service an.](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-connectors.html)

## Tools
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-tools"></a>
+ [Amazon Managed Streaming for Apache Kafka (Amazon MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) ist ein vollständig verwalteter Service, der Sie beim Erstellen und Ausführen von Anwendungen unterstützt, die Apache Kafka zur Verarbeitung von Streaming-Daten verwenden.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud.

## Epen
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-epics"></a>

### Bereiten Sie die Quellumgebung (Mainframe) vor
<a name="prepare-the-source-environment-mainframe"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie Connect CDC 4.1. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM Mainframe-Entwickler/Administrator | 
| Richten Sie das ZFS-Verzeichnis ein. | Um ein ZFS-Verzeichnis einzurichten, folgen Sie den Anweisungen unter [ZFS-Variablenverzeichnisse](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-zOS/Prerequisites-for-z/OS/Security-authorization-requirements-for-z/OS/zFS-variable-directories) in der Dokumentation Precisely.Controller-Daemon- und Capture/Publisher Agentenkonfigurationen werden im Dateisystem der z/OS UNIX Systems Services (als ZFS bezeichnet) gespeichert. Die Agenten Controller Daemon, Capture, Storage und Publisher benötigen eine vordefinierte ZfS-Verzeichnisstruktur zum Speichern einer kleinen Anzahl von Dateien. | IBM Mainframe-Entwickler/Administrator | 
|  TCP/IP Ports konfigurieren. | Folgen Sie zur Konfiguration von TCP/IP Ports den Anweisungen unter [TCP/IP-Ports](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX/Prerequisites-for-UNIX/Security-authorization-requirements-for-UNIX/TCP/IP-ports) in der Dokumentation Precisely.Der Controller-Daemon benötigt TCP/IP Ports auf den Quellsystemen. Die Ports werden von den Engines auf den Zielsystemen referenziert (auf denen die erfassten Änderungsdaten verarbeitet werden). | IBM Mainframe-Entwickler/Administrator | 
| Erstellen Sie einen Logstream. z/OS  | Um einen [z/OS-Logstream](https://www.ibm.com/docs/en/was/8.5.5?topic=SSEQTP_8.5.5/com.ibm.websphere.installation.zseries.doc/ae/cins_logstrm.html) zu erstellen, folgen Sie den Anweisungen unter [Create z/OS system LogStreams](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA) in der Dokumentation Precisely.Connect verwendet den Logstream, um während der Migration Daten zwischen Ihrer Quell- und Zielumgebung zu erfassen und zu streamen.Ein Beispiel für eine JCL, die eine erstellt z/OS LogStream, finden Sie unter [Create z/OS system LogStreams](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-TM-EXIT-capture/Prepare-environment/Create-z/OS-system-logStreams?tocId=wy6243SXlIiEczwR8JE8WA) in der Dokumentation Precisely. | IBM Mainframe-Entwickler | 
| Identifizieren und autorisieren Sie IDs für ZFS-Benutzer und gestartete Aufgaben. | Verwenden Sie RACF, um Zugriff auf das OMVS ZfS-Dateisystem zu gewähren. Ein Beispiel für eine JCL finden Sie in der Dokumentation Precisely unter [Identifizieren und Autorisieren des ZFS-Benutzers und der gestarteten Aufgabe](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/IMS-z/OS/IMS-log-reader-capture/Prepare-environment/Identify-and-authorize-zFS-user-and-started-task-IDs?tocId=MrBXpFu~N0iAy~8VTrH0tQ). IDs | IBM Mainframe-Entwickler/Administrator | 
| Generieren Sie z/OS öffentliche/private Schlüssel und die autorisierte Schlüsseldatei. | Führen Sie die JCL aus, um das key pair zu generieren. Ein Beispiel finden Sie unter *Schlüsselpaar-Beispiel* im Abschnitt *Zusätzliche Informationen* dieses Musters.Anweisungen finden Sie in der Dokumentation Precisely unter [Generieren z/OS öffentlicher und privater Schlüssel und autorisierter Schlüsseldatei](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Db2-z/OS/Prepare-the-environment/Generate-z/OS-public-and-private-keys-and-authorized-key-file?tocId=fceE77dWT8smZsSaE~FeMQ). | IBM Mainframe-Entwickler/Administrator | 
| Aktivieren Sie das CICS VSAM Log Replicate und hängen Sie es an den Logstream an. | Führen Sie das folgende JCL-Skript aus:<pre> //STEP1 EXEC PGM=IDCAMS<br /> //SYSPRINT DD SYSOUT=*<br /> //SYSIN DD *<br />   ALTER SQDATA.CICS.FILEA -<br />   LOGSTREAMID(SQDATA.VSAMCDC.LOG1) -<br />   LOGREPLICATE</pre> | IBM Mainframe-Entwickler/Administrator | 
| Aktivieren Sie das VSAM-Dateiwiederherstellungsprotokoll über ein FCT. | Ändern Sie die File Control Table (FCT), um die folgenden Parameteränderungen widerzuspiegeln:<pre> Configure FCT Parms<br />   CEDA ALT FILE(name) GROUP(groupname)<br />   DSNAME(data set name)<br />   RECOVERY(NONE|BACKOUTONLY|ALL)<br />   FWDRECOVLOG(NO|1–99)<br />   BACKUPTYPE(STATIC|DYNAMIC)<br />   RECOVERY PARAMETERS<br />   RECOVery : None | Backoutonly | All<br />   Fwdrecovlog : No | 1-99<br />   BAckuptype : Static | Dynamic</pre> | IBM Mainframe-Entwickler/Administrator | 
| Richten Sie CDCz Log für den Publisher-Agent ein. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM Mainframe-Entwickler/Administrator | 
| Aktivieren Sie den Controller-Daemon. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM Mainframe-Entwickler/Administrator | 
| Aktivieren Sie den Herausgeber. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM Mainframe-Entwickler/Administrator | 
| Aktivieren Sie den Logstream. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM Mainframe-Entwickler/Administrator | 

### Bereiten Sie die Zielumgebung vor (AWS)
<a name="prepare-the-target-environment-aws"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Genau auf einer EC2 Instanz installieren. | Um Connect von Precisely auf dem Amazon Linux AMI für Amazon zu installieren EC2, folgen Sie den Anweisungen unter [Connect CDC (SQData) unter UNIX installieren](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Installation/Install-Connect-CDC-SQData-on-UNIX) in der Dokumentation Precisely. | Allgemeines AWS | 
|  TCP/IP Ports öffnen. | Um die Sicherheitsgruppe so zu ändern, dass sie die Controller-Daemon-Ports für eingehenden und ausgehenden Zugriff enthält, folgen Sie den Anweisungen unter [TCP/IP](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/Change-data-capture/Transient-storage-and-publishing/TCP/IP) in der Dokumentation von Precisely. | Allgemeines AWS | 
| Erstellen Sie Dateiverzeichnisse. | Um Dateiverzeichnisse zu erstellen, folgen Sie den Anweisungen unter [Prepare target apply environment](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-targets/Kafka/Prepare-target-apply-environment) in der Dokumentation Precisely. | Allgemeines AWS | 
| Erstellen Sie die Apply Engine-Konfigurationsdatei. | Erstellen Sie die Apply Engine-Konfigurationsdatei im Arbeitsverzeichnis der Apply Engine. Die folgende Beispielkonfigurationsdatei zeigt Apache Kafka als Ziel:<pre>builtin.features=SASL_SCRAM<br />  security.protocol=SASL_SSL<br />  sasl.mechanism=SCRAM-SHA-512<br />  sasl.username=<br />  sasl.password=<br />  metadata.broker.list=</pre>Weitere Informationen finden Sie unter [Sicherheit](https://kafka.apache.org/documentation/#security) in der Apache Kafka-Dokumentation. | Allgemeines AWS | 
| Erstellen Sie Skripts für die Apply Engine-Verarbeitung. | Erstellen Sie die Skripts für die Apply Engine, um Quelldaten zu verarbeiten und Quelldaten auf das Ziel zu replizieren. Weitere Informationen finden Sie in der Dokumentation Precisely unter [Erstellen eines Apply-Engine-Skripts](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Create-an-apply-engine-script). | Allgemeines AWS | 
| Führen Sie die Skripte aus. | Verwenden Sie die `SQDENG` Befehle `SQDPARSE` und, um das Skript auszuführen. Weitere Informationen finden Sie unter [Parse a script for zOS](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine/Apply-engine-script-development/Parse-a-script/Parse-a-script-for-zOS) in der Precisely Dokumentation. | Allgemeines AWS | 

### Validieren Sie die Umgebung
<a name="validate-the-environment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Überprüfen Sie die Liste der VSAM-Dateien und Zieltabellen für die CDC-Verarbeitung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Allgemein AWS, Mainframe | 
| Stellen Sie sicher, dass das Connect SQData CDC-Produkt verknüpft ist. | Führen Sie einen Testauftrag aus und stellen Sie sicher, dass der Rückgabecode für diesen Job 0 (erfolgreich) lautet.Die Statusmeldungen der Connect CDC SQData Apply Engine sollten aktive Verbindungsmeldungen anzeigen. | Allgemein AWS, Mainframe | 

### Testfälle ausführen und validieren (Batch)
<a name="run-and-validate-test-cases-batch"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie den Batch-Job auf dem Mainframe aus. | Führen Sie den Batch-Anwendungsauftrag mit einer modifizierten JCL aus. Fügen Sie Schritte in die modifizierte JCL ein, die Folgendes bewirken:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Allgemein AWS, Mainframe | 
| Überprüfen Sie den Logstream. | Überprüfen Sie den Logstream, um sicherzustellen, dass Sie die Änderungsdaten für den abgeschlossenen Mainframe-Batch-Job sehen können. | Allgemein AWS, Mainframe | 
| Überprüfen Sie die Anzahl der Quell-Delta-Änderungen und der Zieltabelle. | Gehen Sie wie folgt vor, um zu überprüfen, ob die Datensätze gezählt wurden:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | Allgemein AWS, Mainframe | 

### Testfälle ausführen und validieren (online)
<a name="run-and-validate-test-cases-online"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie die Online-Transaktion in einer CICS-Region aus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely.html) | IBM Mainframe-Entwickler | 
| Überprüfen Sie den Logstream. | Vergewissern Sie sich, dass der Logstream mit bestimmten Änderungen auf Datensatzebene gefüllt ist. | AWS-Mainframe-Entwickler | 
| Überprüfen Sie die Anzahl in der Zieldatenbank. | Überwachen Sie die Apply Engine auf Zählungen auf Datensatzebene. | Genau, Linux | 
| Überprüfen Sie die Anzahl der Datensätze und Datensätze in der Zieldatenbank. | Fragen Sie die Zieldatenbank ab, um die Anzahl der Datensätze und Datensätze zu überprüfen. | Allgemeines AWS | 

## Zugehörige Ressourcen
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-resources"></a>
+ [VSAM z/OS (Genaue](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Setup-and-configure-sources/VSAM-z/OS) Dokumentation)
+ [Engine anwenden](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Apply-engine) (Präzise Dokumentation)
+ [Replicator-Engine](https://help.precisely.com/r/Connect-CDC-SQData/4.1.43/en-US/Connect-CDC-SQData-Help/Source-and-Target-Configuration/Replicator-engine) (Präzise Dokumentation)
+ [Der Log-Stream](https://www.ibm.com/docs/en/zos/2.3.0?topic=logger-log-stream) (IBM-Dokumentation)

## Zusätzliche Informationen
<a name="migrate-and-replicate-vsam-files-to-amazon-rds-or-amazon-msk-using-connect-from-precisely-additional"></a>

**Beispiel für eine Konfigurationsdatei**

Dies ist eine Beispielkonfigurationsdatei für einen Logstream, bei dem die Quellumgebung ein Mainframe und die Zielumgebung Amazon MSK ist:

```
 
  -- JOBNAME -- PASS THE SUBSCRIBER NAME
  -- REPORT  progress report will be produced after "n" (number) of Source records processed.
  
  JOBNAME VSMTOKFK;
  --REPORT EVERY 100;
  -- Change Op has been ‘I’ for insert, ‘D’ for delete , and ‘R’ for Replace. For RDS it is 'U' for update
  -- Character Encoding on z/OS is Code Page 1047, on Linux and UNIX it is Code Page 819 and on Windows, Code Page 1252
  OPTIONS
  CDCOP('I', 'U', 'D'),
  PSEUDO NULL = NO,
  USE AVRO COMPATIBLE NAMES,
  APPLICATION ENCODING SCHEME = 1208;
  
  --       SOURCE DESCRIPTIONS
  
  BEGIN GROUP VSAM_SRC;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       TARGET DESCRIPTIONS
  
  BEGIN GROUP VSAM_TGT;
  DESCRIPTION COBOL ../copybk/ACCOUNT AS account_file;
  END GROUP;
  
  --       SOURCE DATASTORE (IP & Publisher name)
  
  DATASTORE cdc://10.81.148.4:2626/vsmcdct/VSMTOKFK
  OF VSAMCDC
  AS CDCIN
  DESCRIBED BY GROUP VSAM_SRC ACCEPT ALL;
  
  --       TARGET DATASTORE(s) - Kafka and topic name
  
  DATASTORE 'kafka:///MSKTutorialTopic/key'
  OF JSON
  AS CDCOUT
  DESCRIBED BY GROUP VSAM_TGT FOR INSERT;
  
  --       MAIN SECTION
  
  PROCESS INTO
  CDCOUT
  SELECT
  {
  SETURL(CDCOUT, 'kafka:///MSKTutorialTopic/key')
  REMAP(CDCIN, account_file, GET_RAW_RECORD(CDCIN, AFTER), GET_RAW_RECORD(CDCIN, BEFORE))
  REPLICATE(CDCOUT, account_file)
  }
  FROM CDCIN;
```

**Beispiel für ein Schlüsselpaar**

Dies ist ein Beispiel dafür, wie die JCL ausgeführt wird, um das key pair zu generieren:

```
//SQDUTIL EXEC PGM=SQDUTIL //SQDPUBL DD DSN=&USER..NACL.PUBLIC, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPKEY DD DSN=&USER..NACL.PRIVATE, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=21200), // DISP=(,CATLG,DELETE),UNIT=SYSDA, // SPACE=(TRK,(1,1)) //SQDPARMS DD  keygen //SYSPRINT DD SYSOUT= //SYSOUT DD SYSOUT=* //SQDLOG DD SYSOUT=* //*SQDLOG8 DD DUMMY
```

# Modernisieren Sie die CardDemo Mainframe-Anwendung mithilfe von AWS Transform
<a name="modernize-carddemo-mainframe-app"></a>

*Santosh Kumar Singh und Cheryl du Preez, Amazon Web Services*

## Zusammenfassung
<a name="modernize-carddemo-mainframe-app-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)wurde entwickelt, um die Modernisierung von Mainframe-Anwendungen zu beschleunigen. Es verwendet generative KI, um den Mainframe-Modernisierungsprozess zu rationalisieren. Es automatisiert komplexe Aufgaben wie: Analyse von Legacy-Code, Mainframe-Dokumentation, Extraktion von Geschäftsregeln, Zerlegung monolithischer Anwendungen in Geschäftsdomänen und Code-Refactoring. Es beschleunigt Modernisierungsprojekte durch die Automatisierung komplexer Aufgaben wie Anwendungsanalyse und Planung der Migrationssequenz. Bei der Zerlegung monolithischer Anwendungen erfolgt eine AWS Transform intelligente Sequenzierung der Mainframe-Anwendungstransformation, sodass Sie Geschäftsfunktionen parallel transformieren können. AWS Transform kann die Entscheidungsfindung beschleunigen und die betriebliche Flexibilität und Migrationseffizienz verbessern.

Dieses Muster enthält step-by-step Anleitungen, mit denen Sie die Möglichkeiten zur Mainframe-Modernisierung von AWS Transform by using [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)testen können. Dabei handelt es sich um ein Beispiel für eine Open-Source-Mainframe-Anwendung.

## Voraussetzungen und Einschränkungen
<a name="modernize-carddemo-mainframe-app-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver AWS-Konto
+ AWS IAM Identity Center, [aktiviert](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ [Berechtigungen](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-enable-transform), mit denen Administratoren Folgendes aktivieren können AWS Transform
+ [Berechtigungen](https://docs.aws.amazon.com/transform/latest/userguide/security_iam_id-based-policy-examples.html#id-based-policy-examples-admin-connector), die es Administratoren ermöglichen, Verbindungsanfragen von Amazon Simple Storage Service (Amazon S3) für die AWS Transform Webanwendung anzunehmen

**Einschränkungen**
+ AWS Transform ist nur in einigen Fällen verfügbar AWS-Regionen. Eine vollständige Liste der unterstützten Regionen finden Sie unter [Unterstützte Regionen für AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ AWS Transform unterstützt Codeanalyse, Dokumentgenerierung, Extraktion, Dekomposition und Refactoring von Common Business-Oriented Language (COBOL) auf Java. Weitere Informationen finden Sie unter [Funktionen und Hauptfunktionen und](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-features) [Unterstützte Dateitypen](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-supported-files) für die Transformation von Mainframe-Anwendungen.
+ Es gibt ein Servicekontingent für Mainframe-Transformationsfunktionen in. AWS Transform Weitere Informationen finden Sie unter [Kontingente für AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ Um in einem gemeinsamen Arbeitsbereich zusammenarbeiten zu können, 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 S3 S3-Bucket AWS Transform muss sich in derselben AWS-Konto Region befinden.

## Architektur
<a name="modernize-carddemo-mainframe-app-architecture"></a>

Das folgende Diagramm zeigt die Architektur, die Sie nach diesem Muster eingerichtet haben.

![\[Verwendung von AWS Transform zur Modernisierung einer Mainframe-Anwendung, die in einem Amazon S3 S3-Bucket gespeichert ist.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/0e539474-b733-452d-b0fb-6b3f4cbd5075/images/75be6d78-5b43-448c-ad07-bf74b9ae14ad.png)


Das Diagramm zeigt den folgenden Workflow:

1. AWS Transform verwendet einen Connector für den Zugriff auf die CardDemo Mainframe-Anwendung, die in einem Amazon S3 S3-Bucket gespeichert ist.

1. AWS Transform verwendet AWS IAM Identity Center , um den Benutzerzugriff und die Authentifizierung zu verwalten. Das System implementiert mehrere Ebenen von Sicherheitskontrollen für Authentifizierung, Autorisierung, Verschlüsselung und Zugriffsverwaltung, um Code und Artefakte während der Verarbeitung zu schützen. Benutzer interagieren mit dem AWS Transform Agenten über eine Chat-Oberfläche. Sie können dem KI-Agenten Anweisungen für bestimmte Aufgaben auf Englisch geben. Weitere Informationen finden Sie in der AWS Transform Dokumentation unter [Human in the Loop (HITL)](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html#transform-app-mainframe-hitl).

1. Der KI-Agent interpretiert die Anweisungen des Benutzers, erstellt einen Jobplan, unterteilt den Job in ausführbare Aufgaben und führt ihn selbstständig aus. Benutzer können die Transformation überprüfen und genehmigen. Zu den Transformationsaufgaben gehören die folgenden:
   + **Codeanalyse** — AWS Transform analysiert den Code in jeder Datei auf Details wie Dateiname, Dateityp, Codezeilen und deren Pfade. Der Agent analysiert den Quellcode, führt Klassifizierungen durch, erstellt Abhängigkeitszuordnungen und identifiziert alle fehlenden Artefakte. Er identifiziert auch doppelte Komponenten.
   + **Dokumentgenerierung** — AWS Transform generiert Dokumentation für die Mainframe-Anwendung. Durch die Analyse des Codes kann automatisch eine detaillierte Dokumentation der Anwendungsprogramme erstellt werden, einschließlich Beschreibungen der Geschäftslogik, Abläufe, Integrationen und Abhängigkeiten, die in Ihren Altsystemen vorhanden sind.
   + **Extraktion von Geschäftslogik** — AWS Transform analysiert COBOL-Programme, um deren Kerngeschäftslogik zu dokumentieren und Ihnen zu helfen, die grundlegende Geschäftslogik zu verstehen.
   + **Codezerlegung** — AWS Transform zerlegt den Code in Domänen, die Abhängigkeiten zwischen Programmen und Komponenten berücksichtigen. Die Gruppierung verwandter Dateien und Programme innerhalb derselben Domäne verbessert die Organisation und trägt dazu bei, die logische Struktur der Anwendung beizubehalten, wenn sie in kleinere Komponenten aufgeteilt wird.
   + **Planung von Migrationswellen** — Basierend auf den Domänen, die Sie während der Zerlegungsphase erstellt haben, wird ein Migrationswellenplan mit der empfohlenen Modernisierungsreihenfolge AWS Transform generiert.
   + **Code-Refactoring** — AWS Transform Refaktorierung des Codes in allen oder ausgewählten Domaindateien in Java-Code. Ziel dieses Schritts ist es, die kritische Geschäftslogik der Anwendung beizubehalten und sie gleichzeitig in eine modernisierte, Cloud-optimierte Java-Anwendung umzuwandeln.

1. AWS Transform speichert den umgestalteten Code, die generierten Dokumente, die zugehörigen Artefakte und die Laufzeitbibliotheken in Ihrem Amazon S3 S3-Bucket. Sie haben die folgenden Möglichkeiten:
   + Greifen Sie auf den Runtime-Ordner in Ihrem Amazon S3 S3-Bucket zu.
   + Folgen Sie beim Erstellen und Bereitstellen der Anwendung den Anweisungen zum [Erstellen und Bereitstellen Ihrer modernisierten Anwendung nach dem Refactoring](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow-build-deploy.html) in der Dokumentation. AWS Transform 
   + Fordern Sie über die Chat-Oberfläche ein Beispiel AWS CloudFormation oder eine Hashicorp Terraform-Vorlage an und laden Sie sie herunter. AWS Cloud Development Kit (AWS CDK) Diese Vorlagen können Ihnen dabei helfen, die AWS Ressourcen bereitzustellen, die zur Unterstützung der umgestalteten Anwendung erforderlich sind.
   + Verwenden Sie [Reforge](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-reforge), um die Qualität von umgestaltetem Code mithilfe umfangreicher Sprachmodelle () zu verbessern. LLMs Die Refactoring-Engine bewahrt die funktionale Äquivalenz von COBOL und wandelt es gleichzeitig in Java-Code um. Reforge ist ein optionaler Schritt, der nach der Transformation verfügbar ist. In diesem Schritt wird der Code so umstrukturiert LLMs , dass er dem nativen Java sehr ähnlich ist, was die Lesbarkeit und Wartbarkeit verbessern kann. Reforge fügt außerdem menschenlesbare Kommentare hinzu, um Ihnen das Verständnis des Codes zu erleichtern, und implementiert moderne Codierungsmuster und bewährte Methoden.

## Tools
<a name="modernize-carddemo-mainframe-app-tools"></a>

**AWS-Services**
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)verwendet agentische KI, um Ihnen zu helfen, die Modernisierung älterer Workloads wie .NET, Mainframe und Workloads zu beschleunigen. VMware 
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)hilft Ihnen dabei, den Single Sign-On-Zugriff (SSO) auf Ihre und Cloud-Anwendungen zentral zu verwalten. AWS-Konten 
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

**Code-Repository**

Sie können die AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)Open-Source-Mainframe-Anwendung als Beispielanwendung verwenden, um mit der Mainframe-Modernisierung zu beginnen.

## Best Practices
<a name="modernize-carddemo-mainframe-app-best-practices"></a>
+ **Klein anfangen** — Beginnen Sie mit kleinem, weniger komplexem Code (15.000—20.000 Codezeilen), um zu verstehen, wie Mainframe-Anwendungen AWS Transform analysiert und transformiert werden.
+ **Kombinieren Sie es mit menschlichem Fachwissen** — Nutzen Sie es AWS Transform als Beschleuniger und setzen Sie gleichzeitig menschliches Fachwissen ein, um optimale Ergebnisse zu erzielen.
+ **Gründlich prüfen und testen** — Überprüfen Sie den transformierten Code immer sorgfältig und führen Sie umfassende Tests durch, um die funktionale Gleichwertigkeit nach der Transformation zu überprüfen.
+ **Feedback geben** — Um Feedback und Verbesserungsvorschläge zu geben, verwenden Sie die Schaltfläche **Feedback senden** im AWS-Managementkonsole oder erstellen Sie einen Fall mit. [AWS Support](https://support.console.aws.amazon.com/) Weitere Informationen finden Sie unter [Erstellen eines Supportfalls](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html). Ihr Beitrag ist wertvoll für Serviceverbesserungen und future Entwicklungen.

## Epen
<a name="modernize-carddemo-mainframe-app-epics"></a>

### Bereiten Sie die Mainframe-Anwendung vor
<a name="prepare-the-mainframe-application"></a>


| Aufgabe | Description | Erforderliche 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 zum Speichern des Mainframe-Anwendungscodes und AWS Transform diesen Bucket zum Speichern der generierten Dokumente, des umgestalteten Codes und anderer mit der Transformation verknüpfter Dateien. Anweisungen finden Sie in der Amazon S3 S3-Dokumentation unter [Bucket erstellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Allgemeines AWS | 
| Bereiten Sie die Mainframe-Beispielanwendung vor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | App-Entwickler, Ingenieur DevOps  | 

### Konfigurieren Sie IAM Identity Center und AWS Transform
<a name="configure-sso-and-trn"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Fügen Sie Benutzer zum IAM Identity Center hinzu. | Fügen Sie Ihre potenziellen Benutzer zum IAM Identity Center hinzu. Folgen Sie den Anweisungen unter [Hinzufügen von Benutzern in IAM Identity Center](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html#transform-add-idc-users) in der AWS Transform Dokumentation. | AWS-Administrator | 
| Benutzer aktivieren AWS Transform und hinzufügen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | AWS-Administrator | 
| Konfigurieren Sie den Benutzerzugriff auf die AWS Transform Webanwendung. | Jeder Benutzer muss die Einladung annehmen, um auf die AWS Transform Webanwendung zuzugreifen. Folgen Sie den Anweisungen in [der AWS Transform Dokumentation unter Annahme der Einladung](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-invitation). | App-Entwickler, App-Besitzer | 
| Loggen Sie sich in die AWS Transform Webanwendung ein. | Folgen Sie den Anweisungen [unter Anmelden bei AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-onboarding.html#transform-user-signin). | App-Entwickler, App-Besitzer | 
| Richten Sie einen Workspace ein. | Richten Sie einen Arbeitsbereich ein, in dem Benutzer in der AWS Transform Webanwendung zusammenarbeiten können. Folgen Sie den Anweisungen unter [Starten Sie Ihr Projekt](https://docs.aws.amazon.com/transform/latest/userguide/transform-environment.html#start-workflow) in der AWS Transform Dokumentation. | AWS-Administrator | 

### Transformieren Sie die Mainframe-Anwendung
<a name="transform-the-mainframe-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen Transformationsjob. | Erstellen Sie einen Transformationsjob, um die CardDemo Mainframe-Anwendung zu modernisieren. Anweisungen finden Sie in der Dokumentation unter [Einen Job erstellen und starten](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-start-job). AWS Transform Wenn Sie in der AWS Transform Chat-Oberfläche aufgefordert werden, die Ziele festzulegen, wählen Sie **Mainframe-Modernisierung durchführen (IBM z/OS to AWS)** und dann **Code analysieren, Technische Dokumentation generieren, Geschäftslogik, Code zerlegen, Migrationssequenz planen und Code in Java umwandeln** aus. | App-Entwickler, App-Besitzer | 
| Richten Sie den Connector ein. | Richten Sie einen Connector zum Amazon S3 S3-Bucket ein, der die CardDemo Mainframe-Anwendung enthält. Dieser Konnektor ermöglicht AWS Transform den Zugriff auf Ressourcen im Bucket und die Ausführung aufeinanderfolgender Transformationsfunktionen. Anweisungen finden Sie in der AWS Transform Dokumentation unter [Einen Konnektor einrichten](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector). | AWS-Administrator | 
| Führen Sie eine Codeanalyse durch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Weitere Informationen finden Sie in der AWS Transform Dokumentation unter [Codeanalyse](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-code-analysis). | App-Entwickler, App-Besitzer | 
| Generieren Sie technische Dokumentation. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Weitere Informationen finden Sie in der [Dokumentation unter Generieren von technischer](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-generate-documentation) AWS Transform Dokumentation. | App-Entwickler, App-Besitzer | 
| Extrahieren Sie die Geschäftslogik. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Weitere Informationen finden Sie in der AWS Transform Dokumentation unter [Geschäftslogik extrahieren](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic). | App-Entwickler, App-Besitzer | 
| Zerlegen Sie den Code. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Weitere Informationen zu Zersetzung und Samen finden Sie in der Dokumentation unter [Zersetzung](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-decomposition). AWS Transform  | App-Entwickler, App-Besitzer | 
| Planen Sie die Migrationswellen. | Planen Sie die Migrationswellen für die CardDemo Anwendung. Folgen Sie den Anweisungen unter [Planung der Migrationswelle](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-wave-planning) in der AWS Transform Dokumentation, um den Wellenplan zu überprüfen und zu bearbeiten. | App-Entwickler, App-Besitzer | 
| Refaktorieren Sie den Code. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html) | App-Entwickler, App-Besitzer | 
| (Optional) Verwenden Sie Reforge, um den Java-Code zu verbessern. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Weitere Informationen finden Sie in der AWS Transform Dokumentation unter [Reforge](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-refactor-code-reforge). | App-Entwickler, App-Besitzer | 
| Rationalisieren Sie die Bereitstellung. | AWS Transform kann IaC-Vorlagen (Infrastructure as Code) für CloudFormation AWS CDK, oder Terraform bereitstellen. Diese Vorlagen helfen Ihnen bei der Bereitstellung von Kernkomponenten, einschließlich Rechen-, Datenbank-, Speicher- und Sicherheitsressourcen.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)Weitere Informationen finden Sie in der Dokumentation unter [Bereitstellungsfunktionen](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-features-deployment). AWS Transform  | App-Entwickler, App-Besitzer | 

## Fehlerbehebung
<a name="modernize-carddemo-mainframe-app-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Sie können den Quellcode oder das generierte Dokument in der AWS Transform Webanwendung nicht anzeigen. | Fügen Sie der CORS-Berechtigung eine Richtlinie hinzu, die der Amazon S3 S3-Bucket AWS Transform als Ursprung zulassen soll. Weitere Informationen finden Sie in der Dokumentation unter [CORS-Berechtigungen für den AWS Transform S3-Bucket](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3). | 

## Zugehörige Ressourcen
<a name="modernize-carddemo-mainframe-app-resources"></a>

**AWS Dokumentation**
+ [Transformation von Mainframe-Anwendungen](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html) (AWS Transform Dokumentation)

**Andere Ressourcen AWS **
+ [Beschleunigen Sie Ihre Mainframe-Modernisierung mithilfe von KI-Agenten mit AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/) (AWS Blogbeitrag)
+ [AWS Transform FAQs](https://aws.amazon.com/transform/faq/)
+ [AWS IAM Identity Center FAQs](https://aws.amazon.com/iam/identity-center/faqs/)

**Videos und Tutorials**
+ [Einführung in Amazon Q Developer: Transform](https://explore.skillbuilder.aws/learn/courses/21893/aws-flash-introduction-to-amazon-q-developer-transform) (AWS Skill Builder)
+ [AWS re:Invent 2024 — Schnellere Modernisierung von Mainframe-Anwendungen mit Amazon](https://www.youtube.com/watch?v=pSi0XtYfY4o) Q Developer () YouTube
+ [AWS re:Invent 2024 — Automatisierung von Migration und Modernisierung zur](https://www.youtube.com/watch?v=9FjxnEoH5wg) Beschleunigung der Transformation () YouTube
+ [AWS re:Invent 2024 — Toyota treibt Innovationen voran und verbessert die betriebliche Effizienz](https://www.youtube.com/watch?v=_NXc1MJenw4) mit KI der Generation () YouTube

**Anmerkung**  
AWS Transform war zuvor als *Amazon Q Developer Transform for Mainframe* bekannt.

# Modernisieren und implementieren Sie Mainframe-Anwendungen mithilfe von Terraform AWS Transform
<a name="modernize-mainframe-app-transform-terraform"></a>

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

## Zusammenfassung
<a name="modernize-mainframe-app-transform-terraform-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)kann 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](https://developer.hashicorp.com/terraform/intro) Diese step-by-step Anweisungen helfen Ihnen bei der Transformation [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), bei der es sich um eine Open-Source-Mainframe-Beispielanwendung handelt, von COBOL zu einer modernen Java-Anwendung.

## Voraussetzungen und Einschränkungen
<a name="modernize-mainframe-app-transform-terraform-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver AWS-Konto
+ Administratorberechtigungen zum Erstellen von AWS Ressourcen und zum Bereitstellen von Anwendungen
+ [Terraform Version 1.5.7 oder höher, konfiguriert](https://developer.hashicorp.com/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
+ AWS [Anbieter für Terraform, konfiguriert](https://registry.terraform.io/providers/hashicorp/aws/2.36.0/docs#authentication)
+ AWS IAM Identity Center[, aktiviert](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ AWS Transform, [aktiviert](https://docs.aws.amazon.com/transform/latest/userguide/getting-started.html)
+ Ein Benutzer, der in [einen AWS Transform Workspace mit einer Mitwirkendenrolle aufgenommen wurde](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html) und Transformationsjobs ausführen kann

**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](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ Es gibt ein Servicekontingent für Mainframe-Transformationsfunktionen in AWS Transform. Weitere Informationen finden Sie unter [Kontingente für AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ 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
<a name="modernize-mainframe-app-transform-terraform-architecture"></a>

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.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/78bc1e6e-cd3d-4c6d-ae4b-0675a6898fd9/images/332ccf35-f55a-449e-a05d-7e321b3867b7.png)


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

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

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

1. 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 EC2 EC2-Instance bereit.

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

## Tools
<a name="modernize-mainframe-app-transform-terraform-tools"></a>

**AWS-Services**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) bietet sichere und 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 Amazon EC2 EC2-Instances installiert.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)hilft Ihnen dabei, den Single Sign-On-Zugriff (SSO) auf Ihre AWS-Konten und Cloud-Anwendungen zentral zu verwalten.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der. AWS Cloud
+ Mit [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)verwendet agentische KI, um Ihnen zu helfen, die Modernisierung älterer Workloads wie .NET, Mainframe und Workloads zu beschleunigen. VMware 

**Andere Tools**
+ [Apache Maven](https://maven.apache.org/) ist ein Open-Source-Software-Projektmanagement- und Build-Automatisierungstool für Java-Projekte.
+ [Apache Tomcat](https://tomcat.apache.org/) ist ein Open-Source-Servlet-Container und Webserver für Java-Code.
+ [HashiCorp Terraform](https://www.terraform.io/docs) ist ein IaC-Tool (Infrastructure as Code), mit dem Sie mithilfe von Code Cloud-Infrastruktur und -Ressourcen bereitstellen und verwalten können.
+ [Spring Boot](https://spring.io/projects/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](https://github.com/aws-samples/sample-mainframe-transformation-e2e) verfügbar. Dieses Muster verwendet die AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)Open-Source-Mainframe-Anwendung als Beispielanwendung.

## Best Practices
<a name="modernize-mainframe-app-transform-terraform-best-practices"></a>
+ 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
<a name="modernize-mainframe-app-transform-terraform-epics"></a>

### Bereiten Sie den Mainframe-Anwendungscode vor und laden Sie ihn hoch
<a name="prepare-and-upload-the-mainframe-application-code"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen Bucket. | Erstellen Sie einen Amazon S3 S3-Bucket in derselben AWS-Konto Region, in der er aktiviert AWS Transform 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | 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 für die Inline-Anzeige oder den Dateivergleich von nicht verwenden. AWS Transform Anweisungen zur Konfiguration von CORS für einen Bucket finden Sie unter [Using Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) im Amazon S3 S3-Bucket. Informationen zur Richtlinie finden Sie in der Dokumentation unter [CORS-Berechtigungen für den S3-Bucket](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3). AWS Transform  | Allgemein AWS, AWS-Administrator | 
| Bereiten Sie den Beispielcode für die Mainframe-Anwendung vor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Allgemein AWS, App-Entwickler | 

### Transformieren Sie die Mainframe-Anwendung
<a name="transform-the-mainframe-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie den AWS Transform Job ein. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, App-Besitzer | 
| Richten Sie einen Connector ein. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, App-Besitzer | 
| Transformieren Sie den Code. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, App-Besitzer | 

### Stellen Sie die Infrastruktur über Terraform bereit
<a name="deploy-the-infrastructure-through-terraform"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktualisieren Sie die Vorlagen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html)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](https://aws.amazon.com/about-aws/whats-new/2024/02/aws-application-load-balancer-one-click-waf-integrations/). | Allgemein AWS, AWS-Administrator | 
| Stellen Sie die Infrastruktur bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Terraform | 

### Installieren und konfigurieren Sie Apache Tomcat auf der Amazon EC2 EC2-Instance
<a name="install-and-configure-apache-tomcat-on-the-ec2-instance"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie die erforderliche Software. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 
| Überprüfen Sie die Softwareinstallation. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 

### Kompilieren und verpacken Sie den modernisierten Anwendungscode
<a name="compile-and-package-the-modernized-application-code"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Laden Sie den generierten Code herunter und extrahieren Sie ihn. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 
| Erstellen Sie die modernisierte Anwendung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 

### Migrieren Sie die Datenbank
<a name="migrate-the-database"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie die Datenbank und die JICS-Schemas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 
| Validieren Sie die Datenbankerstellung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 
| Migrieren Sie Daten in die JICS-Datenbank. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 

### Installieren Sie die modernisierte Anwendung
<a name="install-the-modernized-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie die modernisierte Anwendung auf der Amazon EC2 EC2-Instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Cloud-Architekt | 
| Starten Sie den Tomcat-Server neu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Cloud-Architekt | 
| Migrieren Sie den VSAM-Datensatz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Migrationsingenieur | 
| Aktualisieren Sie die Parameter in den Groovy-Skripten. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Developer | 

### Testen der Anwendung
<a name="test-the-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie die modernisierte Anwendung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Testingenieur | 
| Überprüfen Sie die Batch-Skripte. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | App-Entwickler, Testingenieur | 

### Bereinigen
<a name="clean-up"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Bereiten Sie sich darauf vor, die Infrastruktur zu löschen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Allgemeines AWS | 
| Löschen Sie die Infrastruktur. | Durch diese Schritte werden Ihre Ressourcen dauerhaft gelöscht. Stellen Sie sicher, dass Sie alle wichtigen Daten gesichert haben, bevor Sie fortfahren.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Allgemeines AWS | 

## Fehlerbehebung
<a name="modernize-mainframe-app-transform-terraform-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Terraform-Authentifizierung | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Fehler im Zusammenhang mit Tomcat | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| 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
<a name="modernize-mainframe-app-transform-terraform-resources"></a>

**AWS Präskriptive Leitlinien**
+ [Modernisieren Sie die CardDemo Mainframe-Anwendung mithilfe von AWS Transform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)

**AWS Servicedokumentation**
+ [AWS Blue Age Bluesam Administrationskonsole](https://docs.aws.amazon.com/m2/latest/userguide/ba-shared-bac-userguide.html)
+ [Voraussetzungen für die Einrichtung der Infrastruktur für AWS Blu Age Runtime (nicht verwaltet)](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)
+ [Einführung in AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-setup-onboard.html)
+ [Modernisierung von Mainframe-Anwendungen](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/transform-app-mainframe.html)
+ [Richten Sie die Konfiguration für AWS Blu Age Runtime ein](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html)

**AWS Blog-Beiträge**
+ [Beschleunigen Sie Ihre Mainframe-Modernisierung mithilfe von KI-Agenten mit AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/)

# Modernisieren Sie das Mainframe-Output-Management mithilfe AWS von Rocket Enterprise Server und LRS X PageCenter
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx"></a>

*Shubham Roy, Amazon Web Services*

*Abraham Rondon, Mikrofokus*

*Guy Tucker, Levi, Ray und Shoup Inc*

## Zusammenfassung
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-summary"></a>

Durch die Modernisierung Ihres Mainframe-Output-Managements können Sie Kosteneinsparungen erzielen, den technischen Aufwand für die Wartung älterer Systeme verringern und die Ausfallsicherheit und Agilität mithilfe DevOps der Cloud-nativen Technologien von Amazon Web Services (AWS) verbessern. Dieses Muster zeigt Ihnen, wie Sie Ihre geschäftskritischen Mainframe-Output-Management-Workloads in der AWS-Cloud modernisieren können. Das Muster verwendet [Rocket Enterprise Server](https://www.rocketsoftware.com/en-us/products/enterprise-suite/enterprise-server) als Laufzeit für eine modernisierte Mainframe-Anwendung, wobei Levi, Ray & Shoup, Inc. (LRS) VPSX/MFI (Micro Focus Interface) als Druckserver und LRS X als Archivserver verwendet werden. PageCenter LRS PageCenter X bietet Output-Management-Lösungen für die Anzeige, Indizierung, Suche, Archivierung und Sicherung des Zugriffs auf Geschäftsergebnisse.

Das Muster basiert auf dem Ansatz der [Replatform](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/) Mainframe-Modernisierung. Mainframe-Anwendungen werden von [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html) auf Amazon Elastic Compute Cloud (Amazon) migriert. EC2 Mainframe-Output-Management-Workloads werden zu Amazon migriert EC2, und eine Mainframe-Datenbank (wie IBM Db2 forz/OS, is migrated to Amazon Relational Database Service (Amazon RDS). The LRS Directory Integration Server (LRS/DIS) arbeitet mit AWS Directory Service für Microsoft Active Directory für die Workflow-Authentifizierung und Autorisierung des Output-Management-Workflows zusammen.

## Voraussetzungen und Einschränkungen
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Ein Mainframe-Workload für das Output-Management.
+ Grundkenntnisse zum Wiederaufbau und zur Bereitstellung einer Mainframe-Anwendung, die auf Rocket Enterprise Server läuft. Weitere Informationen finden Sie im [Rocket Enterprise Server-Datenblatt](https://www.rocketsoftware.com/sites/default/files/resource_files/enterprise-server.pdf) in der Rocket Software-Dokumentation.
+ Grundkenntnisse der Cloud-Printing-Lösungen und -Konzepte von LRS. Weitere Informationen finden Sie unter *Output Modernization* in der LRS-Dokumentation.
+ Rocket Enterprise Server-Software und -Lizenz. Für weitere Informationen wenden Sie sich an [Rocket Software](https://www.rocketsoftware.com/products/enterprise-suite/request-contact).
+ VPSX/MFI, LRS PageCenterX, LRS/Queue, and LRS/DISLRS-Software und -Lizenzen. Weitere Informationen erhalten Sie bei [LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/). Sie müssen die Hostnamen der EC2 Instanzen angeben, auf denen die LRS-Produkte installiert werden.


| 
| 
| Hinweis: Weitere Informationen zu Überlegungen zur Konfiguration von Mainframe-Output-Management-Workloads finden Sie unter *Überlegungen* im Abschnitt [Zusätzliche](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional) Informationen dieses Musters. | 
| --- |

**Produktversionen**
+ [Rocket Enterprise Server 10.0](https://www.rocketsoftware.com/products/enterprise-suite/enterprise-test-server)
+ [LRS VPSX/MFI](https://www.lrsoutputmanagement.com/products/modernization-products/)
+ [LRS X V1R3 oder später PageCenter](https://www.lrsoutputmanagement.com/products/content-management/pagecenterx-for-open-systems/)

## Architektur
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-architecture"></a>

**Quelltechnologie-Stack**
+ Betriebssystem — IBM z/OS
+ Programmiersprache — Common Business Oriented Language (COBOL), Job Control Language (JCL) und Customer Information Control System (CICS)
+ Datenbank — IBM Db2 für z/OS, IBM Information Management System (IMS) -Datenbank und Virtual Storage Access Method (VSAM)
+ Sicherheit — Resource Access Control Facility (RACF), CA Top Secret für z/OS und Access Control Facility 2 () ACF2
+ Druck- und Archivierungslösungen — IBM z/OS Mainframe-Ausgabe- und Druckprodukte (IBM Infoprint Server for z/OS, LRS und CA Deliver) und Archivierungslösungen (CA Deliver, ASG Mobius oder CA Bundle)

**Quellarchitektur**

Das folgende Diagramm zeigt eine typische aktuelle Architektur für einen Mainframe-Output-Management-Workload.

![\[Mainframe-Ausgabeprozess in sieben Schritten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/images/d170394a-c9b2-43c0-a3d4-677b5f7c2473.png)


Das Diagramm zeigt den folgenden Workflow:

1. Benutzer führen Geschäftstransaktionen auf einem System of Engagement (SoE) durch, das auf einer in COBOL geschriebenen IBM CICS-Anwendung basiert.

1. Das SoE ruft den Mainframe-Service auf, der die Geschäftstransaktionsdaten in einer system-of-records (SoR) -Datenbank wie IBM Db2 for z/OS aufzeichnet.

1. Das SoR speichert die Geschäftsdaten aus dem SoE.

1. Der Batch-Job-Scheduler initiiert einen Batch-Job, um eine Druckausgabe zu generieren.

1. Der Batch-Job extrahiert Daten aus der Datenbank. Er formatiert die Daten entsprechend den Geschäftsanforderungen und generiert anschließend Geschäftsergebnisse wie Abrechnungen, Personalausweise oder Kreditauszüge. Schließlich leitet der Batch-Job die Ausgabe an das Output Management weiter, um die Ausgabe entsprechend den Geschäftsanforderungen zu formatieren, zu veröffentlichen und zu speichern.

1. Das Output-Management empfängt die Ausgabe des Batch-Jobs. Output Management indexiert, ordnet und veröffentlicht die Ausgabe an einem bestimmten Ziel im Output-Management-System, z. B. LRS PageCenter X-Lösungen (wie in diesem Muster gezeigt) oder CA View.

1. Benutzer können die Ausgabe anzeigen, suchen und abrufen.

**Zieltechnologie-Stack**
+ Betriebssystem — Windows Server läuft auf Amazon EC2
+ Rechnen — Amazon EC2
+ Speicher — Amazon Elastic Block Store (Amazon EBS) und Amazon FSx für Windows File Server
+ Programmiersprache — COBOL, JCL und CICS
+ Datenbank — Amazon RDS
+ Sicherheit — AWS Managed Microsoft AD
+ Drucken und Archivieren — LRS-Druck- (VPSX) und Archivierungslösung (PageCenterX) auf AWS
+ Mainframe-Laufzeitumgebung — Rocket Enterprise Server

**Zielarchitektur**

Das folgende Diagramm zeigt eine Architektur für einen Mainframe-Output-Management-Workload, der in der AWS-Cloud bereitgestellt wird.

![\[Zielarchitektur für Batch-Anwendungs- und Output-Management in sieben Schritten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/images/3e25ab03-bf3a-4fea-b5eb-38cea9e50138.png)


Das Diagramm zeigt den folgenden Workflow:

1. Der Batch-Job-Scheduler initiiert einen Batch-Job, um Ausgaben wie Abrechnungen, Personalausweise oder Kreditauszüge zu erstellen.

1. Der Mainframe-Batch-Job ([auf Amazon umgestellt EC2](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/)) verwendet die Rocket Enterprise Server-Laufzeit, um Daten aus der Anwendungsdatenbank zu extrahieren, Geschäftslogik auf die Daten anzuwenden und die Daten zu formatieren. Anschließend werden die Daten mithilfe des [Druckerexit-Moduls von Rocket Software](https://www.microfocus.com/documentation/enterprise-developer/ed100/ED-Eclipse/HCOMCMJCLOU020.html) (OpenText Micro Focus-Dokumentation) an ein Ausgabeziel gesendet.

1. Die Anwendungsdatenbank (ein SoR, der auf Amazon RDS läuft) speichert Daten für die Druckausgabe.

1. Die VPSX/MFI LRS-Drucklösung wird auf Amazon EC2 bereitgestellt und ihre Betriebsdaten werden in Amazon EBS gespeichert. LRS VPSX/MFI verwendet den TCP/IP-based LRS/Queue Übertragungsagenten, um Ausgabedaten über die JES Print Exit API von Rocket Software zu sammeln.

   LRS VPSX/MFI führt eine Datenvorverarbeitung durch, z. B. die Umwandlung von EBCDIC in ASCII. Es erledigt auch komplexere Aufgaben, einschließlich der Konvertierung von Mainframe-exklusiven Datenströmen wie IBM Advanced Function Presentation (AFP) und Xerox Line Conditioned Data Stream (LCDS) in gängigere Datenströme zum Anzeigen und Drucken wie Printer Command Language (PCL) und PDF.

   Während des Wartungsfensters von LRS PageCenter X behält LRS die Ausgabewarteschlange bei und dient als Backup für die VPSX/MFI Ausgabewarteschlange. LRS VPSX/MFI stellt mithilfe des Protokolls eine Verbindung her und sendet die Ausgabe an LRS PageCenter X. LRS/Queue LRS/Queue führt einen Austausch zwischen Bereitschaft und Abschluss der Aufträge durch, um sicherzustellen, dass die Datenübertragung stattfindet.

   **Hinweise:**

   Weitere Informationen zu Druckdaten, die von Rocket Software Print Exit an Mainframe-Batchmechanismen weitergegeben werden, LRS/Queue und zu den von LRS VPSX/MFI unterstützten Batchmechanismen finden Sie unter *Druckdatenerfassung* im Abschnitt [Zusätzliche Informationen](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional).

   LRS VPSX/MFI kann Zustandsprüfungen auf Ebene der Druckerflotte durchführen. Weitere Informationen finden Sie im Abschnitt „[Zusätzliche Informationen](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional)“ dieses Musters unter „*Printer-Fleet Health Checks*“.

1. Die Output-Management-Lösung LRS PageCenter X wird auf Amazon bereitgestellt EC2, und ihre Betriebsdaten werden in Amazon FSx for Windows File Server gespeichert. LRS PageCenter X bietet ein zentrales Berichtsverwaltungssystem für alle in LRS PageCenter X importierten Dateien sowie für alle Benutzer, die auf die Dateien zugreifen können. Benutzer können bestimmte Dateiinhalte anzeigen oder in mehreren Dateien nach übereinstimmenden Kriterien suchen.

   Bei der LRS/NetX Komponente handelt es sich um einen Webanwendungsserver mit mehreren Threads, der eine gemeinsame Laufzeitumgebung für die LRS PageCenter X-Anwendung und andere LRS-Anwendungen bereitstellt. Die LRS/Web Connect-Komponente ist auf Ihrem Webserver installiert und stellt einen Connector vom Webserver zum LRS/NetX Webanwendungsserver bereit.

1. LRS PageCenter X bietet Speicher für Dateisystemobjekte. Die Betriebsdaten von LRS PageCenter X werden in Amazon FSx for Windows File Server gespeichert.

1. Die Authentifizierung und Autorisierung des Output-Managements erfolgt durch AWS Managed Microsoft AD mit LRS/DIS.

**Anmerkung**  
Die Ziellösung erfordert in der Regel keine Anwendungsänderungen, um Mainframe-Formatierungssprachen wie IBM AFP oder Xerox LCDS zu berücksichtigen.

**AWS-Infrastrukturarchitektur**

Das folgende Diagramm zeigt eine hochverfügbare und sichere AWS-Infrastrukturarchitektur für einen Mainframe-Output-Management-Workload.

![\[Multi-AZ-AWS-Infrastruktur mit einem Workflow in sieben Schritten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/images/8d8aa995-b576-4ecd-8a7c-5f566740a515.png)


Das Diagramm zeigt den folgenden Workflow:

1. Der Batch-Scheduler initiiert den Batch-Prozess und wird auf Amazon EC2 in mehreren [Availability Zones](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) für hohe Verfügbarkeit (HA) bereitgestellt.
**Anmerkung**  
Dieses Muster deckt die Implementierung des Batch-Schedulers nicht ab. Weitere Informationen zur Implementierung finden Sie in der Dokumentation des Softwareanbieters für Ihren Scheduler.

1. Der Mainframe-Batchjob (geschrieben in einer Programmiersprache wie JCL oder COBOL) verwendet die Kerngeschäftslogik, um Druckausgaben wie Abrechnungen, Ausweise und Kreditauszüge zu verarbeiten und zu generieren. Der Batch-Job wird auf Amazon EC2 in zwei Availability Zones für HA bereitgestellt. Es verwendet die Rocket Software Print Exit API, um die Druckausgabe VPSX/MFI zur Datenvorverarbeitung an LRS weiterzuleiten.

1. Der VPSX/MFI LRS-Druckserver wird auf Amazon EC2 in zwei Availability Zones für HA (redundantes Active-Standby-Paar) bereitgestellt. Es verwendet [Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) als Betriebsdatenspeicher. Der Network Load Balancer führt eine Integritätsprüfung der VPSX/MFI EC2 LRS-Instances durch. Wenn sich eine aktive Instance in einem fehlerhaften Zustand befindet, leitet der Load Balancer den Datenverkehr an Hot-Standby-Instances in der anderen Availability Zone weiter. Die Druckanforderungen werden in jeder Instanz lokal in der LRS-Auftragswarteschlange gespeichert. EC2 Im Falle eines Fehlers muss eine ausgefallene Instanz neu gestartet werden, bevor die LRS-Dienste die Verarbeitung der Druckanforderung fortsetzen können.
**Anmerkung**  
LRS VPSX/MFI kann auch Zustandsprüfungen auf Ebene der Druckerflotte durchführen. Weitere Informationen finden Sie im Abschnitt „[Zusätzliche Informationen](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional)“ dieses Musters unter „*Printer-Fleet Health Checks*“.

1. Das LRS PageCenter X-Output-Management wird auf Amazon EC2 in zwei Availability Zones für HA (redundantes Active-Standby-Paar) bereitgestellt. Es verwendet [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) als Betriebsdatenspeicher. Wenn sich eine aktive Instance in einem fehlerhaften Zustand befindet, führt der Load Balancer eine Integritätsprüfung der LRS PageCenter EC2 X-Instances durch und leitet den Datenverkehr an Standby-Instances in der anderen Availability Zone weiter.

1. Ein [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) stellt einen DNS-Namen zur Integration des VPSX/MFI LRS-Servers in LRS X bereit. PageCenter
**Anmerkung**  
LRS PageCenter X unterstützt einen Layer-4-Load Balancer.

1. LRS PageCenter X verwendet Amazon FSx for Windows File Server als Betriebsdatenspeicher, der in zwei Availability Zones für HA bereitgestellt wird. LRS PageCenter X versteht nur Dateien, die sich in der Dateifreigabe befinden, nicht in einer externen Datenbank.

1. [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) wird mit verwendet, LRS/DIS um die Workflow-Authentifizierung und Autorisierung im Output-Management-Workflow durchzuführen. Weitere Informationen finden Sie unter *Authentifizierung und Autorisierung der Druckausgabe* im Abschnitt [Zusätzliche Informationen](#modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional).

## Tools
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-tools"></a>

**AWS-Services**
+ [AWS Directory Service für Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) ermöglicht Ihren verzeichnissensitiven Workloads und AWS-Ressourcen die Nutzung von Microsoft Active Directory in der AWS-Cloud.
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) bietet Speichervolumes auf Blockebene zur Verwendung mit Amazon Elastic Compute Cloud (Amazon EC2) -Instances.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/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.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) verteilt eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele. Sie können beispielsweise den Traffic auf EC2 Amazon-Instances, Container und IP-Adressen in einer oder mehreren Availability Zones verteilen. Dieses Muster verwendet einen Network Load Balancer.
+ [Amazon FSx](https://docs.aws.amazon.com/fsx/?id=docs_gateway) bietet Dateisysteme, die branchenübliche Konnektivitätsprotokolle unterstützen und Hochverfügbarkeit und Replikation in allen AWS-Regionen bieten. Dieses Muster verwendet Amazon FSx for Windows File Server.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud.

**Andere Tools**
+ Die [LRS PageCenter X-Software](https://www.lrsoutputmanagement.com/products/content-management/pagecenterx-for-open-systems/) bietet eine skalierbare Content-Management-Lösung für Dokumente und Berichte, mit der Benutzer mithilfe automatisierter Indexierung, Verschlüsselung und erweiterter Suchfunktionen maximalen Nutzen aus Informationen ziehen können.
+ [LRS VPSX/MFI (Micro Focus Interface)](https://www.lrsoutputmanagement.com/products/modernization-products/), das von LRS und Rocket Software gemeinsam entwickelt wurde, erfasst die Ausgabe von einem JES-Spool von Rocket Software und überträgt sie zuverlässig an ein bestimmtes Druckziel.
+ LRS/Queue is a transmission agent that’s TCP/IP based. LRS VPSX/MFI uses LRS/Queueum Druckdaten über die JES Print Exit-Programmierschnittstelle von Rocket Software zu sammeln oder zu erfassen.
+ Der LRS Directory Integration Server (LRS/DIS) wird für die Authentifizierung und Autorisierung während des Druckworkflows verwendet.
+ [Rocket Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-WIN/GUID-F7D8FD6E-BDE0-4169-8D8C-96DDFFF6B495.html) ist eine Umgebung zur Anwendungsbereitstellung für Mainframe-Anwendungen. Sie bietet die Laufzeitumgebung für Mainframe-Anwendungen, die mithilfe einer beliebigen Version von Rocket Enterprise Developer migriert oder erstellt wurden.

## Epen
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-epics"></a>

### Richten Sie die Rocket-Laufzeit ein und stellen Sie eine Mainframe-Batch-Anwendung bereit
<a name="set-up-the-rocket-runtime-and-deploy-a-mainframe-batch-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie die Runtime ein und stellen Sie eine Demo-Anwendung bereit. | Um Rocket Enterprise Server auf Amazon einzurichten EC2 und die BankDemo Demonstrationsanwendung von Rocket Software bereitzustellen, folgen Sie den Anweisungen im AWS Mainframe Modernization [User](https://docs.aws.amazon.com/m2/latest/userguide/mf-runtime-setup.html) Guide.Die BankDemo Anwendung ist eine Mainframe-Batch-Anwendung, die die Druckausgabe erstellt und dann initiiert. | Cloud-Architekt | 

### Richten Sie einen LRS-Druckserver bei Amazon ein EC2
<a name="set-up-an-lrs-print-server-on-amazon-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Amazon EC2 Windows-Instance. | Um eine Amazon EC2 Windows-Instance zu starten, folgen Sie den Anweisungen unter [Starten einer EC2 Amazon-Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) in der EC2 Amazon-Dokumentation. Verwenden Sie denselben Hostnamen, den Sie für Ihre LRS-Produktlizenz verwendet haben.Ihre Instance muss die folgenden Hardware- und Softwareanforderungen für LRS VPSX/MFI erfüllen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html)Die oben genannten Hardware- und Softwareanforderungen sind für eine kleine Druckerflotte (etwa 500-1000) vorgesehen. Um die vollständigen Anforderungen zu erfahren, wenden Sie sich an Ihre LRS- und AWS-Ansprechpartner.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Installieren Sie LRS VPSX/MFI auf der EC2 Instanz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Installieren Sie LRS/Queue. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Installieren Sie LRS/DIS. | Das LRS/DIS Produkt ist häufig in der LRS VPSX-Installation enthalten. Wenn LRS/DIS es jedoch nicht zusammen mit LRS VPSX installiert wurde, gehen Sie wie folgt vor, um es zu installieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie eine Zielgruppe. | Erstellen Sie eine Zielgruppe, indem Sie den Anweisungen unter [Erstellen einer Zielgruppe für Ihren Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html) folgen. Wenn Sie die Zielgruppe erstellen, registrieren Sie die VPSX/MFI EC2 LRS-Instanz als Ziel:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie einen Network Load Balancer. | Folgen Sie den Anweisungen in der [Elastic Load Balancing-Dokumentation, um den Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancer zu erstellen. Ihr Network Load Balancer leitet den Verkehr vom Rocket Enterprise Server zur VPSX/MFI EC2 LRS-Instance weiter.Wenn Sie den Network Load Balancer erstellen, wählen Sie auf der Seite **Listener und Routing** die folgenden Werte aus:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Integrieren Sie Rocket Enterprise Server mit LRS/Queue und LRS VPSX/MFI
<a name="integrate-rocket-enterprise-server-with-lrs-queue-and-lrs-vpsx-mfi"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie Rocket Enterprise Server für die LRS/Queue Integration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Konfigurieren Sie Rocket Enterprise Server für die VPSX/MFI LRS-Integration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Richten Sie die Druckwarteschlange und die Druckbenutzer ein
<a name="set-up-the-print-queue-and-the-print-users"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Ordnen Sie das Rocket Software Print Exit-Modul dem Serverausführungsprozess des Rocket Enterprise Server-Batchdruckers zu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie eine Druckausgabewarteschlange in LRS VPSX/MFI und integrieren Sie sie in PageCenter LRS X. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie einen Druckbenutzer in LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Richten Sie einen LRS PageCenter X-Server bei Amazon ein EC2
<a name="set-up-an-lrs-pagecenterx-server-on-amazon-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Amazon EC2 Windows-Instance. | Starten Sie eine Amazon EC2 Windows-Instance, indem Sie den Anweisungen in [Schritt 1: Starten einer Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance) in der EC2 Amazon-Dokumentation folgen. Verwenden Sie denselben Hostnamen, den Sie für Ihre LRS-Produktlizenz verwendet haben.Ihre Instance muss die folgenden Hardware- und Softwareanforderungen für PageCenter LRS X erfüllen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html)Die oben genannten Hardware- und Softwareanforderungen sind für eine kleine Druckerflotte (etwa 500—1000) vorgesehen. Um die vollständigen Anforderungen zu erfahren, wenden Sie sich an Ihre LRS- und AWS-Ansprechpartner.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Installieren Sie LRS PageCenter X auf der EC2 Instanz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Installieren Sie LRS/DIS. | Das LRS/DIS Produkt ist häufig in der LRS VPSX-Installation enthalten. Wenn LRS/DIS es jedoch nicht zusammen mit LRS VPSX installiert wurde, gehen Sie wie folgt vor, um es zu installieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie eine Zielgruppe. | Erstellen Sie eine Zielgruppe, indem Sie den Anweisungen unter [Erstellen einer Zielgruppe für Ihren Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html) folgen. Wenn Sie die Zielgruppe erstellen, registrieren Sie die LRS PageCenter EC2 X-Instance als Ziel:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie einen Network Load Balancer. | Folgen Sie den Anweisungen in der [Elastic Load Balancing-Dokumentation, um den Network Load](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) Balancer zu erstellen. Ihr Network Load Balancer leitet den Datenverkehr von LRS VPSX/MFI zur LRS X-Instance weiter PageCenter. EC2 Wenn Sie den Network Load Balancer erstellen, wählen Sie auf der Seite **Listener und Routing** die folgenden Werte aus:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Richten Sie Output-Management-Funktionen in LRS X ein PageCenter
<a name="set-up-output-management-features-in-lrs-pagecenterx"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktivieren Sie die Importfunktion in LRS X. PageCenter | Sie können die LRS PageCenter X-Importfunktion verwenden, um die Ausgaben, die auf LRS PageCenter X landen, anhand von Kriterien wie Jobname oder Formular-ID zu erkennen. Anschließend können Sie die Ausgaben an bestimmte Ordner in LRS X weiterleiten. PageCenterGehen Sie wie folgt vor, um die Importfunktion zu aktivieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Konfigurieren Sie die Richtlinie zur Aufbewahrung von Dokumenten. | LRS PageCenter X verwendet eine Richtlinie zur Aufbewahrung von Dokumenten, um zu entscheiden, wie lange ein Dokument in PageCenter LRS X aufbewahrt werden soll.Gehen Sie wie folgt vor, um die Richtlinie zur Aufbewahrung von Dokumenten zu konfigurieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie eine Regel, um das Ausgabedokument an einen bestimmten Ordner in LRS PageCenter X weiterzuleiten. | **In LRS PageCenter X bestimmt **Destination** den Ordnerpfad, an den die Ausgabe gesendet wird, wenn dieses Ziel von der Berichtsdefinition aufgerufen wird.** Erstellen Sie für dieses Beispiel einen Ordner, der auf dem **Formular-ID-Ordner** in der Berichtsdefinition basiert, und speichern Sie die Ausgabe in diesem Ordner.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie eine Berichtsdefinition. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Richten Sie Authentifizierung und Autorisierung für das Output-Management ein
<a name="set-up-authentication-and-authorization-for-output-management"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine von AWS verwaltete Microsoft AD-Domain mit Benutzern und Gruppen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Verbinden Sie die EC2 Instances mit einer von AWS verwalteten Microsoft AD-Domain. | Verbinden Sie die LRS VPSX/MFI - und LRS PageCenter EC2 X-Instances [automatisch](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-dx-domain/) (AWS Knowledge Center-Dokumentation) oder [manuell](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html) (AWS Directory Service-Dokumentation) mit Ihrer AWS Managed Microsoft AD-Domain. | Cloud-Architekt | 
| Konfiguration und Integration LRS/DIS mit AWS Managed Microsoft AD für die LRS PageCenter EC2 X-Instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Konfigurieren Sie eine Importgruppe, um die Ausgabe von LRS VPSX nach LRS X zu importieren. PageCenter | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Fügen Sie der Importgruppe eine Sicherheitsregel hinzu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Erstellen Sie in LRS PageCenter X einen Benutzer, um den Ausgabeimport von LRS VPSX/MFI durchzuführen.  | Wenn Sie in LRS PageCenter X einen Benutzer für den Ausgabeimport erstellen, sollte der Benutzername mit der **VPSX-ID der Druckausgabewarteschlange in LRS VPSX/MFI** identisch sein. In diesem Beispiel lautet die VPSX-ID. **VPS1**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Fügen Sie den LRS PageCenter X-Import-Benutzer der Gruppe Nur importieren hinzu. | Gehen Sie wie folgt vor, um die erforderlichen Berechtigungen für den Dokumentenimport von LRS VPSX nach LRS PageCenter X zu erteilen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 
| Konfigurieren Sie LRS/DIS mit AWS Managed Microsoft AD für die VPSX/MFI EC2 LRS-Instanz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Amazon FSx für Windows File Server als Betriebsdatenspeicher für LRS X PageCenter konfigurieren
<a name="configure-amazon-fsx-for-windows-file-server-as-the-operational-data-store-for-lrs-pagecenterx"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie ein Dateisystem für LRS X. PageCenter | Um Amazon FSx for Windows File Server als Betriebsdatenspeicher für LRS PageCenter X in einer Multi-AZ-Umgebung zu verwenden, folgen Sie den Anweisungen in [Schritt 1: Erstellen Sie Ihr Dateisystem](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started-step1.html). | Cloud-Architekt | 
| Ordnen Sie die Dateifreigabe der LRS PageCenter EC2 X-Instanz zu. | Um die im vorherigen Schritt erstellte Dateifreigabe der LRS PageCenter EC2 X-Instanz zuzuordnen, folgen Sie den Anweisungen in [Schritt 2: Ordnen Sie Ihre Dateifreigabe einer EC2 Instanz zu, auf der Windows Server ausgeführt wird](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started-step2.html). | Cloud-Architekt | 
| Ordnen Sie das LRS PageCenter X Control Directory und das Master Folder Directory dem FSx Amazon-Netzwerk-Share-Laufwerk zu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Cloud-Architekt | 

### Testen Sie einen Output-Management-Workflow
<a name="test-an-output-management-workflow"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Initiieren Sie eine Batch-Druckanfrage über die Rocket BankDemo Software-App. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Testingenieur | 
| Überprüfen Sie die Druckausgabe in LRS X. PageCenter | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.html) | Testingenieur | 

## Zugehörige Ressourcen
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-resources"></a>
+ [LRS](https://www.lrsoutputmanagement.com/products/modernization-products)
+ [Datenstrom zur Präsentation erweiterter Funktionen](https://www.ibm.com/docs/en/i/7.4?topic=streams-advanced-function-presentation-data-stream) (IBM-Dokumentation)
+ [Linienkonditionierter Datenstrom (LCDS)](https://www.compart.com/en/lcds) (Compart-Dokumentation)
+ [Unterstützung von Enterprise-Mainframe-Workloads auf AWS mit Micro Focus](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) (Blogbeitrag)
+ [Modernisieren Sie Ihre Mainframe-Online-Druck-Workloads auf AWS (AWS Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) Guidance)
+ [Modernisieren Sie Ihre Mainframe-Batchdruck-Workloads auf AWS (AWS Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) Guidance)

## Zusätzliche Informationen
<a name="modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx-additional"></a>

**Überlegungen**

Während Ihrer Modernisierung könnten Sie eine Vielzahl von Konfigurationen für Mainframe-Batch- und Online-Prozesse und die damit generierte Ausgabe in Betracht ziehen. Die Mainframe-Plattform wurde von allen Kunden und Anbietern, die sie verwenden, an spezielle Anforderungen angepasst, die sich direkt auf den Druck auswirken. Beispielsweise könnte Ihre aktuelle Plattform den IBM AFP-Datenstream oder Xerox LCDS in den aktuellen Workflow integrieren. Darüber hinaus können [Mainframe-Wagen-Steuerzeichen](https://www.ibm.com/docs/en/cmofz/10.5.0?topic=tips-ansi-machine-carriage-controls) und [Kanalbefehle](https://www.ibm.com/docs/en/zos/3.1.0?topic=devices-channel-command-words) das Aussehen der gedruckten Seite beeinflussen und erfordern möglicherweise eine besondere Behandlung. Im Rahmen der Planung der Modernisierung empfehlen wir Ihnen, die Konfigurationen in Ihrer spezifischen Druckumgebung zu bewerten und zu verstehen.  

**Erfassung von Druckdaten**

Rocket Software Print Exit leitet die erforderlichen Informationen weiter, damit LRS VPSX/MFI die Spool-Datei effektiv verarbeiten kann. Die Informationen bestehen aus Feldern, die in den entsprechenden Steuerblöcken übergeben werden, wie zum Beispiel den folgenden:
+ NAME DES AUFTRAGS
+ BESITZER (BENUTZER-ID)
+ ZIEL
+ BILDEN
+ DATEINAME
+ SCHRIFTSTELLER

LRS VPSX/MFI unterstützt die folgenden Mainframe-Batch-Mechanismen zur Erfassung von Daten von Rocket Enterprise Server:
+  print/spool BATCH-COBOL-Verarbeitung mit standardmäßigen z/OS JCL-SYSOUT-Anweisungen. DD/OUTPUT 
+  print/spool BATCH-COBOL-Verarbeitung mit standardmäßigen z/OS JCL CA-SPOOL SUBSYS DD-Anweisungen.
+ IMS/COBOL print/spoolVerarbeitung mit der CBLTDLI-Schnittstelle. Eine vollständige Liste der unterstützten Methoden und Programmierbeispiele finden Sie in der LRS-Dokumentation, die in Ihrer Produktlizenz enthalten ist.

**Gesundheitschecks zwischen Drucker und Flotte**

LRS VPSX/MFI (LRS LoadX) kann tiefgreifende Gesundheitschecks durchführen, einschließlich Gerätemanagement und Betriebsoptimierung. Die Geräteverwaltung kann Fehler in einem Druckergerät erkennen und die Druckanforderung an einen fehlerfreien Drucker weiterleiten. Weitere Informationen zu umfassenden Integritätsprüfungen für Druckerflotten finden Sie in der LRS-Dokumentation, die in Ihrer Produktlizenz enthalten ist.

**Authentifizierung und Autorisierung drucken**

LRS/DIS enables LRS applications to authenticate user IDs and passwords by using Microsoft Active Directory or a Lightweight Directory Access Protocol (LDAP) server. In addition to basic print authorization, LRS/DISkann in den folgenden Anwendungsfällen auch detaillierte Drucksicherheitskontrollen anwenden:
+ Steuert, wer den Druckerauftrag durchsuchen kann.
+ Verwaltet die Navigationsebene der Aufträge anderer Benutzer.
+ Verwalten Sie betriebliche Aufgaben, z. B. Sicherheitsfunktionen auf Befehlsebene wie Sperren oder Freigeben, Löschen, Ändern, Kopieren und Umleiten. Die Sicherheit kann entweder anhand der Benutzer-ID oder der Gruppe eingerichtet werden, ähnlich wie bei einer Active Directory-Sicherheitsgruppe oder einer LDAP-Gruppe.

## Anlagen
<a name="attachments-f9ad041d-b9f0-4a9a-aba7-40fdc3088b27"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/f9ad041d-b9f0-4a9a-aba7-40fdc3088b27/attachments/attachment.zip)

# Modernisieren Sie Mainframe-Batchdruck-Workloads mithilfe AWS von Rocket Enterprise Server und LRS VPSX/MFI
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi"></a>

*Shubham Roy und Kevin Yung, Amazon Web Services*

*Abraham Rondon, Mikrofokus*

*Guy Tucker, Levi, Ray und Shoup Inc*

## Zusammenfassung
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-summary"></a>

Dieses Muster zeigt Ihnen, wie Sie Ihre geschäftskritischen Mainframe-Batchdruck-Workloads in der Amazon Web Services (AWS) Cloud modernisieren können, indem Sie Rocket Enterprise Server als Runtime für eine modernisierte Mainframe-Anwendung und LRS VPSX/MFI (Micro Focus Interface) als Druckserver verwenden. [Das Muster basiert auf dem Ansatz der Replatform Mainframe-Modernisierung.](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/) Bei diesem Ansatz migrieren Sie Ihre Mainframe-Batch-Jobs zu Amazon Elastic Compute Cloud (Amazon EC2) und migrieren Ihre Mainframe-Datenbank (z. B. IBM DB2 forz/OS, to Amazon Relational Database Service (Amazon RDS). The authentication and authorization for the modernized print workflow is performed by AWS Directory Service for Microsoft Active Directory, also known as AWS Managed Microsoft AD. The LRS Directory Information Server (LRS/DIS) ist in AWS Managed Microsoft AD integriert. Durch die Modernisierung Ihrer Batchdruck-Workloads können Sie die IT-Infrastrukturkosten senken, den technischen Aufwand für die Wartung älterer Systeme verringern, Datensilos beseitigen, die Agilität und Effizienz mit einem DevOps Modell erhöhen und die Vorteile von On-Demand-Ressourcen und Automatisierung in der AWS-Cloud nutzen.

## Voraussetzungen und Einschränkungen
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Ein Mainframe-Druck- oder Output-Management-Workload
+ Grundkenntnisse zum Wiederaufbau und zur Bereitstellung einer Mainframe-Anwendung, die auf Rocket Enterprise Server läuft (Weitere Informationen finden Sie im [Rocket Enterprise Server-Datenblatt](https://www.rocketsoftware.com/sites/default/files/resource_files/enterprise-server.pdf) in der Rocket-Dokumentation.)
+ Grundkenntnisse der [Cloud-Printing-Lösungen und -Konzepte von LRS](https://www.lrsoutputmanagement.com/solutions/solutions-cloud-printing/)
+ Rocket Enterprise Server-Software und -Lizenz (Weitere Informationen erhalten Sie vom [Rocket-Vertrieb](https://www.rocketsoftware.com/en-us/products/enterprise-suite/request-contact).)
+ VPSX/MFI, LRS/Queue, and LRS/DISLRS-Software und -Lizenzen (Weitere Informationen erhalten Sie vom [LRS-Vertrieb](https://www.lrsoutputmanagement.com/about-us/contact-us/).)

**Anmerkung**  
Weitere Informationen zu Überlegungen zur Konfiguration von Mainframe-Batchdruck-Workloads finden Sie unter *Überlegungen* im Abschnitt [Zusätzliche Informationen dieses Musters](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional).

**Produktversionen**
+ [Rocket Enterprise Server](https://www.microfocus.com/en-us/products/enterprise-server/overview?utm_campaign=7018e000000PgfnAAC&utm_content=SCH-BR-AMC-AppM-AMS&gclid=EAIaIQobChMIoZCQ6fvS9wIVxQN9Ch2MzAOlEAAYASAAEgKx2fD_BwE) 6.0 (Produktupdate 7)
+ [LRS VPSX/MFI V1R3](https://www.lrsoutputmanagement.com/products/vpsx-enterprise/) oder höher

## Architektur
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-architecture"></a>

**Quelltechnologie-Stack**
+ Betriebssystem — IBM z/OS
+ Programmiersprache — Common Business-Oriented Language (COBOL), Job Control Language (JCL) und Customer Information Control System (CICS)
+ Datenbank — IBM DB2 für z/OS und Virtual Storage Access Method (VSAM)
+ Sicherheit — Resource Access Control Facility (RACF), CA Top Secret für z/OS und Access Control Facility 2 () ACF2
+ Druck- und Ausgabemanagement — IBM z/OS Mainframe-Druckprodukte (IBM Tivoli Output Manager für z/OS, LRS und CA View)

**Zieltechnologie-Stack**
+ Betriebssystem — Microsoft Windows Server läuft auf Amazon EC2
+ Rechnen — Amazon EC2
+ Programmiersprache — COBOL, JCL und CICS
+ Datenbank — Amazon RDS
+ Sicherheit — AWS Managed Microsoft AD
+ Druck- und Ausgabemanagement — LRS-Drucklösung auf AWS
+ Mainframe-Laufzeitumgebung — Rocket Enterprise Server

**Quellarchitektur**

Das folgende Diagramm zeigt eine typische Architektur im aktuellen Zustand für einen Mainframe-Batchdruck-Workload:

![\[Vom Benutzer zum Mainframe-Service, Db2 für z/OS, Job-Scheduler, Batch-Job und Ausgabe in sechs Schritten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/36de7312-4860-4702-a325-c01cf74c4f33/images/83d82435-0aa6-4eb8-a5c8-0920102afb09.png)


Das Diagramm zeigt den folgenden Workflow:

1. Benutzer führen Geschäftstransaktionen auf einem System of Engagement (SoE) durch, das auf einer in COBOL geschriebenen IBM CICS-Anwendung basiert.

1. Das SoE ruft den Mainframe-Service auf, der die Geschäftstransaktionsdaten in einer system-of-records (SoR) -Datenbank wie IBM for z/OS aufzeichnet. DB2 

1. Das SoR speichert die Geschäftsdaten des SoE.

1. Der Batch-Job-Scheduler initiiert einen Batch-Job, um eine Druckausgabe zu generieren.

1. Der Batch-Job extrahiert Daten aus der Datenbank, formatiert die Daten entsprechend den Geschäftsanforderungen und generiert dann Geschäftsergebnisse wie Abrechnungen, Personalausweise oder Kreditauszüge. Schließlich leitet der Batch-Job die Ausgabe an das Printing Output Management weiter, wo sie auf der Grundlage der Geschäftsanforderungen verarbeitet und ausgegeben werden kann. 

1. Das Printing Output Management empfängt die Druckausgabe des Batch-Auftrags und sendet diese Ausgabe dann an ein bestimmtes Ziel, z. B. eine E-Mail, eine Dateifreigabe, die sicheres FTP verwendet, einen physischen Drucker, der LRS-Drucklösungen verwendet (wie in diesem Muster gezeigt), oder IBM Tivoli.

**Zielarchitektur**

Das folgende Diagramm zeigt eine Architektur für einen Mainframe-Batchdruck-Workload, der in der AWS-Cloud bereitgestellt wird:

![\[Batch-Anwendung auf AWS mit Scheduler, Rocket Enterprise Server und Datenbank in vier Schritten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/36de7312-4860-4702-a325-c01cf74c4f33/images/8cdd4ef7-3cbd-476a-9aa4-c1c0924f17c6.png)


Das Diagramm zeigt den folgenden Workflow:

1. Der Batch-Job-Scheduler initiiert einen Batch-Job, um Druckausgaben wie Abrechnungen, Personalausweise oder Kreditauszüge zu erstellen.

1. Der Mainframe-Batch-Job ([auf Amazon umgestellt EC2](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/)) verwendet die Rocket Enterprise Server-Laufzeit, um Daten aus der Anwendungsdatenbank zu extrahieren, Geschäftslogik auf die Daten anzuwenden, die Daten zu formatieren und die Daten dann mithilfe von [Rocket Software Print Exit](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/HCOMCMJCLOU020.html) (Micro Focus-Dokumentation) an ein Druckziel zu senden.

1. Die Anwendungsdatenbank (ein SoR, der auf Amazon RDS läuft) speichert Daten für die Druckausgabe.

1. Die VPSX/MFI LRS-Drucklösung wird auf Amazon bereitgestellt EC2 und ihre Betriebsdaten werden im Amazon Elastic Block Store (Amazon EBS) gespeichert. LRS VPSX/MFI verwendet den TCP/IP-based LRS/Queue Übertragungsagenten, um Druckdaten über die JES Print Exit API von Rocket Software zu sammeln und die Daten an ein bestimmtes Druckziel zu senden.

**Anmerkung**  
Die Ziellösung erfordert in der Regel keine Anwendungsänderungen, um Mainframe-Formatierungssprachen wie IBM Advanced Function Presentation (AFP) oder Xerox Line Condition Data Stream (LCDS) zu berücksichtigen. Weitere Informationen zur Verwendung von Rocket Software für die Migration und Modernisierung von Mainframe-Anwendungen auf AWS finden Sie im Blogbeitrag [Empowering Enterprise Mainframe Workloads on AWS with Micro Focus](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/).

**AWS-Infrastrukturarchitektur**

Das folgende Diagramm zeigt eine hochverfügbare und sichere AWS-Infrastrukturarchitektur für einen Mainframe-Batchdruck-Workload:

![\[Multi-AZ-Bereitstellung auf AWS mit Rocket Software- und LRS-Komponenten in sieben Schritten.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/36de7312-4860-4702-a325-c01cf74c4f33/images/287dd143-338c-4d83-a9b2-8e39214a81b0.png)


Das Diagramm zeigt den folgenden Workflow:

1. Der Batch-Scheduler initiiert den Batch-Prozess und wird auf Amazon EC2 in mehreren [Availability Zones](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) für hohe Verfügbarkeit (HA) bereitgestellt. 
**Anmerkung**  
Dieses Muster deckt die Implementierung des Batch-Schedulers nicht ab. Weitere Informationen zur Implementierung finden Sie in der Dokumentation des Softwareanbieters für Ihren Scheduler.

1. Der Mainframe-Batchjob (geschrieben in einer Programmiersprache wie JCL oder COBOL) verwendet die Kerngeschäftslogik, um Druckausgaben wie Abrechnungen, Ausweise und Kreditauszüge zu verarbeiten und zu generieren. Der Auftrag wird auf Amazon EC2 in zwei Availability Zones für HA bereitgestellt und verwendet Rocket Software Print Exit, um die Druckausgabe VPSX/MFI für den Endbenutzer-Druck an LRS weiterzuleiten.

1. LRS VPSX/MFI verwendet Befehle. TCP/IP-based LRS/Queue transmission agent to collect or capture print data from the Rocket Software JES Print Exit programming interface. Print Exit passes the necessary information to enable LRS VPSX/MFI to effectively process the spool file and dynamically build LRS/Queue Die Befehle werden dann mit einer integrierten Standardfunktion von Rocket Software ausgeführt. 
**Anmerkung**  
Weitere Informationen zu Druckdaten, die von Rocket Software Print Exit an Mainframe-Batchmechanismen übergeben werden, LRS/Queue und zu den von LRS VPSX/MFI unterstützten Mainframe-Batch-Mechanismen finden Sie unter *Druckdatenerfassung* im Abschnitt [Zusätzliche Informationen](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) dieses Musters.

1. 
**Anmerkung**  
Ein [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) stellt einen DNS-Namen zur Integration von Rocket Enterprise Server in LRS bereit VPSX/MFI. : LRS VPSX/MFI supports a Layer 4 load balancer. The Network Load Balancer also does a basic health check on LRS VPSX/MFI und leitet den Datenverkehr an die registrierten Ziele weiter, die fehlerfrei sind.

1. 
**Anmerkung**  
Der VPSX/MFI LRS-Druckserver wird auf Amazon EC2 in zwei Availability Zones für HA bereitgestellt und verwendet [Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) als Betriebsdatenspeicher. LRS VPSX/MFI unterstützt sowohl den aktiv-aktiven als auch den aktiv-passiven Servicemodus. Diese Architektur verwendet mehrere AZs in einem Aktiv-Passiv-Paar als aktiven Standby und Hot-Standby. Der Network Load Balancer führt eine Integritätsprüfung der VPSX/MFI EC2 LRS-Instances durch und leitet den Datenverkehr an Hot-Standby-Instances in der anderen AZ weiter, wenn sich eine aktive Instance in einem fehlerhaften Zustand befindet. Die Druckanforderungen werden in jeder Instanz lokal in der LRS-Auftragswarteschlange gespeichert. EC2 Im Falle einer Wiederherstellung muss eine ausgefallene Instanz neu gestartet werden, damit die LRS-Dienste die Verarbeitung der Druckanforderung fortsetzen können. : LRS VPSX/MFI kann auch Zustandsprüfungen auf Ebene der Druckerflotte durchführen. Weitere Informationen finden Sie unter *Integritätsprüfungen der Druckerflotte* im Abschnitt [Zusätzliche Informationen](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) dieses Musters.

1. [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) lässt sich integrieren LRS/DIS , um die Authentifizierung und Autorisierung von Druckworkflows durchzuführen. Weitere Informationen finden Sie unter *Druckauthentifizierung und Autorisierung* im Abschnitt [Zusätzliche Informationen](#modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional) dieses Musters.

1. LRS VPSX/MFI verwendet Amazon EBS für Blockspeicher. Sie können Amazon EBS-Daten von aktiven EC2 Instances als point-in-time Snapshots auf Amazon S3 sichern und sie auf Hot-Standby-EBS-Volumes wiederherstellen. [Um die Erstellung, Aufbewahrung und Löschung von Amazon EBS-Volume-Snapshots zu automatisieren, können Sie [Amazon Data Lifecycle Manager](https://aws.amazon.com/blogs/aws/new-lifecycle-management-for-amazon-ebs-snapshots/) verwenden, um die Häufigkeit automatisierter Snapshots festzulegen und sie auf der Grundlage Ihrer RTO/RPO-Anforderungen wiederherzustellen.](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html)

## Tools
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-tools"></a>

**AWS-Services**
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) bietet Speichervolumen auf Blockebene zur Verwendung mit EC2 Instances. EBS-Volumes verhalten sich wie unformatierte Blockgeräte. Sie können diese Volumes als Geräte auf Ihren Instances mounten.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) bietet skalierbare Rechenkapazität in der AWS-Cloud. Sie können Amazon verwenden EC2 , um so viele oder so wenige virtuelle Server zu starten, wie Sie benötigen, und Sie können nach oben oder unten skalieren.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ist ein Webservice, der die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der AWS-Cloud erleichtert. Er bietet kosteneffiziente, anpassbare Kapazität für eine relationale Datenbank und verwaltet allgemeine Datenbankverwaltungsaufgaben.
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html), auch bekannt als AWS Managed Microsoft AD, ermöglicht Ihren verzeichnissensitiven Workloads und AWS-Ressourcen die Nutzung von Microsoft Active Directory in der AWS-Cloud.

**Andere Tools**
+ [LRS VPSX/MFI (Micro Focus Interface)](https://www.lrsoutputmanagement.com/products/vpsx-enterprise/), das von LRS und Rocket Software gemeinsam entwickelt wurde, erfasst die Ausgabe von einem Rocket Enterprise Server JES-Spool und leitet sie zuverlässig an ein bestimmtes Druckziel weiter.
+ Der LRS Directory Information Server (LRS/DIS) wird für die Authentifizierung und Autorisierung während des Druckworkflows verwendet.
+ TCP/IP-based LRS/Queue transmission agent is used by LRS VPSX/MFIum Druckdaten über die JES Print Exit-Programmierschnittstelle von Rocket Software zu sammeln oder zu erfassen.
+ [Rocket Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-A2F23243-962B-440A-A071-480082DF47E7.html) ist eine Umgebung zur Anwendungsbereitstellung für Mainframe-Anwendungen. Sie bietet die Ausführungsumgebung für Mainframe-Anwendungen, die mithilfe einer beliebigen Version von Rocket Software Enterprise Developer migriert oder erstellt wurden.

## Epen
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-epics"></a>

### Rocket Enterprise Server auf Amazon einrichten EC2 und eine Mainframe-Batch-Anwendung bereitstellen
<a name="set-up-rocket-enterprise-server-on-amazon-ec2-and-deploy-a-mainframe-batch-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Rocket Enterprise Server ein und stellen Sie eine Demo-Anwendung bereit. | Richten Sie Rocket Enterprise Server auf Amazon EC2 ein und stellen Sie dann die BankDemo Demonstrationsanwendung von Rocket Software auf Amazon bereit EC2.Die BankDemo Anwendung ist eine Mainframe-Batch-Anwendung, die die Druckausgabe erstellt und dann initiiert. | Cloud-Architekt | 

### Richten Sie einen LRS-Druckserver bei Amazon ein EC2
<a name="set-up-an-lrs-print-server-on-amazon-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Besorgen Sie sich eine LRS-Produktlizenz zum Drucken. | Um eine LRS-Produktlizenz für LRS zu erhaltenVPSX/MFI, LRS/Queue, and LRS/DIS, wenden Sie sich an das [LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/) Output Management-Team. Sie müssen die Hostnamen der EC2 Instanzen angeben, auf denen die LRS-Produkte installiert werden. | Bauen Sie einen Vorsprung auf | 
| Erstellen Sie eine Amazon EC2 Windows-Instance, um LRS VPSX/MFI zu installieren. | Starten Sie eine Amazon EC2 Windows-Instance, indem Sie den Anweisungen unter [Starten einer EC2 Amazon-Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) in der EC2 Amazon-Dokumentation folgen. Ihre Instance muss die folgenden Hardware- und Softwareanforderungen für LRS VPSX/MFI erfüllen:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)Die oben genannten Hardware- und Softwareanforderungen sind für eine kleine Druckerflotte (etwa 500—1000) vorgesehen. Um die vollständigen Anforderungen zu erfahren, wenden Sie sich an Ihre LRS- und AWS-Ansprechpartner.Gehen Sie beim Erstellen Ihrer Windows-Instance wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Installieren Sie LRS VPSX/MFI auf der EC2 Instanz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Installieren Sie LRS/Queue. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Installieren Sie LRS/DIS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Erstellen Sie eine Zielgruppe und registrieren Sie LRS VPSX/MFI EC2 als Ziel. | Erstellen Sie eine Zielgruppe, indem Sie den Anweisungen unter [Erstellen Sie eine Zielgruppe für Ihren Network Load Balancer in der Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html) Balancing-Dokumentation folgen.Gehen Sie beim Erstellen der Zielgruppe wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Erstellen Sie einen Network Load Balancer. | Folgen Sie den Anweisungen unter [Network Load Balancer erstellen](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) in der Elastic Load Balancing Balancing-Dokumentation. Ihr Network Load Balancer leitet den Verkehr vom Rocket Enterprise Server an VPSX/MFI EC2 LRS weiter.Wenn Sie den Network Load Balancer erstellen, gehen Sie auf der Seite **Listener und Routing** wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Integrieren Sie Rocket Enterprise Server mit LRS VPSX/MFI und LRS/Queue
<a name="integrate-rocket-enterprise-server-with-lrs-vpsx-mfi-and-lrs-queue"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie Rocket Enterprise Server für die LRS/Queue Integration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)LRS unterstützt derzeit eine maximale Zeichenbeschränkung von 50 für DNS-Namen, dies kann sich jedoch in future ändern. Wenn Ihr DNS-Name größer als 50 ist, können Sie alternativ die IP-Adresse des Network Load Balancer verwenden. | Cloud-Architekt | 
| Konfigurieren Sie Rocket Enterprise Server für die VPSX/MFI LRS-Integration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Richten Sie Drucker und Druckbenutzer in Rocket Enterprise Server und LRS VPSX/MFI ein
<a name="set-up-printers-and-print-users-in-rocket-enterprise-server-and-lrs-vpsx-mfi"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Ordnen Sie das Rocket Software Print Exit-Modul dem Serverausführungsprozess des Rocket Enterprise Server-Batchdruckers zu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)Weitere Informationen zur Konfiguration finden Sie unter [Using the Exit](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/HCOMCMJCLOS025.html) in der Micro Focus-Dokumentation. | Cloud-Architekt | 
| Fügen Sie einen Drucker in LRS VPSX/MFI hinzu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Erstellen Sie einen Druckbenutzer in LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Richten Sie die Druckauthentifizierung und -autorisierung ein
<a name="set-up-print-authentication-and-authorization"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine von AWS verwaltete Microsoft AD-Domain mit Benutzern und Gruppen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Verbinden Sie LRS VPSX/MFI EC2 mit einer von AWS verwalteten Microsoft AD-Domain. | Verbinden Sie LRS VPSX/MFI EC2 [automatisch](https://repost.aws/knowledge-center/ec2-systems-manager-dx-domain) (AWS Knowledge Center-Dokumentation) oder [manuell](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html) (AWS Directory Service-Dokumentation) mit Ihrer AWS Managed Microsoft AD-Domain. | Cloud-Architekt | 
| Konfiguration und Integration LRS/DIS mit AWS Managed Microsoft AD. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Testen Sie einen Druck-Workflow
<a name="test-a-print-workflow"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Initiieren Sie eine Batch-Druckanfrage über die Rocket BankDemo Software-App. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html) | Testingenieur | 
| Überprüfen Sie die Druckausgabe in LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi.html)Sie können jetzt die Druckausgabe eines Kontoauszugs mit Spalten für die **Kontonummer sehen.** , **Beschreibung**, **Datum**, **Betrag** und **Saldo**. Ein Beispiel finden Sie im Anhang **batch\$1print\$1output** für dieses Muster. | Testingenieur | 

## Zugehörige Ressourcen
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-resources"></a>
+ [Modernisierung der LRS-Leistung](https://www.lrsoutputmanagement.com/) (LRS-Dokumentation)
+ [ANSI und Maschinenwagensteuerungen](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) (IBM-Dokumentation)
+ [Kanalbefehle (](https://www.ibm.com/docs/en/zos/2.3.0?topic=devices-channel-command-words)IBM-Dokumentation)
+ [Unterstützung von Mainframe-Workloads für Unternehmen auf AWS mit Micro Focus](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) (AWS-Partnernetzwerk-Blog)
+ [Erstellen Sie ein Micro Focus Enterprise Server PAC mit Amazon EC2 Auto Scaling und Systems Manager (Dokumentation](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.html) zu AWS Prescriptive Guidance)
+ [AFP-Datenstream (Advanced Function Presentation)](https://www.ibm.com/docs/en/i/7.4?topic=streams-advanced-function-presentation-data-stream) (IBM-Dokumentation)
+ [Line Conditioned Data Stream (LCDS) (Compart-Dokumentation)](https://www.compart.com/en/lcds)

## Zusätzliche Informationen
<a name="modernize-mainframe-batch-printing-workloads-on-aws-by-using-rocket-enterprise-server-and-lrs-vpsx-mfi-additional"></a>

**Überlegungen**

Während Ihrer Modernisierung können Sie eine Vielzahl von Konfigurationen sowohl für Mainframe-Batch-Prozesse als auch für die damit generierte Leistung in Betracht ziehen. Die Mainframe-Plattform wurde von allen Kunden und Anbietern, die sie verwenden, an spezielle Anforderungen angepasst, die sich direkt auf den Druck auswirken. Beispielsweise kann Ihre aktuelle Plattform IBM Advanced Function Presentation (AFP) oder den Xerox Line Condition Data Stream (LCDS) in den aktuellen Arbeitsablauf integrieren. Darüber hinaus können [Mainframe-Wagen-Steuerzeichen](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) und [Kanalbefehle](https://www.ibm.com/docs/en/zos/2.3.0?topic=devices-channel-command-words) das Aussehen der gedruckten Seite beeinflussen und erfordern möglicherweise eine besondere Behandlung. Im Rahmen der Planung der Modernisierung empfehlen wir Ihnen, die Konfigurationen in Ihrer spezifischen Druckumgebung zu bewerten und zu verstehen.

**Erfassung von Druckdaten**

Rocket Software Print Exit leitet die erforderlichen Informationen weiter, damit LRS VPSX/MFI die Spool-Datei effektiv verarbeiten kann. Die Informationen bestehen aus Feldern, die in den entsprechenden Steuerblöcken übergeben werden, wie z. B.:
+ NAME DES AUFTRAGS
+ BESITZER (BENUTZER-ID)
+ ZIEL
+ BILDEN
+ DATEINAME
+ SCHRIFTSTELLER

LRS VPSX/MFI unterstützt die folgenden Mainframe-Batch-Mechanismen zur Erfassung von Daten von Rocket Enterprise Server.
+  print/spool BATCH-COBOL-Verarbeitung mit standardmäßigen z/OS JCL-SYSOUT-Anweisungen DD/OUTPUT 
+  print/spool BATCH-COBOL-Verarbeitung mit standardmäßigen z/OS JCL-CA-SPOOL-SUBSYS-DD-Anweisungen
+ IMS/COBOL print/spoolVerarbeitung mithilfe der CBLTDLI-Schnittstelle (Eine vollständige Liste der unterstützten Methoden und Programmierbeispiele finden Sie in der LRS-Dokumentation, die in Ihrer Produktlizenz enthalten ist.)

**Zustandsprüfungen der Druckerflotte**

LRS VPSX/MFI (LRS LoadX) kann tiefgreifende Zustandsprüfungen durchführen, einschließlich Geräteverwaltung und Betriebsoptimierung. Die Geräteverwaltung kann Fehler in einem Druckergerät erkennen und die Druckanforderung an einen fehlerfreien Drucker weiterleiten. Weitere Informationen zu umfassenden Integritätsprüfungen für Druckerflotten finden Sie in der LRS-Dokumentation, die in Ihrer Produktlizenz enthalten ist.

**Authentifizierung und Autorisierung drucken**

LRS/DIS enables LRS applications to authenticate user IDs and passwords by using Microsoft Active Directory or an LDAP server. In addition to basic print authorization, LRS/DISkann in den folgenden Anwendungsfällen auch detaillierte Drucksicherheitskontrollen anwenden:
+ Steuert, wer den Druckerauftrag durchsuchen kann.
+ Verwaltet die Navigationsebene der Aufträge anderer Benutzer.
+ Operative Aufgaben verwalten. Zum Beispiel Sicherheitsfunktionen auf Befehlsebene wie „Sperren/Freigeben“, „Löschen“, „Ändern“, „Kopieren“ und „Umleiten“. Die Sicherheit kann entweder anhand der Benutzer-ID oder der Gruppe eingerichtet werden (ähnlich wie bei der AD-Gruppe oder der LDAP-Gruppe). ****

## Anlagen
<a name="attachments-36de7312-4860-4702-a325-c01cf74c4f33"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/36de7312-4860-4702-a325-c01cf74c4f33/attachments/attachment.zip)

# Mainframe-Modernisierung: DevOps Weiter AWS mit Rocket Software Enterprise Suite
<a name="mainframe-modernization-devops-on-aws-with-micro-focus"></a>

*Kevin Yung, Amazon Web Services*

## Zusammenfassung
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-summary"></a>

**Herausforderungen für Kunden**

Organizations, die Kernanwendungen auf Mainframe-Hardware ausführen, stehen in der Regel vor einigen Herausforderungen, wenn die Hardware skaliert werden muss, um den Anforderungen digitaler Innovationen gerecht zu werden. Zu diesen Herausforderungen gehören die folgenden Einschränkungen. 
+ Mainframe-Entwicklungs- und Testumgebungen können aufgrund der geringen Flexibilität der Mainframe-Hardwarekomponenten und der hohen Änderungskosten nicht skaliert werden.
+ In der Mainframe-Entwicklung mangelt es an Fachkräften, weil neue Entwickler sich mit den herkömmlichen Mainframe-Entwicklungstools nicht auskennen und auch nicht daran interessiert sind. Moderne Technologien wie Container, Continuous integration/continuous Delivery (CI/CD) -Pipelines und moderne Test-Frameworks sind in der Mainframe-Entwicklung nicht verfügbar.

**Musterergebnisse**

Um diesen Herausforderungen zu begegnen, haben Amazon Web Services (AWS) und Rocket Software Micro Focus, ein AWS Partner Network (APN) -Partner, zusammengearbeitet, um dieses Muster zu entwickeln. Die Lösung soll Ihnen helfen, die folgenden Ergebnisse zu erzielen.
+ Verbesserte Entwicklerproduktivität. Entwicklern können innerhalb von Minuten neue Mainframe-Entwicklungsinstanzen zur Verfügung gestellt werden.
+ Verwendung von AWS Cloud zur Erstellung neuer Mainframe-Testumgebungen mit praktisch unbegrenzter Kapazität.
+ Schnelle Bereitstellung einer neuen CI/CD Mainframe-Infrastruktur. Die Bereitstellung auf AWS kann innerhalb einer Stunde mithilfe von und abgeschlossen werden. AWS CloudFormation AWS Systems Manager
+ Nativer Einsatz von AWS DevOps Tools für die Mainframe-Entwicklung, einschließlich AWS CodeBuild, AWS CodeCommit, AWS CodePipeline AWS CodeDeploy, und Amazon Elastic Container Registry (Amazon ECR).
+ Verwandeln Sie die traditionelle Wasserfallentwicklung in eine agile Entwicklung in Mainframe-Projekten.

**Zusammenfassung der Technologien**

In diesem Muster enthält der Zielstapel die folgenden Komponenten.


| 
| 
| Logische Komponenten | Implementierungslösungen | Description | 
| --- |--- |--- |
| Quellcode-Repositorien | Rocket Software AccuRev Server CodeCommit, Amazon ECR  | Quellcodeverwaltung — Die Lösung verwendet zwei Arten von Quellcode: Mainframe-Quellcode, zum Beispiel COBOL und JCL. AWS Infrastrukturvorlagen und Automatisierungsskripte Beide Arten von Quellcode benötigen eine Versionskontrolle, werden aber unterschiedlich verwaltet SCMs. Quellcode, der auf Mainframe- oder Rocket Software Enterprise Servern bereitgestellt wird, wird auf Rocket Software Micro Focus AccuRev Server verwaltet. AWS Vorlagen und Automatisierungsskripte werden in CodeCommit verwaltet. Amazon ECR wird für die Docker-Image-Repositorys verwendet.  | 
| Instanzen von Unternehmensentwicklern | Amazon Elastic Compute Cloud (Amazon EC2), Unternehmensentwickler von Rocket Software für Eclipse | Mainframe-Entwickler können mithilfe EC2 von Rocket Software Enterprise Developer for Eclipse Code in Amazon entwickeln. Dadurch müssen Sie sich nicht mehr auf Mainframe-Hardware verlassen, um Code zu schreiben und zu testen.  | 
| Lizenzverwaltung für die Rocket Software Enterprise Suite | License Manager für Rocket Software Enterprise Suite | Für die zentrale Lizenzverwaltung und Steuerung der Rocket Software Enterprise Suite verwendet die Lösung den Rocket Software Enterprise Suite License Manager, um die erforderliche Lizenz zu hosten. | 
| CI/CD-Pipelines | CodePipeline, CodeBuild CodeDeploy, Rocket Software Enterprise Developer in einem Container, Rocket Software Enterprise Testserver in einem Container, Rocket Software Micro Focus Enterprise Server | Mainframe-Entwicklungsteams benötigen CI/CD Pipelines, um Codekompilierung, Integrationstests und Regressionstests durchzuführen. In AWS CodePipeline und CodeBuild können nativ mit Rocket Software Enterprise Developer und Enterprise Test Server in einem Container arbeiten. | 

## Voraussetzungen und Einschränkungen
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-prereqs"></a>

**Voraussetzungen**


| 
| 
| Name | Description | 
| --- |--- |
| py3270 | py3270 ist eine Python-Schnittstelle zu x3270, einem IBM 3270-Terminalemulator. Sie stellt eine API für einen x3270- oder s3270-Subprozess bereit. | 
| x3270 | x3270 ist ein IBM 3270-Terminalemulator für das X Window System und Windows.  Dies kann vom Entwickler für lokale Komponententests verwendet werden. | 
| Robot-Framework-Mainframe-3270-Bibliothek | Mainframe3270 ist eine Bibliothek für Robot Framework, die auf dem Projekt py3270 basiert. | 
| Rocket Software Verastream | Rocket Software Verastream ist eine Integrationsplattform, die es ermöglicht, Mainframe-Assets so zu testen, wie mobile Apps, Webanwendungen und SOA-Webdienste getestet werden. | 
| Installation und Lizenz für Rocket Software Unified Functional Testing (UFT) | Rocket Software Unified Functional Testing ist eine Software, die die Automatisierung von Funktions- und Regressionstests für Softwareanwendungen und -umgebungen ermöglicht. | 
| Installation und Lizenz für Rocket Software Enterprise Server | Enterprise Server bietet die Laufzeitumgebung für Mainframe-Anwendungen. | 
| Installation und Lizenz für den Rocket Software Enterprise Test Server | Rocket Software Enterprise Test Server ist eine IBM Mainframe-Anwendungstestumgebung. | 
| Rocket AccuRev Software-Installationsprogramm und -Lizenz für Server und Rocket Software Micro AccuRev Focus-Installationsprogramm und -Lizenz für Windows- und Linux-Betriebssysteme  | AccuRev bietet Quellcodeverwaltung (SCM). Das AccuRev System ist für die Verwendung durch ein Team von Personen konzipiert, die eine Reihe von Dateien entwickeln. | 
| Installationsprogramm, Patch und Lizenz für Rocket Software Enterprise Developer für Eclipse | Enterprise Developer bietet Mainframe-Entwicklern eine Plattform für die Entwicklung und Wartung der wichtigsten Mainframe-Online- und Batch-Anwendungen. | 

**Einschränkungen**
+ Das Erstellen eines Windows Docker-Images wird in nicht unterstützt. CodeBuild Dieses [gemeldete Problem](https://github.com/docker-library/docker/issues/49) benötigt Unterstützung von Windows Kernel/HCS - und Docker-Teams. Die Problemumgehung besteht darin, mithilfe von Systems Manager ein Docker-Image-Build-Runbook zu erstellen. Dieses Muster verwendet die Problemumgehung, um Container-Images für Rocket Software Enterprise Developer for Eclipse und Rocket Software Micro Focus Enterprise Test Server zu erstellen. 
+ Die Virtual Private Cloud (VPC) -Konnektivität von CodeBuild wird in Windows noch nicht unterstützt, daher verwendet das Pattern nicht den Rocket Software License Manager, um Lizenzen in OpenText Rocket Software Enterprise Developer- und Rocket Software Enterprise Test Server-Containern zu verwalten.

**Produktversionen**
+ Rocket Software Enterprise Developer 5.5 oder höher
+ Rocket Software Enterprise Test Server 5.5 oder höher
+ Rocket Software Enterprise Server 5.5 oder höher
+ Rocket Software AccuRev 7.x oder höher
+ **Windows Docker-Basisimage für Rocket Software Enterprise Developer und Enterprise Test Server: microsoft/dotnet-framework-4.7.2-runtime**
+ **Linux-Docker-Basisimage für AccuRev den Client: amazonlinux:2**

## Architektur
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-architecture"></a>

**Mainframe-Umgebung**

Bei der konventionellen Mainframe-Entwicklung müssen die Entwickler Mainframe-Hardware verwenden, um Programme zu entwickeln und zu testen. Sie sind mit Kapazitätsbeschränkungen konfrontiert, z. B. einer Beschränkung auf Millionen Befehle pro Sekunde (MIPS) für die dev/test Umgebung, und sie müssen sich auf die Tools verlassen, die auf den Mainframe-Computern verfügbar sind.

In vielen Unternehmen folgt die Mainframe-Entwicklung der Methode der Wasserfallentwicklung, wobei sich die Teams bei der Veröffentlichung von Änderungen auf lange Zyklen verlassen. Diese Release-Zyklen sind in der Regel länger als die Entwicklung digitaler Produkte.   

Das folgende Diagramm zeigt mehrere Mainframe-Projekte, bei deren Entwicklung Mainframe-Hardware gemeinsam genutzt wird. Bei Mainframe-Hardware ist es teuer, eine Entwicklungs- und Testumgebung für mehr Projekte zu skalieren.

![\[Diagram showing mainframe architecture with z/OS, databases, programming languages, and user groups.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/84e717fc-5aea-41a6-977a-d7e7a7ca5da7.png)


 

 

*AWS***-Architektur**

Dieses Muster erweitert die Mainframe-Entwicklung auf die. AWS Cloud Zunächst verwendet es AccuRev SCM, um den Mainframe-Quellcode zu hosten. AWS Anschließend stehen Enterprise Developer und Enterprise Test Server für die Erstellung und das Testen des Mainframe-Codes zur Verfügung. AWS 

In den folgenden Abschnitten werden die drei Hauptkomponenten des Musters beschrieben.

**1. SCM**

In wird das Muster verwendet AWS, AccuRev um eine Reihe von SCM-Workspaces und Versionskontrolle für den Mainframe-Quellcode zu erstellen. Seine stream-basierte Architektur ermöglicht die parallel Mainframe-Entwicklung für mehrere Teams. AccuRev Verwendet das Promote-Konzept, um eine Änderung zusammenzuführen. Um diese Änderung zu anderen Arbeitsbereichen hinzuzufügen, AccuRev wird das Aktualisierungskonzept verwendet.

Auf Projektebene kann jedes Team einen oder mehrere Streams erstellen, AccuRev um Änderungen auf Projektebene nachzuverfolgen. Diese werden als Projekt-Streams bezeichnet. Diese Projekt-Streams werden von demselben übergeordneten Stream übernommen. Der übergeordnete Stream wird verwendet, um die Änderungen aus verschiedenen Projekt-Streams zusammenzuführen.

In jeden Projekt-Stream kann Code hochgestuft werden AccuRev, und es wird ein Trigger zum Heraufstufen nach der Veröffentlichung eingerichtet, um die AWS CI/CD-Pipeline zu initiieren. Der erfolgreiche Build für eine Änderung des Projekt-Streams kann für weitere Regressionstests in seinen übergeordneten Stream hochgestuft werden.  

Normalerweise wird der übergeordnete Stream als Systemintegrationsstream bezeichnet. Wenn von einem Projekt-Stream zu einem Systemintegrationsstream heraufgestuft wird, initiiert ein Trigger nach der Heraufstufung eine weitere CI/CD Pipeline zur Ausführung von Regressionstests.

Dieses Muster umfasst neben Mainframe-Code auch AWS CloudFormation Vorlagen, Systems Manager Automation-Dokumente und Skripts. Gemäß den infrastructure-as-code bewährten Methoden sind sie versionskontrolliert. CodeCommit 

Wenn Sie Mainframe-Code für die Bereitstellung wieder mit einer Mainframe-Umgebung synchronisieren müssen, bietet Rocket Software die Enterprise Sync-Lösung, die Code vom SCM zurück zum AccuRev Mainframe-SCM synchronisiert.

**2. Entwickler- und Testumgebungen**

In einer großen Organisation ist die Skalierung von mehr als hundert oder sogar mehr als tausend Mainframe-Entwicklern eine Herausforderung. Um diese Einschränkung zu umgehen, verwendet das Muster Amazon EC2 Windows-Instances für die Entwicklung. Auf den Instances sind die Tools von Enterprise Developer for Eclipse installiert. Der Entwickler kann alle Mainframe-Codetests und das Debugging lokal auf der Instanz durchführen. 

AWS Systems Manager State Manager- und Automation-Dokumente werden verwendet, um die Bereitstellung von Entwicklerinstanzen zu automatisieren. Die durchschnittliche Zeit für die Erstellung einer Entwicklerinstanz beträgt 15 Minuten. Die folgende Software und Konfigurationen sind vorbereitet:
+ AccuRev Windows-Client zum Auschecken und Einspielen von Quellcode AccuRev
+ Enterprise Developers for Eclipse Tool zum lokalen Schreiben, Testen und Debuggen von Mainframe-Code
+ Open-Source-Testframeworks Python-Testframework Behavior-driven Development (BDD) Behavior, py3270 und der x3270-Emulator zum Erstellen von Skripten zum Testen von Anwendungen
+ Ein Docker-Entwicklertool zum Erstellen des Enterprise Test Server-Docker-Images und zum Testen der Anwendung im Enterprise Test Server Docker-Container 

Im Entwicklungszyklus verwenden Entwickler die EC2 Instanz, um Mainframe-Code lokal zu entwickeln und zu testen. Wenn die lokalen Änderungen erfolgreich getestet wurden, übertragen die Entwickler die Änderung auf dem AccuRev Server.  

**3. CI/CD Rohrleitungen**

In diesem Muster werden CI/CD Pipelines vor der Bereitstellung in der Produktionsumgebung für Integrationstests und Regressionstests verwendet. 

Wie im Abschnitt SCM erklärt, werden zwei Arten von Streams AccuRev verwendet: ein Projekt-Stream und ein Integrationsstream. Jeder Stream ist mit CI/CD Pipelines verbunden. Um die Integration zwischen dem AccuRev Server und durchzuführen AWS CodePipeline, verwendet das Pattern ein AccuRev Post-Promotion-Skript, um ein Ereignis zur Initiierung von CI/CD zu erstellen.

Wenn ein Entwickler beispielsweise eine Änderung an einem Projekt-Stream heraufstuft, initiiert er ein Post-Promotion-Skript AccuRev, das auf dem Server ausgeführt wird. AccuRev Anschließend lädt das Skript die Metadaten der Änderung in einen Amazon Simple Storage Service (Amazon S3) -Bucket hoch, um ein Amazon S3-Ereignis zu erstellen. Dieses Ereignis initiiert die Ausführung einer CodePipeline konfigurierten Pipeline. 

Derselbe Mechanismus zur Auslösung von Ereignissen wird für den Integrationsstream und die zugehörigen Pipelines verwendet. 

Wird in der CI/CD Pipeline CodeBuild zusammen mit dem AccuRev Linux-Client-Container CodePipeline verwendet, um den neuesten Code aus den Streams auszuchecken. AccuRev Dann beginnt die Pipeline, den Enterprise Developer Windows-Container CodeBuild zu verwenden, um den Quellcode zu kompilieren und den Enterprise Test Server Windows-Container zum Testen von Mainframe-Anwendungen CodeBuild zu verwenden.

Die CI/CD Pipelines werden mithilfe von CloudFormation Vorlagen erstellt, und der Blueprint wird für neue Projekte verwendet. Durch die Verwendung der Vorlagen dauert es weniger als eine Stunde, bis ein Projekt eine neue CI/CD Pipeline erstellt hat. AWS

Um Ihre Mainframe-Testkapazitäten zu skalieren AWS, besteht das Muster aus der Rocket DevOps Software-Testsuite, Verastream und dem UFT-Server. Mithilfe der modernen DevOps Tools können Sie so viele Tests ausführen, wie Sie benötigen. AWS 

Ein Beispiel für eine Mainframe-Entwicklungsumgebung mit aktivierter Rocket Software AWS ist in der folgenden Abbildung dargestellt.

![\[AWS development pipeline with shared components for multiple project teams.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/27da6a52-4573-44cb-8716-1ac49430f618.png)


 

*Zieltechnologie-Stack*

Dieser Abschnitt bietet einen genaueren Blick auf die Architektur der einzelnen Komponenten im Muster.

**1. Quellcode-Repository — AccuRev SCM**

AccuRev SCM ist für die Verwaltung von Mainframe-Quellcodeversionen eingerichtet. AccuRev Unterstützt für hohe Verfügbarkeit den Primär- und Replikatmodus. Betreiber können bei Wartungsarbeiten am Primärknoten einen Failover auf das Replikat durchführen. 

Um die Reaktion der CI/CD Pipeline zu beschleunigen, verwendet das Pattern Amazon CloudWatch Events, um Änderungen am Quellcode zu erkennen und den Start der Pipeline zu initiieren.

1. Die Pipeline ist für die Verwendung einer Amazon S3 S3-Quelle eingerichtet.

1. Eine CloudWatch Ereignisregel wird eingerichtet, um S3-Ereignisse aus einem S3-Quell-Bucket zu erfassen.

1. Die CloudWatch Ereignisregel legt ein Ziel für die Pipeline fest.

1. AccuRev SCM ist so konfiguriert, dass nach Abschluss der Heraufstufung ein Skript nach der Heraufstufung lokal ausgeführt wird.

1. AccuRev SCM generiert eine XML-Datei, die die Metadaten der Promotion enthält, und das Skript lädt die XML-Datei in den S3-Quell-Bucket hoch.

1. Nach dem Upload sendet der Quell-S3-Bucket Ereignisse, die der CloudWatch Ereignisregel entsprechen, und die CloudWatch Ereignisregel initiiert die Ausführung der Pipeline. 

Wenn die Pipeline ausgeführt wird, startet sie ein CodeBuild Projekt, bei dem mithilfe eines AccuRev Linux-Client-Containers der neueste Mainframe-Code aus einem zugehörigen Stream ausgecheckt wird. AccuRev   

Das folgende Diagramm zeigt ein AccuRev Server-Setup.

![\[AWS Cloud diagram showing AccuRev setup with primary and replica instances across availability zones.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/e60345cc-2283-4b03-8f57-e3dac1770978.png)


**2. Vorlage für Unternehmensentwickler** 

Das Muster verwendet EC2 Amazon-Vorlagen, um die Erstellung der Entwicklerinstanz zu vereinfachen. Mithilfe von State Manager können Software- und Lizenzeinstellungen konsistent auf EC2 Instances angewendet werden.

Die EC2 Amazon-Vorlage integriert ihre VPC-Kontexteinstellungen und die Standard-Instance-Einstellungen und entspricht den Enterprise-Tagging-Anforderungen. Mithilfe einer Vorlage kann ein Team seine eigenen neuen Entwicklungsinstanzen erstellen. 

Wenn eine Entwicklerinstanz durch Zuordnung zu Tags gestartet wird, verwendet Systems Manager State Manager, um die Automatisierung anzuwenden. Die Automatisierung umfasst die folgenden allgemeinen Schritte.

1. Installieren Sie die Enterprise Developer-Software und installieren Sie Patches.

1. Installieren Sie den AccuRev Client für Windows.

1. Installieren Sie das vorkonfigurierte Skript, damit Entwickler dem AccuRev Stream beitreten können. Initialisieren Sie Eclipse-Arbeitsbereiche.

1. Installieren Sie Entwicklungstools, einschließlich x3270, py3270 und Docker.

1. Konfigurieren Sie die Lizenzeinstellungen so, dass sie auf einen License Manager Manager-Load Balancer verweisen.

Das folgende Diagramm zeigt eine Enterprise Developer-Instance, die mit der EC2 Amazon-Vorlage erstellt wurde, wobei Software und Konfiguration von State Manager auf die Instance angewendet wurden. Enterprise-Developer-Instances stellen eine Verbindung AWS License Manager zu her, um ihre Lizenz zu aktivieren.

![\[AWS Cloud diagram showing Enterprise Developer Instance setup with License Manager and Systems Manager components.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/7ca8f538-8362-4a11-a842-7ecff6fa0248.png)


 

**3.  CI/CD-Rohrleitungen**

Wie im Abschnitt AWS Architektur erläutert, gibt es im Muster Pipelines auf Projektebene und CI/CD Pipelines zur Systemintegration. Jedes Mainframe-Projektteam erstellt eine Pipeline oder mehrere CI/CD Pipelines für die Erstellung der Programme, die es in einem Projekt entwickelt. Diese CI/CD Projekt-Pipelines checken Quellcode aus einem zugehörigen Stream aus. AccuRev  

In einem Projektteam bewerben Entwickler ihren Code im zugehörigen AccuRev Stream. Anschließend leitet die Beförderung die Projektpipeline ein, um den Code zu erstellen und Integrationstests durchzuführen. 

Jede CI/CD Projektpipeline verwendet CodeBuild Projekte mit dem Enterprise Developer-Tool Amazon ECR Image und dem Enterprise Test Server-Tool Amazon ECR Image. 

CodePipeline und CodeBuild werden zur Erstellung der Pipelines verwendet. CI/CD Denn CodeBuild ohne CodePipeline Vorabgebühren oder Verpflichtungen zahlen Sie nur für das, was Sie tatsächlich nutzen. Im Vergleich zu Mainframe-Hardware reduziert die AWS Lösung die Vorlaufzeit für die Hardwarebereitstellung erheblich und senkt die Kosten Ihrer Testumgebung.

In der modernen Entwicklung werden mehrere Testmethoden verwendet. Zum Beispiel testgetriebene Entwicklung (TDD), BDD und Robot Framework. Mit diesem Muster können Entwickler diese modernen Tools für Mainframe-Tests verwenden. Mithilfe von x3270, py3270 und dem Python-Testtool Behave können Sie beispielsweise das Verhalten einer Online-Anwendung definieren. In diesen Pipelines können Sie auch das Build Mainframe 3270 Robot Framework verwenden. CI/CD 

Das folgende Diagramm zeigt die Team-Stream-Pipeline. CI/CD  

![\[AWS Cloud CI/CD pipeline showing CodeCommit, CodePipeline, and CodeBuild with Micro Focus tools integration.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/da59f837-2f23-404f-948b-41402cc6fe0c.png)


Das folgende Diagramm zeigt den CI/CD Projekt-Testbericht, der von Mainframe3270 Robot Framework erstellt wurde CodePipeline .

![\[Test report summary showing 100% pass rate for 3 test cases in 2.662 seconds.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/4752321a-c60d-455c-ac2f-6f0e2bc3dca0.png)


Das folgende Diagramm zeigt den CI/CD Projekt-Testbericht, der von CodePipeline in Py3270 und Behave BDD erstellt wurde.

![\[Test report summary showing 100% pass rate for 2 test cases in a pipeline.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/d005466e-aeb8-4fd6-8342-743ed049f98a.png)


Nachdem die Tests auf Projektebene erfolgreich bestanden wurden, wird der getestete Code manuell in den Integrationsstream in SCM hochgestuft. AccuRev Sie können diesen Schritt automatisieren, wenn sich die Teams darauf verlassen können, dass die Tests in ihrer Projektpipeline durchgeführt werden.

Wenn Code beworben wird, checkt die CI/CD Systemintegrationspipeline den zusammengeführten Code aus und führt Regressionstests durch. Der zusammengeführte Code wird aus allen parallel Projektstreams beworben.

Je nachdem, wie detailliert die Testumgebung sein muss, können Kunden mehr CI/CD Systemintegrations-Pipelines in einer anderen Umgebung einsetzen, z. B. UAT oder Pre-Production. 

In dem Muster sind die in der Systemintegrationspipeline verwendeten Tools Enterprise Test Server, UFT Server und Verastream. All diese Tools können im Docker-Container bereitgestellt und mit verwendet werden. CodeBuild

Nach erfolgreichem Testen der Mainframe-Programme wird das Artefakt mit Versionskontrolle in einem S3-Bucket gespeichert. 

Das folgende Diagramm zeigt eine Pipeline zur Systemintegration CI/CD .

![\[CI/CD pipeline showing AWS-Services and Micro Focus tools for source, build, test, and promote stages.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/693212e5-1cd0-4f82-a910-39b00d977c38.png)


 

Nachdem das Artefakt erfolgreich in den CI/CD Systemintegrationspipelines getestet wurde, kann es für den Produktionseinsatz freigegeben werden. 

Wenn Sie Quellcode wieder auf dem Mainframe bereitstellen müssen, bietet Rocket Software die Enterprise Sync-Lösung an, mit der Sie den Quellcode von AccuRev hinten nach Mainframe Endeavour synchronisieren können.

Das folgende Diagramm zeigt eine CI/CD Produktionspipeline, in der das Artefakt auf Unternehmensservern bereitgestellt wird. In diesem Beispiel wird die Bereitstellung des getesteten Mainframe-Artefakts auf Enterprise Server CodeDeploy orchestriert.

![\[CI/CD pipeline diagram showing CodePipeline, CodeBuild, and CodeDeploy stages for artifact deployment.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2359db4c-f351-45a6-8516-88a3b62e61f9/images/56749c2a-e038-4e56-9487-b2ff83894725.png)


Zusätzlich zur Architektur-Komplettlösung der CI/CD Pipeline finden Sie im AWS DevOps Blogbeitrag [Automatisieren von Tausenden von Mainframe-Tests AWS mit der Micro Focus Enterprise Suite](https://aws.amazon.com/blogs/devops/automate-mainframe-tests-on-aws-with-micro-focus/) weitere Informationen zum Testen von Mainframe-Anwendungen in und. CodeBuild CodePipeline (Micro Focus ist jetzt Rocket Software.) Im Blogbeitrag finden Sie bewährte Methoden und Einzelheiten zur Durchführung von Mainframe-Tests auf AWS.

## Tools
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-tools"></a>

**AWS Tools für die Automatisierung**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [ CloudWatch Amazon-Veranstaltungen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)

**Softwaretools von Rocket**
+ [Rocket Enterprise-Entwickler für Eclipse](https://www.microfocus.com/documentation/enterprise-developer/ed60/ED-Eclipse/GUID-8D6B7358-AC35-4DAF-A445-607D8D97EBB2.html)
+ [Rocket Enterprise-Testserver](https://www.microfocus.com/documentation/enterprise-developer/ed60/ETS-help/GUID-ECA56693-D9FE-4590-8798-133257BFEBE7.html)
+ [Rocket Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/es_60/) (Produktionsbereitstellung)
+ [Rocket Software AccuRev](https://supportline.microfocus.com/documentation/books/AccuRev/AccuRev/6.2/webhelp/wwhelp/wwhimpl/js/html/wwhelp.htm)
+ [License Manager für Rocket Software Enterprise Suite](https://www.microfocus.com/documentation/slm/)
+ [Rocket Software Verastream Hostintegrator](https://www.microfocus.com/documentation/verastream-host-integrator/)
+ [Rocket Software UFT Eins](https://admhelp.microfocus.com/uft/en/24.4/UFT_Help/Content/User_Guide/Ch_UFT_Intro.htm)

**Andere Tools**
+ x3270
+ [py3270](https://pypi.org/project/py3270/)
+ [Robot-Framework-Mainframe-3270-Bibliothek](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library)

## Epen
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-epics"></a>

### Erstellen Sie die AccuRev SCM-Infrastruktur
<a name="create-the-accurev-scm-infrastructure"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie einen primären AccuRev SCM-Server bereit, indem Sie CloudFormation. |  | AWS CloudFormation | 
| Erstellen Sie den AccuRev Administratorbenutzer. | Melden Sie sich bei AccuRev SCM Server an und führen Sie den CLI-Befehl aus, um einen Administratorbenutzer zu erstellen. | AccuRev SCM-Serveradministrator | 
|  AccuRev Streams erstellen. | Erstellen Sie AccuRev Streams, die nacheinander von den oberen Streams erben: Produktion, Systemintegration, Team-Streams. | AccuRev SCM-Administrator | 
| Erstellen Sie die AccuRev Entwickler-Anmeldekonten. | Verwenden Sie AccuRev SCM-CLI-Befehle, um AccuRev Benutzeranmeldekonten für Mainframe-Entwickler zu erstellen. | AccuRev SCM-Administrator | 

### Erstellen Sie die Amazon EC2 Launch-Vorlage für Enterprise Developer
<a name="create-the-enterprise-developer-ec2-launch-template"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie die EC2 Amazon-Startvorlage bereit, indem Sie CloudFormation. | Wird verwendet CloudFormation , um eine EC2 Amazon-Startvorlage für Enterprise Developer-Instances bereitzustellen. Die Vorlage enthält ein Systems Manager Automation-Dokument für die Rocket Enterprise Developer-Instanz. | AWS CloudFormation | 
| Erstellen Sie die Enterprise Developer-Instance aus der EC2 Amazon-Vorlage. |  | AWS-Konsolenanmeldung und Kenntnisse als Mainframe-Entwickler | 

### Erstellen Sie das Docker-Image für das Enterprise Developer-Tool
<a name="create-the-enterprise-developer-tool-docker-image"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das Docker-Image des Enterprise Developer-Tools. | Verwenden Sie den Docker-Befehl und das Enterprise Developer-Tool Dockerfile, um das Docker-Image zu erstellen. | Docker | 
| Erstellen Sie das Docker-Repository in Amazon ECR. | Erstellen Sie auf der Amazon ECR-Konsole das Repository für das Enterprise Developer Docker-Image. | Amazon ECR | 
| Übertragen Sie das Docker-Image des Enterprise Developer-Tools auf Amazon ECR. | Führen Sie den Befehl Docker push aus, um das Docker-Image des Enterprise Developer-Tools zu pushen und es im Docker-Repository in Amazon ECR zu speichern. | Docker | 

### Erstellen Sie das Docker-Image für den Enterprise Test Server
<a name="create-the-enterprise-test-server-docker-image"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das Docker-Image für den Enterprise Test Server. | Verwenden Sie den Docker-Befehl und das Enterprise Test Server Dockerfile, um das Docker-Image zu erstellen. | Docker | 
| Erstellen Sie das Docker-Repository in Amazon ECR. | Erstellen Sie auf der Amazon ECR-Konsole das Amazon ECR-Repository für das Enterprise Test Server Docker-Image. | Amazon ECR | 
| Senden Sie das Enterprise Test Server Docker-Image an Amazon ECR. | Führen Sie den Befehl Docker push aus, um das Enterprise Test Server-Docker-Image in Amazon ECR zu pushen und zu speichern. | Docker | 

### Erstellen Sie die Team-Stream-Pipeline CI/CD
<a name="create-the-team-stream-ci-cd-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das CodeCommit Repository. | Erstellen Sie auf der CodeCommit Konsole ein Git-basiertes Repository für Infrastruktur und CloudFormation Code. | AWS CodeCommit | 
| Laden Sie die CloudFormation Vorlage und den Automatisierungscode in das CodeCommit Repository hoch. | Führen Sie den Befehl Git push aus, um CloudFormation Vorlagen- und Automatisierungscode in das Repository hochzuladen. | Git | 
| Stellen Sie die CI/CD Team-Stream-Pipeline bereit, indem Sie CloudFormation. | Verwenden Sie die vorbereitete CloudFormation Vorlage, um eine CI/CD Team-Stream-Pipeline bereitzustellen. | AWS CloudFormation | 

### Erstellen Sie die CI/CD Systemintegrationspipeline
<a name="create-the-system-integration-ci-cd-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das UFT-Docker-Image. | Verwenden Sie den Docker-Befehl und das UFT-Dockerfile, um das Docker-Image zu erstellen. | Docker | 
| Erstellen Sie das Docker-Repository in Amazon ECR für das UFT-Image. | Erstellen Sie auf der Amazon ECR-Konsole das Docker-Repository für das UFT-Image. | Amazon ECR | 
| Senden Sie das UFT-Docker-Image an Amazon ECR. | Führen Sie den Befehl Docker push aus, um das Enterprise Test Server-Docker-Image in Amazon ECR zu pushen und zu speichern. | Docker | 
| Erstellen Sie das Verastream-Docker-Image. | Verwenden Sie den Docker-Befehl und das Verastream-Dockerfile, um das Docker-Image zu erstellen. | Docker | 
| Erstellen Sie das Docker-Repository in Amazon ECR für das Verastream-Image. | Erstellen Sie auf der Amazon ECR-Konsole das Docker-Repository für das Verastream-Image. | Amazon ECR | 
| Stellen Sie die CI/CD Systemintegrationspipeline bereit, indem Sie CloudFormation | Verwenden Sie die vorbereitete CloudFormation Vorlage, um eine CI/CD Systemintegrationspipeline bereitzustellen. | AWS CloudFormation | 

### CI/CD Pipeline für die Produktionsbereitstellung erstellen
<a name="create-production-deployment-ci-cd-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie Enterprise Server mithilfe des AWS Quick Start bereit. | Um Enterprise Server mithilfe von bereitzustellen CloudFormation, starten Sie den Enterprise Server auf AWS Quick Start. | AWS CloudFormation | 
| Stellen Sie eine CI/CD Pipeline für die Produktionsbereitstellung bereit. | Verwenden Sie auf der CloudFormation Konsole die CloudFormation Vorlage, um eine CI/CD Pipeline für die Produktionsbereitstellung bereitzustellen. | AWS CloudFormation | 

## Zugehörige Ressourcen
<a name="mainframe-modernization-devops-on-aws-with-micro-focus-resources"></a>

**Referenzen**
+ [AWS DevOps Blog — Automatisieren Sie Tausende von Mainframe-Tests AWS mit der Micro Focus Enterprise Suite](https://aws.amazon.com/blogs/devops/automate-mainframe-tests-on-aws-with-micro-focus/) (Micro Focus ist jetzt Rocket Software).
+ [py3270/py3270-Repository GitHub ](https://github.com/py3270/py3270)
+ [Altran-pt-gdc/Robot-Framework-Mainframe-3270-Bibliotheks-Repository GitHub ](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library)
+ [Willkommen bei Behave\$1](https://behave.readthedocs.io/en/latest/index.html)
+ [APN-Partnerblog — Tag: Micro Focus](https://aws.amazon.com/blogs/apn/tag/micro-focus/) (Micro Focus ist jetzt Rocket Software.)
+ [Eine Instance über eine Startvorlage starten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)

**AWS Marketplace**
+ [Rocket Software UFT One](https://aws.amazon.com/marketplace/pp/B01EGCA5OS?ref_=srh_res_product_title)

**AWS Schnellstart**
+ [Rocket Enterprise Server auf AWS](https://aws.amazon.com/quickstart/architecture/micro-focus-enterprise-server/)

# Modernisieren Sie Mainframe-Online-Druck-Workloads auf AWS mithilfe von Micro Focus Enterprise Server und LRS VPSX/MFI
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi"></a>

*Shubham Roy und Kevin Yung, Amazon Web Services*

*Abraham Rondon, Mikrofokus*

*Guy Tucker, Levi, Ray und Shoup Inc*

## Zusammenfassung
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-summary"></a>

Dieses Muster zeigt Ihnen, wie Sie Ihre geschäftskritischen Mainframe-Online-Druck-Workloads in der Amazon Web Services (AWS) -Cloud modernisieren können, indem Sie Micro Focus Enterprise Server als Laufzeit für eine modernisierte Mainframe-Anwendung und LRS VPSX/MFI (Micro Focus Interface) als Druckserver verwenden. [Das Muster basiert auf dem Ansatz der Replatform Mainframe-Modernisierung.](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/) Bei diesem Ansatz migrieren Sie Ihre Mainframe-Online-Anwendung zu Amazon Elastic Compute Cloud (Amazon EC2) und migrieren Ihre Mainframe-Datenbank (z. B. IBM DB2 fürz/OS, to Amazon Relational Database Service (Amazon RDS). The authentication and authorization for the modernized print workflow is performed by AWS Directory Service for Microsoft Active Directory, also known as AWS Managed Microsoft AD. The LRS Directory Information Server (LRS/DIS), die in AWS Managed Microsoft AD für die Authentifizierung und Autorisierung von Druckworkflows integriert ist. Durch die Modernisierung Ihrer Online-Druck-Workloads können Sie die IT-Infrastrukturkosten senken, den technischen Aufwand für die Wartung älterer Systeme verringern, Datensilos beseitigen, die Agilität und Effizienz mit einem DevOps Modell erhöhen und die Vorteile von On-Demand-Ressourcen und Automatisierung in der AWS-Cloud nutzen.

## Voraussetzungen und Einschränkungen
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Ein Mainframe-Workload für Online-Druck oder Output-Management
+ Grundkenntnisse zur Neuerstellung und Bereitstellung einer Mainframe-Anwendung, die auf Micro Focus Enterprise Server ausgeführt wird (Weitere Informationen finden Sie im [Enterprise Server-Datenblatt](https://www.microfocus.com/media/data-sheet/enterprise_server_ds.pdf) in der Micro Focus-Dokumentation.)
+ Grundkenntnisse der LRS Cloud-Printing-Lösungen und -Konzepte (Weitere Informationen finden Sie unter [Output Modernization](https://www.lrsoutputmanagement.com/products/modernization-products) in der LRS-Dokumentation.)
+ Micro Focus Enterprise Server-Software und -Lizenz (Weitere Informationen erhalten Sie vom [Micro Focus-Vertrieb](https://www.microfocus.com/en-us/contact/contactme).)
+ VPSX/MFI, LRS/Queue, and LRS/DISLRS-Software und -Lizenzen (Weitere Informationen erhalten Sie vom [LRS-Vertrieb](https://www.lrsoutputmanagement.com/about-us/contact-us/).)

**Anmerkung**  
Weitere Informationen zu Überlegungen zur Konfiguration von Mainframe-Online-Druck-Workloads finden Sie unter *Überlegungen* im Abschnitt *Zusätzliche Informationen dieses Musters*.

**Produktversionen**
+ [Micro Focus Enterprise Server](https://www.microfocus.com/en-us/products/enterprise-server/overview?utm_campaign=7018e000000PgfnAAC&utm_content=SCH-BR-AMC-AppM-AMS&gclid=EAIaIQobChMIoZCQ6fvS9wIVxQN9Ch2MzAOlEAAYASAAEgKx2fD_BwE) 8.0 oder höher
+ [LRS VPSX/MFI V1R3](https://www.lrsoutputmanagement.com/products/modernization-products/) oder höher

## Architektur
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-architecture"></a>

**Quelltechnologie-Stack**
+ Betriebssystem — IBM z/OS
+ Programmiersprache — Common Business-Oriented Language (COBOL) und Customer Information Control System (CICS) 
+ Datenbank — IBM DB2 für z/OS IBM Information Management System (IMS) und Virtual Storage Access Method (VSAM)
+ Sicherheit — Resource Access Control Facility (RACF), CA Top Secret für z/OS und Access Control Facility 2 () ACF2
+ Druck- und Ausgabemanagement — IBM z/OS Mainframe-Druckprodukte (IBM Infoprint Server für z/OS, LRS und CA View)

**Zieltechnologie-Stack**
+ Betriebssystem — Microsoft Windows Server läuft auf Amazon EC2
+ Rechnen — Amazon EC2
+ Programmiersprache — COBOL und CICS
+ Datenbank — Amazon RDS
+ Sicherheit — AWS Managed Microsoft AD
+ Druck- und Ausgabemanagement — LRS-Drucklösung auf AWS
+ Mainframe-Laufzeitumgebung — Micro Focus Enterprise Server

**Quellarchitektur**

Das folgende Diagramm zeigt eine typische aktuelle Architektur für einen Mainframe-Online-Druck-Workload.

![\[Sechsstufiger Prozess zur Erzeugung sichtbarer Ergebnisse.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/images/293368f5-d102-4f4e-b290-71da4aeff347.png)


Das Diagramm zeigt den folgenden Workflow:

1. Benutzer führen Geschäftstransaktionen auf einem System of Engagement (SoE) durch, das auf einer in COBOL geschriebenen IBM CICS-Anwendung basiert.

1. Das SoE ruft den Mainframe-Service auf, der die Geschäftstransaktionsdaten in einer system-of-records (SoR) -Datenbank wie IBM for z/OS aufzeichnet. DB2 

1. Das SoR speichert die Geschäftsdaten aus dem SoE.

1. Ein Benutzer initiiert eine Anforderung zur Generierung der Druckausgabe vom CICS-SoE, wodurch eine Drucktransaktionsanwendung zur Verarbeitung der Druckanforderung initiiert wird. 

1. Die Anwendung für Drucktransaktionen (z. B. ein CICS- und COBOL-Programm) extrahiert Daten aus der Datenbank, formatiert die Daten gemäß den Geschäftsanforderungen und generiert Geschäftsergebnisse (Druckdaten) wie Abrechnungen, Personalausweise oder Kreditauszüge. Anschließend sendet die Anwendung mithilfe der Virtual Telecommunications Access Method (VTAM) eine Druckanforderung. Ein z/OS Druckserver (wie IBM Infoprint Server) verwendet NetSpool oder eine ähnliche VTAM-Komponente, um die Druckanforderungen abzufangen, und erstellt dann Druckausgabedatensätze auf dem JES-Spool mithilfe von JES-Ausgabeparametern. Die JES-Ausgabeparameter geben Routing-Informationen an, die der Druckserver verwendet, um die Ausgabe an einen bestimmten Netzwerkdrucker zu übertragen. Der Begriff *VTAM* bezieht sich auf den z/OS Communications Server und das System Network Architecture (SNA) -Serviceelement von z/OS.

1. Die Komponente zur Übertragung der Druckausgabe überträgt die ausgegebenen Druckdatensätze vom JES-Spool an externe Drucker oder Druckserver wie LRS (wie in diesem Muster gezeigt), IBM Infoprint Server oder E-Mail-Ziele.

**Zielarchitektur**

Das folgende Diagramm zeigt eine Architektur für einen Mainframe-Online-Druck-Workload, der in der AWS-Cloud bereitgestellt wird:

![\[Vierstufiger Prozess von der Initiierung der Druckanfrage über die Verarbeitung auf AWS bis hin zum LRS-Druck.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/images/07c97b6f-1a86-493d-a4e0-b8321b46f9b7.png)


Das Diagramm zeigt den folgenden Workflow:

1. Ein Benutzer initiiert über eine Online-Benutzeroberfläche (CICS) eine Druckanfrage, um Druckausgaben wie Rechnungsauszüge, Personalausweise oder Kreditauszüge zu erstellen.

1. Die Mainframe-Online-Anwendung ([auf Amazon umgestellt EC2](https://aws.amazon.com/blogs/apn/demystifying-legacy-migration-options-to-the-aws-cloud/)) verwendet die Micro Focus Enterprise Server-Laufzeit, um Daten aus der Anwendungsdatenbank zu extrahieren, Geschäftslogik auf die Daten anzuwenden, die Daten zu formatieren und die Daten dann mithilfe von [Micro Focus CICS Print Exit](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/HCOMCMJCLOU020.html) (DFHUPRNT) an ein Druckziel zu senden. 

1. Die Anwendungsdatenbank (ein SoR, der auf Amazon RDS läuft) speichert Daten für die Druckausgabe.

1. Die VPSX/MFI LRS-Drucklösung wird auf Amazon EC2 bereitgestellt und ihre Betriebsdaten werden im Amazon Elastic Block Store (Amazon EBS) gespeichert. LRS VPSX/MFI verwendet einen TCP/IP-based LRS/Queue transmission agent to collect print data through the Micro Focus CICS Print Exit API (DFHUPRNT) and deliver the data to a specified printer destination. The original TERMID (TERM) that’s used in the modernized CICS application is used as the VPSX/MFI Warteschlangennamen. 

**Anmerkung**  
Die Ziellösung erfordert in der Regel keine Anwendungsänderungen, um Mainframe-Formatierungssprachen wie IBM Advanced Function Presentation (AFP) oder Xerox Line Condition Data Stream (LCDS) zu berücksichtigen. Weitere Informationen zur Verwendung von Micro Focus für die Migration und Modernisierung von Mainframe-Anwendungen auf AWS finden Sie in der AWS-Dokumentation unter [Empowering Enterprise Mainframe Workloads on AWS with Micro Focus](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/).

**AWS-Infrastrukturarchitektur**

Das folgende Diagramm zeigt eine hochverfügbare und sichere AWS-Infrastrukturarchitektur für einen Mainframe-Online-Druck-Workload:

![\[Zwei Availability Zones mit eingeschaltetem Micro Focus Enterprise Server EC2, Amazon RDS und LRS-Druck.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/images/093555a1-342c-420c-bb90-e9440d2e8650.png)


Das Diagramm zeigt den folgenden Workflow:

1. Die Mainframe-Online-Anwendung (geschrieben in einer Programmiersprache wie CICS oder COBOL) verwendet die Kerngeschäftslogik, um Druckausgaben wie Abrechnungen, Personalausweise und Kreditauszüge zu verarbeiten und zu generieren. Die Online-Anwendung wird auf Amazon EC2 in zwei [Availability Zones](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) (AZ) für hohe Verfügbarkeit (HA) bereitgestellt und verwendet Micro Focus CICS Print Exit, um die Druckausgabe an LRS VPSX/MFI weiterzuleiten, damit der Endbenutzer drucken kann.

1. LRS verwendet Befehle. VPSX/MFI TCP/IP-based LRS/Queue transmission agent to collect or capture print data from the Micro Focus online Print Exit programming interface. Online Print Exit passes the necessary information to enable LRS VPSX/MFI to effectively process the print file and dynamically build LRS/Queue 
**Anmerkung**  
*Weitere Informationen zu den verschiedenen Methoden der CICS-Anwendungsprogrammierung für den Druck und deren Unterstützung in Micro Focus Enterprise Server und LRS VPSX/MFI finden Sie unter *Druckdatenerfassung* im Abschnitt Zusätzliche Informationen dieses Musters.*

1. 
**Anmerkung**  
Ein [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) stellt einen DNS-Namen zur Integration von Micro Focus Enterprise Server in LRS bereit VPSX/MFI. : LRS VPSX/MFI supports a Layer 4 load balancer. The Network Load Balancer also does a basic health check on LRS VPSX/MFI und leitet den Datenverkehr an die registrierten Ziele weiter, die fehlerfrei sind.

1. Der VPSX/MFI LRS-Druckserver wird auf Amazon EC2 in zwei Availability Zones für HA bereitgestellt und verwendet [Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) als Betriebsdatenspeicher. LRS VPSX/MFI unterstützt sowohl den aktiv-aktiven als auch den aktiv-passiven Servicemodus. Diese Architektur verwendet mehrere Availability Zones in einem Aktiv-Passiv-Paar als aktiven und Hot-Standby. Der Network Load Balancer führt eine Integritätsprüfung der VPSX/MFI EC2 LRS-Instances durch und leitet den Datenverkehr an Hot-Standby-Instances in einer anderen Availability Zone weiter, wenn sich eine aktive Instance in einem fehlerhaften Zustand befindet. Die Druckanforderungen werden in jeder Instanz lokal in der LRS-Auftragswarteschlange gespeichert. EC2 Im Falle einer Wiederherstellung muss eine ausgefallene Instanz neu gestartet werden, damit die LRS-Dienste die Verarbeitung der Druckanforderung fortsetzen können. 
**Anmerkung**  
LRS VPSX/MFI kann auch Zustandsprüfungen auf Ebene der Druckerflotte durchführen. Weitere Informationen finden Sie unter *Integritätsprüfungen der Druckerflotte* im Abschnitt *Zusätzliche Informationen* dieses Musters.

1. [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) lässt sich integrieren LRS/DIS , um die Authentifizierung und Autorisierung von Druckworkflows durchzuführen. Weitere Informationen finden Sie unter *Druckauthentifizierung und Autorisierung* im Abschnitt *Zusätzliche Informationen* dieses Musters.

1. LRS VPSX/MFI verwendet Amazon EBS für Blockspeicher. Sie können Amazon EBS-Daten von aktiven EC2 Instances als point-in-time Snapshots auf Amazon S3 sichern und sie auf Hot-Standby-EBS-Volumes wiederherstellen. [Um die Erstellung, Aufbewahrung und Löschung von Amazon EBS-Volume-Snapshots zu automatisieren, können Sie [Amazon Data Lifecycle Manager](https://aws.amazon.com/blogs/aws/new-lifecycle-management-for-amazon-ebs-snapshots/) verwenden, um die Häufigkeit automatisierter Snapshots festzulegen und sie auf der Grundlage Ihrer RTO/RPO-Anforderungen wiederherzustellen.](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html)

## Tools
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-tools"></a>

**AWS-Services**
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) bietet Speichervolumen auf Blockebene zur Verwendung mit Amazon-Instances. EC2 EBS-Volumes verhalten sich wie unformatierte Blockgeräte. Sie können diese Volumes als Geräte auf Ihren Instances mounten.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/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.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud.
+ [AWS Directory Service for Microsoft Active Directory (AD)](https://aws.amazon.com/directoryservice/active-directory/), auch bekannt als AWS Managed Microsoft Active Directory, ermöglicht es Ihren verzeichnissensitiven Workloads und AWS-Ressourcen, verwaltetes Active Directory in AWS zu verwenden.

**Andere Tools**
+ [LRS VPSX/MFI (Micro Focus Interface)](https://www.lrsoutputmanagement.com/products/modernization-products/), das gemeinsam von LRS und Micro Focus entwickelt wurde, erfasst die Ausgabe von einem Micro Focus Enterprise Server JES-Spool und leitet sie zuverlässig an ein bestimmtes Druckziel weiter.
+ Der LRS Directory Information Server (LRS/DIS) wird für die Authentifizierung und Autorisierung während des Druckworkflows verwendet.
+ LRS/Queue is a TCP/IP-based LRS/Queue transmission agent, used by LRS VPSX/MFI, um Druckdaten über die Online-Programmierschnittstelle Print Exit von Micro Focus zu sammeln oder zu erfassen.
+ [Micro Focus Enterprise Server](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-A2F23243-962B-440A-A071-480082DF47E7.html) ist eine Umgebung zur Anwendungsbereitstellung für Mainframe-Anwendungen. Sie bietet die Ausführungsumgebung für Mainframe-Anwendungen, die mithilfe einer beliebigen Version von Micro Focus Enterprise Developer migriert oder erstellt wurden.

## Epen
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-epics"></a>

### Richten Sie Micro Focus Enterprise Server auf Amazon ein EC2 und stellen Sie eine Mainframe-Online-Anwendung bereit
<a name="set-up-micro-focus-enterprise-server-on-amazon-ec2-and-deploy-a-mainframe-online-application"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Micro Focus Enterprise Server ein und stellen Sie eine Demo-Online-Anwendung bereit. | Richten Sie Micro Focus Enterprise Server auf Amazon EC2 ein und stellen Sie dann die Micro Focus Account Demo-Anwendung (ACCT-Demo) auf Amazon bereit, EC2 indem Sie den Anweisungen unter [Tutorial: CICS-Support](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/GMWALK00.html) in der Micro Focus-Dokumentation folgen.Die ACCT-Demo-Anwendung ist eine Mainframe-Online-Anwendung (CICS), die die Druckausgabe erstellt und dann initiiert. | Cloud-Architekt | 

### Richten Sie einen LRS-Druckserver bei Amazon ein EC2
<a name="set-up-an-lrs-print-server-on-amazon-ec2"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Besorgen Sie sich eine LRS-Produktlizenz zum Drucken. | Um eine LRS-Produktlizenz für LRS zu erhaltenVPSX/MFI, LRS/Queue, and LRS/DIS, wenden Sie sich an das [LRS](https://www.lrsoutputmanagement.com/about-us/contact-us/) Output Management-Team. Sie müssen die Hostnamen der EC2 Instanzen angeben, auf denen die LRS-Produkte installiert werden. | Bauen Sie einen Vorsprung auf | 
| Erstellen Sie eine Amazon EC2 Windows-Instance, um LRS VPSX/MFI zu installieren. | Starten Sie eine Amazon EC2 Windows-Instance, indem Sie den Anweisungen in [Schritt 1: Starten einer Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance) in der EC2 Amazon-Dokumentation folgen. Ihre Instance muss die folgenden Hardware- und Softwareanforderungen für LRS VPSX/MFI erfüllen:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Die oben genannten Hardware- und Softwareanforderungen sind für eine kleine Druckerflotte (etwa 500—1000) vorgesehen. Um die vollständigen Anforderungen zu erfahren, wenden Sie sich an Ihre LRS- und AWS-Ansprechpartner.Gehen Sie beim Erstellen Ihrer Windows-Instance wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Installieren Sie LRS VPSX/MFI auf der EC2 Instanz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Installieren Sie LRS/Queue. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Installieren Sie LRS/DIS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Erstellen Sie eine Zielgruppe und registrieren Sie LRS VPSX/MFI EC2 als Ziel. | Erstellen Sie eine Zielgruppe, indem Sie den Anweisungen unter [Erstellen Sie eine Zielgruppe für Ihren Network Load Balancer in der Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html) Balancing-Dokumentation folgen.Gehen Sie beim Erstellen der Zielgruppe wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Erstellen Sie einen Network Load Balancer. | Folgen Sie den Anweisungen unter [Network Load Balancer erstellen](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) in der Elastic Load Balancing Balancing-Dokumentation. Ihr Network Load Balancer leitet den Datenverkehr vom Micro Focus Enterprise Server an VPSX/MFI EC2 LRS weiter.Wenn Sie den Network Load Balancer erstellen, gehen Sie auf der Seite **Listener und Routing** wie folgt vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Integrieren Sie Micro Focus Enterprise Server mit LRS VPSX/MFI und LRS/Queue
<a name="integrate-micro-focus-enterprise-server-with-lrs-vpsx-mfi-and-lrs-queue"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie Micro Focus Enterprise Server für die LRS/Queue Integration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Stellen Sie CICS Print Exit (DFHUPRNT) für die Initialisierung von Micro Focus Enterprise Server zur Verfügung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)**Stellen Sie sicher, dass Micro Focus Enterprise Server CICS Print Exit (DFHUPRNT) erkannt hat**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Definieren Sie die Terminal-ID (TERMIDs) des CICS-Druckers als Micro Focus Enterprise Server. | **Aktivieren Sie den 3270-Druck in Micro Focus Enterprise Server**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)**Definieren Sie das Terminal des CICS-Druckers in Micro Focus Enterprise Server**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Richten Sie Drucker und Druckbenutzer in Micro Focus Enterprise Server und LRS VPSX/MFI ein
<a name="set-up-printers-and-print-users-in-micro-focus-enterprise-server-and-lrs-vpsx-mfi"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Druckwarteschlange im LRS VPSX. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Die Druckerwarteschlange muss dem in Micro Focus Enterprise TERMIDs Server erstellten Druck entsprechen. | Cloud-Architekt | 
| Erstellen Sie einen Druckbenutzer in LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Richten Sie die Druckauthentifizierung und -autorisierung ein
<a name="set-up-print-authentication-and-authorization"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine von AWS verwaltete Microsoft AD-Domain mit Benutzern und Gruppen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 
| Verbinden Sie LRS VPSX/MFI EC2 mit einer von AWS verwalteten Microsoft AD-Domain. | Verbinden Sie LRS VPSX/MFI EC2 [automatisch](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-dx-domain/) (AWS Knowledge Center-Dokumentation) oder [manuell](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html) (AWS Directory Service-Dokumentation) mit Ihrer AWS Managed Microsoft AD-Domain. | Cloud-Architekt | 
| Konfiguration und Integration LRS/DIS mit AWS Managed Microsoft AD. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html) | Cloud-Architekt | 

### Testen Sie einen Online-Druck-Workflow
<a name="test-an-online-print-workflow"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Initiieren Sie über die Micro Focus ACCT Demo-App eine Online-Druckanfrage. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Die Meldung „Print Request Scheduled“ wird am unteren Bildschirmrand angezeigt. Dadurch wird bestätigt, dass aus der ACCT-Demo-Anwendung eine Online-Druckanfrage generiert und VPS/MFI zur Druckverarbeitung an LRS gesendet wurde.  | Cloud-Architekt | 
| Überprüfen Sie die Druckausgabe in LRS VPSX/MFI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.html)Sie können jetzt die Druckausgabe eines Kontoauszugs mit Spalten für Kontonummer, NACHNAME, VORNAME, ADRESSE, TELEFON, Nr. sehen. Ausgestellte Karten, Ausstellungsdatum, Betrag und Saldo.Ein Beispiel für dieses Muster finden Sie im Anhang **online\$1print\$1output**. | Testingenieur | 

## Zugehörige Ressourcen
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-resources"></a>
+ [Modernisierung der LRS-Leistung](https://www.lrsoutputmanagement.com/products/modernization-products) (LRS-Dokumentation)
+ [VTAM-Netzwerkkonzepte](https://www.ibm.com/docs/en/zos/2.1.0?topic=guide-vtam-networking-concepts) (IBM-Dokumentation)
+ [Zusammenfassung der LU-Typen (Logical Unit)](https://www.ibm.com/docs/en/wsfz-and-o/1.1?topic=installation-summary-logical-unit-lu-types) (IBM-Dokumentation)
+ [ANSI und Maschinenwagensteuerungen](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) (IBM-Dokumentation)
+ [Unterstützung von Mainframe-Workloads für Unternehmen auf AWS mit Micro Focus](https://aws.amazon.com/blogs/apn/empowering-enterprise-grade-mainframe-workloads-on-aws-with-micro-focus/) (AWS-Partnernetzwerk-Blog)
+ [Erstellen Sie ein Micro Focus Enterprise Server PAC mit Amazon EC2 Auto Scaling und Systems Manager (Dokumentation](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/build-a-micro-focus-enterprise-server-pac-with-amazon-ec2-auto-scaling-and-systems-manager.html) zu AWS Prescriptive Guidance)
+ [AFP-Datenstream (Advanced Function Presentation)](https://www.ibm.com/docs/en/i/7.4?topic=streams-advanced-function-presentation-data-stream) (IBM-Dokumentation)
+ [Line Conditioned Data Stream (LCDS) (Compart-Dokumentation)](https://www.compart.com/en/lcds)

## Zusätzliche Informationen
<a name="modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi-additional"></a>

**Überlegungen**

Während Ihrer Modernisierung können Sie eine Vielzahl von Konfigurationen für Mainframe-Online-Prozesse und die damit generierte Leistung in Betracht ziehen. Die Mainframe-Plattform wurde von allen Kunden und Anbietern, die sie verwenden, an spezielle Anforderungen angepasst, die sich direkt auf den Druck auswirken. Beispielsweise kann Ihre aktuelle Plattform IBM Advanced Function Presentation (AFP) oder den Xerox Line Condition Data Stream (LCDS) in den aktuellen Arbeitsablauf integrieren. Darüber hinaus können [Mainframe-Wagen-Steuerzeichen](https://www.ibm.com/docs/en/cmofz/9.5.0?topic=tips-ansi-machine-carriage-controls) und [Kanalbefehle](https://www.ibm.com/docs/en/zos/2.3.0?topic=devices-channel-command-words) das Aussehen der gedruckten Seite beeinflussen und erfordern möglicherweise eine besondere Behandlung. Im Rahmen der Planung der Modernisierung empfehlen wir Ihnen, die Konfigurationen in Ihrer spezifischen Druckumgebung zu bewerten und zu verstehen.

**Erfassung von Druckdaten**

In diesem Abschnitt werden die Methoden zur CICS-Anwendungsprogrammierung zusammengefasst, die Sie in einer IBM-Mainframe-Umgebung zum Drucken verwenden können. VPSX/MFI LRS-Komponenten bieten Techniken, mit denen dieselben Anwendungsprogramme Daten auf dieselbe Weise erstellen können. In der folgenden Tabelle wird beschrieben, wie die einzelnen Methoden der Anwendungsprogrammierung in einer modernisierten CICS-Anwendung unterstützt werden, die in AWS und Micro Focus Enterprise Server mit einem VPSX/MFI LRS-Druckserver ausgeführt wird.


| 
| 
| Methode | Description | Support der Methode in einer modernisierten Umgebung | 
| --- |--- |--- |
| FÜHRUNGSKRÄFTE SENDEN TEXT... oder EXEC CICS SEND MAP..  | Diese CICS- und VTAM-Methoden sind für die Erstellung und Bereitstellung von 3270/SCS-Druckdatenströmen an LUTYPE0,, und Druckgeräte verantwortlich. LUTYPE1 LUTYPE3  | Eine Micro Focus Online Print Exit (DFHUPRNT) -Anwendungsprogrammschnittstelle (API) ermöglicht die Verarbeitung von Druckdaten, VPSX/MFI sobald 3270/SCS-Druckdatenströme mit einer dieser Methoden erstellt werden.  | 
| FÜHRUNGSKRÄFTE SENDEN TEXT... oder EXEC CICS SEND MAP.. (mit IBM Mainframe-Software eines Drittanbieters) | Die CICS- und VTAM-Methoden sind für die Erstellung und Bereitstellung von 3270/SCS-Druckdatenströmen an LUTYPE0,, und Druckgeräte verantwortlich. LUTYPE1 LUTYPE3 Softwareprodukte von Drittanbietern fangen die Druckdaten ab, konvertieren die Daten in Standarddruckformatdaten mit einem ASA/MCH Steuerzeichen und platzieren die Daten auf dem JES-Spool, damit sie von Mainframe-basierten Drucksystemen verarbeitet werden können, die JES verwenden.  | Eine Micro Focus Online Print Exit (DFHUPRNT) -API ermöglicht die Verarbeitung von Druckdaten, VPSX/MFI wenn 3270/SCS-Druckdatenströme mit einer dieser Methoden erstellt werden.  | 
| FÜHREN SIE CICS SPOOLOPEN AUS  | Diese Methode wird von CICS-Anwendungsprogrammen verwendet, um Daten direkt in den JES-Spool zu schreiben. Die Daten stehen dann für die Verarbeitung durch Mainframe-basierte Drucksysteme zur Verfügung, die JES verwenden.  | Micro Focus Enterprise Server spoolt die Daten in den Enterprise Server-Spool, wo sie mit dem VPSX/MFI Batch Print Exit (LRSPRTE6) verarbeitet werden können, der die Daten zu VPSX spoolt.  | 
| DRS/API | Eine von LRS bereitgestellte programmatische Schnittstelle wird zum Schreiben von Druckdaten in JES verwendet.  | VPSX/MFI bietet eine Ersatzschnittstelle, die die Druckdaten direkt an VPSX weiterleitet.  | 

**Zustandsprüfungen der Druckerflotte**

LRS VPSX/MFI (LRS LoadX) kann tiefgreifende Zustandsprüfungen durchführen, einschließlich Geräteverwaltung und Betriebsoptimierung. Die Geräteverwaltung kann Fehler in einem Druckergerät erkennen und die Druckanforderung an einen fehlerfreien Drucker weiterleiten. Weitere Informationen zu umfassenden Integritätsprüfungen für Druckerflotten finden Sie in der LRS-Dokumentation, die in Ihrer Produktlizenz enthalten ist.

**Authentifizierung und Autorisierung drucken**

LRS/DIS enables LRS applications to authenticate user IDs and passwords by using Microsoft Active Directory or an LDAP server. In addition to basic print authorization, LRS/DISkann in den folgenden Anwendungsfällen auch detaillierte Drucksicherheitskontrollen anwenden:
+ Steuert, wer den Druckerauftrag durchsuchen kann.
+ Verwaltet die Navigationsebene der Aufträge anderer Benutzer.
+ Operative Aufgaben verwalten. Zum Beispiel Sicherheitsfunktionen auf Befehlsebene wie „Sperren/Freigeben“, „Löschen“, „Ändern“, „Kopieren“ und „Umleiten“. Die Sicherheit kann entweder anhand der Benutzer-ID oder der Gruppe (ähnlich der AD-Gruppe oder der LDAP-Gruppe) eingerichtet werden.

## Anlagen
<a name="attachments-924cdae7-9265-4fc9-8e5e-bb2da5368e7e"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/924cdae7-9265-4fc9-8e5e-bb2da5368e7e/attachments/attachment.zip)

# Verschieben Sie Mainframe-Dateien mit Transfer Family direkt nach Amazon S3
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family"></a>

*Luis Gustavo Dantas, Amazon Web Services*

## Zusammenfassung
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-summary"></a>

Im Rahmen der Modernisierung können Sie sich der Herausforderung stellen, Dateien zwischen Ihren lokalen Servern und der Amazon Web Services (AWS) Cloud zu übertragen. Die Übertragung von Daten von Mainframes kann eine große Herausforderung sein, da Mainframes in der Regel nicht auf moderne Datenspeicher wie Amazon Simple Storage Service (Amazon S3), Amazon Elastic Block Store (Amazon EBS) oder Amazon Elastic File System (Amazon EFS) zugreifen können.

Viele Kunden verwenden Intermediate-Staging-Ressourcen wie lokale Linux-, Unix- oder Windows-Server, um Dateien in die AWS-Cloud zu übertragen. Sie können diese indirekte Methode vermeiden, indem Sie AWS Transfer Family mit dem Secure Shell (SSH) File Transfer Protocol (SFTP) verwenden, um Mainframe-Dateien direkt auf Amazon S3 hochzuladen.

## Voraussetzungen und Einschränkungen
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Eine virtuelle private Cloud (VPC) mit einem Subnetz, das über Ihre Legacy-Plattform erreichbar ist
+ Ein Transfer Family Family-Endpunkt für Ihre VPC
+ Mainframe-VSAM-Dateien (Virtual Storage Access Method) wurden in sequentielle Dateien mit [fester](https://www.ibm.com/docs/en/zos/2.1.0?topic=reports-converting-vb-fb) Länge konvertiert (IBM-Dokumentation)

**Einschränkungen**
+ SFTP überträgt Dateien standardmäßig im Binärmodus, was bedeutet, dass Dateien unter Beibehaltung der EBCDIC-Kodierung auf Amazon S3 hochgeladen werden. Wenn Ihre Datei keine binären oder gepackten Daten enthält, können Sie den [Unterbefehl **sftp** ascii](https://www.ibm.com/docs/en/zos/2.3.0?topic=version-what-zos-openssh-supports) (IBM-Dokumentation) verwenden, um Ihre Dateien während der Übertragung in Text zu konvertieren.
+ Sie müssen [Mainframe-Dateien (AWS Prescriptive Guidance) entpacken](https://apg-library.amazonaws.com/content/f5907bfe-7dff-4cd0-8523-57015ad48c4b), die gepackte und binäre Inhalte enthalten, um diese Dateien in Ihrer Zielumgebung verwenden zu können.
+ Amazon S3 S3-Objekte können eine Größe von mindestens 0 Byte bis zu einem Maximum von 5 TB haben. Weitere Informationen zu den Funktionen von Amazon S3 finden Sie unter [Amazon S3 FAQs](https://aws.amazon.com/s3/faqs/?nc1=h_ls).

## Architektur
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-architecture"></a>

**Quelltechnologie-Stack**
+ Sprache zur Jobkontrolle (JCL)
+ z/OS Unix-Shell und ISPF
+ SFTP
+ VSAM und Flatfiles

**Zieltechnologie-Stack**
+ Transfer Family
+ Amazon S3
+ Amazon Virtual Private Cloud (Amazon VPC)

**Zielarchitektur**

Das folgende Diagramm zeigt eine Referenzarchitektur für die Verwendung von Transfer Family mit SFTP, um Mainframe-Dateien direkt in einen S3-Bucket hochzuladen.

![\[Verwenden von Transfer Family mit SFTP zum direkten Hochladen von Mainframe-Dateien in einen S3-Bucket\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/1f4fa1fd-b681-41bc-81d8-d556426b14c2/images/110491d5-b58d-4451-8de9-e742756bb192.png)


Das Diagramm zeigt den folgenden Workflow:

1. Sie verwenden einen JCL-Job, um Ihre Mainframe-Dateien über Direct Connect vom Legacy-Mainframe in die AWS-Cloud zu übertragen.

1. Direct Connect ermöglicht es Ihrem Netzwerkverkehr, im globalen AWS-Netzwerk zu bleiben und das öffentliche Internet zu umgehen. Direct Connect verbessert auch die Netzwerkgeschwindigkeit, angefangen bei 50 Mbit/s bis hin zur Skalierung auf bis zu 100 Gbit/s.

1. Der VPC-Endpunkt ermöglicht Verbindungen zwischen Ihren VPC-Ressourcen und den unterstützten Diensten, ohne das öffentliche Internet zu nutzen. Der Zugriff auf Transfer Family und Amazon S3 ermöglicht eine hohe Verfügbarkeit, da er über die elastischen Netzwerkschnittstellen erfolgt, die sich in zwei privaten Subnetzen und Availability Zones befinden.

1. Transfer Family authentifiziert Benutzer und verwendet SFTP, um Ihre Dateien aus der Legacy-Umgebung zu empfangen und in einen S3-Bucket zu verschieben.

**Automatisierung und Skalierung**

Nachdem der Transfer Family Family-Service eingerichtet wurde, können Sie eine unbegrenzte Anzahl von Dateien vom Mainframe auf Amazon S3 übertragen, indem Sie einen JCL-Job als SFTP-Client verwenden. Sie können die Dateiübertragung auch automatisieren, indem Sie einen Mainframe-Batch-Job-Scheduler verwenden, um die SFTP-Jobs auszuführen, wenn Sie bereit sind, die Mainframe-Dateien zu übertragen.

## Tools
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-tools"></a>
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) hilft Ihnen, AWS-Ressourcen in einem von Ihnen definierten virtuellen Netzwerk zu starten. Dieses virtuelle Netzwerk ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben würden, mit den Vorteilen der skalierbaren Infrastruktur von AWS.
+ Mit der [AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html) können Sie Ihre wiederkehrenden business-to-business Dateiübertragungen an Amazon S3 und Amazon EFS mithilfe der Protokolle SFTP, FTPS und FTP sicher skalieren.

## Epen
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-epics"></a>

### Erstellen Sie den S3-Bucket und die Zugriffsrichtlinie
<a name="create-the-s3-bucket-and-the-access-policy"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den S3-Bucket. | [Erstellen Sie einen S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), um die Dateien zu hosten, die Sie aus Ihrer Legacy-Umgebung übertragen. | Allgemeines AWS | 
| Erstellen Sie die IAM-Rolle und -Richtlinie. | Transfer Family verwendet Ihre AWS Identity and Access Management (IAM) -Rolle, um Zugriff auf den S3-Bucket zu gewähren, den Sie zuvor erstellt haben.[Erstellen Sie eine IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html), die die folgende [IAM-Richtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) umfasst:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "UserFolderListing",<br />            "Action": [<br />                "s3:ListBucket",<br />                "s3:GetBucketLocation"<br />            ],<br />            "Effect": "Allow",<br />            "Resource": [<br />                "arn:aws:s3:::<your-bucket-name>"<br />            ]<br />        },<br />        {<br />            "Sid": "HomeDirObjectAccess",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",<br />                "s3:GetObjectAcl",<br />                "s3:GetObject",<br />                "s3:DeleteObjectVersion",<br />                "s3:DeleteObject",<br />                "s3:PutObjectAcl",<br />                "s3:GetObjectVersion"<br />            ],<br />            "Resource": "arn:aws:s3:::<your-bucket-name>/*"<br />        }<br />    ]<br />}</pre>Sie müssen den Anwendungsfall Transfer auswählen, wenn Sie die IAM-Rolle erstellen. | Allgemeines AWS | 

### Definieren Sie den Transferservice
<a name="define-the-transfer-service"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den SFTP-Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html)Weitere Informationen zur Einrichtung eines SFTP-Servers finden Sie unter [Erstellen eines SFTP-fähigen Servers](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html) (AWS Transfer Family Family-Benutzerhandbuch). | Allgemeines AWS | 
| Holen Sie sich die Serveradresse. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html) | Allgemeines AWS | 
| Erstellen Sie das SFTP-Client-Schlüsselpaar. | Erstellen Sie ein SSH-Schlüsselpaar für [Microsoft Windows](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#windows-ssh) oder [macOS/Linux/UNIX](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#macOS-linux-unix-ssh). | Allgemeines AWS, SSH | 
| Erstellen Sie den SFTP-Benutzer. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html) | Allgemeines AWS | 

### Übertragen Sie die Mainframe-Datei
<a name="transfer-the-mainframe-file"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Senden Sie den privaten SSH-Schlüssel an den Mainframe. | Verwenden Sie SFTP oder SCP, um den privaten SSH-Schlüssel an die Legacy-Umgebung zu senden.SFTP-Beispiel:<pre>sftp [USERNAME@mainframeIP]<br />[password]<br />cd [/u/USERNAME]<br />put [your-key-pair-file]</pre>SCP-Beispiel:<pre>scp [your-key-pair-file] [USERNAME@MainframeIP]:/[u/USERNAME]</pre>Als Nächstes speichern Sie den SSH-Schlüssel im z/OS Unix-Dateisystem unter dem Benutzernamen, der später den Batch-Job für die Dateiübertragung ausführen wird (z. B.`/u/CONTROLM`). Weitere Informationen zur z/OS Unix-Shell finden Sie unter [Einführung in die z/OS Shells](https://www.ibm.com/docs/en/zos/2.2.0?topic=shells-introduction-zos) (IBM-Dokumentation). | Mainframe, z/OS Unix-Shell, FTP, SCP | 
| Erstellen Sie den JCL-SFTP-Client. | Da Mainframes keinen nativen SFTP-Client haben, müssen Sie das BPXBATCH-Hilfsprogramm verwenden, um den SFTP-Client von der Unix-Shell aus auszuführen. z/OS Erstellen Sie im ISPF-Editor den JCL-SFTP-Client. Beispiel:<pre>//JOBNAM JOB ...<br />//**********************************************************************<br />//SFTP EXEC PGM=BPXBATCH,REGION=0M <br />//STDPARM DD * <br />SH cp "//'MAINFRAME.FILE.NAME'" filename.txt; <br />echo 'put filename.txt' > uplcmd; <br />sftp -b uplcmd -i ssh_private_key_file ssh_username@<transfer service ip or DNS>; <br />//SYSPRINT DD SYSOUT=* <br />//STDOUT DD SYSOUT=* <br />//STDENV DD * <br />//STDERR DD SYSOUT=*</pre>Weitere Informationen zur Ausführung eines Befehls in der z/OS Unix-Shell finden Sie unter [Das BPXBATCH-Hilfsprogramm](https://www.ibm.com/docs/en/zos/2.2.0?topic=ispf-bpxbatch-utility) (IBM-Dokumentation). [Weitere Informationen zum Erstellen oder Bearbeiten von JCL-Jobs in z/OS finden Sie unter Was ist ISPF?](https://www.ibm.com/docs/en/zos-basic-skills?topic=interfaces-what-is-ispf) und [Der ISPF-Editor](https://www.ibm.com/docs/en/zos-basic-skills?topic=ispf-editor) (IBM-Dokumentation). | JCL, Mainframe, Unix-Shell z/OS  | 
| Führen Sie den JCL-SFTP-Client aus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html)Weitere Informationen zur Überprüfung der Aktivität von Batch-Jobs finden Sie im [z/OS SDSF User's](https://www.ibm.com/docs/en/zos/2.4.0?topic=sdsf-zos-users-guide) Guide (IBM-Dokumentation). | Mainframe, JCL, ISPF | 
| Bestätigen Sie die Dateiübertragung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/move-mainframe-files-directly-to-amazon-s3-using-transfer-family.html) | Allgemeines AWS | 
| Automatisieren Sie den JCL-SFTP-Client. | Verwenden Sie den Job-Scheduler, um den JCL-SFTP-Client automatisch auszulösen.Sie können Mainframe-Job-Scheduler wie [BMC Control-M](https://www.bmcsoftware.pt/it-solutions/control-m.html) oder [CA Workload Automation](https://www.broadcom.com/products/mainframe/workload-automation/ca7) verwenden, um Batch-Jobs für Dateiübertragungen auf der Grundlage von Zeit und anderen Abhängigkeiten von Batch-Jobs zu automatisieren. | Jobplaner | 

## Zugehörige Ressourcen
<a name="move-mainframe-files-directly-to-amazon-s3-using-transfer-family-resources"></a>
+ [So funktioniert die AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/how-aws-transfer-works.html)

# Optimieren Sie die Leistung Ihrer modernisierten AWS Blu Age-Anwendung
<a name="optimize-performance-aws-blu-age-modernized-application"></a>

*Vishal Jaswani, Manish Roy und Himanshu Sah, Amazon Web Services*

## Zusammenfassung
<a name="optimize-performance-aws-blu-age-modernized-application-summary"></a>

Mainframe-Anwendungen, die mit AWS Blu Age modernisiert wurden, erfordern Funktions- und Leistungsgleichwertigkeitstests, bevor sie in der Produktion eingesetzt werden. Bei Leistungstests können modernisierte Anwendungen langsamer ausgeführt werden als ältere Systeme, insbesondere bei komplexen Batch-Jobs. Dieser Unterschied besteht darin, dass Mainframe-Anwendungen monolithisch sind, wohingegen moderne Anwendungen mehrstufige Architekturen verwenden. [Dieses Muster stellt Optimierungstechniken zur Behebung dieser Leistungslücken für Anwendungen vor, die mithilfe von automatisiertem Refactoring mit Blu Age modernisiert wurden. AWS](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html)

Das Muster verwendet das AWS Blu Age-Modernisierungsframework mit systemeigenen Java- und Datenbankoptimierungsfunktionen, um Leistungsengpässe zu identifizieren und zu beheben. Das Muster beschreibt, wie Sie mithilfe von Profilerstellung und Überwachung Leistungsprobleme anhand von Kennzahlen wie SQL-Ausführungszeiten, Speicherauslastung und Mustern identifizieren können. I/O Anschließend wird erklärt, wie Sie gezielte Optimierungen anwenden können, darunter die Umstrukturierung von Datenbankabfragen, das Zwischenspeichern und die Verfeinerung der Geschäftslogik.

Die Verbesserungen der Batch-Verarbeitungszeiten und der Auslastung der Systemressourcen tragen dazu bei, dass Sie das Mainframe-Leistungsniveau Ihrer modernisierten Systeme erreichen. Dieser Ansatz gewährleistet die funktionale Gleichwertigkeit beim Übergang zu modernen Cloud-basierten Architekturen.

[Um dieses Muster zu verwenden, richten Sie Ihr System ein und identifizieren Sie Leistungsprobleme, indem Sie den Anweisungen im Abschnitt [Epics](#optimize-performance-aws-blu-age-modernized-application-epics) folgen und die Optimierungstechniken anwenden, die im Abschnitt Architektur ausführlich behandelt werden.](#optimize-performance-aws-blu-age-modernized-application-architecture)

## Voraussetzungen und Einschränkungen
<a name="optimize-performance-aws-blu-age-modernized-application-prereqs"></a>

**Voraussetzungen**
+ Eine modernisierte AWS Anwendung von Blue Age
+ [Eine Lizenz JProfiler ](https://www.ej-technologies.com/store/jprofiler)
+ Administratorrechte zur Installation des Datenbankclients und der Profilerstellungstools
+ AWS Blu Age [Level 3-Zertifizierung](https://bluinsights.aws/certification/)
+ Kenntnisse des AWS Blu Age-Frameworks, der generierten Codestruktur und der Java-Programmierung auf mittlerem Niveau

**Einschränkungen**

Die folgenden Optimierungsmöglichkeiten und Merkmale fallen nicht in den Geltungsbereich dieses Musters:
+ Optimierung der Netzwerklatenz zwischen Anwendungsebenen
+ Optimierungen auf Infrastrukturebene durch Amazon Elastic Compute Cloud (Amazon EC2) Instance-Typen und Speicheroptimierung
+ Gleichzeitige Benutzerlasttests und Stresstests

**Produktversionen**
+ JProfiler Version 13.0 oder höher (wir empfehlen die neueste Version)
+ pgAdmin Version 8.14 oder höher

## Architektur
<a name="optimize-performance-aws-blu-age-modernized-application-architecture"></a>

Dieses Muster richtet mithilfe von Tools wie pgAdmin eine Profilierungsumgebung für eine AWS Blu Age-Anwendung ein. JProfiler Es unterstützt die Optimierung mit dem von AWS Blu SQLExecution Age APIs bereitgestellten DAOManager and Builder.

Der Rest dieses Abschnitts enthält detaillierte Informationen und Beispiele zur Identifizierung von Performance-Hotspots und Optimierungsstrategien für Ihre modernisierten Anwendungen. Die Schritte im Abschnitt [Epics](#optimize-performance-aws-blu-age-modernized-application-epics) beziehen sich auf diese Informationen, um weitere Anleitungen zu erhalten.

**Identifizierung von Leistungs-Hotspots in modernisierten Mainframe-Anwendungen**

In modernisierten Mainframe-Anwendungen sind *Performance-Hotspots* bestimmte Bereiche im Code, die zu erheblichen Verlangsamungen oder Ineffizienzen führen. Diese Hotspots werden häufig durch die architektonischen Unterschiede zwischen Mainframe- und modernisierten Anwendungen verursacht. Um diese Leistungsengpässe zu identifizieren und die Leistung Ihrer modernisierten Anwendung zu optimieren, können Sie drei Techniken verwenden: SQL-Protokollierung, Abfrageplan und Analyse. `EXPLAIN` JProfiler 

*Technik zur Identifizierung von Hotspots: SQL-Protokollierung*

Moderne Java-Anwendungen, einschließlich solcher, die mithilfe von AWS Blu Age modernisiert wurden, verfügen über integrierte Funktionen zum Protokollieren von SQL-Abfragen. Sie können spezielle Logger in AWS Blu Age-Projekten aktivieren, um die von Ihrer Anwendung ausgeführten SQL-Anweisungen zu verfolgen und zu analysieren. Diese Technik ist besonders nützlich, um ineffiziente Datenbankzugriffsmuster zu identifizieren, wie z. B. zu viele einzelne Abfragen oder schlecht strukturierte Datenbankaufrufe, die durch Batching oder Verfeinerung von Abfragen optimiert werden könnten.

Um die SQL-Protokollierung in Ihrer modernisierten AWS Blu Age-Anwendung zu implementieren, setzen Sie die Protokollebene auf `DEBUG` für SQL-Anweisungen in der `application.properties` Datei, um Details zur Abfrageausführung zu erfassen:

```
level.org.springframework.beans.factory.support.DefaultListableBeanFactory : WARN
level.com.netfective.bluage.gapwalk.runtime.sort.internal: WARN
level.org.springframework.jdbc.core.StatementCreatorUtils: DEBUG
level.com.netfective.bluage.gapwalk.rt.blu4iv.dao: DEBUG
level.com.fiserv.signature: DEBUG
level.com.netfective.bluage.gapwalk.database.support.central: DEBUG
level.com.netfective.bluage.gapwalk.rt.db.configuration.DatabaseConfiguration: DEBUG
level.com.netfective.bluage.gapwalk.rt.db.DatabaseInteractionLoggerUtils: DEBUG
level.com.netfective.bluage.gapwalk.database.support.AbstractDatabaseSupport: DEBUG
level.com.netfective.bluage.gapwalk.rt: DEBUG
```

Überwachen Sie Abfragen mit hoher Frequenz und langsamer Leistung, indem Sie die protokollierten Daten verwenden, um Optimierungsziele zu identifizieren. Konzentrieren Sie sich auf Abfragen innerhalb von Batch-Prozessen, da diese in der Regel die größte Auswirkung auf die Leistung haben.

*Technik zur Identifizierung von Hotspots: EXPLAIN-Plan abfragen*

Diese Methode nutzt die Funktionen zur Abfrageplanung relationaler Datenbankmanagementsysteme. Sie können Befehle wie `EXPLAIN` in PostgreSQL oder MySQL oder `EXPLAIN PLAN` in Oracle verwenden, um zu untersuchen, wie Ihre Datenbank eine bestimmte Abfrage ausführen will. Die Ausgabe dieser Befehle bietet wertvolle Einblicke in die Strategie zur Abfrageausführung, einschließlich der Frage, ob Indizes verwendet oder vollständige Tabellenscans durchgeführt werden. Diese Informationen sind entscheidend für die Optimierung der Abfrageleistung, insbesondere in Fällen, in denen eine ordnungsgemäße Indizierung die Ausführungszeit erheblich reduzieren kann.

Extrahieren Sie die sich am häufigsten wiederholenden SQL-Abfragen aus den Anwendungsprotokollen und analysieren Sie den Ausführungspfad langsamer Abfragen mithilfe des für Ihre Datenbank spezifischen `EXPLAIN` Befehls. Hier ist ein Beispiel für eine PostgreSQL-Datenbank.

Abfrage:

```
SELECT * FROM tenk1 WHERE unique1 < 100;
```

`EXPLAIN`Befehl:

```
EXPLAIN SELECT * FROM tenk1 where unique1 < 100;
```

Ausgabe:

```
Bitmap Heap Scan on tenk1 (cost=5.06..224.98 rows=100 width=244) 
Recheck Cond: (unique1 < 100) 
-> Bitmap Index Scan on tenk1_unique1 (cost=0.00..5.04 rows=100 width=0)
Index Cond: (unique1 < 100)
```

Sie können die `EXPLAIN` Ausgabe wie folgt interpretieren:
+ Lesen Sie den `EXPLAIN` Plan von den innersten bis zu den äußersten Operationen (von unten nach oben).
+ Suchen Sie nach Schlüsselbegriffen. `Seq Scan`Zeigt beispielsweise einen vollständigen Tabellenscan an und `Index Scan` zeigt die Indexnutzung an.
+ Überprüfen Sie die Kostenwerte: Die erste Zahl steht für die Startkosten und die zweite Zahl für die Gesamtkosten.
+ Sehen Sie sich den `rows` Wert für die geschätzte Anzahl von Ausgabezeilen an.

In diesem Beispiel verwendet die Abfrage-Engine einen Indexscan, um die passenden Zeilen zu finden, und ruft dann nur diese Zeilen ab (`Bitmap Heap Scan`). Dies ist trotz der höheren Kosten für den Zugriff auf einzelne Zeilen effizienter als das Scannen der gesamten Tabelle.

Tabellenscanvorgänge in der Ausgabe eines `EXPLAIN` Plans deuten auf einen fehlenden Index hin. Die Optimierung erfordert die Erstellung eines geeigneten Indexes.

*Technik zur Identifizierung von Hotspots: Analyse JProfiler *

JProfiler ist ein umfassendes Java-Profiling-Tool, mit dem Sie Leistungsengpässe beheben können, indem es langsame Datenbankaufrufe und CPU-intensive Aufrufe identifiziert. Dieses Tool ist besonders effektiv bei der Identifizierung langsamer SQL-Abfragen und ineffizienter Speichernutzung.

Beispielanalyse für eine Abfrage:

```
select evt. com.netfective.bluage.gapwalk.rt.blu4iv.dao.Blu4ivTableManager.queryNonTrasactional
```

Die Ansicht „ JProfiler Hot Spots“ enthält die folgenden Informationen:
+ Spalte „**Zeit**“
  + Zeigt die gesamte Ausführungsdauer an (z. B. 329 Sekunden)
  + Zeigt den Prozentsatz der gesamten Anwendungszeit an (z. B. 58,7%)
  + Hilft bei der Identifizierung der zeitaufwändigsten Vorgänge
+ Spalte „**Durchschnittliche Zeit**“
  + Zeigt die Dauer pro Ausführung an (z. B. 2.692 Mikrosekunden)
  + Zeigt die Leistung des einzelnen Vorgangs an
  + Hilft dabei, langsame Einzelvorgänge zu erkennen
+ Spalte „**Ereignisse**“
  + Zeigt die Anzahl der Ausführungen an (z. B. 122.387 Mal)
  + Zeigt die Betriebsfrequenz an
  + Hilft bei der Identifizierung häufig aufgerufener Methoden

Für die Beispielergebnisse:
+ Hohe Frequenz: 122.387 Ausführungen weisen auf Optimierungspotenzial hin
+ Bedenken hinsichtlich der Leistung: 2.692 Mikrosekunden für die durchschnittliche Zeit deuten auf Ineffizienz hin
+ Kritische Auswirkung: 58,7% der Gesamtzeit deuten auf einen großen Engpass hin

JProfiler kann das Laufzeitverhalten Ihrer Anwendung analysieren, um Hotspots aufzudecken, die durch statische Codeanalyse oder SQL-Protokollierung möglicherweise nicht erkennbar sind. Diese Kennzahlen helfen Ihnen dabei, die Abläufe zu identifizieren, die optimiert werden müssen, und die Optimierungsstrategie zu bestimmen, die am effektivsten wäre. Weitere Informationen zu den JProfiler Funktionen finden Sie in der [JProfiler Dokumentation](https://www.ej-technologies.com/resources/jprofiler/help/doc/main/introduction.html).

Wenn Sie diese drei Techniken (SQL-Protokollierung, `EXPLAIN` Abfrageplan und JProfiler) zusammen verwenden, können Sie sich einen ganzheitlichen Überblick über die Leistungsmerkmale Ihrer Anwendung verschaffen. Indem Sie die kritischsten Performance-Hotspots identifizieren und beheben, können Sie die Leistungslücke zwischen Ihrer ursprünglichen Mainframe-Anwendung und Ihrem modernisierten cloudbasierten System schließen.

Nachdem Sie die Performance-Hotspots Ihrer Anwendung identifiziert haben, können Sie Optimierungsstrategien anwenden, die im nächsten Abschnitt erläutert werden.

**Optimierungsstrategien für die Mainframe-Modernisierung**

In diesem Abschnitt werden die wichtigsten Strategien zur Optimierung von Anwendungen beschrieben, die von Mainframe-Systemen aus modernisiert wurden. Es konzentriert sich auf drei Strategien: Nutzung vorhandener Strategien APIs, Implementierung von effektivem Caching und Optimierung der Geschäftslogik.

*Optimierungsstrategie: Nutzung vorhandener APIs*

AWS Blu Age bietet mehrere leistungsstarke APIs In-DAO-Schnittstellen, mit denen Sie die Leistung optimieren können. Zwei Hauptschnittstellen — DAOManager und SQLExecution Builder — bieten Funktionen zur Verbesserung der Anwendungsleistung.

**DAOManager**

DAOManager dient als primäre Schnittstelle für Datenbankoperationen in modernisierten Anwendungen. Es bietet mehrere Methoden zur Verbesserung der Datenbankoperationen und zur Verbesserung der Anwendungsleistung, insbesondere für einfache Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge (CRUD) und die Stapelverarbeitung.
+ **Verwenden SetMaxResults.** In der DAOManager API können Sie die **SetMaxResults**Methode verwenden, um die maximale Anzahl von Datensätzen anzugeben, die in einem einzigen Datenbankvorgang abgerufen werden sollen. DAOManager Ruft standardmäßig nur 10 Datensätze gleichzeitig ab, was bei der Verarbeitung großer Datenmengen zu mehreren Datenbankaufrufen führen kann. Verwenden Sie diese Optimierung, wenn Ihre Anwendung eine große Anzahl von Datensätzen verarbeiten muss und derzeit mehrere Datenbankaufrufe durchführt, um sie abzurufen. Dies ist besonders nützlich in Batchverarbeitungsszenarien, in denen Sie durch einen großen Datensatz iterieren. Im folgenden Beispiel verwendet der Code auf der linken Seite (vor der Optimierung) den Standardwert für den Datenabruf von 10 Datensätzen. Der Code auf der rechten Seite (nach der Optimierung) legt fest **setMaxResults**, dass 100.000 Datensätze gleichzeitig abgerufen werden.  
![\[Beispiel für die Verwendung SetMaxResults zur Vermeidung mehrerer Datenbankaufrufe.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/beb9623e-e7a8-45ef-adc6-19a249224b05.png)
**Anmerkung**  
Wählen Sie größere Batchgrößen sorgfältig aus und überprüfen Sie die Objektgröße, da diese Optimierung den Speicherbedarf erhöht.
+ **Ersetze SetOnGreatorOrEqual durch SetOnEqual.** Diese Optimierung beinhaltet die Änderung der Methode, mit der Sie die Bedingungen für das Abrufen von Datensätzen festlegen. Die **SetOnGreatorOrEqual**Methode ruft Datensätze ab, die größer oder gleich einem angegebenen Wert sind, wohingegen nur Datensätze **SetOnEqual**abgerufen werden, die genau dem angegebenen Wert entsprechen.

  Verwenden Sie, **SetOnEqual**wie im folgenden Codebeispiel dargestellt, wenn Sie wissen, dass Sie exakte Übereinstimmungen benötigen und Sie derzeit die **SetOnGreatorOrEqual**Methode verwenden, gefolgt von **readNextEqual()**. Diese Optimierung reduziert unnötiges Abrufen von Daten.  
![\[Beispiel für die Verwendung SetOnEqual zum Abrufen von Datensätzen, die auf einer exakten Übereinstimmung basieren.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/5ce0dac9-f281-4862-a71f-1614493a83f0.png)
+ **Verwenden Sie Batch-Schreib- und Aktualisierungsvorgänge.** Sie können Batch-Operationen verwenden, um mehrere Schreib- oder Aktualisierungsvorgänge in einer einzigen Datenbanktransaktion zu gruppieren. Dies reduziert die Anzahl der Datenbankaufrufe und kann die Leistung von Vorgängen, die mehrere Datensätze umfassen, erheblich verbessern.

  Im folgenden Beispiel führt der Code auf der linken Seite Schreiboperationen in einer Schleife aus, was die Leistung der Anwendung verlangsamt. Sie können diesen Code optimieren, indem Sie einen Batch-Schreibvorgang verwenden: Bei jeder Iteration der `WHILE` Schleife fügen Sie Datensätze zu einem Stapel hinzu, bis die Batchgröße eine vorgegebene Größe von 100 erreicht. Sie können den Stapel dann leeren, wenn er die vorgegebene Batchgröße erreicht hat, und anschließend alle verbleibenden Datensätze in die Datenbank übernehmen. Dies ist besonders nützlich in Szenarien, in denen Sie große Datenmengen verarbeiten, die aktualisiert werden müssen.  
![\[Beispiel für die Gruppierung mehrerer Operationen in einer einzigen Datenbanktransaktion.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/e3bd60d4-06f5-4c1c-9cbd-463f6835a1ba.png)
+ **Fügen Sie Indizes hinzu.** Das Hinzufügen von Indizes ist eine Optimierung auf Datenbankebene, die die Abfrageleistung erheblich verbessern kann. Ein Index ermöglicht es der Datenbank, schnell Zeilen mit einem bestimmten Spaltenwert zu finden, ohne die gesamte Tabelle zu scannen. Verwenden Sie die Indizierung für Spalten, die häufig in `WHERE` Klauseln, `JOIN` Bedingungen oder `ORDER BY` Anweisungen verwendet werden. Dies ist besonders wichtig bei großen Tabellen oder wenn ein schneller Datenabruf entscheidend ist.

**SQLExecutionBaumeister**

SQLExecutionBuilder ist eine flexible API, mit der Sie die Kontrolle über die auszuführenden SQL-Abfragen übernehmen und nur bestimmte Spalten abrufen können, `INSERT` indem Sie dynamische Tabellennamen verwenden und verwenden. `SELECT` Im folgenden Beispiel verwendet SQLExecutor Builder eine benutzerdefinierte Abfrage, die Sie definieren. 

![\[Beispiel für die Verwendung von SQLExecutor Builder mit einer benutzerdefinierten Abfrage.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/364e9fb1-0cbc-47d0-936d-46fb3b48b608.png)


**Wählen Sie zwischen DAOManager und SQLExecution Builder**

Die Wahl zwischen diesen APIs hängt von Ihrem spezifischen Anwendungsfall ab:
+ Verwenden Sie diese Option DAOManager , wenn Sie möchten, dass AWS Blu Age Runtime die SQL-Abfragen generiert, anstatt sie selbst zu schreiben.
+ Wählen Sie SQLExecution Builder, wenn Sie SQL-Abfragen schreiben müssen, um datenbankspezifische Funktionen zu nutzen oder optimale SQL-Abfragen zu schreiben.

*Optimierungsstrategie: Caching*

In modernisierten Anwendungen kann die Implementierung effektiver Caching-Strategien die Anzahl der Datenbankaufrufe erheblich reduzieren und die Antwortzeiten verbessern. Dies trägt dazu bei, die Leistungslücke zwischen Mainframe- und Cloud-Umgebungen zu schließen.

In AWS Blu Age-Anwendungen verwenden einfache Caching-Implementierungen interne Datenstrukturen wie Hashmaps oder Array-Listen, sodass Sie keine externe Caching-Lösung einrichten müssen, die eine Kosten- und Code-Restrukturierung erfordert. Dieser Ansatz ist besonders effektiv für Daten, auf die häufig zugegriffen wird, die sich jedoch selten ändern. Wenn Sie das Caching implementieren, sollten Sie Speicherbeschränkungen und Aktualisierungsmuster berücksichtigen, um sicherzustellen, dass die zwischengespeicherten Daten konsistent bleiben und tatsächliche Leistungsvorteile bieten.

Der Schlüssel zu erfolgreichem Caching liegt in der Identifizierung der richtigen Daten für den Cache. Im folgenden Beispiel liest der Code auf der linken Seite immer Daten aus der Tabelle, wohingegen der Code auf der rechten Seite Daten aus der Tabelle liest, wenn die lokale Hashmap keinen Wert für einen bestimmten Schlüssel enthält. `cacheMap`ist ein Hashmap-Objekt, das im Kontext des Programms erstellt und in der Cleanup-Methode des Programmkontextes gelöscht wird.

Zwischenspeichern mit: DAOManager

![\[Beispiel für Caching-Optimierungen mit. DAOManager\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/4efd3d22-c694-4f7d-a543-2bed341d1651.png)


Caching mit Builder: SQLExecution

![\[Beispiel für Caching-Optimierungen mit Builder. SQLExecution\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/c8964804-96eb-4e26-b2bf-8742e62b4c33.png)


*Optimierungsstrategie: Optimierung der Geschäftslogik*

Die Optimierung der Geschäftslogik konzentriert sich auf die Umstrukturierung von automatisch generiertem Code aus AWS Blu Age, um ihn besser an die Funktionen moderner Architekturen anzupassen. Dies wird notwendig, wenn der generierte Code dieselbe Logikstruktur wie der ältere Mainframe-Code beibehält, was für moderne Systeme möglicherweise nicht optimal ist. Ziel ist es, die Leistung zu verbessern und gleichzeitig die funktionale Äquivalenz mit der ursprünglichen Anwendung aufrechtzuerhalten.

Dieser Optimierungsansatz geht über einfache API-Optimierungen und Caching-Strategien hinaus. Es beinhaltet Änderungen an der Art und Weise, wie die Anwendung Daten verarbeitet und mit der Datenbank interagiert. Zu den gängigen Optimierungen gehören die Vermeidung unnötiger Lesevorgänge für einfache Updates, das Entfernen redundanter Datenbankaufrufe und die Umstrukturierung der Datenzugriffsmuster, um sie besser an die moderne Anwendungsarchitektur anzupassen. Nachfolgend sind einige Beispiele aufgeführt:
+ **Aktualisierung von Daten direkt in der Datenbank.**Strukturieren Sie Ihre Geschäftslogik neu, indem Sie direkte SQL-Updates anstelle mehrerer DAOManager Operationen mit Schleifen verwenden. Der folgende Code (linke Seite) führt beispielsweise mehrere Datenbankaufrufe durch und belegt übermäßig viel Speicher. Insbesondere werden mehrere Datenbank-Lese- und Schreiboperationen innerhalb von Schleifen, einzelne Aktualisierungen statt Stapelverarbeitung und unnötige Objekterstellung für jede Iteration verwendet.

  Der folgende optimierte Code (rechte Seite) verwendet einen einzigen Direct SQL-Aktualisierungsvorgang. Insbesondere verwendet er einen einzigen Datenbankaufruf anstelle mehrerer Aufrufe und benötigt keine Schleifen, da alle Aktualisierungen in einer einzigen Anweisung verarbeitet werden. Diese Optimierung sorgt für eine bessere Leistung und Ressourcennutzung und reduziert die Komplexität. Sie verhindert die SQL-Injection, ermöglicht eine bessere Zwischenspeicherung von Abfrageplänen und trägt zur Verbesserung der Sicherheit bei.  
![\[Restrukturierung von Code durch direkte SQL-Updates anstelle von DAOManager Operationen mit Schleifen.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/7d0a7879-8db2-4cc5-b41c-ee370b3f22e5.png)
**Anmerkung**  
Verwenden Sie immer parametrisierte Abfragen, um eine SQL-Injection zu verhindern und ein ordnungsgemäßes Transaktionsmanagement sicherzustellen.
+ **Reduzierung redundanter Datenbankaufrufe.** Redundante Datenbankaufrufe können die Anwendungsleistung erheblich beeinträchtigen, insbesondere wenn sie innerhalb von Schleifen erfolgen. Eine einfache, aber effektive Optimierungstechnik besteht darin, zu vermeiden, dass dieselbe Datenbankabfrage mehrmals wiederholt wird. Der folgende Codevergleich zeigt, wie durch das Verschieben des `retrieve()` Datenbankaufrufs außerhalb der Schleife die redundante Ausführung identischer Abfragen verhindert wird, was die Effizienz verbessert.  
![\[alt text not found\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/6b42fafd-1535-416d-8abd-1a5f9007ddba/images/da9c15f4-bcf1-4827-b91a-73212fe35cca.png)
+ **Reduzierung von Datenbankaufrufen mithilfe der `JOIN` SQL-Klausel****.** Implementieren Sie SQLExecution Builder, um die Aufrufe der Datenbank zu minimieren. SQLExecutionBuilder bietet mehr Kontrolle über die SQL-Generierung und ist besonders nützlich für komplexe Abfragen, die DAOManager nicht effizient verarbeitet werden können. Der folgende Code verwendet beispielsweise mehrere DAOManager Aufrufe:

  ```
  List<Employee> employees = daoManager.readAll();
  for(Employee emp : employees) {
      Department dept = deptManager.readById(emp.getDeptId());  // Additional call for each employee
      Project proj = projManager.readById(emp.getProjId());     // Another call for each employee
      processEmployeeData(emp, dept, proj);
  }
  ```

  Der optimierte Code verwendet einen einzigen Datenbankaufruf in SQLExecution Builder:

  ```
  SQLExecutionBuilder builder = new SQLExecutionBuilder();
  builder.append("SELECT e.*, d.name as dept_name, p.name as proj_name");
  builder.append("FROM employee e");
  builder.append("JOIN department d ON e.dept_id = d.id");
  builder.append("JOIN project p ON e.proj_id = p.id");
  builder.append("WHERE e.status = ?", "ACTIVE");
  
  List<Map<String, Object>> results = builder.execute();  // Single database call
  for(Map<String, Object> result : results) {
      processComplexData(result);
  }
  ```

*Optimierungsstrategien gemeinsam verwenden*

Diese drei Strategien wirken synergistisch: APIs Bereitstellung der Tools für einen effizienten Datenzugriff, Caching reduziert die Notwendigkeit wiederholter Datenabrufe, und die Optimierung der Geschäftslogik stellt sicher, dass diese so effektiv wie möglich genutzt APIs werden. Die regelmäßige Überwachung und Anpassung dieser Optimierungen gewährleistet kontinuierliche Leistungsverbesserungen bei gleichzeitiger Wahrung der Zuverlässigkeit und Funktionalität der modernisierten Anwendung. Der Schlüssel zum Erfolg liegt darin, zu verstehen, wann und wie die einzelnen Strategien auf der Grundlage der Merkmale und Leistungsziele Ihrer Anwendung angewendet werden müssen.

## Tools
<a name="optimize-performance-aws-blu-age-modernized-application-tools"></a>
+ [JProfiler](https://www.ej-technologies.com/jprofiler)ist ein Java-Profiling-Tool, das für Entwickler und Performance-Ingenieure entwickelt wurde. Es analysiert Java-Anwendungen und hilft bei der Identifizierung von Leistungsengpässen, Speicherlecks und Threading-Problemen. JProfiler bietet CPU-, Speicher- und Thread-Profiling sowie Datenbank- und Java-Virtual-Machine-Überwachung (JVM), um Einblicke in das Anwendungsverhalten zu gewinnen.
**Anmerkung**  
Als Alternative dazu JProfiler können Sie [Java](https://visualvm.github.io/) VisualVM verwenden. Dies ist ein kostenloses Open-Source-Tool zur Erstellung und Überwachung von Leistungsprofilen und zur Überwachung von Java-Anwendungen, das eine Echtzeitüberwachung der CPU-Auslastung, des Speicherverbrauchs, der Threadverwaltung und der Garbage-Collection-Statistiken ermöglicht. Da es sich bei Java VisualVM um ein integriertes JDK-Tool handelt, ist es kostengünstiger als JProfiler für grundlegende Profilerstellungsanforderungen.
+ [pgAdmin](https://www.pgadmin.org/) ist ein Open-Source-Verwaltungs- und Entwicklungstool für PostgreSQL. Es bietet eine grafische Oberfläche, mit der Sie Datenbankobjekte erstellen, verwalten und verwenden können. Mit pgAdmin können Sie eine Vielzahl von Aufgaben ausführen, vom Schreiben einfacher SQL-Abfragen bis hin zur Entwicklung komplexer Datenbanken. Zu seinen Funktionen gehören ein SQL-Editor mit Syntaxhervorhebung, ein serverseitiger Code-Editor, ein Scheduling-Agent für SQL-, Shell- und Batch-Aufgaben sowie Unterstützung für alle PostgreSQL-Funktionen für Anfänger und erfahrene PostgreSQL-Benutzer.

## Best Practices
<a name="optimize-performance-aws-blu-age-modernized-application-best-practices"></a>

Identifizierung von Leistungs-Hotspots:
+ Dokumentieren Sie grundlegende Leistungskennzahlen, bevor Sie mit Optimierungen beginnen.
+ Legen Sie klare Ziele zur Leistungsverbesserung fest, die auf den Geschäftsanforderungen basieren.
+ Deaktivieren Sie beim Benchmarking die ausführliche Protokollierung, da dies die Leistung beeinträchtigen kann.
+ Richten Sie eine Suite für Leistungstests ein und führen Sie sie regelmäßig aus.
+ Verwenden Sie die neueste Version von pgAdmin. (Ältere Versionen unterstützen den `EXPLAIN` Abfrageplan nicht.)
+ Beim Benchmarking sollten Sie die Verbindung trennen, JProfiler nachdem Ihre Optimierungen abgeschlossen sind, da dies die Latenz erhöht.
+ Stellen Sie beim Benchmarking sicher, dass Sie den Server im Startmodus statt im Debug-Modus ausführen, da der Debug-Modus die Latenz erhöht.

Optimierungsstrategien:
+ Konfigurieren Sie **SetMaxResults**Werte in der `application.yaml` Datei, um Chargen mit der richtigen Größe gemäß Ihren Systemspezifikationen anzugeben.
+ Konfigurieren Sie **SetMaxResults**Werte auf der Grundlage von Datenvolumen und Speicherbeschränkungen.
+ Wechseln Sie **SetOnGreatorOrEqual**zu „**SetOnEqual**Nur“, wenn nachfolgende Aufrufe erfolgen`.readNextEqual()`.
+ Behandeln Sie bei Batch-Schreib- oder Aktualisierungsvorgängen den letzten Batch separat, da er möglicherweise kleiner als die konfigurierte Batchgröße ist und beim Schreib- oder Aktualisierungsvorgang übersehen werden könnte.

Zwischenspeichern:
+ Felder, die für das Caching eingeführt wurden `processImpl` und die bei jeder Ausführung mutieren, sollten immer im jeweiligen Kontext definiert werden. `processImpl` Die Felder sollten auch mit der Methode `doReset()` or `cleanUp()` gelöscht werden.
+ Wenn Sie In-Memory-Caching implementieren, passen Sie die Größe des Caches an. Sehr große Caches, die im Arbeitsspeicher gespeichert sind, können alle Ressourcen beanspruchen, was sich auf die Gesamtleistung Ihrer Anwendung auswirken kann.

SQLExecutionBuilder:
+ Verwenden Sie für Abfragen, die Sie in SQLExecution Builder verwenden möchten, Schlüsselnamen wie`PROGRAMNAME_STATEMENTNUMBER`.
+ Wenn Sie SQLExecution Builder verwenden, suchen Sie immer nach dem `Sqlcod` Feld. Dieses Feld enthält einen Wert, der angibt, ob die Abfrage korrekt ausgeführt wurde oder ob Fehler aufgetreten sind.
+ Verwenden Sie parametrisierte Abfragen, um eine SQL-Injection zu verhindern.

Optimierung der Geschäftslogik:
+ Achten Sie bei der Umstrukturierung von Code auf funktionale Äquivalenz und führen Sie Regressionstests und Datenbankvergleiche für die entsprechende Teilmenge von Programmen durch.
+ Pflegen Sie Schnappschüsse zur Profilerstellung zum Vergleich.

## Epen
<a name="optimize-performance-aws-blu-age-modernized-application-epics"></a>

### Install JProfiler und pgAdmin
<a name="install-jprofiler-and-pgadmin"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren und konfigurieren JProfiler. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | App-Developer | 
| Installieren und konfigurieren Sie pgAdmin. | In diesem Schritt installieren und konfigurieren Sie einen DB-Client für die Abfrage Ihrer Datenbank. Dieses Muster verwendet eine PostgreSQL-Datenbank und pgAdmin als Datenbankclient. Wenn Sie eine andere Datenbank-Engine verwenden, folgen Sie der Dokumentation für den entsprechenden DB-Client.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | App-Developer | 

### Identifizieren Sie Hotspots
<a name="identify-hotspots"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktivieren Sie die SQL-Abfrageprotokollierung in Ihrer AWS Blu Age-Anwendung. | Aktivieren Sie die Logger für die Protokollierung von SQL-Abfragen in der `application.properties` Datei Ihrer AWS Blu Age-Anwendung, wie im Abschnitt [Architektur](#optimize-performance-aws-blu-age-modernized-application-architecture) beschrieben. | App-Developer | 
| Generieren und analysieren Sie `EXPLAIN` Abfragepläne, um Schwachstellen bei der Datenbankleistung zu identifizieren. | Einzelheiten finden Sie im Abschnitt [Architektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | App-Developer | 
| Erstellen Sie einen JProfiler Snapshot, um einen Testfall mit langsamer Leistung zu analysieren. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | App-Developer | 
| Analysieren Sie den JProfiler Snapshot, um Leistungsengpässe zu identifizieren. | Gehen Sie wie folgt vor, um den Snapshot zu analysieren. JProfiler [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html)Weitere Informationen zur Verwendung JProfiler finden Sie im Abschnitt [Architektur](#optimize-performance-aws-blu-age-modernized-application-architecture) und in der [JProfiler Dokumentation](https://www.ej-technologies.com/jprofiler/docs). | App-Developer | 

### Legen Sie eine Ausgangsbasis fest
<a name="establish-a-baseline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Legen Sie eine Leistungsbasis fest, bevor Sie Optimierungen implementieren. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | App-Developer | 

### Wenden Sie Optimierungsstrategien an
<a name="apply-optimization-strategies"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Optimieren Sie Leseanrufe. | Optimieren Sie den Datenabruf mithilfe der DAOManager **SetMaxResults**Methode. Weitere Informationen zu diesem Ansatz finden Sie im Abschnitt [Architektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | App-Entwickler, DAOManager | 
| Refaktorieren Sie die Geschäftslogik, um mehrere Aufrufe der Datenbank zu vermeiden. | Reduzieren Sie Datenbankaufrufe mithilfe einer `JOIN` SQL-Klausel. Einzelheiten und Beispiele finden Sie unter *Optimierung der Geschäftslogik* im Abschnitt [Architektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | App-Entwickler, SQLExecution Builder | 
| Refaktorieren Sie den Code so, dass er Caching verwendet, um die Latenz von Leseaufrufen zu reduzieren. | [Informationen zu dieser Technik finden Sie unter *Caching im Abschnitt* Architektur.](#optimize-performance-aws-blu-age-modernized-application-architecture) | App-Developer | 
| Schreiben Sie ineffizienten Code neu, der mehrere DAOManager Operationen für einfache Aktualisierungsvorgänge verwendet. | Weitere Informationen zum Aktualisieren von Daten direkt in der Datenbank finden Sie unter *Optimierung der Geschäftslogik* im Abschnitt [Architektur](#optimize-performance-aws-blu-age-modernized-application-architecture). | App-Developer | 

### Testen Sie Optimierungsstrategien
<a name="test-optimization-strategies"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Validieren Sie jede Optimierungsänderung iterativ unter Beibehaltung der funktionalen Äquivalenz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html)Die Verwendung von Basiskennzahlen als Referenz gewährleistet eine genaue Messung der Auswirkungen jeder Optimierung bei gleichzeitiger Wahrung der Systemzuverlässigkeit. | App-Developer | 

## Fehlerbehebung
<a name="optimize-performance-aws-blu-age-modernized-application-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Wenn Sie die moderne Anwendung ausführen, wird eine Ausnahme mit dem Fehler angezeigt`Query_ID not found`. | So beheben Sie dieses Problem[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | 
| Sie haben Indizes hinzugefügt, sehen aber keine Leistungsverbesserungen. | Gehen Sie wie folgt vor, um sicherzustellen, dass die Abfrage-Engine den Index verwendet:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | 
| Sie stoßen auf eine out-of-memory Ausnahme. | Stellen Sie sicher, dass der Code den in der Datenstruktur enthaltenen Speicher freigibt. | 
| Batch-Schreibvorgänge führen zu fehlenden Datensätzen in der Tabelle | Überprüfen Sie den Code, um sicherzustellen, dass ein zusätzlicher Schreibvorgang ausgeführt wird, wenn die Batchanzahl nicht Null ist. | 
| Die SQL-Protokollierung erscheint nicht in den Anwendungsprotokollen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/optimize-performance-aws-blu-age-modernized-application.html) | 

## Zugehörige Ressourcen
<a name="optimize-performance-aws-blu-age-modernized-application-resources"></a>
+ [Automatisches Refactoring von Anwendungen mit AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html) (*AWS Mainframe Modernization Benutzerhandbuch*)
+ [pgAdmin-Dokumentation](https://www.pgadmin.org/docs/)
+ [JProfiler Dokumentation](https://www.ej-technologies.com/jprofiler/docs)

# Sicherer und optimierter Benutzerzugriff in einer Db2-Verbunddatenbank auf AWS mithilfe vertrauenswürdiger Kontexte
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts"></a>

*Sai Parthasaradhi, Amazon Web Services*

## Zusammenfassung
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-summary"></a>

Viele Unternehmen migrieren ihre älteren Mainframe-Workloads zu Amazon Web Services (AWS). Diese Migration beinhaltet die Umstellung von IBM Db2 für z/OS Datenbanken auf Db2 für Linux, Unix und Windows (LUW) auf Amazon Elastic Compute Cloud (Amazon). EC2 Während einer schrittweisen Migration von lokal zu AWS müssen Benutzer möglicherweise auf Daten in IBM Db2 z/OS und in Db2 LUW auf Amazon zugreifen, EC2 bis alle Anwendungen und Datenbanken vollständig auf Db2 LUW migriert sind. In solchen Szenarien für den Fernzugriff auf Daten kann die Benutzerauthentifizierung eine Herausforderung sein, da verschiedene Plattformen unterschiedliche Authentifizierungsmechanismen verwenden.

Dieses Muster beschreibt, wie Sie einen Verbundserver auf Db2 für LUW mit Db2 for z/OS als Remotedatenbank einrichten. Das Muster verwendet einen vertrauenswürdigen Kontext, um die Identität eines Benutzers von Db2 LUW an Db2 weiterzugeben, ohne sich in der entfernten Datenbank erneut zu authentifizieren z/OS . [Weitere Informationen zu vertrauenswürdigen Kontexten finden Sie im Abschnitt Zusätzliche Informationen.](#secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-additional)

## Voraussetzungen und Einschränkungen
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Eine Db2-Instance, die auf einer EC2 Amazon-Instance läuft
+ Eine z/OS Remote-Db2-Datenbank für eine lokal ausgeführte Datenbank
+ Das lokale Netzwerk, das über AWS [ Site-to-SiteVPN oder AWS AWS](https://aws.amazon.com/vpn/) [Direct](https://aws.amazon.com/directconnect/) Connect verbunden ist

## Architektur
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-architecture"></a>

**Zielarchitektur**

![\[Der lokale Mainframe stellt über einen lokalen Db2-Server und VPN eine Verbindung zur Db2-Datenbank her. EC2\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/9e04f0fe-bae2-412a-93ac-83da50222017/images/0a384695-7907-4fb8-bb7e-d170dcc114af.png)


## Tools
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-tools"></a>

**AWS-Services**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/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.
+ Mit [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) können Sie den Datenverkehr zwischen Instances, die Sie auf AWS starten, und Ihrem eigenen Remote-Netzwerk weiterleiten.

**Andere Tools**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) ist der Db2-Befehl für die interaktive Befehlszeilenschnittstelle (CLI).

## Epen
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-epics"></a>

### Aktivieren Sie den Verbund in der Db2-LUW-Datenbank, die auf AWS ausgeführt wird
<a name="enable-federation-on-the-db2-luw-database-running-on-aws"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Aktivieren Sie den Verbund auf der DB2 LUW-DB. | Führen Sie den folgenden Befehl aus, um den Verbund auf DB2 LUW zu aktivieren.<pre>update dbm cfg using federated YES</pre> | DBA | 
| Starten Sie die Datenbank neu. | Führen Sie den folgenden Befehl aus, um die Datenbank neu zu starten.<pre>db2stop force;<br />db2start;</pre> | DBA | 

### Katalogisieren Sie die entfernte Datenbank
<a name="catalog-the-remote-database"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Katalogisieren Sie das z/OS Remote-DB2-Subsystem. | Verwenden Sie den folgenden Beispielbefehl, um die z/OS Remote-Db2-Datenbank auf Db2 LUW zu katalogisieren, die auf AWS ausgeführt wird.<pre>catalog TCPIP NODE tcpnode REMOTE mainframehost SERVER mainframeport</pre> | DBA | 
| Katalogisieren Sie die entfernte Datenbank. | Verwenden Sie den folgenden Beispielbefehl, um die entfernte Datenbank zu katalogisieren.<pre>catalog db dbnam1 as ndbnam1 at node tcpnode</pre> | DBA | 

### Erstellen Sie die Remoteserver-Definition
<a name="create-the-remote-server-definition"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Sammeln Sie Benutzeranmeldeinformationen für die entfernte z/OS Db2-Datenbank. | Bevor Sie mit den nächsten Schritten fortfahren, sammeln Sie die folgenden Informationen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts.html) | DBA | 
| Erstellen Sie den DRDA-Wrapper. | Führen Sie den folgenden Befehl aus, um den DRDA-Wrapper zu erstellen.<pre>CREATE WRAPPER DRDA;</pre> | DBA | 
| Erstellen Sie die Serverdefinition. | Führen Sie den folgenden Beispielbefehl aus, um die Serverdefinition zu erstellen.<pre>CREATE SERVER ndbserver<br />TYPE DB2/ZOS VERSION 12<br />WRAPPER DRDA<br />AUTHORIZATION "dbuser1" PASSWORD "dbpasswd" OPTIONS ( DBNAME 'ndbnam1',FED_PROXY_USER 'ZPROXY' );</pre>In dieser Definition wird der Proxybenutzer `FED_PROXY_USER` angegeben, der für den Aufbau vertrauenswürdiger Verbindungen zur z/OS Db2-Datenbank verwendet wird. Die Benutzer-ID und das Kennwort für die Autorisierung sind nur für die Erstellung des Remoteserverobjekts in der Db2-LUW-Datenbank erforderlich. Sie werden später während der Laufzeit nicht verwendet. | DBA | 

### Benutzerzuordnungen erstellen
<a name="create-user-mappings"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Benutzerzuordnung für den Proxybenutzer. | Führen Sie den folgenden Befehl aus, um eine Benutzerzuordnung für den Proxybenutzer zu erstellen.<pre>CREATE USER MAPPING FOR ZPROXY SERVER ndbserver OPTIONS (REMOTE_AUTHID 'ZPROXY', REMOTE_PASSWORD 'zproxy');</pre> | DBA | 
| Erstellen Sie Benutzerzuordnungen für jeden Benutzer auf Db2 LUW. | Erstellen Sie Benutzerzuordnungen für alle Benutzer in der Db2 LUW-Datenbank auf AWS, die über den Proxybenutzer auf Remote-Daten zugreifen müssen. Führen Sie den folgenden Befehl aus, um die Benutzerzuordnungen zu erstellen.<pre>CREATE USER MAPPING FOR PERSON1 SERVER ndbserver OPTIONS (REMOTE_AUTHID 'USERZID', USE_TRUSTED_CONTEXT 'Y');</pre>Die Anweisung gibt an, dass ein Benutzer auf Db2 LUW (`PERSON1`) eine vertrauenswürdige Verbindung zur entfernten z/OS Db2-Datenbank () herstellen kann. `USE_TRUSTED_CONTEXT 'Y'` Nachdem die Verbindung über den Proxybenutzer hergestellt wurde, kann der Benutzer mithilfe der z/OS Db2-Benutzer-ID () auf die Daten zugreifen. `REMOTE_AUTHID 'USERZID'` | DBA | 

### Erstellen Sie das vertrauenswürdige Kontextobjekt
<a name="create-the-trusted-context-object"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie das vertrauenswürdige Kontextobjekt. | Verwenden Sie den folgenden Beispielbefehl, um das vertrauenswürdige Kontextobjekt in der entfernten z/OS Db2-Datenbank zu erstellen.<pre>CREATE TRUSTED CONTEXT CTX_LUW_ZOS<br />BASED UPON CONNECTION USING SYSTEM AUTHID ZPROXY<br />ATTRIBUTES (<br />ADDRESS '10.10.10.10'<br />)<br />NO DEFAULT ROLE<br />ENABLE<br />WITH USE FOR PUBLIC WITHOUT AUTHENTICATION;</pre>In dieser Definition `CTX_LUW_ZOS` steht ein beliebiger Name für das vertrauenswürdige Kontextobjekt. Das Objekt enthält die Proxy-Benutzer-ID und die IP-Adresse des Servers, von dem die vertrauenswürdige Verbindung ausgehen muss. In diesem Beispiel ist der Server die Db2-LUW-Datenbank auf AWS. Sie können den Domainnamen anstelle der IP-Adresse verwenden. Die Klausel `WITH USE FOR PUBLIC WITHOUT AUTHENTICATION` gibt an, dass das Wechseln der Benutzer-ID bei einer vertrauenswürdigen Verbindung für jede Benutzer-ID zulässig ist. Ein Passwort muss nicht angegeben werden. | DBA | 

## Zugehörige Ressourcen
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-resources"></a>
+ [IBM Resource Access Control Facility (RACF)](https://www.ibm.com/products/resource-access-control-facility)
+ [IBM Db2 LUW-Föderation](https://www.ibm.com/docs/en/db2/11.5?topic=federation)
+ [Vertrauenswürdige Kontexte](https://www.ibm.com/docs/en/db2-for-zos/13?topic=contexts-trusted)

## Zusätzliche Informationen
<a name="secure-and-streamline-user-access-in-a-db2-federation-database-on-aws-by-using-trusted-contexts-additional"></a>

**Vertrauenswürdige Db2-Kontexte**

Ein vertrauenswürdiger Kontext ist ein Db2-Datenbankobjekt, das eine Vertrauensstellung zwischen einem Verbundserver und einem entfernten Datenbankserver definiert. Um eine vertrauenswürdige Beziehung zu definieren, spezifiziert der vertrauenswürdige Kontext Vertrauensattribute. Es gibt drei Arten von Vertrauensattributen:
+ Die Systemautorisierungs-ID, die die erste Datenbankverbindungsanforderung stellt
+ Die IP-Adresse oder der Domainname, von dem aus die Verbindung hergestellt wird
+ Die Verschlüsselungseinstellung für die Datenkommunikation zwischen dem Datenbankserver und dem Datenbankclient

Eine vertrauenswürdige Verbindung wird hergestellt, wenn alle Attribute einer Verbindungsanforderung mit den Attributen übereinstimmen, die in einem vertrauenswürdigen Kontextobjekt angegeben sind, das auf dem Server definiert ist. Es gibt zwei Arten von vertrauenswürdigen Verbindungen: implizite und explizite. Nachdem eine implizite vertrauenswürdige Verbindung hergestellt wurde, erbt ein Benutzer eine Rolle, die ihm außerhalb des Geltungsbereichs dieser vertrauenswürdigen Verbindungsdefinition nicht zur Verfügung steht. Nachdem eine explizite vertrauenswürdige Verbindung hergestellt wurde, können Benutzer auf dieselbe physische Verbindung mit oder ohne Authentifizierung umgeschaltet werden. Darüber hinaus können Db2-Benutzern Rollen zugewiesen werden, die Rechte spezifizieren, die nur innerhalb der vertrauenswürdigen Verbindung verwendet werden dürfen. Dieses Muster verwendet eine explizite vertrauenswürdige Verbindung.

*Vertrauenswürdiger Kontext in diesem Muster*

Nachdem das Muster vollständig ist, greift LUW PERSON1 auf Db2 mithilfe eines föderierten vertrauenswürdigen Kontextes auf Remotedaten z/OS von Db2 zu. Die Verbindung für PERSON1 wird über einen Proxybenutzer hergestellt, wenn die Verbindung von der IP-Adresse oder dem Domänennamen stammt, der in der vertrauenswürdigen Kontextdefinition angegeben ist. Nachdem die Verbindung hergestellt wurde, PERSON1 wird die entsprechende z/OS Db2-Benutzer-ID ohne erneute Authentifizierung geändert, und der Benutzer kann auf Grundlage der für diesen Benutzer eingerichteten Db2-Berechtigungen auf die Daten oder Objekte zugreifen.

*Vorteile verbundener vertrauenswürdiger Kontexte*
+ Bei diesem Ansatz wird das Prinzip der geringsten Rechte beibehalten, indem die Verwendung einer gemeinsamen Benutzer-ID oder Anwendungs-ID vermieden wird, für die eine Obermenge aller von allen Benutzern benötigten Rechte erforderlich wäre.
+ Die tatsächliche Identität des Benutzers, der die Transaktion sowohl in der Verbunddatenbank als auch in der Remote-Datenbank durchführt, ist immer bekannt und kann überprüft werden.
+ Die Leistung verbessert sich, da die physische Verbindung von allen Benutzern wiederverwendet wird, ohne dass sich der Verbundserver erneut authentifizieren muss.

# Übertragung umfangreicher z/OS Db2-Daten in CSV-Dateien nach Amazon S3
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files"></a>

*Bruno Sahinoglu, Abhijit Kshirsagar und Ivan Schuster, Amazon Web Services*

## Zusammenfassung
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-summary"></a>

Ein Mainframe ist in vielen Unternehmen immer noch ein Aufzeichnungssystem, das eine riesige Menge an Daten enthält, einschließlich Stammdateneinheiten mit Aufzeichnungen über aktuelle und historische Geschäftstransaktionen. Es ist oft isoliert und die verteilten Systeme innerhalb desselben Unternehmens können nur schwer darauf zugreifen. Mit dem Aufkommen der Cloud-Technologie und der Demokratisierung von Big Data sind Unternehmen daran interessiert, die in den Mainframe-Daten verborgenen Erkenntnisse zu nutzen, um neue Geschäftsmöglichkeiten zu entwickeln.

Mit diesem Ziel möchten Unternehmen ihre Mainframe-Db2-Daten für ihre Amazon Web Services (AWS) Cloud-Umgebung öffnen. Die geschäftlichen Gründe sind vielfältig und die Übertragungsmethoden unterscheiden sich von Fall zu Fall. Möglicherweise ziehen Sie es vor, Ihre Anwendung direkt mit dem Mainframe zu verbinden, oder Sie ziehen es vor, Ihre Daten nahezu in Echtzeit zu replizieren. Wenn der Anwendungsfall darin besteht, ein Data Warehouse oder einen Data Lake zu speisen, ist das Vorhandensein einer up-to-date Kopie kein Problem mehr, und das in diesem Muster beschriebene Verfahren könnte ausreichend sein, insbesondere wenn Sie Lizenzkosten für Produkte von Drittanbietern vermeiden möchten. Ein weiterer Anwendungsfall könnte die Mainframe-Datenübertragung für ein Migrationsprojekt sein. In einem Migrationsszenario sind Daten für die Durchführung der funktionalen Äquivalenztests erforderlich. Der in diesem Beitrag beschriebene Ansatz ist eine kostengünstige Möglichkeit, die Db2-Daten in die AWS-Cloud-Umgebung zu übertragen.

Da Amazon Simple Storage Service (Amazon S3) einer der am stärksten integrierten AWS-Services ist, können Sie von dort aus auf die Daten zugreifen und mithilfe anderer AWS-Services wie Amazon Athena, AWS Lambda-Funktionen oder Amazon direkt Erkenntnisse gewinnen. QuickSight Sie können die Daten auch mithilfe von AWS Glue oder AWS Database Migration Service (AWS DMS) in Amazon Aurora oder Amazon DynamoDB laden. Vor diesem Hintergrund wird hier beschrieben, wie Db2-Daten in CSV-Dateien im ASCII-Format auf dem Mainframe entladen und die Dateien nach Amazon S3 übertragen werden.

Zu diesem Zweck wurden [Mainframe-Skripte](https://github.com/aws-samples/unloaddb2-samples) entwickelt, die bei der Generierung von Jobsteuerungssprachen (JCLs) helfen, mit denen Sie so viele Db2-Tabellen entladen und übertragen können, wie Sie benötigen.

## Voraussetzungen und Einschränkungen
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-prereqs"></a>

**Voraussetzungen**
+ Ein z/OS IBM-Betriebssystembenutzer mit der Berechtigung, Restructured Extended Executor (REXX) - und JCL-Skripts auszuführen.
+ Zugriff auf z/OS Unix System Services (USS) zur Generierung von privaten und öffentlichen SSH-Schlüsseln (Secure Shell).
+ Ein beschreibbarer S3-Bucket. Weitere Informationen finden Sie unter [Erstellen Sie Ihren ersten S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) in der Amazon S3 S3-Dokumentation.
+ Ein SSH File Transfer Protocol (SFTP) -fähiger Server der AWS Transfer Family, der **Service Managed** als Identitätsanbieter und Amazon S3 als AWS-Speicherservice verwendet. Weitere Informationen finden Sie unter [Erstellen eines SFTP-fähigen Servers](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html) in der Dokumentation zur AWS Transfer-Familie.

**Einschränkungen**
+ Dieser Ansatz ist nicht für die Datensynchronisierung nahezu in Echtzeit oder in Echtzeit geeignet.
+ Daten können nur von Db2 z/OS nach Amazon S3 verschoben werden, nicht umgekehrt.

## Architektur
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-architecture"></a>

**Quelltechnologie-Stack**
+ Mainframe, auf dem Db2 auf z/OS läuft

**Zieltechnologie-Stack**
+ AWS Transfer Family
+ Amazon S3
+ Amazon Athena
+ Amazon QuickSight
+ AWS Glue
+ Amazon Relational Database Service (Amazon RDS)
+ Amazon Aurora
+ Amazon Redshift

**Quell- und Zielarchitektur**

Das folgende Diagramm zeigt den Prozess zum Generieren, Extrahieren und Übertragen von z/OS Db2-Daten im ASCII-CSV-Format in einen S3-Bucket.

![\[Data flow from corporate data center to AWS Cloud, showing mainframe extraction and cloud processing steps.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/66e6fa1a-1c7d-4b7a-8404-9ba85e433b24/images/87b13e0d-0be9-4462-bdbf-67342334416c.png)


1. Eine Liste von Tabellen wird für die Datenmigration aus dem Db2-Katalog ausgewählt.

1. Die Liste wird verwendet, um die Generierung von Entladejobs mit den numerischen Spalten und Datenspalten im externen Format voranzutreiben.

1. Die Daten werden dann mithilfe der AWS Transfer Family an Amazon S3 übertragen.

1. Ein AWS Glue-Auftrag zum Extrahieren, Transformieren und Laden (ETL) kann die Daten transformieren und im angegebenen Format in einen verarbeiteten Bucket laden, oder AWS Glue kann die Daten direkt in die Datenbank einspeisen.

1. Amazon Athena und Amazon QuickSight können verwendet werden, um die Daten abzufragen und zu rendern, um Analysen voranzutreiben.

Das folgende Diagramm zeigt einen logischen Ablauf des gesamten Prozesses.

![\[Flowchart showing JCL process with TABNAME, REXXEXEC, and JCL decks steps, including inputs and outputs.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/66e6fa1a-1c7d-4b7a-8404-9ba85e433b24/images/d72f2572-10c9-43f9-b6c9-7e57c9a69d52.png)


1. Die erste JCL mit dem Namen TABNAME verwendet das Db2-Hilfsprogramm DSNTIAUL, um die Liste der Tabellen zu extrahieren und zu generieren, die Sie aus Db2 entladen möchten. Um Ihre Tabellen auszuwählen, müssen Sie die SQL-Eingabe manuell anpassen, um Filterkriterien für ein oder mehrere Db2-Schemas auszuwählen und hinzuzufügen.

1. Die zweite JCL, REXXEXEC genannt, verwendet ein JCL-Skelett und das REXX-Programm, das zur Verfügung gestellt wird, um die vom JCL TABNAME erstellte Tabellenliste zu verarbeiten und eine JCL pro Tabellennamen zu generieren. Jede JCL enthält einen Schritt zum Entladen der Tabelle und einen weiteren Schritt zum Senden der Datei an den S3-Bucket mithilfe des SFTP-Protokolls.

1. Der letzte Schritt besteht darin, die JCL auszuführen, um die Tabelle zu entladen, und die Datei an AWS zu übertragen. Der gesamte Prozess kann mithilfe eines Schedulers vor Ort oder auf AWS automatisiert werden.

## Tools
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-tools"></a>

**AWS-Services**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) ist ein interaktiver Abfrageservice, mit dem Sie Daten mithilfe von Standard-SQL direkt in Amazon Simple Storage Service (Amazon S3) analysieren können.
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) ist eine vollständig verwaltete relationale Datenbank-Engine, die für die Cloud entwickelt wurde und mit MySQL und PostgreSQL kompatibel ist.
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) ist ein vollständig verwalteter Service zum Extrahieren, Transformieren und Laden (ETL). Er hilft Ihnen dabei, Daten zuverlässig zu kategorisieren, zu bereinigen, anzureichern und zwischen Datenspeichern und Datenströmen zu verschieben.
+ [Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) ist ein Business Intelligence (BI) -Service auf Cloud-Ebene, mit dem Sie Ihre Daten in einem einzigen Dashboard visualisieren, analysieren und melden können.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) ist ein verwalteter Data-Warehouse-Service im Petabyte-Bereich in der AWS-Cloud.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS-Cloud.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html) ist ein sicherer Übertragungsservice, mit dem Sie Dateien in und aus AWS-Speicherservices übertragen können.

**Mainframe-Tools**
+ Das [SSH File Transfer Protocol (SFTP)](https://www.ssh.com/academy/ssh/sftp-ssh-file-transfer-protocol) ist ein sicheres Dateiübertragungsprotokoll, das die Fernanmeldung bei und die Dateiübertragung zwischen Servern ermöglicht. SSH bietet Sicherheit, indem es den gesamten Datenverkehr verschlüsselt.
+ [DSNTIAUL](https://www.ibm.com/docs/en/db2-for-zos/11?topic=dpasp-dsntiaul-sample-program) ist ein von IBM bereitgestelltes Beispielprogramm zum Entladen von Daten.
+ [DSNUTILB](https://www.ibm.com/docs/en/db2-for-zos/11?topic=sharing-recommendations-utilities-in-coexistence) ist ein von IBM bereitgestelltes Batchprogramm für Dienstprogramme zum Entladen von Daten mit verschiedenen Optionen aus DSNTIAUL.
+ [z/OS OpenSSH](https://www.ibm.com/docs/en/zos/2.4.0?topic=zbed-zos-openssh) ist ein Port von Open Source Software SSH, der auf dem Unix System Service unter dem IBM Betriebssystemnetzwerk ausgeführt wird. z/OS. SSH is a secure, encrypted connection program between two computers running on a TCP/IP Es bietet mehrere Dienstprogramme, darunter ssh-keygen.
+ Das [REXX-Skript (Restructured Extended Executor)](https://www.ibm.com/docs/en/zos/2.1.0?topic=guide-learning-rexx-language) wird verwendet, um die JCL-Generierung mit den Schritten Db2 Unload und SFTP zu automatisieren.

**Code**

[Der Code für dieses Muster ist im unloaddb2-Repository verfügbar. GitHub ](https://github.com/aws-samples/unloaddb2-samples)

## Best Practices
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-best-practices"></a>

Beim ersten Entladen JCLs sollten die generierten Daten die gesamten Tabellendaten entladen.

Führen Sie nach dem ersten vollständigen Entladen inkrementelle Entladungen durch, um die Leistung zu verbessern und Kosten zu sparen. Aktualisieren Sie die SQL-Abfrage im JCL-Deck der Vorlage, um alle Änderungen am Entladevorgang zu berücksichtigen.

Sie können das Schema manuell oder mithilfe eines Skripts auf Lambda mit dem Db2-SYSPUNCH als Eingabe konvertieren. Für einen industriellen Prozess ist [das AWS Schema Conversion Tool (SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2zOS.html) die bevorzugte Option.

Verwenden Sie schließlich einen Mainframe-basierten Scheduler oder einen Scheduler auf AWS mit einem Agenten auf dem Mainframe, um den gesamten Prozess zu verwalten und zu automatisieren.

## Epen
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-epics"></a>

### Richten Sie den S3-Bucket ein
<a name="set-up-the-s3-bucket"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den S3-Bucket. | Anweisungen finden Sie unter [Erstellen Sie Ihren ersten S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html). | Allgemeines AWS | 

### Richten Sie den Transfer Family Family-Server ein
<a name="set-up-the-transfer-family-server"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen SFTP-fähigen Server. | Gehen Sie wie folgt vor, um einen SFTP-Server auf der [AWS Transfer Family Family-Konsole](https://console.aws.amazon.com/transfer/) zu öffnen und zu erstellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html) | Allgemeines AWS | 
| Erstellen Sie eine IAM-Rolle für Transfer Family. | Um eine AWS Identity and Access Management (IAM) -Rolle für Transfer Family für den Zugriff auf Amazon S3 zu erstellen, folgen Sie den Anweisungen unter [Erstellen einer IAM-Rolle und](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html) -Richtlinie.  | AWS-Administrator | 
| Fügen Sie einen vom Amazon S3 S3-Dienst verwalteten Benutzer hinzu. | Um den vom Service verwalteten Amazon S3 S3-Benutzer hinzuzufügen, folgen Sie den Anweisungen in der [AWS-Dokumentation](https://docs.aws.amazon.com/transfer/latest/userguide/service-managed-users.html#add-s3-user) und verwenden Sie Ihre Mainframe-Benutzer-ID. | Allgemeines AWS | 

### Sichern Sie das Kommunikationsprotokoll
<a name="secure-the-communication-protocol"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den SSH-Schlüssel. | Führen Sie in Ihrer Mainframe-USS-Umgebung den folgenden Befehl aus.<pre>ssh-keygen -t rsa</pre>Wenn Sie zur Eingabe einer Passphrase aufgefordert werden, lassen Sie sie leer. | Mainframe-Entwickler | 
| Weisen Sie dem SSH-Ordner und den Schlüsseldateien die richtigen Autorisierungsstufen zu. | Standardmäßig werden die öffentlichen und privaten Schlüssel im Benutzerverzeichnis `/u/home/username/.ssh` gespeichert.Sie müssen den Schlüsseldateien die Autorisierung 644 und dem Ordner die Autorisierung 700 erteilen.<pre>chmod 644 .ssh/id_rsa<br />chmod 700 .ssh</pre> | Mainframe-Entwickler | 
| Kopieren Sie den Inhalt des öffentlichen Schlüssels auf Ihren vom Amazon S3 S3-Dienst verwalteten Benutzer. | Um den von USS generierten Inhalt des öffentlichen Schlüssels zu kopieren, öffnen Sie die [AWS Transfer Family Family-Konsole](https://console.aws.amazon.com/transfer/).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html) | Mainframe-Entwickler | 

### Generieren Sie das JCLs
<a name="generate-the-jcls"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Generieren Sie die im Geltungsbereich enthaltene Db2-Tabellenliste. | Geben Sie Eingabe-SQL ein, um eine Liste der Tabellen zu erstellen, die für die Datenmigration vorgesehen sind. In diesem Schritt müssen Sie Auswahlkriterien angeben, indem Sie die DB2-Katalogtabelle SYSIBM.SYSTABLES mithilfe einer SQL WHERE-Klausel abfragen. Filter können so angepasst werden, dass sie ein bestimmtes Schema oder Tabellennamen enthalten, die mit einem bestimmten Präfix beginnen oder auf einem Zeitstempel für das inkrementelle Entladen basieren. Die Ausgabe wird in einem physikalischen sequentiellen Datensatz (PS) auf dem Mainframe erfasst. Dieser Datensatz dient als Eingabe für die nächste Phase der JCL-Generierung.Bevor Sie den JCL-TABNAMEN verwenden (Sie können ihn bei Bedarf umbenennen), nehmen Sie die folgenden Änderungen vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Job zum Extrahieren der DB2-Tabellenliste**<pre><Jobcard><br />//* <br />//* UNLOAD ALL THE TABLE NAMES FOR A PARTICULAR SCHEMA<br />//* <br />//STEP01  EXEC PGM=IEFBR14<br />//* <br />//DD1      DD  DISP=(MOD,DELETE,DELETE),<br />//         UNIT=SYSDA,<br />//         SPACE=(1000,(1,1)),<br />//         DSN=<HLQ1>.DSN81210.TABLIST<br />//* <br />//DD2      DD  DISP=(MOD,DELETE,DELETE),<br />//         UNIT=SYSDA,<br />//         SPACE=(1000,(1,1)),<br />//         DSN=<HLQ1>.DSN81210.SYSPUNCH <br />//* <br />//UNLOAD  EXEC PGM=IKJEFT01,DYNAMNBR=20 <br />//SYSTSPRT DD  SYSOUT=* <br />//STEPLIB  DD  DISP=SHR,DSN=DSNC10.DBCG.SDSNEXIT<br />//         DD  DISP=SHR,DSN=DSNC10.SDSNLOAD<br />//         DD  DISP=SHR,DSN=CEE.SCEERUN <br />//         DD  DISP=SHR,DSN=DSNC10.DBCG.RUNLIB.LOAD <br />//SYSTSIN  DD  *<br />  DSN SYSTEM(DBCG) <br />  RUN  PROGRAM(DSNTIAUL) PLAN(DSNTIB12) PARMS('SQL') - <br />       LIB('DSNC10.DBCG.RUNLIB.LOAD')<br />  END<br />//SYSPRINT DD SYSOUT=*<br />//* <br />//SYSUDUMP DD SYSOUT=*<br />//* <br />//SYSREC00 DD DISP=(NEW,CATLG,DELETE),<br />//            UNIT=SYSDA,SPACE=(32760,(1000,500)),<br />//            DSN=<HLQ1>.DSN81210.TABLIST <br />//* <br />//SYSPUNCH DD DISP=(NEW,CATLG,DELETE), <br />//            UNIT=SYSDA,SPACE=(32760,(1000,500)),<br />//            VOL=SER=SCR03,RECFM=FB,LRECL=120,BLKSIZE=12 <br />//            DSN=<HLQ1>.DSN81210.SYSPUNCH <br />//* <br />//SYSIN    DD * <br />   SELECT CHAR(CREATOR), CHAR(NAME)<br />     FROM SYSIBM.SYSTABLES <br />    WHERE OWNER = '<Schema>' <br />      AND NAME LIKE '<Prefix>%' <br />      AND TYPE = 'T'; <br />/* </pre> | Mainframe-Entwickler | 
| Ändern Sie die JCL-Vorlagen. | Die mit diesem Muster bereitgestellten JCL-Vorlagen enthalten eine generische Job-Card und Bibliotheksnamen. Die meisten Mainframe-Websites werden jedoch ihre eigenen Benennungsstandards für Datensatznamen, Bibliotheksnamen und Jobkarten haben. Beispielsweise kann eine bestimmte Jobklasse erforderlich sein, um Db2-Jobs auszuführen. Das Job Entry Subsystem implementiert JES2 und JES3 kann zusätzliche Änderungen auferlegen. Standard-Ladebibliotheken haben möglicherweise einen anderen ersten Qualifier als `SYS1` den IBM-Standard. Passen Sie die Vorlagen daher an Ihre standortspezifischen Standards an, bevor Sie sie ausführen.Nehmen Sie die folgenden Änderungen am Grundgerüst JCL UNLDSKEL vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Entladen und SFTP-JCL-Skelett**<pre>//&USRPFX.U JOB (DB2UNLOAD),'JOB',CLASS=A,MSGCLASS=A, <br />//         TIME=1440,NOTIFY=&USRPFX<br />//* DELETE DATASETS<br />//STEP01   EXEC PGM=IEFBR14<br />//DD01     DD DISP=(MOD,DELETE,DELETE),<br />//            UNIT=SYSDA,<br />//            SPACE=(TRK,(1,1)),<br />// DSN=&USRPFX..DB2.PUNCH.&JOBNAME<br />//DD02     DD DISP=(MOD,DELETE,DELETE),<br />//            UNIT=SYSDA,<br />//            SPACE=(TRK,(1,1)),<br />// DSN=&USRPFX..DB2.UNLOAD.&JOBNAME<br />//*<br />//* RUNNING DB2 EXTRACTION BATCH JOB FOR AWS DEMO<br />//*<br />//UNLD01   EXEC PGM=DSNUTILB,REGION=0M,<br />// PARM='<DSN>,UNLOAD'<br />//STEPLIB  DD  DISP=SHR,DSN=DSNC10.DBCG.SDSNEXIT<br />//         DD  DISP=SHR,DSN=DSNC10.SDSNLOAD<br />//SYSPRINT DD  SYSOUT=*<br />//UTPRINT  DD  SYSOUT=*<br />//SYSOUT   DD  SYSOUT=*<br />//SYSPUN01 DD  DISP=(NEW,CATLG,DELETE),<br />//             SPACE=(CYL,(1,1),RLSE),<br />// DSN=&USRPFX..DB2.PUNCH.&JOBNAME<br />//SYSREC01 DD  DISP=(NEW,CATLG,DELETE),<br />//             SPACE=(CYL,(10,50),RLSE),<br />// DSN=&USRPFX..DB2.UNLOAD.&JOBNAME<br />//SYSPRINT DD SYSOUT=*<br />//SYSIN    DD *<br />  UNLOAD<br />  DELIMITED COLDEL ','<br />  FROM TABLE &TABNAME<br />  UNLDDN SYSREC01<br />  PUNCHDDN SYSPUN01<br />  SHRLEVEL CHANGE ISOLATION UR;<br /> /*<br />//*<br />//* FTP TO AMAZON S3 BACKED FTP SERVER IF UNLOAD WAS SUCCESSFUL<br />//*<br />//SFTP EXEC PGM=BPXBATCH,COND=(4,LE),REGION=0M<br />//STDPARM DD *<br /> SH cp "//'&USRPFX..DB2.UNLOAD.&JOBNAME'"<br />   &TABNAME..csv;<br /> echo "ascii             " >> uplcmd;<br /> echo "PUT &TABNAME..csv " >>>> uplcmd;<br /> sftp -b uplcmd -i .ssh/id_rsa &FTPUSER.@&FTPSITE;<br /> rm &TABNAME..csv;<br /> //SYSPRINT DD SYSOUT=*<br /> //STDOUT DD SYSOUT=*<br /> //STDENV DD *<br /> //STDERR DD SYSOUT=*                                                </pre>  | Mainframe-Entwickler | 
| Generieren Sie die Mass Unload JCL. | Dieser Schritt beinhaltet die Ausführung eines REXX-Skripts in einer ISPF-Umgebung mithilfe von JCL. Geben Sie die Liste der im ersten Schritt erstellten Tabellen im Gültigkeitsbereich als Eingabe für die Massengenerierung von JCL anhand des Namens an. `TABLIST DD` Die JCL generiert eine neue JCL pro Tabellennamen in einem benutzerdefinierten partitionierten Datensatz, der anhand des Namens angegeben wird. `ISPFILE DD` Ordnen Sie diese Bibliothek vorher zu. Jede neue JCL besteht aus zwei Schritten: einem Schritt zum Entladen der Db2-Tabelle in eine Datei und einem Schritt zum Senden der Datei an den S3-Bucket.Nehmen Sie die folgenden Änderungen in der JCL REXXEXEC vor (Sie können den Namen ändern):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**Auftrag zur Massengenerierung von JCL**<pre>//RUNREXX JOB (CREATEJCL),'RUNS ISPF TABLIST',CLASS=A,MSGCLASS=A,      <br />//         TIME=1440,NOTIFY=&SYSUID<br />//* Most of the values required can be updated to your site specific<br />//* values using the command 'TSO ISRDDN' in your ISPF session. <br />//* Update all the lines tagged with //update marker to desired<br />//* site specific values. <br />//ISPF EXEC PGM=IKJEFT01,REGION=2048K,DYNAMNBR=25<br />//SYSPROC   DD DISP=SHR,DSN=USER.Z23D.CLIST<br />//SYSEXEC   DD DISP=SHR,DSN=<HLQ1>.TEST.REXXLIB<br />//ISPPLIB   DD DISP=SHR,DSN=ISP.SISPPENU<br />//ISPSLIB   DD DISP=SHR,DSN=ISP.SISPSENU<br />//          DD DISP=SHR,DSN=<HLQ1>.TEST.ISPSLIB<br />//ISPMLIB   DD DSN=ISP.SISPMENU,DISP=SHR<br />//ISPTLIB   DD DDNAME=ISPTABL<br />//          DD DSN=ISP.SISPTENU,DISP=SHR<br />//ISPTABL   DD LIKE=ISP.SISPTENU,UNIT=VIO<br />//ISPPROF   DD LIKE=ISP.SISPTENU,UNIT=VIO<br />//ISPLOG    DD SYSOUT=*,RECFM=VA,LRECL=125<br />//SYSPRINT  DD SYSOUT=*<br />//SYSTSPRT  DD SYSOUT=*<br />//SYSUDUMP  DD SYSOUT=*<br />//SYSDBOUT  DD SYSOUT=*<br />//SYSTSPRT  DD SYSOUT=*<br />//SYSUDUMP  DD SYSOUT=*<br />//SYSDBOUT  DD SYSOUT=*<br />//SYSHELP   DD DSN=SYS1.HELP,DISP=SHR <br />//SYSOUT    DD SYSOUT=*<br />//* Input list of tablenames<br />//TABLIST   DD DISP=SHR,DSN=<HLQ1>.DSN81210.TABLIST<br />//* Output pds<br />//ISPFILE   DD DISP=SHR,DSN=<HLQ1>.TEST.JOBGEN<br />//SYSTSIN   DD *<br />ISPSTART CMD(ZSTEPS <MFUSER> <FTPUSER> <AWS TransferFamily IP>)<br />/*</pre>Bevor Sie das REXX-Skript verwenden, nehmen Sie die folgenden Änderungen vor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.html)**STEPS REX-Skript**<pre>/*REXX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */<br />/* 10/27/2021 - added new parms to accommodate ftp */<br />Trace "o" <br />    parse arg usrpfx ftpuser ftpsite<br />    Say "Start"<br />    Say "Ftpuser: " ftpuser "Ftpsite:" ftpsite<br />    Say "Reading table name list"<br />    "EXECIO * DISKR TABLIST (STEM LINE. FINIS"<br />    DO I = 1 TO LINE.0<br />      Say I<br />      suffix = I<br />      Say LINE.i<br />      Parse var LINE.i schema table rest<br />      tabname = schema !! "." !! table<br />      Say tabname<br />      tempjob= "LOD" !! RIGHT("0000" !! i, 5) <br />      jobname=tempjob<br />      Say tempjob<br />      ADDRESS ISPEXEC "FTOPEN "<br />      ADDRESS ISPEXEC "FTINCL UNLDSKEL"<br />      /* member will be saved in ISPDSN library allocated in JCL */<br />      ADDRESS ISPEXEC "FTCLOSE NAME("tempjob")"<br />    END<br /><br />    ADDRESS TSO "FREE F(TABLIST) "<br />    ADDRESS TSO "FREE F(ISPFILE) "<br /><br />exit 0</pre> | Mainframe-Entwickler | 

### Führen Sie das aus JCLs
<a name="run-the-jcls"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie den Schritt Db2 Unload aus. | Nach der JCL-Generierung werden Sie über so viele Tabellen verfügen, JCLs wie Sie haben, die entladen werden müssen.In dieser Geschichte werden die Struktur und die wichtigsten Schritte anhand eines von JCL generierten Beispiels erklärt.Von Ihrer Seite aus ist keine Aktion erforderlich. Die folgenden Informationen dienen nur als Referenz. Wenn Sie JCLs die im vorherigen Schritt generierten Daten einreichen möchten, fahren Sie mit dem Abschnitt LODnnnnn JCLs Aufgabe *einreichen* fort.Wenn Sie Db2-Daten mithilfe einer JCL mit dem von IBM bereitgestellten Hilfsprogramm DSNUTILB Db2 entladen, müssen Sie sicherstellen, dass die entladenen Daten keine komprimierten numerischen Daten enthalten. Verwenden Sie dazu den DSNUTILB-Parameter. `DELIMITED`Der `DELIMITED` Parameter unterstützt das Entladen der Daten im CSV-Format, indem er ein Zeichen als Trennzeichen und doppelte Anführungszeichen für das Textfeld hinzufügt, die Auffüllung in der VARCHAR-Spalte entfernt und alle numerischen Felder, einschließlich der DATE-Felder, in ein EXTERNES FORMAT konvertiert.Das folgende Beispiel zeigt, wie der Entladeschritt in der generierten JCL aussieht, wobei das Komma als Trennzeichen verwendet wird.<pre>                            <br /> UNLOAD<br /> DELIMITED COLDEL ',' <br /> FROM TABLE SCHEMA_NAME.TBNAME<br /> UNLDDN SYSREC01<br /> PUNCHDDN SYSPUN01<br /> SHRLEVEL CHANGE ISOLATION UR;</pre> | Mainframe-Entwickler, Systemingenieur | 
| Führen Sie den SFTP-Schritt aus. | Um das SFTP-Protokoll von einer JCL aus zu verwenden, verwenden Sie das BPXBATCH-Hilfsprogramm. Das SFTP-Hilfsprogramm kann nicht direkt auf die MVS-Datensätze zugreifen. Sie können den Befehl copy (`cp`) verwenden, um die sequenzielle Datei in das USS-Verzeichnis `&USRPFX..DB2.UNLOAD.&JOBNAME` zu kopieren, wo sie gespeichert wird. `&TABNAME..csv`Führen Sie den `sftp` Befehl mit dem privaten Schlüssel (`id_rsa`) und der RACF-Benutzer-ID als Benutzernamen aus, um eine Verbindung mit der IP-Adresse der AWS Transfer Family herzustellen.<pre>SH cp "//'&USRPFX..DB2.UNLOAD.&JOBNAME'"<br />   &TABNAME..csv;<br /> echo "ascii             " >> uplcmd;<br /> echo "PUT &TABNAME..csv " >>>> uplcmd;<br /> sftp -b uplcmd -i .ssh/id_rsa &FTPUSER.@&FTP_TF_SITE;<br /> rm &TABNAME..csv; </pre> | Mainframe-Entwickler, Systemingenieur | 
| Reichen Sie das LODnnnnn JCLs ein. | Die vorherige JCL hat alle LODnnnnn JCL-Tabellen generiert, die entladen, in CSV umgewandelt und in den S3-Bucket übertragen werden müssen.Führen Sie den `submit` Befehl für alle aus JCLs , die generiert wurden. | Mainframe-Entwickler, Systemingenieur | 

## Zugehörige Ressourcen
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-resources"></a>

Weitere Informationen zu den verschiedenen in diesem Dokument verwendeten Tools und Lösungen finden Sie im Folgenden:
+ [z/OS OpenSSH-Benutzerhandbuch](https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4sc276806/$file/foto100_v2r4.pdf)
+ [Db2 z/OS — Beispiel für UNLOAD-Steueranweisungen](https://www.ibm.com/docs/en/db2-for-zos/11?topic=unload-sample-control-statements)
+ [Db2 z/OS — Dateien mit Trennzeichen werden entladen](https://www.ibm.com/docs/en/db2-for-zos/11?topic=unload-unloading-delimited-files)
+ [Transfer Family — Erstellen Sie einen SFTP-fähigen Server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-sftp.html)
+ [Transfer Family — Arbeit mit dienstverwalteten Benutzern](https://docs.aws.amazon.com/transfer/latest/userguide/service-managed-users.html)

## Zusätzliche Informationen
<a name="transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files-additional"></a>

Nachdem Sie Ihre Db2-Daten auf Amazon S3 gespeichert haben, haben Sie viele Möglichkeiten, neue Erkenntnisse zu gewinnen. Da Amazon S3 in AWS-Datenanalyse-Services integriert ist, können Sie diese Daten frei verwenden oder auf der verteilten Seite verfügbar machen. Sie können z. B. Folgendes tun:
+ Erstellen Sie einen [Data Lake auf Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/) und gewinnen Sie wertvolle Erkenntnisse mithilfe query-in-place von Analyse- und Machine-Learning-Tools, ohne die Daten verschieben zu müssen.
+ Initiieren Sie eine [Lambda-Funktion](https://aws.amazon.com/lambda/), indem Sie einen Verarbeitungsworkflow nach dem Upload einrichten, der in die AWS Transfer Family integriert ist.
+ Entwickeln Sie neue Microservices für den Zugriff auf Daten in Amazon S3 oder in einer [vollständig verwalteten Datenbank](https://aws.amazon.com/free/database/?trk=ps_a134p000007CdNEAA0&trkCampaign=acq_paid_search_brand&sc_channel=PS&sc_campaign=acquisition_FR&sc_publisher=Google&sc_category=Database&sc_country=FR&sc_geo=EMEA&sc_outcome=acq&sc_detail=amazon%20relational%20database%20service&sc_content=Relational%20Database_e&sc_matchtype=e&sc_segment=548727697660&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Database|Solution|FR|EN|Text&s_kwcid=AL!4422!3!548727697660!e!!g!!amazon%20relational%20database%20service&ef_id=CjwKCAjwzt6LBhBeEiwAbPGOgcGbQIl1-QsbHfWTgMZSSHEXzSG377R9ZyK3tCcbnHuT45L230FufxoCeEkQAvD_BwE:G:s&s_kwcid=AL!4422!3!548727697660!e!!g!!amazon%20relational%20database%20service) mithilfe von [AWS Glue](https://aws.amazon.com/glue/), einem serverlosen Datenintegrationsservice, der es einfach macht, Daten für Analysen, maschinelles Lernen und Anwendungsentwicklung zu entdecken, aufzubereiten und zu kombinieren.

In einem Anwendungsfall für die Migration können Sie, da Sie beliebige Daten vom Mainframe auf S3 übertragen können, wie folgt vorgehen:
+ Mit Amazon S3 Glacier und S3 Glacier Deep Archive können Sie die physische Infrastruktur außer Betrieb nehmen und eine kostengünstige Datenarchivierungsstrategie entwickeln. 
+ Entwickeln Sie skalierbare, langlebige und sichere Sicherungs- und Wiederherstellungslösungen mit Amazon S3 und anderen AWS-Services wie S3 Glacier und Amazon Elastic File System (Amazon EFS), um bestehende lokale Funktionen zu erweitern oder zu ersetzen.

# Verwandeln Sie Easytrieve mithilfe von Custom in moderne Sprachen AWS Transform
<a name="transform-easytrieve-modern-languages"></a>

*Shubham Roy, Subramanyam Malisetty und Harshitha Shashidhar, Amazon Web Services*

## Zusammenfassung
<a name="transform-easytrieve-modern-languages-summary"></a>

[https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6.html](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6.html) language-to-language Es befasst sich mit den Herausforderungen der Modernisierung von Nischen- und proprietären EZT-Workloads für Mainframes, die häufig für die Verarbeitung von Batch-Daten und die Generierung von Berichten verwendet werden. Das Muster ersetzt teure, langwierige und fehleranfällige Migrationsansätze, die auf proprietären Tools und seltenem Mainframe-Fachwissen beruhen, durch eine maßgeschneiderte, automatisierte KI-Lösung, auf der Sie selbst erstellen. AWS Transform

Dieses Muster bietet eine gebrauchsfertige benutzerdefinierte Transformationsdefinition für die EZT-Transformation. Die Definition verwendet mehrere Transformationseingaben:
+ [Mit Hilfe AWS Transform von Mainframe extrahierte EZT-Geschäftsregeln](https://aws.amazon.com/transform/mainframe/)
+ Referenzdokumentation zur EZT-Programmierung
+ EZT-Quellcode
+ Mainframe-Eingabe- und Ausgabedatensätze

AWS Transform custom verwendet diese Eingaben, um funktional äquivalente Anwendungen in modernen Zielsprachen wie Java oder Python zu generieren.

Der Transformationsprozess verwendet intelligente Testausführung, automatisiertes Debugging und iterative Korrekturfunktionen, um die funktionale Äquivalenz anhand der erwarteten Ergebnisse zu überprüfen. Es unterstützt auch kontinuierliches Lernen und ermöglicht so die benutzerdefinierte Transformationsdefinition, um die Genauigkeit und Konsistenz bei aufeinanderfolgenden Transformationen zu verbessern. Mithilfe dieses Musters können Unternehmen den Migrationsaufwand und das Risiko reduzieren, technische Nischenprobleme bei Mainframes beheben und EZT-Workloads modernisieren, um Agilität, Zuverlässigkeit, Sicherheit und Innovation AWS zu verbessern.

## Voraussetzungen und Einschränkungen
<a name="transform-easytrieve-modern-languages-prereqs"></a>

**Voraussetzungen**
+ Ein aktives Konto AWS  
+ Ein Mainframe-EZT-Workload mit Eingabe- und Ausgabedaten 

**Einschränkungen**

*Einschränkungen des Geltungsbereichs*
+ **Sprachunterstützung** — Für dieses spezielle Transformationsmuster wird nur die Transformation von EZT zu Java unterstützt. 
+ **Außerhalb des Geltungsbereichs** — Für die Transformation anderer Mainframe-Programmiersprachen ist eine neue benutzerdefinierte Transformationsdefinition im benutzerdefinierten Format erforderlich. AWS Transform 

*Einschränkungen des Prozesses*
+ **Validierungsabhängigkeit** — Ohne Ausgangsdaten kann die Transformation nicht validiert werden. 
+ **Proprietäre Logik** — Hochspezifische, speziell entwickelte Dienstprogramme erfordern zusätzliche Benutzerdokumentation und Referenzmaterial, um vom KI-Agenten korrekt interpretiert zu werden.

*Technische Einschränkungen*
+ **Service-Limits** — AWS Transform Maßgeschneiderte Service-Limits und Kontingente finden Sie im [AWS Transform Benutzerhandbuch — Kontingente](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html) und die [AWS allgemeine Referenz — Transform Quotas](https://docs.aws.amazon.com/general/latest/gr/aws-transform.html).

**Produktversionen**
+ AWS Transform CLI — Letzte Version
+ Node.js — Version 20 oder höher
+ Git — Letzte Version
+ Zielumgebung
  + Java — Version 17 oder höher
  + Spring Boot — Version 3.x ist das primäre Ziel für umgestaltete Anwendungen
  + Maven — Version 3.6 oder höher

## Architektur
<a name="transform-easytrieve-modern-languages-architecture"></a>

**Quelltechnologie-Stack**
+ **Betriebssystem** — IBM z/OS
+ **Programmiersprache** — Easytrieve, Job Control Language (JCL)
+ **Datenbank** — IBM DB2 für z/OS, Virtual Storage Access Method (VSAM), Mainframe-Flatfiles

**Zieltechnologie-Stack**
+ **Betriebssystem** — Amazon Linux
+ **Datenverarbeitung** — Amazon Elastic Compute Cloud (Amazon EC2)
+ **Programmiersprache** — Java
+ **Datenbank** Amazon Relational Database Service (Amazon RDS)

**Zielarchitektur**

![\[Zielarchitekturdiagramm für die Verwendung von AWS Transform custom zur Umwandlung von EZT in modernen Code.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/71f15422-42cb-4c7e-94fa-051a4f130445/images/eb89eed0-dd55-485c-a433-9869162eaad9.png)


**Workflow**

Diese Lösung verwendet ein AWS Transform benutzerdefiniertes Transformationsmuster für die language-to-language Migration, um Mainframe-Easytrieve (EZT) -Anwendungen mithilfe eines automatisierten Workflows in vier Schritten auf Java zu modernisieren.

*Schritt 1 — Stellen Sie Ihren Legacy-Code für Mainframe bereit, der: AWS Transform *
+ Analysiert den Code
+ Extrahiert die allgemeine Geschäftslogik
+ Extrahiert die detaillierte Geschäftslogik.

*Schritt 2 — Erstellen Sie einen Ordner mit den erforderlichen Eingaben:*
+ Mit Hilfe AWS Transform von Mainframe extrahierte EZT-Geschäftsregeln 
+ Referenzdokumentation zur EZT-Programmierung 
+ EZT-Quellcode
+ Mainframe-Eingabe- und Ausgabedatensätze

*Schritt 3 — Erstellen Sie eine benutzerdefinierte Transformationsdefinition und führen Sie sie aus*

1. Verwenden Sie die AWS Transform CLI, um Transformationsziele in natürlicher Sprache zu beschreiben. AWS Transform custom analysiert die BRE-, Quellcode- und EZT-Programmierleitfäden, um eine benutzerdefinierte Transformationsdefinition zur Überprüfung und Genehmigung durch Entwickler zu erstellen.

1. Rufen Sie dann die AWS Transform CLI mit dem Projektquellcode auf. AWS Transform custom erstellt Transformationspläne, konvertiert EZT nach Genehmigung in Java, generiert unterstützende Dateien, erstellt die ausführbare JAR und validiert die Exit-Kriterien.

1. Verwenden Sie den Validierungsagenten, um die funktionale Äquivalenz anhand der Mainframe-Ausgabe zu testen. Der Self-Debugger-Agent behebt Probleme selbstständig. Zu den endgültigen Ergebnissen gehören validierter Java-Code und HTML-Validierungsberichte.

**Automatisierung und Skalierung**
+ Agentic AI Multimode-Ausführungsarchitektur — AWS Transform kundenspezifisch nutzt agentische KI mit drei Ausführungsmodi (Konversation, interaktiv, vollständige Automatisierung), um komplexe Transformationsaufgaben wie Codeanalyse, Refactoring, Transformationsplanung und Tests zu automatisieren.
+ Adaptives Lern-Feedback-System — Die Plattform implementiert kontinuierliche Lernmechanismen durch Analyse von Codebeispielen, Analyse der Dokumentation und Integration von Entwickler-Feedback mit versionierten Transformationsdefinitionen.
+ Architektur für gleichzeitige Anwendungsverarbeitung — Das System ermöglicht die verteilte parallel Ausführung mehrerer Anwendungstransformationsvorgänge gleichzeitig in einer skalierbaren Infrastruktur.

## Tools
<a name="transform-easytrieve-modern-languages-tools"></a>

**AWS-Services  **
+ [AWS Transform custom](https://docs.aws.amazon.com/transform/latest/userguide/custom.html) ist ein agentischer KI-Service, der verwendet wird, um ältere EZT-Anwendungen in moderne Programmiersprachen umzuwandeln. 
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)verwendet agentic AI, um Ihnen zu helfen, die Modernisierung älterer Workloads wie .NET, Mainframe und Workloads zu beschleunigen. VMware 
+ [AWS Transform for Mainframe](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe.html) wird verwendet, um ältere EZT-Anwendungen zu analysieren, um eingebettete Geschäftslogik zu extrahieren und eine umfassende Dokumentation zu Geschäftsregeln zu erstellen, einschließlich logischer Zusammenfassungen, Akronymdefinitionen und strukturierter Wissensdatenbanken. Diese dienen als Eingabedaten für benutzerdefinierte Anwendungen. AWS Transform  
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt. Amazon S3 dient als primärer Speicherservice für AWS Transform Custom zum Speichern von Transformationsdefinitionen, Code-Repositorys und Verarbeitungsergebnissen. 
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden. IAM bietet das Sicherheitsframework für AWS Transform benutzerdefinierte, verwaltete Berechtigungen und Zugriffskontrolle für Transformationsvorgänge.

**Andere Tools**
+ [AWS Transform CLI](https://docs.aws.amazon.com/transform/latest/userguide/custom-command-reference.html) ist die Befehlszeilenschnittstelle für AWS Transform benutzerdefinierte Anwendungen, die es Entwicklern ermöglicht, benutzerdefinierte Codetransformationen durch Konversationen in natürlicher Sprache und automatisierte Ausführungsmodi zu definieren, auszuführen und zu verwalten. AWS Transform custom unterstützt sowohl interaktive Sitzungen (atx custom def exec) als auch autonome Transformationen für die skalierbare Modernisierung von Codebasen.
+ [Git-Versionskontrollsystem](https://git-scm.com/doc), das für den Branchschutz, die Änderungsverfolgung und Rollback-Funktionen bei der automatisierten Fix-Anwendung verwendet wird. 
+ [Java](https://www.java.com/en/) ist die Programmiersprache und Entwicklungsumgebung, die in diesem Muster verwendet werden. 

**Code-Repository**

Der Code für dieses Muster ist in [Easytrieve to Modern Languages Transformation mit aktivierter Option AWS Transform Benutzerdefiniert](https://github.com/aws-samples/sample-mainframe-easytrieve-transform?tab=readme-ov-file#easytrieve-to-modern-languages-transformation-with-aws-transform-custom) verfügbar. GitHub

## Best Practices
<a name="transform-easytrieve-modern-languages-best-practices"></a>
+ Etablieren Sie eine standardisierte Projektstruktur — Erstellen Sie eine Struktur mit vier Ordnern (Quellcode, Bre-Doc, Eingabedaten, Ausgabedaten), überprüfen Sie die Vollständigkeit und dokumentieren Sie den Inhalt vor der Transformation.
+ Verwenden Sie Basisdateien für die Validierung — Verwenden Sie Ausgangsdateien für die Produktion, führen Sie einen byte-by-byte Vergleich mit der Ausgangsausgabe durch und akzeptieren Sie eine Null-Toleranz für Abweichungen.
+ Alle verfügbaren Referenzdokumente verwenden — Um die Genauigkeit der Transformation zu erhöhen, stellen Sie alle verfügbaren Referenzdokumente bereit, z. B. Geschäftsanforderungen und Codierungs-Checklisten.
+ Geben Sie Anregungen zur Qualitätsverbesserung — AWS Transform Custom extrahiert automatisch Erkenntnisse aus Transformationsausführungen (Feedback von Entwicklern, Codeprobleme) und erstellt Wissenselemente für sie. Überprüfen Sie nach jeder erfolgreichen Transformation die Wissenselemente und genehmigen Sie die Wissenselemente, die Sie in future Ausführungen verwenden möchten. Dies verbessert die Qualität zukünftiger Transformationen.

## Epen
<a name="transform-easytrieve-modern-languages-epics"></a>

### Generieren Sie einen Geschäftsregelextrakt (BRE)
<a name="generate-a-business-rule-extract-bre"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
|  AWS Transform Für Mainframe konfigurieren. | Richten Sie die Umgebung und die erforderlichen AWS Identity and Access Management (IAM-) Berechtigungen zur Unterstützung von Workflows zur Mainframe-Modernisierung ein. Weitere Informationen finden Sie in der Dokumentation unter [Transformation von Mainframe-Anwendungen](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html). AWS  | App-Developer | 
| Generieren Sie die Dokumentation zu Business Rule Extract (BRE). | Extrahieren Sie Geschäftslogik aus dem EZT- oder COBOL-Quellcode, um funktionale Dokumentation zu generieren. Anweisungen, wie Sie den Extraktionsprozess einleiten und die Ausgabe überprüfen, finden Sie in der AWS Transform Dokumentation unter [Geschäftslogik extrahieren](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-extract-business-logic). | App-Developer | 

### AWS Transform Benutzerdefiniert einrichten
<a name="set-up-trn-custom"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie die Infrastruktur AWS Transform kundenspezifisch bereit. | Stellen Sie die produktionsbereite Infrastruktur bereit, die für die Bereitstellung einer sicheren Transformationsumgebung erforderlich ist. Dazu gehört eine private Amazon EC2 EC2-Instance, die mit den erforderlichen Tools, IAM-Berechtigungen und Netzwerkeinstellungen für die Konvertierung von Easytrieve-Code konfiguriert ist. Um die Umgebung mithilfe von Infrastructure as Code (IaC) bereitzustellen, folgen Sie den Bereitstellungsanweisungen im Repository [Easytrieve to](https://github.com/aws-samples/sample-mainframe-easytrieve-transform) Modern Languages Transformation with Custom. AWS Transform GitHub  | App-Entwickler, AWS-Administrator | 
| Bereiten Sie die Eingangsmaterialien für die Transformation vor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | App-Developer | 

###  Erstellen Sie eine benutzerdefinierte Transformationsdefinition
<a name="create-a-custom-transformation-definition"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Transformationsdefinition. | Gehen Sie wie folgt vor, um die benutzerdefinierte Transformationsdefinition für die Transformation von EZT in Java mit funktionaler Validierung zu erstellen.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | App-Developer | 
| Veröffentlichen Sie die Transformationsdefinition. | Nach der Überprüfung und Validierung der Transformationsdefinition können Sie sie mit einer Aufforderung in natürlicher Sprache in der AWS Transform benutzerdefinierten Registrierung veröffentlichen und dabei einen Definitionsnamen wie *EasyTrieve-to-Java-Migration* angeben. | App-Developer | 

### Bereiten Sie die Basisdaten für die Validierung vor.
<a name="prepare-baseline-data-for-validation"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Lesen Sie die Zusammenfassung der Transformationsvalidierung. | Stellen Sie vor der Ausführung der AWS Transform benutzerdefinierten Transformation sicher, dass der `input-data` Ordner die erforderlichen Datendateien enthält, die vor der Ausführung des Mainframe-Batchjobs erfasst wurden. Stellen Sie nach der Ausführung des Mainframe-Batchjobs sicher, dass der `output-data` Ordner die resultierenden Dateien aufzeichnet. Alle Dateien liegen im Sequential/Text/DB 2-Format vor und verwenden die EBCDIC-Codierung, die auf den Ausführungsanforderungen basiert.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | App-Developer | 
| Führen Sie den benutzerdefinierten Transformationsjob aus. | Führen Sie den AWS Transform CLI-Befehl aus und wählen Sie die nicht interaktive oder die interaktive Option aus:<pre>:# Non-interactive execution (fully autonomous):<br />atx custom def exec \<br />  --transformation-name "Easytrieve-to-Java-Migration" \<br />  --code-repository-path ~/root/transform-workspace/mainframe-source/source-code \<br />  --build-command "mvn clean install" \<br />  --non-interactive \<br />  --trust-all-tools \<br /><br /># Interactive execution (with human oversight):<br />atx custom def exec \<br />  -n "Easytrieve-to-Java-Migration" \<br />  -p ~/root/transform-workspace/mainframe-source/source-code \<br />  -c "mvn clean install"<br /><br /># Resume interrupted execution:<br />atx -resume<br /># OR<br />atx --conversation-id <conversation-id><br /></pre>AWS Transform validiert automatisch anhand von build/test Befehlen während der Ausführung der Transformation. | App-Developer | 

### Validiert und liefert getesteten Code
<a name="validate-and-deliver-tested-code"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Lesen Sie die Zusammenfassung der Transformationsvalidierung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | App-Developer | 
| Greifen Sie auf Validierungsberichte zu. | Geben Sie die folgenden Befehle ein, um die detaillierten Validierungsartefakte zu überprüfen:<pre># Full validation report<br />cat ~/.aws/atx/custom/$LATEST_SESSION/artifacts/validation_report.html<br /><br /># Generated code location<br />ls ~/.aws/atx/custom/$LATEST_SESSION/generated/<br /><br /># Execution logs<br />cat ~/.aws/atx/custom/$LATEST_SESSION/logs/execution.log</pre> | App-Developer | 
| Aktivieren Sie Wissenselemente für kontinuierliches Lernen. | Verbessern Sie die Genauigkeit future Transformationen, indem Sie vorgeschlagene Wissenselemente in Ihre persistente Konfiguration aufnehmen. Nach einer Transformation speichert der Agent identifizierte Muster und Zuordnungsregeln in Ihrem lokalen Sitzungsverzeichnis. Führen Sie die folgenden Befehle auf Ihrer Amazon EC2 EC2-Instance aus, um diese erlernten Elemente zu überprüfen und anzuwenden:<pre># List all knowledge items for a specific transformation definition<br />atx custom def list-ki -n <transformation-name><br /><br /># Retrieve the details of a specific knowledge item<br />atx custom def get-ki -n <transformation-name> --id <id><br /><br /># Update the status of a knowledge item (ENABLED or DISABLED)<br />atx custom def update-ki-status -n <transformation-name> --id <id> --status ENABLED<br /><br /># Update the knowledge item configuration to enable auto-approval<br />atx custom def update-ki-config -n <transformation-name> --auto-enabled TRUE</pre> | App-Developer | 

## Fehlerbehebung
<a name="transform-easytrieve-modern-languages-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| *Konfiguration des Eingabe- und Ausgabepfads*Eingabedateien werden nicht gelesen oder Ausgabedateien werden nicht korrekt geschrieben.  | Geben Sie den vollständigen Verzeichnispfad an, in dem die Eingabedateien gespeichert werden, und geben Sie deutlich an, wo die Ausgabe geschrieben werden soll. Stellen Sie sicher, dass die richtigen Zugriffsberechtigungen für diese Verzeichnisse konfiguriert sind. Zu den bewährten Methoden gehören die Verwendung absoluter Pfade anstelle relativer Pfade, um Mehrdeutigkeiten zu vermeiden, und die Überprüfung, ob alle angegebenen Pfade mit den entsprechenden Berechtigungen vorhanden sind. read/write   | 
| *Wiederaufnahme unterbrochener Ausführungen*Die Ausführung wurde unterbrochen oder muss an der Stelle fortgesetzt werden, an der sie unterbrochen wurde | Sie können die Ausführung an der Stelle fortsetzen, an der Sie aufgehört haben, indem Sie die Konversations-ID im CLI-Befehl angeben.Suchen Sie die Konversations-ID in den Protokollen Ihres vorherigen Ausführungsversuchs.   | 
| *Behebung von Speicherbeschränkungen*Während der Ausführung tritt ein Fehler aufgrund unzureichender Speicherkapazität auf. | Sie können darum bitten AWS Transform , die aktuelle JVM-Größe im Arbeitsspeicher gemeinsam zu nutzen und dann die Speicherzuweisung auf der Grundlage dieser Informationen zu erhöhen. Diese Anpassung hilft, größeren Verarbeitungsanforderungen gerecht zu werden.Erwägen Sie, große Aufträge in kleinere Batches aufzuteilen, wenn nach Anpassungen weiterhin Speicherbeschränkungen bestehen.  | 
| *Behebung von Diskrepanzen in der Ausgabedatei*Die Ausgabedateien entsprechen nicht den Erwartungen und AWS Transform weisen darauf hin, dass keine weiteren Änderungen möglich sind. | Geben Sie konkretes Feedback und erläutern Sie technische Gründe, warum die aktuelle Ausgabe falsch ist. Fügen Sie zusätzliche technische oder geschäftliche Unterlagen hinzu, um Ihre Anforderungen zu untermauern. Dieser detaillierte Kontext hilft dabei, den Code zu AWS Transform korrigieren, um die richtigen Ausgabedateien zu generieren. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/transform-easytrieve-modern-languages.html) | 

## Zugehörige Ressourcen
<a name="transform-easytrieve-modern-languages-resources"></a>
+ [AWS Transform benutzerdefinierte Dokumentation](https://docs.aws.amazon.com/transform/latest/userguide/custom.html)
+ [Easytrieve Report Generator 11.6](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-easytrieve-report-generator/11-6/getting-started.html)

## Anlagen
<a name="attachments-71f15422-42cb-4c7e-94fa-051a4f130445"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip](samples/p-attach/71f15422-42cb-4c7e-94fa-051a4f130445/attachments/attachment.zip)

# Mehr Muster
<a name="mainframe-more-patterns-pattern-list"></a>

**Topics**
+ [Stellen Sie die Security Automations for AWS WAF Solution mithilfe von Terraform bereit](deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.md)
+ [Replizieren Sie Mainframe-Datenbanken mithilfe von Precisely Connect nach AWS](replicate-mainframe-databases-to-aws-by-using-precisely-connect.md)