Migrez et répliquez VSAM des fichiers vers Amazon RDS ou Amazon à MSK l'aide de Connect from Precisely - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrez et répliquez VSAM des fichiers vers Amazon RDS ou Amazon à MSK l'aide de Connect from Precisely

Créée par Prachi Khanna (AWS) et GOPALSAMY Boopathy () AWS

Environnement : PoC ou pilote

La source : VSAM

Cible : base de données

Type R : Ré-architecte

Charge de travail : IBM

Technologies : ordinateur central ; modernisation

AWSservices : Amazon MSK ; Amazon RDS ; Modernisation des AWS ordinateurs centraux

Récapitulatif

Ce modèle vous montre comment migrer et répliquer des fichiers de la méthode d'accès au stockage virtuel (VSAM) d'un mainframe vers un environnement cible dans le AWS cloud à l'aide de Connect from Precisely. Les environnements cibles couverts par ce modèle incluent Amazon Relational Database Service (Amazon) et RDS Amazon Managed Streaming for Apache Kafka Kafka MSK (Amazon). Connect utilise la capture des données de modification (CDC) pour surveiller en permanence les mises à jour de vos VSAM fichiers source, puis transférer ces mises à jour vers un ou plusieurs de vos environnements AWS cibles. Vous pouvez utiliser ce modèle pour atteindre vos objectifs de modernisation des applications ou d'analyse de données. Par exemple, vous pouvez utiliser Connect pour migrer vos fichiers d'VSAMapplication vers le AWS cloud avec une faible latence, ou migrer vos VSAM données vers un entrepôt de AWS données ou un lac de données pour des analyses capables de tolérer des latences de synchronisation supérieures à celles requises pour la modernisation des applications.

Conditions préalables et limitations

Prérequis

Limites

  • Connect ne prend pas en charge la création automatique de tables cibles basées sur des VSAM schémas source ou des cahiers. Vous devez définir la structure de table cible pour la première fois.

  • Pour les cibles autres que le streaming telles qu'AmazonRDS, vous devez spécifier le mappage source de conversion en cible dans le script de configuration Apply Engine.

  • Les fonctions de journalisation, de surveillance et d'alerte sont mises en œuvre par le biais de composants externes (tels qu'Amazon CloudWatch) APIs et nécessitent des composants externes pour être pleinement opérationnelles.

Versions du produit

  • SQData40134 pour z/OS

  • SQData4.0.43 pour Amazon Linux Amazon Machine Image (AMI) sur Amazon Elastic Compute Cloud (Amazon) EC2

Architecture

Pile technologique source

  • Langage de contrôle des tâches (JCL)

  • Shell z/OS Unix et outil de productivité du système interactif () ISPF

  • VSAMservices publics (IDCAMS)

Pile technologique cible

  • Amazon EC2

  • Amazon MSK

  • Amazon RDS

  • Amazon VPC

Architecture cible

Migration de VSAM fichiers vers Amazon RDS

Le schéma suivant montre comment migrer des VSAM fichiers vers une base de données relationnelle, telle qu'AmazonRDS, en temps réel ou presque en temps réel en utilisant l'CDCagent/éditeur dans l'environnement source (mainframe sur site) et le moteur Apply dans l'environnement cible (Cloud). AWS

Diagram showing data flow from on-premises mainframe to AWS Cloud, including VSAM files and Amazon RDS.

Le diagramme montre le flux de travail par lots suivant :

  1. Connect capture les modifications apportées à un fichier en comparant VSAM les fichiers des fichiers de sauvegarde pour identifier les modifications, puis envoie les modifications au flux de journal.

  2. L'éditeur consomme les données du flux de journal du système.

  3. L'éditeur communique les modifications des données capturées à un moteur cible via TCP /IP. Le Controller Daemon authentifie les communications entre les environnements source et cible.

  4. Le moteur d'application de l'environnement cible reçoit les modifications de l'agent Publisher et les applique à une base de données relationnelle ou non relationnelle.

Le diagramme montre le flux de travail en ligne suivant :

  1. Connect capture les modifications apportées au fichier en ligne à l'aide d'une réplication de journal, puis diffuse les modifications capturées dans un flux de journal.

  2. L'éditeur consomme les données du flux de journal du système.

  3. L'éditeur communique les modifications des données capturées au moteur cible via TCP /IP. Le Controller Daemon authentifie les communications entre les environnements source et cible.

  4. Le moteur d'application de l'environnement cible reçoit les modifications de l'agent Publisher, puis les applique à une base de données relationnelle ou non relationnelle.

