Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Créez un visualiseur de fichiers mainframe avancé dans le cloud AWS - 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.

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.

Créez un visualiseur de fichiers mainframe avancé dans le cloud AWS

Créée par Boopathy GOPALSAMY (AWS) et Jeremiah O'Connor (AWS)

Récapitulatif

Ce modèle fournit des exemples de code et des étapes pour vous aider à créer un outil avancé pour parcourir et examiner les fichiers au format fixe de votre mainframe à l'aide des services sans serveur AWS. Le modèle fournit un exemple de la façon de convertir un fichier d'entrée du mainframe en un document Amazon OpenSearch Service à des fins de navigation et de recherche. L'outil de visualisation de fichiers peut vous aider à réaliser les objectifs suivants :

  • Conservez la même structure et la même mise en page des fichiers du mainframe pour garantir la cohérence dans votre environnement de migration cible AWS (par exemple, vous pouvez conserver la même mise en page pour les fichiers dans une application par lots qui transmet des fichiers à des tiers externes)

  • Accélérez le développement et les tests lors de la migration de votre mainframe

  • Support des activités de maintenance après la migration

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Un cloud privé virtuel (VPC) doté d'un sous-réseau accessible par votre ancienne plateforme

  • Note

    Un fichier d'entrée et le cahier COBOL (Common Business Oriented Language) correspondant (: pour des exemples de fichier d'entrée et de cahier COBOL, voir le référentiel. gfs-mainframe-solutions GitHub Pour plus d'informations sur les copybooks COBOL, consultez le guide de programmation Enterprise COBOL for z/OS 6.3 sur le site Web d'IBM.)

Limites

  • L'analyse des cahiers est limitée à un maximum de deux niveaux imbriqués (SURVENUS)

Architecture

Pile technologique source

Pile technologique cible

  • Amazon Athena

  • Amazon OpenSearch Service

  • Amazon Simple Storage Service (Amazon S3)

  • AWS Lambda

  • AWS Step Functions

Architecture cible

Le schéma suivant montre le processus d'analyse et de conversion d'un fichier d'entrée du mainframe en document de OpenSearch service à des fins de navigation et de recherche.

Processus d'analyse et de conversion du fichier d'entrée du mainframe en OpenSearch service.

