

 **Aidez à améliorer cette page** 

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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien **Modifier cette page sur** qui se trouve dans le volet droit de chaque page.

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 des nœuds avec Bottlerocket optimisé AMIs
<a name="eks-optimized-ami-bottlerocket"></a>

 [Bottlerocket](https://aws.amazon.com/bottlerocket/) est une distribution Linux open source sponsorisée et soutenue par. AWS Bottlerocket est spécialement conçu pour héberger des charges de travail conteneurisées. Avec Bottlerocket, vous pouvez améliorer la disponibilité des déploiements conteneurisés et réduire les coûts opérationnels en automatisant les mises à jour de votre infrastructure de conteneurs. Bottlerocket ne comprend que les logiciels essentiels à l’exécution des conteneurs, ce qui améliore l’utilisation des ressources, réduit les menaces de sécurité et diminue les frais généraux liés à la gestion. L'AMI Bottlerocket `containerd` inclut`kubelet`, AWS et l'authentificateur IAM. En plus des groupes de nœuds gérés et des nœuds autogérés, Bottlerocket est également pris en charge par [Karpenter](https://karpenter.sh/).

## Avantages
<a name="bottlerocket-advantages"></a>

L'utilisation de Bottlerocket avec votre cluster Amazon EKS présente les bénéfices suivants :
+  **Disponibilité accrue, coûts d’exploitation réduits et gestion simplifiée** : Bottlerocket nécessite moins de ressources, démarre plus rapidement et est moins vulnérable aux menaces de sécurité que les autres distributions Linux. L’empreinte réduite de Bottlerocket permet de réduire les coûts en utilisant moins de ressources de stockage, de calcul et de réseau.
+  **Sécurité améliorée grâce aux mises à jour automatiques du système d'exploitation** – les mises à jour de Bottlerocket sont appliquées en une seule unité et peuvent être annulées si nécessaire. Cela élimine le risque de mises à jour corrompues ou échouées qui peuvent laisser le système dans un état inutilisable. Avec Bottlerocket, les mises à jour de sécurité peuvent être appliquées automatiquement dès qu’elles sont disponibles, de manière peu perturbatrice, et être annulées en cas de défaillance.
+  **Support premium** : à AWS condition que les versions de Bottlerocket sur Amazon EC2 soient couvertes par les mêmes plans de AWS support qui couvrent également AWS des services tels qu'Amazon, EC2 Amazon EKS et Amazon ECR.

## Considérations
<a name="bottlerocket-considerations"></a>

Tenez compte des éléments suivants lorsque vous utilisez Bottlerocket pour votre type d’AMI :
+ Bottlerocket prend en charge les EC2 instances Amazon avec `x86_64` et les processeurs. `arm64`
+ Bottlerocket prend en charge les instances Amazon EC2 avec. GPUs Pour de plus amples informations, veuillez consulter [Utiliser l'accélérateur optimisé pour EKS AMIs pour les instances GPU](ml-eks-optimized-ami.md).
+ Les images Bottlerocket n’incluent pas de serveur SSH ni de shell. Vous pouvez utiliser des méthodes out-of-band d'accès pour autoriser le SSH. Ces approches activent le conteneur d'administration et transmettent certaines étapes de configuration de l'action d'amorçage avec des données utilisateur. Pour plus d'informations, consultez les sections suivantes de [Bottlerocket](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md) OS sur : GitHub
  +  [Exploration](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md#exploration) 
  +  [Conteneur d'administration](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md#admin-container) 
  +  [Paramètres Kubernetes](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md#kubernetes-settings) 
+ Bottlerocket utilise différents types de conteneur :
  + Par défaut, est activé un [conteneur de contrôle](https://github.com/bottlerocket-os/bottlerocket-control-container). Ce conteneur exécute l'[agent AWS Systems Manager](https://github.com/aws/amazon-ssm-agent) que vous pouvez utiliser pour exécuter des commandes ou démarrer des sessions shell sur des instances Amazon EC2 Bottlerocket. Pour plus d'informations, consultez la section [Configuration du gestionnaire de session](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) dans le *guide de l'utilisateur de AWS Systems Manager*.
  + Un conteneur d'administration est activé si une clé SSH est fournie lors de la création du groupe de nœuds. Nous recommandons d'utiliser le conteneur d'administration uniquement pour les scénarios de développement et de test. Nous ne recommandons pas de l’utiliser pour les environnements de production. Pour plus d'informations, consultez [Conteneur d'administration](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md#admin-container) sur GitHub.

## En savoir plus
<a name="bottlerocket-more-information"></a>

Pour plus d'informations sur l'utilisation de Bottlerocket optimisé pour Amazon EKS AMIs, consultez les sections suivantes :
+ [Pour plus de détails sur Bottlerocket, consultez la documentation de Bottlerocket.](https://bottlerocket.dev/en/)
+ Pour les ressources d’informations sur les versions, voir [Récupérer les informations relatives à la version AMI de Bottlerocket](eks-ami-versions-bottlerocket.md).
+ Pour utiliser Bottlerocket avec des groupes de nœuds gérés, consultez [Simplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés](managed-node-groups.md).
+ Pour lancer des nœuds Bottlerocket autogérés, consultez [Créer des nœuds Bottlerocket autogérés](launch-node-bottlerocket.md).
+ Pour récupérer la dernière version IDs du Bottlerocket AMIs optimisé pour Amazon EKS, consultez. [Récupérer les ID d’AMI Bottlerocket recommandés](retrieve-ami-id-bottlerocket.md)
+ Pour plus de détails sur la prise en charge en matière de conformité, veuillez consulter la rubrique [Respect des exigences en matière de conformité avec Bottlerocket](bottlerocket-compliance-support.md).

# Récupérer les informations relatives à la version AMI de Bottlerocket
<a name="eks-ami-versions-bottlerocket"></a>

Chaque version de Bottlerocket AMI comprend différentes versions de [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/), du noyau Bottlerocket et de [containerd](https://containerd.io/). Les variantes AMI accélérées comprennent également différentes versions du pilote NVIDIA. Vous trouverez ces informations sur la version dans la rubrique [OS](https://bottlerocket.dev/en/os/) de la *documentation Bottlerocket*. À partir de cette page, accédez à la sous-rubrique *Informations sur la version* qui vous intéresse.

La *documentation Bottlerocket* peut parfois être en retard par rapport aux versions disponibles sur GitHub. Vous trouverez la liste des modifications apportées aux dernières versions dans les [publications](https://github.com/bottlerocket-os/bottlerocket/releases) sur GitHub.

# Récupérer les ID d’AMI Bottlerocket recommandés
<a name="retrieve-ami-id-bottlerocket"></a>

Lors du déploiement de nœuds, vous pouvez spécifier un identifiant pour une image Amazon Machine Image (AMI) optimisée pour Amazon EKS pré-créée. Pour récupérer un identifiant AMI qui correspond à la configuration souhaitée, interrogez l’API AWS Systems Manager Parameter Store. L’utilisation de cette API élimine le besoin de rechercher manuellement les identifiants AMI optimisés pour Amazon EKS. Pour plus d’informations, consultez [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html). Le [principal IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que vous utilisez doit disposer de l'autorisation IAM `ssm:GetParameter` pour récupérer les métadonnées de l'AMI optimisée pour Amazon EKS.

Vous pouvez récupérer l’ID d’image de la dernière AMI Bottlerocket optimisée pour Amazon EKS recommandée à l’aide de la commande AWS CLI suivante, qui utilise le sous-paramètre `image_id`. Si nécessaire, apportez les modifications suivantes à la commande, puis exécutez la commande modifiée :
+ Remplacez *kubernetes-version* par une [platform-version](https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) prise en charge.
+ Remplacez *-flavor* par l’une des options suivantes.
  + Supprimez *-flavor* pour les variantes sans GPU.
  + Utilisez *-nvidia* pour les variantes compatibles avec le GPU.
  + Utilisez *-fips* pour les variantes compatibles avec FIPS.
+ Remplacez *architecture* par l’une des options suivantes.
  + Utilisez *x86\$164* pour les instances basées sur `x86`.
  + Utilisez *arm64* pour les instances ARM.
+ Remplacez *region-code* par une [région AWS prise en charge par Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) pour laquelle vous voulez obtenir l’ID d’AMI.

```
aws ssm get-parameter --name /aws/service/bottlerocket/aws-k8s-kubernetes-version-flavor/architecture/latest/image_id \
    --region region-code --query "Parameter.Value" --output text
```

Voici un exemple de commande après remplacement des espaces réservés.

```
aws ssm get-parameter --name /aws/service/bottlerocket/aws-k8s-1.31/x86_64/latest/image_id \
    --region us-west-2 --query "Parameter.Value" --output text
```

L'exemple qui suit illustre un résultat.

```
ami-1234567890abcdef0
```

# Respect des exigences en matière de conformité avec Bottlerocket
<a name="bottlerocket-compliance-support"></a>

Bottlerocket est conforme aux recommandations définies par plusieurs organisations :
+ Un [Référentiel CIS](https://www.cisecurity.org/benchmark/bottlerocket) spécifique a été défini pour Bottlerocket. Dans une configuration par défaut, l’image Bottlerocket applique déjà la majorité des contrôles requis par le profil de configuration CIS de niveau 1. Vous pouvez implémenter les contrôles requis pour un profil de configuration CIS de niveau 2. Pour plus d’informations, consultez [Validation de l’AMI Bottlerocket optimisée pour Amazon EKS par rapport au référentiel CIS](https://aws.amazon.com/blogs/containers/validating-amazon-eks-optimized-bottlerocket-ami-against-the-cis-benchmark) sur le blog AWS.
+ Grâce à son ensemble de fonctionnalités optimisées et à sa surface d’attaque réduite, Bottlerocket nécessite moins de configuration pour satisfaire aux exigences PCI DSS. Le [Référentiel CIS pour Bottlerocket](https://www.cisecurity.org/benchmark/bottlerocket) constitue une excellente référence pour le renforcement de la sécurité et vous aide à respecter les exigences liées aux normes de configuration sécurisée définies dans l’exigence PCI DSS 2.2. Vous pouvez également utiliser [Fluent Bit](https://opensearch.org/blog/technical-post/2022/07/bottlerocket-k8s-fluent-bit/) pour satisfaire aux exigences en matière de journalisation d’audit au niveau du système d’exploitation, conformément à l’exigence PCI DSS 10.2. AWS publie régulièrement de nouvelles images Bottlerocket mises à jour (corrigées) afin de vous aider à répondre à l’exigence PCI DSS 6.2 (pour v3.2.1) et à l’exigence 6.3.3 (pour v4.0).
+ Bottlerocket est une fonctionnalité admissible à HIPAA, autorisée pour les charges de travail réglementées sur Amazon EC2 et Amazon EKS. Pour plus d’informations, consultez la [Référence des services admissibles à HIPAA](https://aws.amazon.com/compliance/hipaa-eligible-services-reference/).
+ Les AMI Bottlerocket sont disponibles et préconfigurées pour utiliser des modules cryptographiques validés FIPS 140-3. Cela inclut le module cryptographique Amazon Linux 2023 Kernel Crypto API et le module cryptographique AWS-LC. Pour de plus amples informations, consultez [Préparez vos nœuds de travail à la norme FIPS avec Bottlerocket FIPS AMIs](bottlerocket-fips-amis.md).

# Préparez vos nœuds de travail à la norme FIPS avec Bottlerocket FIPS AMIs
<a name="bottlerocket-fips-amis"></a>

La norme Federal Information Processing Standard (FIPS) Publication 140-3 est un standard gouvernemental des États-Unis et du Canada qui définit les exigences de sécurité applicables aux modules cryptographiques protégeant des informations sensibles. Bottlerocket facilite l'adhésion à la norme FIPS en proposant un AMIs noyau FIPS.

Ils AMIs sont préconfigurés pour utiliser des modules cryptographiques validés par la norme FIPS 140-3. Cela inclut le module cryptographique de l'API Kernel Crypto d'Amazon Linux 2023 et le module cryptographique AWS-LC.

L'utilisation de Bottlerocket FIPS AMIs rend vos nœuds de travail « prêts pour la norme FIPS », mais pas automatiquement « conformes à la norme FIPS ». Pour plus d'informations, consultez la [norme fédérale de traitement de l'information (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

## Considérations
<a name="_considerations"></a>
+ Si votre cluster utilise des sous-réseaux isolés, le point de terminaison FIPS d’Amazon ECR risque de ne pas être accessible. Cela peut entraîner l’échec de l’amorçage des nœuds. Assurez-vous que votre configuration réseau permet d’accéder aux points de terminaison FIPS nécessaires. *Pour plus d'informations, consultez la section [Accès à une ressource via un point de terminaison VPC de ressource](https://docs.aws.amazon.com/vpc/latest/privatelink/use-resource-endpoint.html) dans le AWS PrivateLink Guide.*
+ Si votre cluster utilise un sous-réseau avec [PrivateLink](vpc-interface-endpoints.md), les extractions d'images échoueront car les points de terminaison FIPS Amazon ECR ne sont pas disponibles via. PrivateLink

## Création d’un groupe de nœuds géré avec une AMI Bottlerocket FIPS
<a name="_create_a_managed_node_group_with_a_bottlerocket_fips_ami"></a>

L'AMI FIPS Bottlerocket est disponible en quatre variantes pour prendre en charge vos charges de travail :
+  `BOTTLEROCKET_x86_64_FIPS` 
+  `BOTTLEROCKET_ARM_64_FIPS` 
+  `BOTTLEROCKET_x86_64_NVIDIA_FIPS` 
+  `BOTTLEROCKET_ARM_64_NVIDIA_FIPS` 

Pour créer un groupe de nœuds géré utilisant une AMI Bottlerocket FIPS, choisissez le type d’AMI approprié lors du processus de création. Pour de plus amples informations, veuillez consulter [Création d’un groupe de nœuds gérés pour votre cluster](create-managed-node-group.md).

Pour plus d’informations sur la sélection des variantes compatibles FIPS, consultez [Récupérer les ID d’AMI Bottlerocket recommandés](retrieve-ami-id-bottlerocket.md).

## Désactiver le point de terminaison FIPS pour les régions non prises en charge AWS
<a name="disable_the_fips_endpoint_for_non_supported_shared_aws_regions"></a>

Les systèmes FIPS Bottlerocket AMIs sont pris en charge directement aux États-Unis d'Amérique, y compris dans les régions (américaines). AWS GovCloud Pour AWS les régions où AMIs ils sont disponibles mais ne sont pas directement pris en charge, vous pouvez toujours les utiliser AMIs en créant un groupe de nœuds gérés avec un modèle de lancement.

Les AMI Bottlerocket FIPS s’appuient sur le point de terminaison FIPS d’Amazon ECR lors de l’amorçage, mais ce point de terminaison n’est généralement pas disponible en dehors des États-Unis. Pour utiliser l'AMI pour son noyau FIPS dans les AWS régions où le point de terminaison Amazon ECR FIPS n'est pas disponible, procédez comme suit pour désactiver le point de terminaison FIPS :

1. Créez un nouveau fichier de configuration avec le contenu ci-dessous, ou ajoutez-le à votre fichier de configuration existant.

```
[default]
use_fips_endpoint=false
```

1. Encodez le contenu du fichier au format Base64.

1. Dans la section `UserData` de votre modèle de lancement, ajoutez la chaîne encodée ci-dessus au format TOML :

```
[settings.aws]
config = "<your-base64-encoded-string>"
```

Pour les autres paramètres, consultez la [description des paramètres de Bottlerocket sur](https://github.com/bottlerocket-os/bottlerocket?tab=readme-ov-file#description-of-settings). GitHub

Voici un exemple de `UserData` d’un modèle de lancement :

```
[settings]
motd = "Hello from eksctl!"
[settings.aws]
config = "W2RlZmF1bHRdCnVzZV9maXBzX2VuZHBvaW50PWZhbHNlCg==" # Base64-encoded string.
[settings.kubernetes]
api-server = "<api-server-endpoint>"
cluster-certificate = "<cluster-certificate-authority>"
cluster-name = "<cluster-name>"
...<other-settings>
```

Pour plus d’informations sur la création d’un modèle de lancement contenant des données utilisateur, consultez [Personnaliser les nœuds gérés à l’aide de modèles de lancement](launch-templates.md).