Migration de VSAM fichiers vers Amazon MSK

Le schéma suivant montre comment diffuser VSAM des structures de données d'un mainframe vers Amazon MSK en mode haute performance et comment générer automatiquement JSON ou AVRO schématiser des conversions qui s'intègrent à AmazonMSK.

Diagram showing data flow between on-premises mainframe and AWS Cloud services.

Le diagramme montre le flux de travail par lots suivant :

  1. Connect capture les modifications apportées à un fichier en utilisant la CICS réalité virtuelle ou en comparant VSAM des fichiers provenant de fichiers de sauvegarde pour identifier les modifications. Les modifications capturées sont envoyées au flux de données.

  2. L'éditeur consomme les données du flux de journal du système.

  3. L'éditeur communique les modifications des données capturées au moteur cible via TCP /IP. Le Controller Daemon authentifie les communications entre les environnements source et cible.

  4. Le Replicator Engine qui fonctionne en mode de traitement parallèle divise les données dans une unité de cache de travail.

  5. Les threads de travail capturent les données du cache.

  6. Les données sont publiées sur Amazon MSK Topics à partir des threads de travail.

  7. Les utilisateurs appliquent les modifications apportées par Amazon MSK à des cibles telles qu'Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) ou OpenSearch Amazon Service à l'aide de connecteurs.

Le diagramme montre le flux de travail en ligne suivant :

  1. Les modifications apportées au fichier en ligne sont enregistrées à l'aide d'une copie du journal. Les modifications capturées sont diffusées dans le flux journal.

  2. L'éditeur consomme les données du flux de journal du système.

  3. L'éditeur communique les modifications des données capturées au moteur cible via TCP /IP. Le Controller Daemon authentifie les communications entre les environnements source et cible.

  4. Le Replicator Engine qui fonctionne en mode de traitement parallèle divise les données dans une unité de cache de travail.

  5. Les threads de travail capturent les données du cache.

  6. Les données sont publiées sur Amazon MSK Topics à partir des threads de travail.

  7. Les utilisateurs appliquent les modifications apportées par Amazon MSK à des cibles telles que DynamoDB, Amazon S3 OpenSearch ou Service à l'aide de connecteurs.

Outils

Épopées

TâcheDescriptionCompétences requises

Installez Connect CDC 4.1.

  1. Contactez l'équipe de Support de Precisely pour obtenir une licence et des packages d'installation.

  2. Utilisez un exemple JCLs pour installer Connect CDC 4.1. Pour obtenir des instructions, consultez la section Installer Connect CDC (SQData) JCL à l'aide de la documentation Precisely.

  3. Exécutez la SETPROG APF commande pour autoriser les bibliothèques de chargement Connect SQDATA .v4NNN. LOADLIB.

IBMDéveloppeur/administrateur de mainframe

Configurez le répertoire zFS.

Pour configurer un répertoire ZFS, suivez les instructions des répertoires de variables ZfS dans la documentation Precisely.

Remarque : les configurations des agents Controller Daemon et Capture/Publisher sont stockées dans le système de fichiers z/OS UNIX Systems Services (appelé zFS). Les agents Controller Daemon, Capture, Storage et Publisher nécessitent une structure de répertoire ZFS prédéfinie pour stocker un petit nombre de fichiers.

IBMDéveloppeur/administrateur de mainframe

Configurez les ports TCP /IP.

Pour configurer les ports TCP /IP, suivez les instructions des ports TCP/IP de la documentation Precisely.

Remarque : Le démon Controller nécessite des ports TCP /IP sur les systèmes source. Les ports sont référencés par les moteurs des systèmes cibles (où les données de modification capturées sont traitées).

IBMDéveloppeur/administrateur de mainframe

Créez un flux de log z/OS.

Pour créer un flux de log z/OS, suivez les instructions de la section Create z/OS system de la documentation logStreams Precisely.

Remarque : Connect utilise le flux de données pour capturer et diffuser des données entre votre environnement source et votre environnement cible pendant la migration.

