

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.

# Containers
<a name="containers-main"></a>

La modernisation est un parcours transformationnel qui offre de nombreuses options, notamment la décomposition des monolithes en microservices, la refonte de l'architecture des applications pour qu'elles soient pilotées par les événements à l'aide de fonctions sans serveur (AWS Lambda) et la réaffectation de bases de données de SQL Server vers Amazon Aurora ou des bases de données gérées spécialement pour cela. Les processus de modernisation visant à reconfigurer les applications .NET Framework vers des conteneurs Linux et Windows nécessitent moins d'efforts que les autres options de modernisation. Les conteneurs offrent les avantages suivants :
+ **Accélérez l'innovation** : le passage aux conteneurs facilite l'automatisation des étapes du cycle de développement, notamment la création, le test et le déploiement d'applications. En automatisant ces processus, les équipes de développement et d'exploitation ont plus de temps pour se concentrer sur l'innovation.
+ **Réduction du coût total de possession (TCO)** : le passage aux conteneurs peut également réduire votre dépendance à l'égard des outils de gestion des licences et de protection des terminaux. Les conteneurs étant des unités de calcul éphémères, vous pouvez automatiser et simplifier les tâches de gestion telles que l'application de correctifs, le dimensionnement, la sauvegarde et la restauration. Cela réduit le coût total de possession lié à l'administration et à l'exploitation des charges de travail basées sur des conteneurs. Enfin, les conteneurs sont plus efficaces que les machines virtuelles, car vous pouvez les utiliser pour optimiser le placement de vos applications en fournissant une meilleure isolation. Cela augmente l'utilisation des ressources d'infrastructure de votre application.
+ **Améliorez l'utilisation des ressources** : les conteneurs sont plus efficaces que les machines virtuelles, car vous pouvez utiliser des conteneurs pour optimiser le placement de vos applications. Cela augmente l'utilisation des ressources d'infrastructure de votre application en fournissant une meilleure isolation.
+ **Comblez le déficit de compétences** : AWS propose des journées d'immersion pour améliorer les compétences de vos équipes de développement en matière de technologie et de DevOps pratiques relatives aux conteneurs.

**Topics**
+ [Déplacer les applications Windows vers des conteneurs](windows-containers-main.md)
+ [Optimisez les coûts AWS Fargate des tâches sur Amazon ECS](optimizer-ecs-fargate.md)
+ [Gagnez en visibilité sur vos coûts Amazon EKS](kubecost-main.md)
+ [Replateforme des applications Windows avec App2Container](app2container-main.md)

