

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.

# Installez SageMaker AI Spaces Add-on
<a name="operator-install"></a>

## Dépendances
<a name="dependencies"></a>

**Module complémentaire Amazon EKS Pod Identity Agent **
+ Obligatoire pour que l'opérateur obtienne des AWS informations d'identification
+ **Généralement préinstallé ** sur la plupart des clusters EKS
+ Installation : via les modules complémentaires EKS

**Cert-manager**
+ Nécessaire pour la gestion des certificats TLS
+ **Pre-installed**si vous utilisez HyperPod Quick Cluster Create
+ Installation : via les modules complémentaires EKS

**Pilote EBS CSI **
+ Requis pour le stockage persistant dans l'espace (volumes EBS)
+ **Installé automatiquement ** lors de l'utilisation de SageMaker la console pour l'installation
+ Nécessite un rôle IAM avec des autorisations `AmazonEBSCSIDriverPolicy` \+ HyperPod-specific 
+ Installation : via les modules complémentaires EKS. Cependant, assurez-vous de suivre le guide pour installer les autorisations supplémentaires nécessaires pour HyperPod. 
+ Référence : [ Utilisation du pilote Amazon EBS CSI sur HyperPod ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-ebs.html)

## Dépendances supplémentaires pour WebUI Access
<a name="-additional-dependencies"></a>

**AWS Contrôleur d'équilibrage de charge **
+ **Pre-installed**si vous utilisez HyperPod Quick Cluster Create
+ Installation : Via Helm
+ Guide d'installation manuelle : [ Installation du AWS Load Balancer Controller ](https://docs.aws.amazon.com/eks/latest/userguide/lbc-helm.html)

**DNS externe **
+ Obligatoire lors de l'utilisation d'un domaine personnalisé pour l'accès à WebUI
+ Gère automatiquement les enregistrements DNS de Route53
+ Nécessite un rôle IAM avec les autorisations Route53
+ Installation : via les modules complémentaires EKS

## Installation
<a name="installation"></a>

Avant de commencer, assurez-vous que vous disposez des éléments suivants :
+ Un SageMaker HyperPod cluster actif avec au moins un nœud de travail exécutant Kubernetes version 1.30 ou ultérieure
+ Au moins un nœud de travail avec un type d'instance minimal (XX vCPU, YY GiB de mémoire)

### Installation du module complémentaire Amazon SageMaker Spaces
<a name="space-add-on"></a>

Vous pouvez installer le module complémentaire SageMaker Spaces à l'aide de l'installation rapide pour les paramètres par défaut ou de l'installation personnalisée pour une configuration avancée.

#### Installation rapide
<a name="quick-install"></a>

1. Ouvrez la SageMaker console Amazon à l'adresse [ https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Choisissez votre cluster dans la liste des clusters.

1. Dans l'onglet IDE et blocs-notes, localisez Amazon SageMaker Spaces, puis choisissez Installation rapide.

Installation rapide et automatique :
+ Crée les rôles IAM requis pour le module complémentaire
+ Active le mode d'accès à distance avec les rôles IAM requis pour Systems Manager
+ Installe le module complémentaire et configure l'association d'identité du pod

#### Installation personnalisée
<a name="custom-install"></a>

1. Ouvrez la SageMaker console Amazon à l'adresse [ https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Choisissez votre cluster dans la liste des clusters.

1. Dans l'onglet IDE et blocs-notes, localisez Amazon SageMaker Spaces, puis choisissez Installation personnalisée.

1. Configurez les options suivantes :

   **Rôles IAM requis par module complémentaire **
   + Choisissez de créer de nouveaux rôles IAM avec les autorisations recommandées ou d'utiliser les rôles existants avec les autorisations requises (reportez-vous à la section Configuration des autorisations d'administrateur ci-dessus)

   **Configuration de l'accès à distance **
   + Activer pour permettre aux utilisateurs de se connecter à des espaces à partir de Visual Studio Code local à l'aide de AWS Systems Manager
   + Pour le rôle d'instance gérée SSM :
     + **Créer un nouveau rôle ** : le module complémentaire crée et gère le rôle avec les autorisations Systems Manager requises
     + **Utiliser le rôle existant ** : sélectionnez un rôle préconfiguré avec les autorisations Systems Manager nécessaires
   + Assurez-vous que le rôle Add-on d'exécution des espaces dispose PassRole des autorisations nécessaires pour le rôle d'instance gérée SSM