Pour un exemple de création JCL d'un système z/OS LogStream, consultez la section Créer un système z/OS logStreams dans la documentation Precisely.

IBMDéveloppeur mainframe

Identifiez et autorisez IDs les utilisateurs de ZFS et les tâches démarrées.

RACFÀ utiliser pour autoriser l'accès au système de fichiers OMVS ZFS. Par exempleJCL, consultez la section Identifier et autoriser l'utilisateur ZFS et la tâche démarrée IDs dans la documentation Precisely.

IBMDéveloppeur/administrateur de mainframe

Générez les clés publiques/privées z/OS et le fichier clé autorisé.

Exécutez le JCL pour générer la paire de clés. Pour un exemple, voir Exemple de paire de clés dans la section Informations supplémentaires de ce modèle.

Pour obtenir des instructions, consultez la section Générer des clés publiques et privées z/OS et un fichier de clé autorisé dans la documentation de Precisely.

IBMDéveloppeur/administrateur de mainframe

Activez le CICS VSAM Log Replicate et attachez-le au flux de journal.

Exécutez le JCL script suivant :

//STEP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER SQDATA.CICS.FILEA - LOGSTREAMID(SQDATA.VSAMCDC.LOG1) - LOGREPLICATE
IBMDéveloppeur/administrateur de mainframe

Activez le journal de récupération de VSAM fichiers via unFCT.

Modifiez la table de contrôle des fichiers (FCT) pour refléter les modifications de paramètres suivantes :

Configure FCT Parms CEDA ALT FILE(name) GROUP(groupname) DSNAME(data set name) RECOVERY(NONE|BACKOUTONLY|ALL) FWDRECOVLOG(NO|1–99) BACKUPTYPE(STATIC|DYNAMIC) RECOVERY PARAMETERS RECOVery : None | Backoutonly | All Fwdrecovlog : No | 1-99 BAckuptype : Static | Dynamic
IBMDéveloppeur/administrateur de mainframe

Configuration CDCzLog pour l'agent Publisher.

  1. Créez le CAB fichier CDCzLog Publisher.

  2. Chiffrez les données publiées.

  3. Préparez le CDCzLog Publisher RuntimeJCL.

IBMDéveloppeur/administrateur de mainframe

Activez le démon Controller.

  1. Ouvrez le ISPF panneau et exécutez la commande suivante pour ouvrir le menu Precisely : EXEC 'SQDATA.V4nnnnn.ISPFLIB(SQDC$STA)' 'SQDATA.V4nnnnn'

  2. Pour configurer le Controller Daemon, choisissez l'option 2 dans le menu.

IBMDéveloppeur/administrateur de mainframe

Activez l'éditeur.

  1. Ouvrez le ISPF panneau et exécutez la commande suivante pour ouvrir le menu Precisely : EXEC 'SQDATA.V4nnnnn.ISPFLIB(SQDC$STA)' 'SQDATA.V4nnnnn'

  2. Pour configurer l'éditeur, choisissez l'option 3 dans le menu et I pour insérer.

IBMDéveloppeur/administrateur de mainframe

Activez le flux de log.

  1. Ouvrez le ISPF panneau et exécutez la commande suivante pour ouvrir le menu Precisely : EXEC 'SQDATA.V4nnnnn.ISPFLIB(SQDC$STA)' 'SQDATA.V4nnnnn'

  2. Pour configurer le logstream, choisissez l'option 4 dans le menu et I pour insérer. Entrez ensuite le nom du flux de journal créé lors des étapes précédentes.

IBMDéveloppeur/administrateur de mainframe
TâcheDescriptionCompétences requises

Installez Precisely sur une EC2 instance.

Pour installer Connect from Precisely sur Amazon Linux AMI pour AmazonEC2, suivez les instructions de la section Install Connect CDC (SQData) UNIX dans la documentation de Precisely.

Général AWS

Ouvrez les ports TCP /IP.

Pour modifier le groupe de sécurité afin d'inclure les ports Controller Daemon pour l'accès entrant et sortant, suivez les instructions fournies par TCP/IP dans la documentation Precisely.

Général AWS

Créez des répertoires de fichiers.

Pour créer des répertoires de fichiers, suivez les instructions de la section Préparer l'environnement d'application cible dans la documentation Precisely.

Général AWS

Créez le fichier de configuration Apply Engine.