Pour plus d'informations sur les *licences, consultez la section Licences* d'[Amazon Web Services et Microsoft : Frequently Asked Questions](https://aws.amazon.com/windows/faq/#licensing-q) ou envoyez vos questions par e-mail à [microsoft@amazon.com](mailto:microsoft@amazon.com).

# Déplacer les applications Windows vers des conteneurs
<a name="windows-containers-main"></a>

## Présentation de
<a name="windows-containers-overview"></a>

Selon l'[enquête annuelle 2021 de la CNCF](https://www.cncf.io/reports/cncf-annual-survey-2021/), 96 % des organisations utilisent ou évaluent des conteneurs pour moderniser leur infrastructure. En effet, les conteneurs peuvent aider votre entreprise à réduire les risques, à accroître l'efficacité et la rapidité opérationnelles et à favoriser l'agilité. Vous pouvez également utiliser des conteneurs pour réduire le coût d'exécution de vos applications. Cette section propose des recommandations pour gérer des conteneurs de manière rentable sur l'ensemble des services de AWS conteneurs, notamment [Amazon Elastic Container Service (Amazon ECS](https://aws.amazon.com/ecs/))[, Amazon Elastic Kubernetes Service (Amazon](https://aws.amazon.com/eks/) EKS) et. [AWS Fargate](https://aws.amazon.com/fargate/)

## Avantages en termes de coûts
<a name="windows-containers-cost-benefits"></a>

L'infographie suivante montre les économies qu'une entreprise peut réaliser en consolidant ses applications ASP.NET Framework sur des instances Amazon Elastic Compute Cloud (Amazon EC2) sur la base d'[AWS une recommandation d'optimisation et d'évaluation des licences](https://aws.amazon.com/optimization-and-licensing-assessment/) (OLA).AWS L'infographie suivante montre les économies supplémentaires qui peuvent être réalisées en déplaçant des applications vers un conteneur Windows.



![\[Consolidation ASP.NET\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/asp_net_consolidation.png)


L' AWS OLA a recommandé à l'entreprise de faire un lifting et de passer aux instances individuelles de t3.small. L'entreprise pourrait réaliser ces économies en exécutant sept applications ASP.NET sur des serveurs locaux, comme le montre l'analyse d'utilisation des performances suivante.



![\[Analyse de l'utilisation des performances\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/perform_util_analysis-partA.png)


Une analyse plus approfondie a révélé que l'entreprise pourrait économiser encore davantage sur les coûts en exécutant ses charges de travail sur des conteneurs. Les conteneurs réduisent la charge du système d'exploitation sur les ressources système telles que l'utilisation du processeur, de la RAM et du disque (expliqué dans la section suivante). Dans ce scénario, l'entreprise pourrait consolider les sept applications sur une seule instance t3.large tout en disposant encore de 3 Go de RAM. La migration vers des conteneurs peut aider l'entreprise à réaliser en moyenne 64 % d'économies sur les coûts de calcul et de stockage en utilisant des conteneurs au lieu d'Amazon EC2.

## Recommandations en matière d’optimisation des coûts
<a name="windows-containers-rec"></a>

La section suivante propose des recommandations pour optimiser les coûts en consolidant les applications et en utilisant des conteneurs.

### Réduisez l'encombrement de Windows sur Amazon EC2
<a name="windows-containers-ec2-footprint"></a>

Les conteneurs Windows peuvent réduire votre empreinte Windows sur Amazon EC2 en vous permettant de consolider davantage d'applications sur un nombre réduit d'instances EC2. Supposons, par exemple, que vous disposez de 500 applications ASP.NET. Si vous exécutez un cœur par application pour Windows sur Amazon EC2, cela équivaut à 500 instances Windows (t3.small). Si vous supposez un ratio de 1:7 (qui peut augmenter de manière significative en fonction du type/de la taille de l'instance EC2) pour l'utilisation de conteneurs Windows (avec t3.large), vous n'avez besoin que d'environ 71 instances Windows. Cela représente une diminution de 85,8 % de votre empreinte Windows sur Amazon EC2.

### Réduisez les coûts de licence Windows
<a name="windows-containers-licensing-costs"></a>

Si vous octroyez une licence à une instance Windows, vous n'avez pas besoin de licence pour les conteneurs exécutés sur cette instance. Par conséquent, la consolidation de vos applications ASP.NET à l'aide de conteneurs Windows peut réduire considérablement vos coûts de licence Windows.

### Réduisez l'encombrement de votre stockage
<a name="windows-containers-storage-footprint"></a>

Chaque fois que vous lancez une nouvelle instance EC2, vous créez et payez un nouveau volume Amazon Elastic Block Store (Amazon EBS) pour héberger le système d'exploitation. Au fur et à mesure que cela évolue, le coût évolue avec lui. Si vous utilisez des conteneurs, vous pouvez réduire les coûts de stockage car tous les conteneurs partagent le même système d'exploitation de base. En outre, les conteneurs utilisent le concept de couches pour réutiliser des parties immuables d'une image de conteneur pour tous les conteneurs en cours d'exécution basés sur cette image. Dans l'exemple de scénario précédent, tous les conteneurs exécutent .NET Framework et partagent donc tous la couche intermédiaire et immuable du framework ASP.NET.

### Migrer end-of-support des serveurs vers des conteneurs
<a name="windows-containers-end-support"></a>

Support pour Windows Server 2012 et Windows Server 2012 R2 a pris fin le 10 octobre 2023. Vous pouvez migrer vos applications exécutées sous Windows Server 2012 ou des versions antérieures en les conteneurisant pour qu'elles s'exécutent sur de nouveaux systèmes d'exploitation. Ainsi, vous évitez d'exécuter vos applications sur des systèmes d'exploitation non conformes tout en tirant parti de la rentabilité, de la réduction des risques, de l'efficacité opérationnelle, de la rapidité et de l'agilité qu'offrent les conteneurs.

Une mise en garde à prendre en compte avec cette approche est si votre application nécessite des exigences spécifiques APIs liées à la version du système d'exploitation actuellement utilisée (COM Interop, par exemple). Dans ce cas, vous devez tester le transfert de votre application vers une version plus récente de Windows. Les conteneurs Windows alignent leur image de conteneur de base (par exemple, Windows Server 2019) avec le système d'exploitation de l'hôte du conteneur (par exemple, Windows Server 2019). Les tests et le passage à des conteneurs peuvent faciliter les mises à niveau du système d'exploitation à l'avenir en modifiant l'image de base dans votre Dockerfile et en la déployant sur un nouvel ensemble d'hôtes exécutant la dernière version de Windows.

### Supprimer les outils de gestion et les licences tiers
<a name="windows-containers-third-party"></a>

La gestion de votre parc de serveurs nécessite l'utilisation de plusieurs outils d'exploitation système tiers pour la gestion des correctifs et de la configuration. Cela peut rendre la gestion de l'infrastructure complexe et vous devez souvent faire face à des coûts de licence tiers. Si vous utilisez des conteneurs AWS, vous n'avez pas besoin de gérer quoi que ce soit du côté du système d'exploitation. Le moteur d'exécution du conteneur gère les conteneurs. Cela signifie que l'hôte sous-jacent est éphémère et peut facilement être remplacé. Vous pouvez gérer vos conteneurs sans avoir à gérer directement l'hôte du conteneur. De plus, vous pouvez utiliser des outils gratuits tels que AWS Systems Manager Session Manager l'accès facile à l'hôte et la résolution des problèmes.

### Améliorez le contrôle et la portabilité
<a name="windows-containers-control-portability"></a>

Les conteneurs vous permettent de contrôler plus précisément les ressources du serveur, telles que le processeur et la RAM, que vous n'en avez sur les instances EC2. Pour les instances EC2, vous pouvez contrôler le processeur et la RAM en sélectionnant une famille d'instances, un type d'instance et des [options de processeur](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). Cependant, avec les conteneurs, vous pouvez définir exactement la quantité de CPU ou de RAM que vous souhaitez allouer à un conteneur dans vos définitions de tâches ECS ou aux [pods dans Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/fargate-pod-configuration.html). En fait, nous recommandons de [spécifier le processeur et la mémoire au niveau du conteneur](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_definitions.html) pour les conteneurs Windows. Ce niveau de granularité présente des avantages en termes de coûts. Examinez l'exemple de code suivant :

```
json
{
    "taskDefinitionArn": "arn:aws:ecs:us-east-1:123456789012:task-definition/demo-service:1",
    "containerDefinitions": [
        {
            "name": "demo-service",
            "image": "mcr.microsoft.com/dotnet/framework/samples:aspnetapp-windowsservercore-ltsc2019",
            "cpu": 512,
            "memory": 512,
            "links": [],
            "portMappings": [
                {
                    "containerPort": 80,
                    "hostPort": 0,
                    "protocol": "tcp"
                }
            ],
```

### Accélérez l'innovation
<a name="windows-containers-innovation"></a>

Le passage aux conteneurs facilite l'automatisation des étapes du cycle de développement, notamment la création, le test et le déploiement d'applications. Si vous automatisez ces processus, vous donnez à vos équipes de développement et d'exploitation plus de temps pour se concentrer sur l'innovation.

### Réduire le coût total de possession
<a name="windows-containers-tco"></a>

Le passage aux conteneurs réduit souvent le recours aux outils de gestion des licences et de protection des terminaux. Les conteneurs étant des unités de calcul éphémères, vous pouvez automatiser et simplifier les tâches de gestion telles que l'application de correctifs, le dimensionnement, la sauvegarde et la restauration. Cela peut réduire le coût total de possession lié à l'administration et à l'exploitation des charges de travail basées sur des conteneurs. Les conteneurs sont plus efficaces que les machines virtuelles car ils vous permettent d'optimiser le placement de vos applications afin d'augmenter l'utilisation des ressources d'infrastructure de vos applications.

### Combler le déficit de compétences
<a name="windows-containers-skills-gap"></a>

AWS propose des programmes et des journées d'immersion pour améliorer les compétences des équipes de développement client en matière de conteneurs et de DevOps technologies. Cela inclut des services pratiques de conseil et d'habilitation.

### Refactorisez vers .NET 5\$1 et utilisez des conteneurs Linux
<a name="windows-containers-refactor-net"></a>

Bien que vous puissiez réduire les coûts en déplaçant vos applications .NET Framework vers des conteneurs, vous pouvez réaliser des économies supplémentaires en refactorisant les anciennes applications .NET pour les remplacer par des alternatives natives au cloud sur. AWS

### Supprimer les coûts de licence
<a name="windows-containers-licensing-costs"></a>

La refactorisation de votre application de .NET Framework sous Windows à .NET Core sous Linux permet de réaliser des économies d'environ 45 %.

### Accédez aux dernières améliorations
<a name="windows-containers-enhancements"></a>

La refactorisation de vos applications de .NET Framework sous Windows à .NET Core sous Linux vous donne accès aux dernières améliorations telles que Graviton2. Graviton2 offre un meilleur rapport prix/performances de 40 % par rapport à des instances comparables.

### Améliorez la sécurité et les performances
<a name="windows-containers-security-performance"></a>

La refactorisation de votre application de .NET Framework sous Windows vers des conteneurs .NET Core sous Linux améliore la sécurité et les performances. Cela s'explique par le fait que vous bénéficiez des derniers correctifs de sécurité, que vous bénéficiez de l'isolation des conteneurs et que vous avez accès à de nouvelles fonctionnalités.

### Utilisez des conteneurs Windows au lieu d'exécuter de nombreuses applications sur une seule instance d'IIS
<a name="windows-containers-iis"></a>

Tenez compte des avantages suivants liés à l'utilisation de conteneurs Windows au lieu d'exécuter plusieurs applications sur une instance Windows EC2 avec Internet Information Services (IIS) :
+ **Sécurité** — Les conteneurs fournissent un niveau de sécurité prêt à l'emploi qui n'est pas atteint par l'isolation au niveau d'IIS. Si un site Web ou une application IIS est compromis, tous les autres sites hébergés sont exposés et vulnérables. L'évasion de conteneurs est rare et constitue une vulnérabilité plus difficile à exploiter que de prendre le contrôle d'un serveur par le biais d'une vulnérabilité Web.
+ **Flexibilité** — La possibilité d'exécuter des conteneurs de manière isolée par processus et de disposer de leur propre instance permet des options de mise en réseau plus granulaires. Les conteneurs proposent également des méthodes de distribution complexes sur de nombreuses instances EC2. Vous ne bénéficiez pas de ces avantages lorsque vous consolidez des applications sur une seule instance IIS.
+ **Frais de gestion** : l'indication du nom du serveur (SNI) crée une surcharge qui nécessite une gestion et une automatisation. Vous devez également vous concentrer sur les opérations classiques de gestion du système d'exploitation, telles que l'application de correctifs, le dépannage des BSOD (si le dimensionnement automatique n'est pas en place), la protection des terminaux, etc. La configuration des sites IIS conformément aux [meilleures pratiques de sécurité](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635855(v=ws.11)) est une activité longue et continue. Vous devrez peut-être même définir des [niveaux de confiance](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh831532(v=ws.11)), ce qui alourdit également les frais de gestion. Les conteneurs sont conçus pour être apatrides et immuables. En fin de compte, vos déploiements sont plus rapides, plus sécurisés et reproductibles si vous utilisez plutôt des conteneurs Windows.

## Étapes suivantes
<a name="windows-containers-next-steps"></a>

Investir dans une infrastructure moderne pour exécuter vos anciennes charges de travail apporte d'immenses avantages à votre entreprise. AWS les services de conteneurs facilitent la gestion de votre infrastructure sous-jacente, que ce soit sur site ou dans le cloud, afin que vous puissiez vous concentrer sur l'innovation et les besoins de votre entreprise. Près de 80 % de tous les conteneurs du cloud fonctionnent AWS aujourd'hui. AWS fournit un ensemble complet de services de conteneurs pour à peu près tous les cas d'utilisation. Pour commencer, consultez la section [Conteneurs à l'adresse AWS](https://aws.amazon.com/containers/).

## Ressources supplémentaires
<a name="windows-containers-resources"></a>
+ [Optimisez le coût des charges de travail des conteneurs avec les fournisseurs de capacité ECS et les instances ponctuelles EC2 (blog](https://aws.amazon.com/blogs/containers/optimize-cost-for-container-workloads-with-ecs-capacity-providers-and-ec2-spot-instances/))AWS 
+ [Liste de contrôle pour l'optimisation des coûts pour Amazon ECS et AWS Fargate](https://aws.amazon.com/blogs/containers/cost-optimization-checklist-for-ecs-fargate/) (AWS blog)
+ [Amazon EKS sur AWS Graviton2 est généralement disponible : considérations relatives aux applications multi-architectures](https://aws.amazon.com/blogs/containers/eks-on-graviton-generally-available/) (Blog)AWS 
+ [Optimisation des coûts pour Kubernetes sur AWS](https://aws.amazon.com/blogs/containers/cost-optimization-for-kubernetes-on-aws/) (Blog)AWS 
+ [Optimisation de vos coûts de calcul Kubernetes grâce à la consolidation Karpenter](https://aws.amazon.com/blogs/containers/optimizing-your-kubernetes-compute-costs-with-karpenter-consolidation/) (Blog)AWS 

# Optimisez les coûts AWS Fargate des tâches sur Amazon ECS
<a name="optimizer-ecs-fargate"></a>

## Présentation de
<a name="optimizer-ecs-fargate-overview"></a>

Le dimensionnement correct des AWS Fargate tâches est une étape importante pour l'optimisation des coûts. Trop souvent, les applications sont conçues avec un dimensionnement arbitraire pour les tâches Fargate et ne sont jamais revisitées. Cela peut entraîner un surprovisionnement des tâches Fargate et des dépenses inutiles. Cette section explique comment fournir des recommandations exploitables afin d'optimiser le processeur et la mémoire des tâches pour vos services Amazon Elastic Container Service (Amazon ECS) exécutés sur Fargate. [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) Compute Optimizer quantifie également l'impact financier de l'adoption de ces recommandations. Cela vous permet de hiérarchiser vos efforts d'optimisation en fonction de l'ampleur de l'opportunité d'économies. Les recommandations de Compute Optimizer fournissent des configurations de processeur et de mémoire au niveau du conteneur pour les tâches de réduction de la taille.

## Avantages en termes de coûts
<a name="optimizer-ecs-fargate-cost-benefits"></a>

Le dimensionnement correct des tâches Amazon ECS sur Fargate peut réduire les coûts de 30 à 70 % pour les tâches de longue durée. Sans passer en revue les indicateurs de performance des applications pour ajuster la taille de votre tâche, vous pouvez appliquer au dimensionnement des conteneurs le même état d'esprit que celui utilisé sur les instances de calcul EC2. Cela entraîne des tâches Fargate surdimensionnées qui augmentent les coûts liés aux ressources inutilisées. Vous pouvez utiliser Compute Optimizer pour identifier les bonnes opportunités de dimensionnement de manière réactive. Idéalement, le propriétaire de l'application passe en revue les indicateurs de performance spécifiques à l'application et supprime la surcharge du système d'exploitation pour s'assurer que la taille de tâche appropriée est spécifiée. Pour plus d'informations, consultez la section [Déplacer des applications Windows vers des conteneurs](windows-containers-main.md) de ce guide.

## Recommandations en matière d’optimisation des coûts
<a name="optimizer-ecs-fargate-rec"></a>

Cette section propose des recommandations pour utiliser Compute Optimizer afin de dimensionner correctement vos tâches Amazon ECS on Fargate.

Dans le cadre du processus d'optimisation des coûts, nous vous recommandons de procéder comme suit :
+ Activer Compute Optimizer
+ Consume les résultats de Compute Optimizer
+ Étiquetez les tâches pour qu'elles soient correctement dimensionnées
+ Activez l'étiquette de répartition des coûts pour qu'elle fonctionne avec les outils AWS de facturation
+ Mettre en œuvre les bonnes recommandations de dimensionnement
+ Révision des coûts avant et après dans Cost Explorer

### Activer Compute Optimizer
<a name="optimizer-ecs-fargate-rec-compute"></a>

Vous pouvez l'activer [Optimiseur de calcul AWS](https://docs.aws.amazon.com/compute-optimizer/latest/ug/getting-started.html#account-opt-in)au niveau de l'organisation ou du compte unique dans AWS Organizations. La configuration à l'échelle de l'organisation fournit des rapports permanents pour les instances nouvelles et existantes sur l'ensemble de votre flotte pour tous les comptes membres. Cela permet de faire de la bonne taille une activité récurrente plutôt qu'une point-in-time activité.

#### Niveau de l’organisation
<a name="optimizer-ecs-fargate-rec-compute-org"></a>

Pour la plupart des entreprises, le moyen le plus efficace d'utiliser Compute Optimizer est au niveau de l'organisation. Cela fournit une visibilité multicompte et multirégionale de votre organisation et centralise les données dans une seule source à des fins de révision. Pour activer cette fonctionnalité au niveau de l'organisation, procédez comme suit :

1. Connectez-vous à votre [compte AWS Organizations de gestion](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) avec un rôle disposant des [autorisations requises](https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html) et choisissez de vous connecter à tous les comptes de cette organisation. [Toutes les fonctions doivent être activées](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) pour votre organisation.

1. Après avoir activé le compte de gestion, vous pouvez vous connecter au compte, voir tous les autres comptes membres et consulter leurs recommandations.

**Note**  
Il est recommandé de configurer un [compte d'administrateur délégué](https://docs.aws.amazon.com/compute-optimizer/latest/ug/delegate-administrator-account.html) pour Compute Optimizer. Cela vous permet d'appliquer le principe du moindre privilège, en minimisant l'accès au compte de AWS Organizations gestion tout en fournissant un accès au service à l'échelle de l'organisation.

#### Niveau de compte unique
<a name="optimizer-ecs-fargate-rec-compute-account"></a>

Si vous ciblez un compte dont les coûts sont élevés mais que vous n'y avez pas accès AWS Organizations, vous pouvez toujours activer Compute Optimizer pour ce compte et cette région. Pour en savoir plus sur le processus d'inscription, consultez [Getting started with Optimiseur de calcul AWS](https://docs.aws.amazon.com/compute-optimizer/latest/ug/getting-started.html).

**Note**  
Les recommandations sont actualisées tous les jours et leur génération peut prendre jusqu'à 12 heures. N'oubliez pas que Compute Optimizer a besoin de 24 heures de statistiques au cours des 14 derniers jours pour générer des recommandations pour Amazon ECS sur Fargate. Pour plus d'informations, consultez la section [Exigences relatives aux services Amazon ECS sur Fargate](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ecs-fargate) dans la documentation de Compute Optimizer.

Compute Optimizer analyse automatiquement les indicateurs d'utilisation CloudWatch Amazon et Amazon ECS suivants pour vos services Amazon ECS sur Fargate :
+ `CPUUtilization`— Le pourcentage de capacité du processeur utilisé dans le service.
+ `MemoryUtilization`— Le pourcentage de mémoire utilisé dans le service.

### Consume les résultats de Compute Optimizer
<a name="optimizer-ecs-fargate-rec-results"></a>

Prenons un exemple qui met l'accent sur les modifications de taille appropriées au sein d'un seul compte et d'une seule région. Dans cet exemple, Compute Optimizer est activé au niveau de l'organisation sur tous les comptes. N'oubliez pas que le bon dimensionnement est un processus perturbateur qui, dans la plupart des cas, est effectué avec précision par les propriétaires de l'application au cours d'une période de maintenance planifiée de plusieurs semaines.

Si vous accédez à Compute Optimizer depuis le compte de gestion d'une organisation (comme indiqué dans les étapes suivantes), vous pouvez choisir le compte que vous souhaitez examiner. Dans cet exemple, une tâche est exécutée sur un seul compte surapprovisionné en. `us-east-1` L'accent est mis sur le redimensionnement à la taille recommandée pour le service Amazon ECS.

1. Ouvrez la console [Compute Optimizer](https://console.aws.amazon.com/compute-optimizer/).

1. Sur la page **Tableau de bord**, filtrez par **Findings=OverProvisioned pour** voir tous les services Amazon ECS sur Fargate.

1. **Pour consulter les recommandations détaillées concernant les **services ECS surprovisionnés sur Fargate,**** faites défiler la page vers le bas, puis sélectionnez Afficher les** recommandations.**

1. Choisissez **Exporter** et enregistrez le fichier pour une utilisation future. 
**Note**  
Pour enregistrer des recommandations en vue d'une future révision, vous devez disposer d'un compartiment S3 dans lequel Compute Optimizer pourra écrire dans chaque région. Pour plus d'informations, consultez la [politique relative aux compartiments Amazon S3 Optimiseur de calcul AWS dans la](https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) documentation de Compute Optimizer.

Pour consulter les recommandations de Compute Optimizer, procédez comme suit :

1. Dans la [console Compute Optimizer](https://console.aws.amazon.com/compute-optimizer/), accédez à la page des **recommandations d'exportation**.

1. Pour la **destination du compartiment S3**, choisissez votre compartiment S3.

1. Dans la section **Filtres d'exportation**, pour **Type de ressource**, choisissez **les services ECS sur Fargate.**

1. Sur la page **Recommandations pour les services ECS sur Fargate**, explorez l'un des services ECS sur Fargate et consultez les recommandations de Compute Optimizer relatives au processeur et à la mémoire. Par exemple, consultez les recommandations des sections **Comparer les paramètres actuels avec la taille de tâche recommandée** et **Comparer les paramètres actuels avec la taille de conteneur recommandée**.

Pour obtenir la liste des services ECS pour Fargate dont vous avez besoin à la bonne taille, procédez comme suit :

1. Ouvrez la [console Amazon S3](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation, choisissez **Buckets**, puis choisissez le bucket dans lequel vous avez exporté vos résultats.

1. Dans l'onglet **Objets**, sélectionnez votre objet et choisissez **Télécharger**.

1. Dans les résultats que vous avez téléchargés, filtrez la colonne de recherche pour afficher uniquement les services Amazon ECS **OVER\$1PROVISIONED** sur Fargate. Cela indique les services Amazon ECS que vous prévoyez de cibler pour obtenir le bon dimensionnement.

1. Stockez les définitions de tâches dans un éditeur de texte pour une utilisation ultérieure.

### Tâches de balisage à la bonne taille
<a name="optimizer-ecs-fargate-rightsizing"></a>

Le balisage de vos charges de travail est un outil puissant pour organiser vos ressources. AWS Vous pouvez utiliser des tags pour obtenir une visibilité précise des coûts et permettre la rétrofacturation. Il existe de nombreuses méthodes et stratégies pour ajouter des balises aux AWS ressources afin de gérer la rétrofacturation et l'automatisation. Pour plus d'informations, consultez le AWS livre blanc sur les [meilleures pratiques en matière de balisage AWS des ressources](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html). L'exemple suivant permet [AWS CloudShell](https://console.aws.amazon.com/cloudshell/home)de baliser toutes les tâches faisant partie d'un service Amazon ECS au sein du compte cible et Région AWS.

```
#!/bin/bash
# Set variables
TAG_KEY="rightsizing"
TAG_VALUE="enabled"
# Get a list of ECS Clusters
ClustersArns=$( aws ecs list-clusters –query 'clusterArns' –output text)
for ClustersArn in $ClustersArns; do
 ServiceArns=$( aws ecs list-services –cluster $ClustersArn –query 'serviceArns' –output text)
 for ServiceArn in $ServiceArns; do
  TasksArns=$( aws ecs list-tasks –cluster $ClustersArn –service-name $ServiceArn –query 'taskArns' –output text)
  for TasksArn in $TasksArns; do
    aws ecs tag-resource –resource-arn $TasksArn –tags key=$TAG_KEY,value=$TAG_VALUE
  done
 done
done
```

L'exemple de code suivant montre comment activer la [propagation des balises](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html#ECS-UpdateService-request-propagateTags) vers tous les services Amazon ECS.

```
#!/bin/bash
# Set variables
TAG_KEY="rightsizing"
TAG_VALUE="enabled"
# Get a list of ECS Clusters
ClustersArns=$(aws ecs list-clusters --query 'clusterArns' --output text)
for ClustersArn in $ClustersArns; do
 ServiceArns=$(aws ecs list-services --cluster $ClustersArn --query 'serviceArns' --output text)
 for ServiceArn in $ServiceArns; do
  aws ecs update-service --cluster $ClustersArn --service $ServiceArn --propagate-tags SERVICE &>/dev/null
  aws ecs tag-resource --resource-arn $ServiceArn --tags key=$TAG_KEY,value=$TAG_VALUE
 done
done
```

### Activez l'étiquette de répartition des coûts pour qu'elle fonctionne avec les outils AWS de facturation
<a name="optimizer-ecs-fargate-rec-billing-tools"></a>

Nous vous recommandons d'activer la balise de répartition des coûts définie par l'utilisateur. Cela permet à la balise **Rightsizing** d'être reconnue et filtrable dans les outils AWS de facturation (par exemple, AWS Cost Explorer et). AWS Cost and Usage Report Si vous ne l'activez pas, l'option de filtrage des balises et les données ne seront pas disponibles. Pour plus d'informations sur l'utilisation des balises de répartition des coûts, consultez la section [Activation des balises de répartition des coûts définies par](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) l'utilisateur dans la AWS Billing and Cost Management documentation.

Après 24 heures d'attente, vous pouvez voir le tag dans Cost Explorer avant de mettre en œuvre les recommandations de dimensionnement appropriées dans la section suivante. Pour ce faire, recherchez la balise **Rightsizing** dans Cost Explorer.

### Mettre en œuvre les bonnes recommandations de dimensionnement
<a name="optimizer-ecs-fargate-rec-rightsizing-rec"></a>

Compute Optimizer fournira des recommandations concernant la taille des tâches ou des conteneurs. Pour mettre en œuvre les recommandations de dimensionnement appropriées, procédez comme suit.

1. Ouvrez la [console Amazon ECS](https://console.aws.amazon.com/ecs/v2).

1. Dans la barre de navigation, choisissez la région qui contient votre définition de tâche.

1. Dans le panneau de navigation, choisissez **Task definitions** (Définition des tâches).

1. Sur la page **Task definitions** (Définition des tâches), choisissez la tâche, puis choisissez **Create new revision** (Créer une nouvelle révision).

1. Sur la page **Create new task definition revision** (Créer une nouvelle révision de définition de tâche), effectuez les modifications souhaitées. Pour mettre à jour la recommandation de taille de conteneur, mettez-la à jour `cpu` et `memory` sous le bloc **ContainerDefinitions** dans [votre](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size) définition de tâche ECS. Par exemple :

   ```
   "containerDefinitions": [
   	{
   		"name": "your-container-name",
   		"image": "your-image",
   		"cpu": 1024,
   		"memory": 2048,
   	}
   ],
   ```

1. Vérifiez les informations, puis choisissez **Create** (Créer).

Pour mettre à jour le service Amazon ECS, procédez comme suit :

1. Ouvrez la [console Amazon ECS](https://console.aws.amazon.com/ecs/v2).

1. Sur la page **Clusters**, sélectionnez le cluster.

1. Sur la page **Cluster overview** (Aperçu du cluster), sélectionnez le service, puis choisissez **Update** (Mettre à jour).

1. Pour **Task definition (Définition de tâche)**, choisissez la famille et la révision de définition de tâche à utiliser.

Pour les opérateurs expérimentés, vous pouvez utiliser CloudShell pour mettre à jour le service Amazon ECS. Par exemple :

```
bash
#!/bin/bash
# Set variables
ClustersName="workshop-cluster"
ServiceName="lab7-fargate-service"
TaskDefinition="lab7-fargate-demo:3"
# update the service
aws ecs update-service --cluster $ClustersName --service $ServiceName --task-definition $TaskDefinition
```

### Révision avant et après les coûts
<a name="optimizer-ecs-fargate-rec-before-after"></a>

Une fois que vous avez correctement dimensionné vos ressources, vous pouvez utiliser Cost Explorer pour afficher les coûts avant et après en utilisant la balise **Rightsizing**. N'oubliez pas que vous pouvez utiliser [des balises de ressources](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) pour suivre les coûts. En utilisant plusieurs couches de balises, vous pouvez obtenir une visibilité précise de vos coûts. Dans l'exemple présenté dans ce guide, la balise **Rightsizing** est utilisée pour appliquer une balise générique à toutes les instances ciblées. Ensuite, un tag d'**équipe** est utilisé pour mieux organiser les ressources. L'étape suivante consiste à introduire des balises d'application pour mieux montrer l'impact financier de l'exploitation d'une application spécifique.

Prenons un exemple de réduction des coûts qui peut être réalisée en utilisant la balise **Rightsizing** pour un seul niveau de compte. Dans cet exemple, les coûts d'exploitation passent de 30,26\$1 par jour à 7,56\$1 par jour. En supposant 744 heures par mois, le coût annuel avant de choisir la bonne taille est de 11 044,9\$1. Après le bon dimensionnement, le coût annuel tombe à 2 759,4\$1. Cela se traduit par une diminution de 75 % des coûts de calcul pour ce compte. Imaginez l'impact de cette situation sur une grande organisation.

Avant de vous lancer dans l'aventure de la bonne taille, tenez compte des points suivants :
+ AWS offre de nombreuses options de réduction des coûts. Cela inclut [AWS OLA](https://aws.amazon.com/optimization-and-licensing-assessment/), où AWS passe en revue vos instances sur site avant de passer à AWS. L' AWS OLA vous fournit également des recommandations sur la bonne taille et des conseils en matière de licence.
+ Choisissez toutes les bonnes tailles avant de souscrire à [Savings Plans](https://aws.amazon.com/savingsplans/). Cela peut vous aider à éviter les surachats dans le cadre de votre engagement Savings Plans.

## Étapes suivantes
<a name="optimizer-ecs-fargate-next-steps"></a>

Nous vous recommandons de suivre les étapes suivantes :

1. Passez en revue votre environnement existant et envisagez de convertir les volumes Amazon EBS gp2 en volumes gp3.

1. Passez en revue [Savings Plans](https://aws.amazon.com/savingsplans/).

## Ressources supplémentaires
<a name="optimizer-ecs-fargate-resources"></a>
+ [Commencer à utiliser Compute Optimizer (documentation](https://aws.amazon.com/compute-optimizer/getting-started/))AWS 
+ [Bonnes pratiques pour le balisage des AWS ressources](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) (livres AWS blancs)
+ [Conteneurs Windows activés AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/1de8014a-d598-4cb5-a119-801576492564/en-US) (AWS Workshop Studio)

# Gagnez en visibilité sur vos coûts Amazon EKS
<a name="kubecost-main"></a>

## Présentation de
<a name="kubecost-overview"></a>

Une vision globale est nécessaire pour surveiller efficacement le coût d'un déploiement de Kubernetes. Le seul coût fixe et connu concerne le plan de contrôle Amazon Elastic Kubernetes Service (Amazon EKS). Cela inclut tous les autres composants composant le déploiement, du calcul au stockage en passant par la mise en réseau, dont le montant varie en fonction des besoins de votre application.

Vous pouvez utiliser [Kubecost](https://www.kubecost.com/) pour analyser le coût de votre infrastructure Kubernetes, depuis les [espaces de noms](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) et les [services jusqu'aux](https://kubernetes.io/docs/concepts/services-networking/service/) [pods](https://kubernetes.io/docs/concepts/workloads/pods/) individuels, puis afficher les données dans un tableau de bord. Kubecost fait apparaître les coûts liés au cluster, tels que le calcul et le stockage, et les coûts out-of-cluster tels que les [buckets Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) et les instances Amazon Relational Database Service ([Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Kubecost fera des recommandations de dimensionnement sur la base de ces données et affichera les alertes critiques susceptibles d'avoir un impact sur le système. Kubecost peut [s'intégrer [AWS Cost and Usage Report](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html)](https://www.ibm.com/docs/en/kubecost/self-hosted/1.x?topic=integrations-aws-cloud-billing-integration)pour montrer les économies réalisées grâce aux [Compute Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html), [aux instances réservées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-reserved-instances.html) et à d'autres programmes de réduction.

## Avantages en termes de coûts
<a name="kubecost-cost-benefits"></a>

Kubecost fournit des rapports et des tableaux de bord qui permettent de visualiser le coût de vos déploiements Amazon EKS. Il vous permet d'accéder à chacun des différents composants tels que les contrôleurs, les services, les nœuds, les pods et les volumes à partir du cluster. Cela vous donne une vue globale de vos applications exécutées dans un environnement Amazon EKS. En activant cette visibilité, vous pouvez suivre les recommandations de Kubecost ou visualiser les coûts de chaque application à un niveau granulaire. La bonne taille d'un groupe de nœuds Amazon EKS permet de réaliser les mêmes économies potentielles que les instances EC2 standard. Si vous pouvez dimensionner correctement vos conteneurs et vos nœuds, vous pouvez supprimer la charge de calcul liée à la taille de l'instance nécessaire pour exécuter le conteneur et au nombre d'instances EC2 requises dans le groupe de dimensionnement automatique.

## Recommandations en matière d’optimisation des coûts
<a name="kubecost-rec"></a>

Pour profiter de Kubecost, nous vous recommandons de procéder comme suit :

1. Déployez Kubecost dans votre environnement

1. Obtenez une ventilation détaillée des coûts des applications Windows

1. Nœuds de cluster de la bonne taille

1. Demandes de conteneurs de la bonne taille

1. Gérez les nœuds sous-utilisés

1. Remédier aux charges de travail abandonnées

1. Agir sur les recommandations

1. Mettre à jour les nœuds autogérés

### Déployez Kubecost dans votre environnement
<a name="kubecost-overview-rec-deploy"></a>

L'[atelier Amazon EKS Finhack](https://catalog.us-east-1.prod.workshops.aws/workshops/c4ab40ed-0299-4a4e-8987-35d90ba5085e/en-US) vous apprend à déployer un environnement Amazon EKS configuré pour utiliser Kubecost dans un AWS compte détenu. Cela vous permet d'acquérir une expérience pratique de la technologie. Si vous souhaitez organiser cet atelier au sein de votre organisation, contactez l'équipe chargée de votre compte.

Pour déployer Kubecost sur votre cluster Amazon EKS à l'aide de [Helm](https://helm.sh/), consultez l'article sur le blog consacré à la [collaboration entre Kubecost AWS et Kubecost pour fournir un suivi des coûts aux clients d'EKS](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/). AWS Vous pouvez également consulter la [documentation officielle de Kubecost](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation) pour obtenir des instructions sur l'installation et la configuration de Kubecost. Pour plus d'informations sur le support de Kubecost pour les nœuds Windows, consultez la section [Support des nœuds Windows](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=configuration-windows-node-support) dans la documentation de Kubecost.

### Obtenez une ventilation détaillée des coûts des applications Windows
<a name="kubecost-overview-rec-granular-cost"></a>

Bien que vous puissiez réaliser d'importantes économies en utilisant les [instances Spot Amazon EC2](https://aws.amazon.com/ec2/spot/), vous pouvez également tirer parti du fait que les charges de travail Windows ont tendance à être dynamiques. L'utilisation des instances Spot dépend de l'application, et nous vous encourageons à vérifier si elles s'appliquent à votre cas d'utilisation.

Pour obtenir une ventilation détaillée des coûts de vos applications Windows, [connectez-vous à Kubecost](https://auth.app.kubecost.com/login). Sur la page de navigation, sélectionnez **Savings**.

### Nœuds de cluster de la bonne taille
<a name="kubecost-overview-rec-rightsize-cluster"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis choisissez **Rightsize your cluster node**.

Prenons un exemple où Kubecost indique que le cluster est surprovisionné en termes de vCPU et de RAM. Le tableau suivant présente les détails et les recommandations de Kubecost.


****  

|   | Current | Recommandation : Simple | Recommandation : Complexe | 
| --- | --- | --- | --- | 
| Nombre total | 3462,57\$1 US par mois | 137,24\$1 US par mois | 303,68\$1 US par mois | 
| Nombre de nœuds | 4 | 5 | 4 | 
| CPU | 74 VCPUs | 10  VCPUs | 8 VCPUs | 
| RAM | 152 GO | 20 Go | 18 GO | 
| Répartition des instances | 2 c5.xlarge \$1 2 de plus | 5 t3a.medium | 2 c5n.large \$1 1 de plus | 

Comme décrit dans le billet de blog de Kubecost intitulé [Trouvez un ensemble optimal de nœuds pour un cluster Kubernetes](https://blog.kubecost.com/blog/cluster-right-sizing/), l'option simple utilise un seul groupe de nœuds, tandis que l'option complexe utilise une approche de groupe à nœuds multiples. Le bouton **Apprenez à adopter** permet de redimensionner le cluster en un clic. Cela nécessite l'installation du [Kubecost Cluster](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=configuration-cluster-controller) Controller.

Si vous utilisez des [nœuds Windows autogérés](https://docs.aws.amazon.com/eks/latest/userguide/launch-windows-workers.html) qui ne sont pas créés par [eksctl](https://eksctl.io/), consultez [Mettre à jour un groupe de nœuds autogérés existant](https://docs.aws.amazon.com/eks/latest/userguide/update-stack.html). Ces instructions vous montrent comment modifier le type d'instance dans le modèle de lancement Amazon EC2 utilisé par le groupe [Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html).

### Demandes de conteneurs de la bonne taille
<a name="kubecost-overview-rec-rightsize-container-requests"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis accédez à la page **Demander des recommandations de dimensionnement correct**. Cette page présente l'[efficacité](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=dashboard-efficiency-idle) des capsules, les recommandations relatives à la bonne taille et les économies estimées. Vous pouvez utiliser le bouton **Personnaliser** pour filtrer par **cluster**, **nœud**, **espace de noms \$1 contrôleur**, etc.

Par exemple, considérez que Kubecost a calculé que certains de vos pods sont surapprovisionnés en termes de CPU et de RAM (mémoire). Kubecost vous recommande ensuite de vous adapter aux nouvelles valeurs du processeur et de la RAM pour réaliser ses économies mensuelles estimées. Pour modifier les valeurs du processeur et de la RAM, vous devez mettre à jour votre fichier [manifeste de déploiement](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/).

### Gérez les nœuds sous-utilisés
<a name="kubecost-overview-rec-underutilized-nodes"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis sélectionnez **Gérer les nœuds sous-utilisés**.

Prenons un exemple où la page montre qu'un nœud du cluster est sous-utilisé en termes de CPU et de RAM (mémoire) et peut donc être vidé et arrêté ou redimensionné. Le choix des nœuds qui ne passent pas les vérifications des nœuds et des pods vous donnera plus d'informations sur les raisons pour lesquelles ils ne peuvent pas être vidangés.

### Remédier aux charges de travail abandonnées
<a name="kubecost-overview-rec-abandoned-workloads"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis choisissez la page Charges de **travail abandonnées**. Dans cet exemple, vous filtrez par espace de noms appelé **fenêtres**. Cette page indique les pods qui n'ont pas atteint le seuil de trafic et qui sont considérés comme abandonnés. Les pods doivent envoyer ou recevoir une certaine quantité de trafic réseau au cours de la période définie.

Après avoir soigneusement étudié l'abandon d'un ou de plusieurs pods, vous pouvez réaliser des économies en réduisant le nombre de répliques, en supprimant le déploiement, en le redimensionnant pour consommer moins de ressources ou en informant le propriétaire de l'application que vous pensez que le déploiement est abandonné.

### Agir sur les recommandations
<a name="kubecost-overview-rec-act-rec"></a>

Dans la section **Dimensionnez correctement les nœuds de votre cluster**, Kubecost analyse l'utilisation des nœuds de travail du cluster et formule des recommandations sur le dimensionnement correct des nœuds afin de réduire les coûts. Deux types de groupes de nœuds peuvent être utilisés avec Amazon EKS : [autogérés et [gérés](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html)](https://docs.aws.amazon.com/eks/latest/userguide/worker.html).

### Mettre à jour les nœuds autogérés
<a name="kubecost-overview-rec-selfmanaged-nodes"></a>

Pour plus d'informations sur la mise à jour des nœuds autogérés, consultez la section [Mises à jour des nœuds autogérés](https://docs.aws.amazon.com/eks/latest/userguide/update-workers.html) dans la documentation Amazon EKS. Il indique que les groupes de nœuds créés avec ne `eksctl` peuvent pas être mis à jour et doivent être migrés vers un nouveau groupe de nœuds avec la nouvelle configuration.

Par exemple, supposons que vous avez un groupe de nœuds Windows appelé `ng-windows-m5-2xlarge`**** (qui utilise une instance EC2 m5.2xlarge) et que vous souhaitez migrer les pods vers un [nouveau groupe de nœuds](https://docs.aws.amazon.com/eks/latest/userguide/launch-windows-workers.html) appelé `ng-windows-t3-large`**** (qui est soutenu par une instance EC2 t3.large pour réduire les coûts).

Pour migrer vers un nouveau groupe de nœuds lorsque vous utilisez des groupes de nœuds déployés par`eksctl`, procédez comme suit :

1. Pour trouver le nœud dans lequel se trouve actuellement le pod, exécutez la `kubectl describe pod <pod_name> -n <namespace>` commande.

1. Exécutez la commande `kubectl describe node <node_name>`. La sortie indique que le nœud s'exécute sur une instance m5.2xlarge. Il correspond également au nom du groupe de nœuds (`ng-windows-m5-2xlarge`).

1. Pour modifier le déploiement afin d'utiliser un groupe de nœuds`ng-windows-t3-large`, supprimez le groupe de nœuds `ng-windows-m5-2xlarge` et exécutez`kubectl describe svc,deploy,pod -n windows`. Le déploiement commence immédiatement à se redéployer une fois que son groupe de nœuds a été supprimé. 
**Note**  
Le service sera interrompu lorsque vous supprimerez le groupe de nœuds.

1. Exécutez à nouveau la `kubectl describe svc,deploy,pod -n windows` commande après quelques minutes. La sortie indique que les pods sont tous à nouveau en **cours d'exécution**.

1. Pour montrer que les pods s'exécutent désormais sur le groupe de nœuds`ng-windows-t3-large`, réexécutez les `kubectl describe node <node_name>` commandes `kubectl describe pod <pod_name> -n <namespace>` and.

### Autres méthodes de redimensionnement
<a name="kubecost-overview-rec-alternative-resizing"></a>

Cette méthode s'applique à toute combinaison de groupes de nœuds autogérés ou gérés. Le billet de blog sur la [migration fluide des charges de travail d'un groupe de nœuds autogérés par EKS vers des groupes de nœuds gérés par](https://aws.amazon.com/blogs/containers/seamlessly-migrate-workloads-from-eks-self-managed-node-group-to-eks-managed-node-groups/) EKS fournit des conseils sur la façon de migrer vos charges de travail d'un groupe de nœuds avec le type d'instance surdimensionné vers le groupe de nœuds correctement dimensionné, sans interruption de service.

## Étapes suivantes
<a name="kubecost-next-steps"></a>

Kubecost permet de visualiser facilement le coût de vos environnements Amazon EKS. L'intégration approfondie de Kubecost à Kubernetes AWS APIs peut vous aider à réaliser des économies potentielles. Vous pouvez les consulter sous forme de recommandations dans le tableau de bord des **économies** de Kubecost. Kubecost peut également implémenter certaines de ces recommandations pour vous grâce à sa fonction de [contrôleur de cluster](https://github.com/kubecost/cluster-turndown).

Nous vous recommandons de passer en revue le step-by-step déploiement dans le billet de blog publié sur le blog AWS Containers [AWS et Kubecost collabore pour fournir une surveillance des coûts aux clients d'EKS](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/).

## Ressources supplémentaires
<a name="kubecost-additional-resources"></a>
+ Atelier [Amazon EKS (Atelier](https://www.eksworkshop.com/) Amazon EKS)
+ [AWS et Kubecost collaborent pour fournir un suivi des coûts aux clients d'EKS (Blog](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/))AWS 
+ Atelier [Amazon EKS Finhack (AWS atelier](https://catalog.us-east-1.prod.workshops.aws/workshops/c4ab40ed-0299-4a4e-8987-35d90ba5085e/en-US) Studio)
+ [Conteneurs Windows activés AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/1de8014a-d598-4cb5-a119-801576492564/en-US) (AWS Workshop Studio)

# Replateforme des applications Windows avec App2Container
<a name="app2container-main"></a>

## Présentation de
<a name="app2container-overview"></a>

[AWS App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html)est un outil de ligne de commande permettant de migrer et de moderniser des applications Web Java et .NET vers des conteneurs. App2Container analyse et dresse un inventaire de toutes les applications exécutées sur du matériel nu, des machines virtuelles, des instances Amazon Elastic Compute Cloud (Amazon EC2) ou d'autres fournisseurs de cloud. Vous sélectionnez l'application que vous souhaitez conteneuriser. App2Container regroupe les artefacts et les dépendances de l'application dans des images de conteneur, configure les ports réseau et génère les artefacts de déploiement Amazon Elastic Container Service (Amazon ECS) et Amazon Elastic Kubernetes Service (Amazon EKS) nécessaires au déploiement, qui sont des modèles d'infrastructure en tant que code (IaC). App2Container fournit l'infrastructure cloud et les pipelines CI \$1 CD nécessaires au déploiement de l'application conteneurisée dans un environnement de production. Pour plus d'informations, consultez la section [Fonctionnement d'App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html) dans la documentation d'App2Container.

Avec App2Container, vous pouvez migrer AWS et moderniser vos applications sous forme de conteneurs, tout en normalisant le déploiement et les opérations de vos applications. Vous pouvez utiliser App2Container pour créer rapidement une preuve de concept (PoC) ou accélérer le déploiement de charges de travail de production dans des conteneurs.

Il y a plusieurs points à garder à l'esprit lorsque vous travaillez avec des applications Windows. App2Container prend en charge la conteneurisation des applications ASP.NET déployées sur Microsoft Internet Information Services (IIS), y compris les applications Windows Communication Foundation (WCF) hébergées par IIS qui s'exécutent sous Windows Server 2016, Windows Server 2019 ou Windows Server Core 2004. Pour plus d'informations, consultez la section [Applications prises en charge pour Windows](https://docs.aws.amazon.com/app2container/latest/UserGuide/supported-applications.html) dans la documentation d'App2Container. App2Container utilise Windows Server Core comme image de base pour ses artefacts de conteneur, en faisant correspondre la version du conteneur Windows Server Core à la version du système d'exploitation (OS) du serveur sur lequel vous exécutez les commandes de conteneurisation. Cette approche dissocie l'application du système d'exploitation sous-jacent afin que vous puissiez mettre à niveau le système d'exploitation sans effectuer de migration traditionnelle.

Si vous utilisez un ordinateur subordonné pour conteneuriser votre application, l'image de base du conteneur, telle que le canal de maintenance à long terme (LTSC) de Windows Server 2019, correspond au système d'exploitation de votre ordinateur subordonné, tel que Windows Server 2019. Si vous exécutez la conteneurisation directement sur des serveurs d'applications, la version correspond au système d'exploitation de votre serveur d'applications. Si vos applications s'exécutent sous Windows Server 2008 ou 2012 R2, vous pouvez toujours utiliser App2Container en configurant un ordinateur subordonné pour les étapes de conteneurisation et de déploiement. App2Container ne prend pas en charge les applications exécutées sur les systèmes d'exploitation clients Windows, tels que Windows 7 ou Windows 10. App2Container prend en charge Tomcat, Tomee et les frameworks JBoss (en mode autonome) pour les processus Java. Pour plus d'informations, consultez la section Compatibilité avec [App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/compatibility-a2c.html).

## Avantages en termes de coûts
<a name="app2container-cost-benefits"></a>

La conteneurisation et la consolidation de vos applications peuvent générer jusqu'à [60 % d'économies de calcul](https://catalog.workshops.aws/msft-costopt/en-US/containers/moving-to-containers) par rapport à un modèle de conception de déploiement de one-application-to-one serveurs. App2Container permet d'accélérer le processus de conteneurisation des applications. Voici quelques-uns des avantages de l'utilisation d'App2Container pour vos besoins de modernisation :
+ App2Container est proposé sans frais supplémentaires.
+ App2Container prend en charge plusieurs applications dans une image de conteneur.
+ Résolvez les problèmes des systèmes d'exploitation qui approchent de la fin du support en utilisant App2Container pour déplacer vos anciennes applications .NET vers des conteneurs. Vous pouvez passer à un système d'exploitation plus récent, éviter de payer pour un support étendu et réduire les risques de sécurité.
+ Les conteneurs constituent une méthode efficace et rentable pour empaqueter vos applications .NET. Passez en revue les avantages des conteneurs dans la [recommandation MACO sur le passage aux conteneurs](https://catalog.workshops.aws/msft-costopt/en-US/containers/moving-to-containers).
+ La consolidation et la conteneurisation des applications contribuent à réduire votre encombrement en termes de calcul, de stockage et de licences en utilisant vos ressources informatiques de manière plus efficace.
+ Le passage aux conteneurs permet de réduire les frais d'exploitation et les coûts d'infrastructure et d'accroître la portabilité du développement et l'agilité du déploiement.

## Recommandations en matière d’optimisation des coûts
<a name="app2container-recommendations"></a>

Pour obtenir des instructions sur l'utilisation d'App2Container, consultez [Getting started with](https://docs.aws.amazon.com/app2container/latest/UserGuide/start-intro.html). AWS App2Container Pour plus d'informations sur les commandes App2Container, consultez la référence des commandes [App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/a2c-commands.html).

## Étapes suivantes
<a name="app2container-next-steps"></a>

App2Container peut accélérer le processus de conteneurisation des applications et de déploiement sur Amazon EKS ou Amazon ECS. Le déploiement d'applications dans des conteneurs réduit les coûts de calcul, de mise en réseau et de stockage ainsi que les frais opérationnels pour les opérateurs d'applications.

Pour une expérience pratique avec App2Container, consultez l'atelier [Modernisation avec AWS App2Container](https://catalog.us-east-1.prod.workshops.aws/workshops/2c1e5f50-0ebe-4c02-a957-8a71ba1e8c89/en-US) App2Container. Si vous souhaitez vivre une expérience d'apprentissage approfondie, demandez à l'équipe chargée de votre AWS compte d'organiser une journée d'immersion dans App2Container.

## Ressources supplémentaires
<a name="app2container-resources"></a>
+ [Conteneurisation d'applications Windows multiniveaux complexes à l'aide](https://aws.amazon.com/blogs/modernizing-with-aws/containerizing-complex-multi-tier-windows-applications-aws-app2container/) de AWS App2Container(AWS article de blog)
+ [Conteneurisation d'applications ASP.NET héritées à l'aide de AWS App2Container(billet de](https://aws.amazon.com/blogs/modernizing-with-aws/containerizing-legacy-asp-net-applications-using-aws-app2container-a2c/) blog)AWS 
+ [Applications prises en charge par App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/supported-applications.html) (documentation)AWS 
+ [Modernisez avec AWS App2Container Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/2c1e5f50-0ebe-4c02-a957-8a71ba1e8c89/en-US) (AWS Workshop Studio)
+ [AWS App2Container FAQs](https://aws.amazon.com/app2container/faqs/)(AWS site Web)