**Note**  
L'activation de l'accès à distance active le niveau d'instances avancées de AWS Systems Manager moyennant des frais supplémentaires par instance. Pour plus d'informations sur les tarifs, consultez la section Tarification de Systems Manager.

   **Configuration de l'accès au navigateur Web **
   + Activer pour permettre aux utilisateurs d'accéder aux espaces via un navigateur Web à l'aide des certificats DNS et SSL Route 53
   + **Conditions préalables : ** installez AWS Load Balancer Controller avant d'activer l'accès au navigateur
   + **Zone hébergée Route 53 : ** sélectionnez une zone hébergée existante pour un domaine ou un sous-domaine dont vous êtes propriétaire. Le domaine ou le sous-domaine doit être enregistré et sous votre contrôle pour permettre la gestion du DNS et la validation des certificats SSL.

     Pour plus de détails sur l'enregistrement de domaines, consultez la section [ Enregistrement d'un nouveau domaine ](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html#domain-register-procedure-section) dans le Guide du développeur Route 53.
   + **Sous-domaine : ** entrez le préfixe du sous-domaine (caractères alphanumériques et traits d'union uniquement, 63 caractères maximum)
   + **Certificat SSL : ** sélectionnez un certificat SSL existant dans le Gestionnaire de AWS certificats. Le certificat doit être valide et couvrir à la fois votre sous-domaine (par exemple, subdomain.domain.com) et les sous-domaines génériques (par exemple, \*.subdomain.domain.com) pour prendre en charge les URL d'accès aux espaces individuels.
   +  **Clé de signature de jeton : ** sélectionnez une clé asymétrique AWS KMS pour la signature de jetons JWT. La clé est utilisée pour crypter les jetons d'authentification pour un accès sécurisé à l'interface utilisateur Web. Vous pouvez créer une nouvelle clé asymétrique dans KMS ou sélectionner une clé existante à laquelle votre compte a accès.
**Note**  
Les frais standard de la Route 53 s'appliquent aux zones hébergées et aux requêtes DNS. Pour plus d'informations sur les tarifs, consultez la section Tarification de la Route 53.

#### Installation de l'extension EKS - Jupyter K8s avec WebUI
<a name="webui-install"></a>

##### Fichier de configuration
<a name="configure-file"></a>

Créez `addon-config.yaml` :

```
jupyter-k8s:
  workspacePodWatching:
    enable: true

jupyter-k8s-aws-hyperpod:
  clusterWebUI:
    enabled: true
    domain: "<DOMAIN_NAME>"
    awsCertificateArn: "<ACM_CERTIFICATE_ARN>"
    kmsEncryptionContext:
      enabled: true
    traefik:
      shouldInstall: true
    auth:
      kmsKeyId: "<KMS_KEY_ARN>"
```

**Remplacez les espaces réservés suivants : **
+ <DOMAIN\_NAME>: Votre nom de domaine (par exemple,`jupyter.example.com`)
+ <ACM\_CERTIFICATE\_ARN>: l'ARN de votre certificat ACM (par exemple, `arn:aws:acm:us-west-2:111122223333:certificate/12345678-1234-1234-1234-123456789012` 
+ <KMS\_KEY\_ARN>: l'ARN de votre clé KMS (par exemple, `arn:aws:kms:us-west-2:111122223333:key/12345678-1234-1234-1234-123456789012`

##### Installation via AWS CLI
<a name="install-via-cli"></a>

```
aws eks create-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --configuration-values file://addon-config.yaml \
  --resolve-conflicts OVERWRITE \
  --region <AWS_REGION>
```

**Pour mettre à jour un module complémentaire existant : **

```
aws eks update-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --configuration-values file://addon-config.yaml \
  --resolve-conflicts OVERWRITE \
  --region <AWS_REGION>
```

##### Installation via Console de gestion AWS
<a name="install-via-console"></a>

1. Accédez à la console ** EKS ** → Sélectionnez votre cluster

1. Cliquez sur ** Add-ons ** l'onglet → ** Ajouter un nouveau **

1. Module complémentaire Select ** SageMaker Spaces **

1. Collez la configuration YAML ci-dessus dans Paramètres de configuration ** facultatifs **

1. Cliquez sur ** Suivant**, puis passez en revue les paramètres de l'extension

1. Cliquez sur ** Créer **

##### Vérifier l'installation
<a name="install-verify"></a>

```
# Check addon status
aws eks describe-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --region <AWS_REGION>
```

##### Personnalisation des attributs ALB
<a name="customize-alb"></a>

Par défaut, l'addon crée un équilibreur de charge public à utiliser avec l'interface utilisateur Web. Vous pouvez personnaliser les attributs de l'équilibreur de charge à l'aide des propriétés du module complémentaire EKS.

Pour créer un ALB interne, définissez le schéma comme suit : `internal`

```
jupyter-k8s-aws-hyperpod:
  clusterWebUI:
    enabled: true
    domain: "<DOMAIN_NAME>"
    awsCertificateArn: "<ACM_CERTIFICATE_ARN>"
    alb:
      scheme: "internal"  # Default is "internet-facing"
```

Vous pouvez également utiliser ce `alb.annotations` champ pour personnaliser les paramètres ALB :

```
jupyter-k8s-aws-hyperpod:
  clusterWebUI:
    enabled: true
    domain: "<DOMAIN_NAME>"
    awsCertificateArn: "<ACM_CERTIFICATE_ARN>"
    alb:
      scheme: "internal"
      annotations:
        alb.ingress.kubernetes.io/security-groups: "<SECURITY_GROUP_ID>"
        alb.ingress.kubernetes.io/subnets: "<SUBNET_ID_1>,<SUBNET_ID_2>"
        alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=60"
```

**Annotations ALB courantes : **
+ `alb.ingress.kubernetes.io/security-groups`: Spécifiez les groupes de sécurité pour l'ALB
+ `alb.ingress.kubernetes.io/subnets`: Spécifiez les sous-réseaux pour l'ALB
+ `alb.ingress.kubernetes.io/load-balancer-attributes`: définissez les attributs ALB (délai d'inactivité, journaux d'accès, etc.)

Consultez [AWS la documentation du Load Balancer Controller ](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/) pour connaître toutes les annotations disponibles.

### Mise à niveau/gestion des versions du module complémentaire
<a name="upgrade-add-on"></a>

```
aws eks update-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --configuration-values file://addon-config.yaml \
  --resolve-conflicts OVERWRITE \
  --region <AWS_REGION>
```