Créez le fichier de configuration d'Apply Engine dans le répertoire de travail d'Apply Engine. L'exemple de fichier de configuration suivant montre Apache Kafka comme cible :

builtin.features=SASL_SCRAM security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512 sasl.username= sasl.password= metadata.broker.list=

Remarque : Pour plus d'informations, consultez la section Sécurité dans la documentation d'Apache Kafka.

Général AWS

Créez des scripts pour le traitement d'Apply Engine.

Créez les scripts permettant au moteur Apply de traiter les données sources et de les répliquer vers la cible. Pour plus d'informations, consultez la section Création d'un script d'application du moteur dans la documentation Precisely.

Général AWS

Exécutez les scripts.

Utilisez les SQDENG commandes SQDPARSE et pour exécuter le script. Pour plus d'informations, consultez la section Analyse d'un script pour zOS dans la documentation Precisely.

Général AWS
TâcheDescriptionCompétences requises

Validez la liste des VSAM fichiers et des tables cibles à CDC traiter.

  1. Validez VSAM les fichiers, y compris les journaux de réplication, les journaux de restauration, FCT les paramètres et le flux de journal.

  2. Validez les tables de base de données cibles, en indiquant notamment si les tables sont créées conformément à la définition de schéma requise, à l'accès aux tables et à d'autres critères.

GénéralitésAWS, Mainframe

Vérifiez que le CDC SQData produit Connect est lié.

Exécutez une tâche de test et vérifiez que le code de retour de cette tâche est 0 (Réussite).

Remarque : les messages d'état du moteur Connect CDC SQData Apply doivent afficher des messages de connexion actifs.

GénéralitésAWS, Mainframe
TâcheDescriptionCompétences requises

Exécutez le traitement par lots sur le mainframe.

Exécutez le travail d'application par lots à l'aide d'une version modifiéeJCL. Incluez dans les modifications JCL les étapes suivantes :

  1. Effectuez une sauvegarde des fichiers de données.

  2. Comparez le fichier de sauvegarde avec les fichiers de données modifiés, générez le fichier delta, puis notez le nombre d'enregistrements delta indiqué dans les messages.

  3. Transférez le fichier delta vers le flux de log z/OS.

  4. Exécutez leJCL. Pour un exempleJCL, voir Préparer la capture par comparaison de fichiers JCL dans la documentation Precisely.

GénéralitésAWS, Mainframe

Vérifiez le flux de données.

Consultez le flux journal pour vérifier que vous pouvez voir les données de modification relatives à la tâche par lots terminée sur le mainframe.

GénéralitésAWS, Mainframe

Validez les dénombrements pour les modifications du delta source et pour la table cible.

Pour confirmer que les enregistrements sont comptabilisés, procédez comme suit :

  1. Recueillez le nombre de deltas source à partir des JCL messages de lot.

  2. Surveillez le moteur d'application pour connaître le nombre d'enregistrements insérés, mis à jour ou supprimés dans le VSAM fichier au niveau des enregistrements.

  3. Interrogez la table cible pour connaître le nombre d'enregistrements.

  4. Comparez et comptez tous les différents nombres d'enregistrements.

GénéralitésAWS, Mainframe
TâcheDescriptionCompétences requises

Exécutez la transaction en ligne dans une CICS région.

  1. Exécutez la transaction en ligne pour valider le scénario de test.

  2. Validez le code d'exécution de la transaction (RC=0 — Success).

IBMDéveloppeur mainframe

Vérifiez le flux de données.

Vérifiez que le flux journal contient des modifications spécifiques des niveaux d'enregistrement.

AWSDéveloppeur mainframe

Validez le nombre dans la base de données cible.

Surveillez le moteur d'application pour connaître le nombre record de niveaux.

Précisément, Linux

Validez le nombre d'enregistrements et les enregistrements de données dans la base de données cible.

Interrogez la base de données cible pour valider le nombre d'enregistrements et les enregistrements de données.

Général AWS

Ressources connexes

Informations supplémentaires

Exemple de fichier de configuration

Voici un exemple de fichier de configuration pour un flux de log dont l'environnement source est un mainframe et l'environnement cible est Amazon : MSK

-- 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;

Exemple de paire de clés

Voici un exemple de la façon d'exécuter le JCL pour générer la paire de clés :

//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