

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.

# Modernisez et déployez des applications mainframe à l'aide de AWS Transform Terraform
<a name="modernize-mainframe-app-transform-terraform"></a>

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

## Résumé
<a name="modernize-mainframe-app-transform-terraform-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)peut accélérer la modernisation à grande échelle du .NET, du mainframe et des charges VMware de travail. Il déploie des agents d'IA spécialisés qui automatisent des tâches complexes telles que les évaluations, l'analyse de code, le refactoring, la décomposition, le mappage des dépendances, la validation et la planification des transformations. Ce modèle montre comment moderniser une application mainframe, puis la déployer dans l' AWS infrastructure à l'aide de [Hashicorp](https://developer.hashicorp.com/terraform/intro) Terraform. AWS Transform Ces step-by-step instructions vous aident à transformer [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), qui est un exemple d'application mainframe open source, de COBOL en une application Java moderne.

## Conditions préalables et limitations
<a name="modernize-mainframe-app-transform-terraform-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS
+ Autorisations administratives pour créer des AWS ressources et déployer des applications
+ [Terraform version 1.5.7 ou supérieure, configurée](https://developer.hashicorp.com/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
+ AWS [Fournisseur pour Terraform, configuré](https://registry.terraform.io/providers/hashicorp/aws/2.36.0/docs#authentication)
+ AWS IAM Identity Center, [activé](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ AWS Transform, [activé](https://docs.aws.amazon.com/transform/latest/userguide/getting-started.html)
+ Un utilisateur intégré à un [AWS Transform espace de travail](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html) doté d'un rôle de contributeur capable d'exécuter des tâches de transformation

**Limites**
+ AWS Transform n'est disponible que dans certains cas Régions AWS. Pour obtenir la liste complète des régions prises en charge, consultez la section [Régions prises en charge pour AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ Il existe un quota de service pour les capacités de transformation du mainframe dans AWS Transform. Pour plus d'informations, consultez la section [Quotas pour AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ Pour collaborer sur un espace de travail partagé, tous les utilisateurs doivent être des utilisateurs enregistrés de la même instance AWS IAM Identity Center que celle associée à votre instance de l'application AWS Transform Web.
+ Le compartiment Amazon Simple Storage Service (Amazon S3) doit se trouver dans le même compartiment AWS Transform et dans la Compte AWS même région.

## Architecture
<a name="modernize-mainframe-app-transform-terraform-architecture"></a>

Le schéma suivant montre la end-to-end modernisation de l'ancienne application et le déploiement vers le AWS Cloud. Les informations d'identification de l'application et de la base de données y sont stockées AWS Secrets Manager, et Amazon CloudWatch fournit des fonctionnalités de surveillance et de journalisation.

![\[AWS Transform modernise une application mainframe et la déploie via Terraform.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/78bc1e6e-cd3d-4c6d-ae4b-0675a6898fd9/images/332ccf35-f55a-449e-a05d-7e321b3867b7.png)


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

1. Grâce à AWS IAM Identity Center cela, l'utilisateur s'authentifie et accède AWS Transform au. Compte AWS

1. L'utilisateur télécharge le code du mainframe COBOL dans le compartiment Amazon S3 et lance la transformation dans. AWS Transform

1. AWS Transform modernise le code COBOL en code Java natif pour le cloud et stocke le code modernisé dans le compartiment Amazon S3.

1. Terraform crée l' AWS infrastructure nécessaire au déploiement de l'application modernisée, notamment un Application Load Balancer, une instance Amazon Elastic Compute Cloud (Amazon EC2) et une base de données Amazon Relational Database Service (Amazon RDS). Terraform déploie le code modernisé sur l'instance Amazon EC2.

1. Les fichiers VSAM sont chargés sur Amazon EC2 et sont migrés d'Amazon EC2 vers la base de données Amazon RDS.

## Outils
<a name="modernize-mainframe-app-transform-terraform-tools"></a>

**Services AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) offre une capacité de calcul évolutive dans l' AWS Cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement. Dans ce modèle, les instances de cluster de basculement SQL Server sont installées sur les instances Amazon EC2.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)vous permet de gérer de manière centralisée l'accès par authentification unique (SSO) à vos applications Comptes AWS et à celles du cloud.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le. AWS Cloud
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) vous aide à remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, par un appel d'API à Secrets Manager pour récupérer le secret par programmation.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)utilise l'IA agentic pour vous aider à accélérer la modernisation des charges de travail existantes, telles que .NET, le mainframe et les charges de travail. VMware 

**Autres outils**
+ [Apache Maven](https://maven.apache.org/) est un outil open source de gestion de projets et d'automatisation des builds pour les projets Java.
+ [Apache Tomcat](https://tomcat.apache.org/) est un conteneur de servlet open source et un serveur Web pour le code Java.
+ [HashiCorp Terraform](https://www.terraform.io/docs) est un outil d'infrastructure en tant que code (IaC) qui vous aide à utiliser le code pour provisionner et gérer l'infrastructure et les ressources du cloud.
+ [Spring Boot](https://spring.io/projects/spring-boot) est un framework open source construit sur le Spring Framework en Java.

**Référentiel de code**

Le code de ce modèle est disponible dans le GitHub [référentiel Mainframe Transformation E2E](https://github.com/aws-samples/sample-mainframe-transformation-e2e). Ce modèle utilise l'application AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe open source comme exemple d'application.

## Bonnes pratiques
<a name="modernize-mainframe-app-transform-terraform-best-practices"></a>
+ Attribuez la pleine propriété du code et des ressources destinés à la migration.
+ Développez et testez une preuve de concept avant de passer à une migration complète.
+ Engagement garanti de toutes les parties prenantes.
+ Établissez des canaux de communication clairs.
+ Définissez et documentez les exigences relatives au produit minimum viable (MVP).
+ Définissez des critères de réussite clairs.

## Épopées
<a name="modernize-mainframe-app-transform-terraform-epics"></a>

### Préparation et téléchargement du code d'application du mainframe
<a name="prepare-and-upload-the-mainframe-application-code"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un compartiment. | Créez un compartiment Amazon S3 dans le même compartiment Compte AWS et dans la région où AWS Transform il est activé. Vous utilisez ce compartiment pour stocker le code de l'application mainframe, les données et les scripts supplémentaires nécessaires à la création et à l'exécution de l'application. AWS Transform utilise ce compartiment pour stocker le code refactorisé et les autres fichiers associés à la transformation. Pour obtenir des instructions, consultez [la section Création d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans la documentation Amazon S3. | AWS général, administrateur AWS | 
| Définissez les autorisations CORS pour le bucket. | Lorsque vous configurez l' AWS Transform accès à votre compartiment, vous devez configurer le partage de ressources entre origines (CORS) pour le compartiment. Si cela n'est pas configuré correctement, vous ne pourrez peut-être pas utiliser les fonctionnalités de visualisation en ligne ou de comparaison de fichiers de AWS Transform. Pour obtenir des instructions sur la configuration du CORS pour un compartiment, consultez [Utilisation du partage de ressources entre origines](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) dans le compartiment Amazon S3. Pour connaître la politique, consultez les [autorisations CORS du compartiment S3](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3) dans la AWS Transform documentation. | AWS général, administrateur AWS | 
| Préparez l'exemple de code d'application pour ordinateur central. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS général, développeur d'applications | 

### Transformez l'application mainframe
<a name="transform-the-mainframe-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez la AWS Transform tâche. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, propriétaire de l'application | 
| Configurez un connecteur. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, propriétaire de l'application | 
| Transformez le code. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, propriétaire de l'application | 

### Déployez l'infrastructure via Terraform
<a name="deploy-the-infrastructure-through-terraform"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Mettez à jour les modèles. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html)Pour les environnements de production ou similaires, configurez des composants de sécurité supplémentaires. Par exemple, activez [AWS WAF les protections pour votre Application Load Balancer](https://aws.amazon.com/about-aws/whats-new/2024/02/aws-application-load-balancer-one-click-waf-integrations/). | AWS général, administrateur AWS | 
| Déployez l'infrastructure. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Terraform | 

### Installation et configuration d'Apache Tomcat sur l'instance Amazon EC2
<a name="install-and-configure-apache-tomcat-on-the-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez le logiciel requis. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 
| Vérifiez l'installation du logiciel. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 

### Compiler et empaqueter le code d'application modernisé
<a name="compile-and-package-the-modernized-application-code"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez et extrayez le code généré. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 
| Créez l'application modernisée. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 

### Migrer la base de données
<a name="migrate-the-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la base de données et les schémas JICS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 
| Validez la création de base de données | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 
| Migrez les données vers la base de données JICS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 

### Installation de l'application modernisée
<a name="install-the-modernized-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez l'application modernisée sur l'instance Amazon EC2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, architecte cloud | 
| Redémarrez le serveur Tomcat. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, architecte cloud | 
| Migrez le jeu de données VSAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur en migration | 
| Mettez à jour les paramètres dans les scripts Groovy. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d’applications | 

### Tester l'application
<a name="test-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez l'application modernisée. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur de test | 
| Vérifiez les scripts batch. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Développeur d'applications, ingénieur de test | 

### Nettoyage
<a name="clean-up"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez-vous à supprimer l'infrastructure. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS général | 
| Supprimez l'infrastructure. | Ces étapes supprimeront définitivement vos ressources. Assurez-vous d'avoir sauvegardé toutes les données importantes avant de continuer.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS général | 

## Résolution des problèmes
<a name="modernize-mainframe-app-transform-terraform-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Authentification Terraform | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Erreurs liées à Tomcat | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Le nom de l'URL ne se charge pas | Assurez-vous que le groupe de sécurité Application Load Balancer a votre adresse IP comme source dans la règle entrante. | 
| Problème d'authentification dans le journal Tomcat | Vérifiez que le mot de passe secret de la base de données figurant dans AWS Secrets Manager le **fichier server.xml correspond à celui indiqué dans le fichier**. | 

## Ressources connexes
<a name="modernize-mainframe-app-transform-terraform-resources"></a>

**AWS Conseils prescriptifs**
+ [Modernisez l'application CardDemo mainframe à l'aide d'AWS Transform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)

**AWS documentation de service**
+ [AWS Console d'administration Blue Age Blusam](https://docs.aws.amazon.com/m2/latest/userguide/ba-shared-bac-userguide.html)
+ [Exigences de configuration de l'infrastructure pour AWS Blu Age Runtime (non géré)](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)
+ [Intégration à AWS Blue Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-setup-onboard.html)
+ [Modernisation des applications mainframe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/transform-app-mainframe.html)
+ [Configurer la configuration pour AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html)

**AWS articles de blog**
+ [Accélérez le processus de modernisation de votre mainframe à l'aide d'agents d'intelligence artificielle avec AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/)