Le schéma suivant illustre le flux de travail suivant :

  1. Un utilisateur ou une application administrateur envoie les fichiers d'entrée vers un compartiment S3 et les copybooks COBOL vers un autre compartiment S3.

  2. Note

    Le compartiment S3 contenant les fichiers d'entrée invoque une fonction Lambda qui lance un flux de travail Step Functions sans serveur. : L'utilisation d'un déclencheur d'événement S3 et d'une fonction Lambda pour piloter le flux de travail Step Functions dans ce modèle est facultative. Les exemples de GitHub code de ce modèle n'incluent pas l'utilisation de ces services, mais vous pouvez utiliser ces services en fonction de vos besoins.

  3. Le flux de travail Step Functions coordonne tous les processus par lots à partir des fonctions Lambda suivantes :

    • La s3copybookparser.py fonction analyse la mise en page du cahier et extrait les attributs des champs, les types de données et les décalages (nécessaires au traitement des données d'entrée).

    • La s3toathena.py fonction crée une mise en page de table Athena. Athena analyse les données d'entrée traitées par la s3toathena.py fonction et les convertit dans un fichier CSV.

    • La s3toelasticsearch.py fonction ingère le fichier de résultats depuis le compartiment S3 et le transmet au OpenSearch service.

  4. Les utilisateurs accèdent à OpenSearch Dashboards with OpenSearch Service pour récupérer les données sous différents formats de tables et de colonnes, puis exécuter des requêtes sur les données indexées.

Outils

Services AWS

  • Amazon Athena est un service de requêtes interactif qui vous permet d'analyser les données directement dans Amazon Simple Storage Service (Amazon S3) à l'aide du SQL standard.

  • AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans avoir à provisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez. Dans ce modèle, vous utilisez Lambda pour implémenter la logique de base, telle que l'analyse de fichiers, la conversion de données et le chargement de données dans OpenSearch Service pour un accès interactif aux fichiers.

  • Amazon OpenSearch Service est un service géré qui vous permet de déployer, d'exploiter et de dimensionner des clusters de OpenSearch services dans le cloud AWS. Dans ce modèle, vous utilisez le OpenSearch service pour indexer les fichiers convertis et fournir des fonctionnalités de recherche interactives aux utilisateurs.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • L'interface de ligne de commande AWS (AWS CLI) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWS Step Functions est un service d'orchestration sans serveur qui vous permet de combiner les fonctions Lambda et d'autres services AWS pour créer des applications critiques pour l'entreprise. Dans ce modèle, vous utilisez Step Functions pour orchestrer les fonctions Lambda.

Autres outils

  • GitHubest un service d'hébergement de code qui fournit des outils de collaboration et de contrôle de version.

  • Python est un langage de programmation de haut niveau.

Code

Le code de ce modèle est disponible dans le GitHub gfs-mainframe-patternsréférentiel.

Épopées

TâcheDescriptionCompétences requises

Créez le compartiment S3.

Créez un compartiment S3 pour stocker les copybooks, les fichiers d'entrée et les fichiers de sortie. Nous recommandons la structure de dossiers suivante pour votre compartiment S3 :

  • copybook/

  • input/

  • output/

  • query/

  • results/

AWS général

Créez la fonction s3copybookparser.

  1. Créez une fonction Lambda appelée s3copybookparser et téléchargez le code source (s3copybookparser.pyetcopybook.py) depuis le GitHubréférentiel.

  2. Attachez la politique IAM S3ReadOnly à la fonction Lambda.

AWS général

Créez la fonction s3toathena.

  1. Créez une fonction Lambda appelée s3toathena et téléchargez le code source (s3toathena.py) depuis le GitHubréférentiel. Configurez le délai d'expiration Lambda sur > 60 secondes.

  2. Pour fournir un accès aux ressources requises, associez les politiques IAM AmazonAthenaFullAccess et S3FullAccess à la fonction Lambda.

AWS général

Créez la fonction s3toelasticsearch.

  1. Important

    Ajoutez une dépendance Python à votre environnement Lambda. : Pour utiliser la s3toelasticsearch fonction, vous devez ajouter la dépendance Python car la fonction Lambda utilise les dépendances du client Python Elasticsearch (et). Elasticsearch==7.9.0 requests_aws4auth

  2. Créez une fonction Lambda appelée s3toelasticsearch et téléchargez le code source (s3toelasticsearch.py) depuis le GitHubréférentiel.

  3. Importez la dépendance Python sous forme de couche Lambda.

  4. Attachez les politiques IAM S3ReadOnly et AmazonOpenSearchServiceReadOnlyAccess à la fonction Lambda.

AWS général

Créez le cluster OpenSearch de services.

Création du cluster

  1. Créez un cluster OpenSearch de services. Lorsque vous créez le cluster, procédez comme suit :

    • Note

      Créez un utilisateur principal et un mot de passe pour le cluster que vous pouvez utiliser pour vous connecter aux OpenSearch tableaux de bord. : Cette étape n'est pas obligatoire si vous utilisez l'authentification via Amazon Cognito.

    • Optez pour un contrôle d'accès précis. Cela vous donne des moyens supplémentaires de contrôler l'accès à vos données dans le OpenSearch Service.

  2. Copiez l'URL du domaine et transmettez-la en tant que variable d'environnement « HOST » à la fonction Lambda. s3toelasticsearch

Accorder l'accès au rôle IAM

Pour fournir un accès détaillé au rôle IAM (arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**) de la fonction Lambda, procédez comme suit :

  1. Connectez-vous à OpenSearch Dashboards en tant qu'utilisateur principal.

  2. Choisissez l'onglet Sécurité, puis sélectionnez Roles, all_access, Map user, Backend roles.

  3. Ajoutez le nom de ressource Amazon (ARN) du rôle IAM de la fonction Lambda, puis choisissez Enregistrer. Pour plus d'informations, consultez la section Mappage des rôles aux utilisateurs dans la documentation du OpenSearch service.

AWS général

Créez des Step Functions pour l'orchestration.

  1. Créez une machine à états Step Functions avec le flux standard. La définition est incluse dans le GitHub référentiel.

  2. Dans le script JSON, remplacez la fonction Lambda par la fonction ARNs ARNs from the Lambda de votre environnement.

AWS général

Préparer l'environnement cible

TâcheDescriptionCompétences requises

Créez le compartiment S3.

Créez un compartiment S3 pour stocker les copybooks, les fichiers d'entrée et les fichiers de sortie. Nous recommandons la structure de dossiers suivante pour votre compartiment S3 :

  • copybook/

  • input/

  • output/

  • query/

  • results/

AWS général

Créez la fonction s3copybookparser.

  1. Créez une fonction Lambda appelée s3copybookparser et téléchargez le code source (s3copybookparser.pyetcopybook.py) depuis le GitHubréférentiel.

  2. Attachez la politique IAM S3ReadOnly à la fonction Lambda.

AWS général

Créez la fonction s3toathena.

  1. Créez une fonction Lambda appelée s3toathena et téléchargez le code source (s3toathena.py) depuis le GitHubréférentiel. Configurez le délai d'expiration Lambda sur > 60 secondes.

  2. Pour fournir un accès aux ressources requises, associez les politiques IAM AmazonAthenaFullAccess et S3FullAccess à la fonction Lambda.

AWS général

Créez la fonction s3toelasticsearch.

  1. Important

    Ajoutez une dépendance Python à votre environnement Lambda. : Pour utiliser la s3toelasticsearch fonction, vous devez ajouter la dépendance Python car la fonction Lambda utilise les dépendances du client Python Elasticsearch (et). Elasticsearch==7.9.0 requests_aws4auth

  2. Créez une fonction Lambda appelée s3toelasticsearch et téléchargez le code source (s3toelasticsearch.py) depuis le GitHubréférentiel.

  3. Importez la dépendance Python sous forme de couche Lambda.

  4. Attachez les politiques IAM S3ReadOnly et AmazonOpenSearchServiceReadOnlyAccess à la fonction Lambda.

AWS général

Créez le cluster OpenSearch de services.

Création du cluster

  1. Créez un cluster OpenSearch de services. Lorsque vous créez le cluster, procédez comme suit :

    • Note

      Créez un utilisateur principal et un mot de passe pour le cluster que vous pouvez utiliser pour vous connecter aux OpenSearch tableaux de bord. : Cette étape n'est pas obligatoire si vous utilisez l'authentification via Amazon Cognito.

    • Optez pour un contrôle d'accès précis. Cela vous donne des moyens supplémentaires de contrôler l'accès à vos données dans le OpenSearch Service.

  2. Copiez l'URL du domaine et transmettez-la en tant que variable d'environnement « HOST » à la fonction Lambda. s3toelasticsearch

Accorder l'accès au rôle IAM

Pour fournir un accès détaillé au rôle IAM (arn:aws:iam::**:role/service-role/s3toelasticsearch-role-**) de la fonction Lambda, procédez comme suit :

  1. Connectez-vous à OpenSearch Dashboards en tant qu'utilisateur principal.

  2. Choisissez l'onglet Sécurité, puis sélectionnez Roles, all_access, Map user, Backend roles.

  3. Ajoutez le nom de ressource Amazon (ARN) du rôle IAM de la fonction Lambda, puis choisissez Enregistrer. Pour plus d'informations, consultez la section Mappage des rôles aux utilisateurs dans la documentation du OpenSearch service.

AWS général

Créez des Step Functions pour l'orchestration.

  1. Créez une machine à états Step Functions avec le flux standard. La définition est incluse dans le GitHub référentiel.

  2. Dans le script JSON, remplacez la fonction Lambda par la fonction ARNs ARNs from the Lambda de votre environnement.

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

Téléchargez les fichiers d'entrée et les cahiers dans le compartiment S3.

Téléchargez des exemples de fichiers depuis le dossier d'échantillons du GitHub référentiel et chargez-les dans le compartiment S3 que vous avez créé précédemment.

  1. Mockedcopy.cpyTéléchargez-le et acctix.cpy placez-le <S3_Bucket>/copybook dans le dossier.

  2. Téléchargez les fichiers d'entrée Modedupdate.txt et les acctindex.cpy exemples de fichiers d'entrée <S3_Bucket>/input dans le dossier.

AWS général

Invoquez les Step Functions.

  1. Connectez-vous à l'AWS Management Console et ouvrez la console Step Functions.

  2. Dans le volet de navigation, sélectionnez State machines.

  3. Choisissez votre machine à états, puis choisissez Démarrer l'exécution.

  4. Dans la zone de saisie, entrez le chemin du copybook/fichier suivant en tant que variable JSON vers le compartiment S3, puis choisissez Démarrer l'exécution.

{ "s3_copybook_bucket_name": "<BUCKET NAME>", "s3_copybook_bucket_key": "<COPYBOOK PATH>", "s3_source_bucket_name": "<BUCKET NAME", "s3_source_bucket_key": "INPUT FILE PATH" }

Par exemple :

{ "s3_copybook_bucket_name": "fileaidtest", "s3_copybook_bucket_key": "copybook/acctix.cpy", "s3_source_bucket_name": "fileaidtest", "s3_source_bucket_key": "input/acctindex" }
AWS général

Validez l'exécution du flux de travail dans Step Functions.

Dans la console Step Functions, passez en revue l'exécution du flux de travail dans l'inspecteur Graph. Les états d'exécution sont codés par couleur pour représenter l'état d'exécution. Par exemple, le bleu indique En cours, le vert indique la réussite et le rouge indique l'échec. Vous pouvez également consulter le tableau dans la section Historique des événements d'exécution pour obtenir des informations plus détaillées sur les événements d'exécution.

Pour un exemple d'exécution d'un flux de travail graphique, voir le graphe Step Functions dans la section Informations supplémentaires de ce modèle.

AWS général

Validez les journaux de livraison sur Amazon CloudWatch.

  1. Connectez-vous à AWS Management Console et ouvrez la console CloudWatch .

  2. Dans le volet de navigation, développez Logs, puis choisissez Log groups.

  3. Dans le champ de recherche, recherchez le groupe de journaux de la s3toelasticsearch fonction.

Pour un exemple de journaux de livraison réussis, consultez les journaux de CloudWatch livraison dans la section Informations supplémentaires de ce modèle.

AWS général

Validez le fichier formaté dans les OpenSearch tableaux de bord et effectuez des opérations sur les fichiers.

  1. Connectez-vous à l'AWS Management Console. Sous Analytics, sélectionnez Amazon OpenSearch Service.

  2. Dans le volet de navigation, sélectionnez Domains.

  3. Dans le champ de recherche, entrez l'URL de votre domaine dans OpenSearch Dashboards.

  4. Choisissez votre tableau de bord, puis connectez-vous en tant qu'utilisateur principal.

  5. Parcourez les données indexées sous forme de tableau.

  6. Comparez le fichier d'entrée au fichier de sortie formaté (document indexé) dans OpenSearch les tableaux de bord. La vue du tableau de bord montre les en-têtes de colonne ajoutés pour vos fichiers formatés. Vérifiez que les données source de vos fichiers d'entrée non formatés correspondent aux données cibles dans la vue du tableau de bord.

  7. Effectuez des actions telles que des recherches (par exemple, en utilisant des noms de champs, des valeurs ou des expressions), des filtres et des opérations DQL (Dashboard Query Language) sur le fichier indexé.

AWS général

Déployer et exécuter

TâcheDescriptionCompétences requises

Téléchargez les fichiers d'entrée et les cahiers dans le compartiment S3.

Téléchargez des exemples de fichiers depuis le dossier d'échantillons du GitHub référentiel et chargez-les dans le compartiment S3 que vous avez créé précédemment.

  1. Mockedcopy.cpyTéléchargez-le et acctix.cpy placez-le <S3_Bucket>/copybook dans le dossier.

  2. Téléchargez les fichiers d'entrée Modedupdate.txt et les acctindex.cpy exemples de fichiers d'entrée <S3_Bucket>/input dans le dossier.

AWS général

Invoquez les Step Functions.

  1. Connectez-vous à l'AWS Management Console et ouvrez la console Step Functions.

  2. Dans le volet de navigation, sélectionnez State machines.

  3. Choisissez votre machine à états, puis choisissez Démarrer l'exécution.

  4. Dans la zone de saisie, entrez le chemin du copybook/fichier suivant en tant que variable JSON vers le compartiment S3, puis choisissez Démarrer l'exécution.

{ "s3_copybook_bucket_name": "<BUCKET NAME>", "s3_copybook_bucket_key": "<COPYBOOK PATH>", "s3_source_bucket_name": "<BUCKET NAME", "s3_source_bucket_key": "INPUT FILE PATH" }

Par exemple :

{ "s3_copybook_bucket_name": "fileaidtest", "s3_copybook_bucket_key": "copybook/acctix.cpy", "s3_source_bucket_name": "fileaidtest", "s3_source_bucket_key": "input/acctindex" }
AWS général

Validez l'exécution du flux de travail dans Step Functions.

Dans la console Step Functions, passez en revue l'exécution du flux de travail dans l'inspecteur Graph. Les états d'exécution sont codés par couleur pour représenter l'état d'exécution. Par exemple, le bleu indique En cours, le vert indique la réussite et le rouge indique l'échec. Vous pouvez également consulter le tableau dans la section Historique des événements d'exécution pour obtenir des informations plus détaillées sur les événements d'exécution.

Pour un exemple d'exécution d'un flux de travail graphique, voir le graphe Step Functions dans la section Informations supplémentaires de ce modèle.

AWS général

Validez les journaux de livraison sur Amazon CloudWatch.

  1. Connectez-vous à AWS Management Console et ouvrez la console CloudWatch .

  2. Dans le volet de navigation, développez Logs, puis choisissez Log groups.

  3. Dans le champ de recherche, recherchez le groupe de journaux de la s3toelasticsearch fonction.

Pour un exemple de journaux de livraison réussis, consultez les journaux de CloudWatch livraison dans la section Informations supplémentaires de ce modèle.

AWS général

Validez le fichier formaté dans les OpenSearch tableaux de bord et effectuez des opérations sur les fichiers.

  1. Connectez-vous à l'AWS Management Console. Sous Analytics, sélectionnez Amazon OpenSearch Service.

  2. Dans le volet de navigation, sélectionnez Domains.

  3. Dans le champ de recherche, entrez l'URL de votre domaine dans OpenSearch Dashboards.

  4. Choisissez votre tableau de bord, puis connectez-vous en tant qu'utilisateur principal.

  5. Parcourez les données indexées sous forme de tableau.

  6. Comparez le fichier d'entrée au fichier de sortie formaté (document indexé) dans OpenSearch les tableaux de bord. La vue du tableau de bord montre les en-têtes de colonne ajoutés pour vos fichiers formatés. Vérifiez que les données source de vos fichiers d'entrée non formatés correspondent aux données cibles dans la vue du tableau de bord.

  7. Effectuez des actions telles que des recherches (par exemple, en utilisant des noms de champs, des valeurs ou des expressions), des filtres et des opérations DQL (Dashboard Query Language) sur le fichier indexé.

AWS général

Ressources connexes

Références

Didacticiels

Informations supplémentaires

Graphe Step Functions

L'exemple suivant montre un graphe Step Functions. Le graphique montre l'état d'exécution des fonctions Lambda utilisées dans ce modèle.

Le graphe Step Functions montre l'état d'exécution des fonctions Lambda utilisées dans ce modèle.

CloudWatch journaux de livraison

L'exemple suivant montre les journaux de livraison réussis pour l'exécution de l's3toelasticsearchexécution.

2008-10T 15:53:33 .033-05:00

Nombre de documents de traitement : 100

2008-10T 15:53:33 .171-05:00

[INFO] 02:08-10T 20:53:33 .171 Z a1b2c3d4-5678-90ab-cdef- Post:443/_BULK [statut : 200 requête:0,100 s] EXAMPLE11111 https://search-essearch-3h4uqclifeqaj2vg4mphe7ffle.us-east-2.es.amazonaws.com

2008-10T 15:53:33 .172-05:00

Rédaction en masse réussie : 100 documents

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.