

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Instale o complemento SageMaker AI Spaces
<a name="operator-install"></a>

## Dependências
<a name="dependencies"></a>

**Complemento do Amazon EKS Pod Identity Agent**
+ Necessário para que o operador obtenha AWS as credenciais
+ **Normalmente pré-instalado** na maioria dos clusters EKS
+ Instalação: por meio de complementos EKS

**Gerente de certificados**
+ Necessário para o gerenciamento de certificados TLS
+ **Pré-instalado** se estiver usando a criação HyperPod rápida de cluster
+ Instalação: por meio de complementos EKS

**Controlador EBS CSI**
+ Necessário para armazenamento persistente de espaço (volumes do EBS)
+ **Instalado automaticamente** ao usar o SageMaker console para instalar
+ Requer a função do IAM com `AmazonEBSCSIDriverPolicy` permissões HyperPod específicas de \$1
+ Instalação: por meio de complementos do EKS. No entanto, certifique-se de seguir o guia para instalar as permissões adicionais necessárias para HyperPod. 
+ Referência: [Usando o driver CSI do Amazon EBS](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-ebs.html) em HyperPod

## Dependências adicionais para o WebUI Access
<a name="-additional-dependencies"></a>

**AWS Controlador de balanceador de carga**
+ **Pré-instalado** se estiver usando a criação HyperPod rápida de cluster
+ Instalação: Via Helm
+ Guia de instalação manual: [Instalação do AWS Load Balancer Controller](https://docs.aws.amazon.com/eks/latest/userguide/lbc-helm.html)

**DNS externo**
+ Obrigatório ao usar um domínio personalizado para acesso ao WebUI
+ Gerencia registros DNS do Route53 automaticamente
+ Requer a função do IAM com permissões do Route53
+ Instalação: por meio de complementos EKS

## Instalação
<a name="installation"></a>

Antes de começar, verifique se você tem:
+ Um SageMaker HyperPod cluster ativo com pelo menos um nó de trabalho executando o Kubernetes versão 1.30 ou posterior
+ Pelo menos um nó de trabalho com tipo mínimo de instância (XX vCPU, YY GiB de memória)

### Instalando o complemento Amazon SageMaker Spaces
<a name="space-add-on"></a>

Você pode instalar o complemento SageMaker Spaces usando a instalação rápida para as configurações padrão ou a instalação personalizada para configuração avançada.

#### Instalação rápida
<a name="quick-install"></a>

1. Abra o SageMaker console da Amazon em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Escolha seu cluster na lista de clusters.

1. Na guia IDE e Notebooks, localize Amazon SageMaker Spaces e escolha Instalação rápida.

Instalação rápida automática:
+ Cria as funções do IAM necessárias para o complemento
+ Ativa o modo de acesso remoto com as funções necessárias do IAM para Systems Manager
+ Instala o complemento e configura a associação de identidade do pod

#### Instalação personalizada
<a name="custom-install"></a>

1. Abra o SageMaker console da Amazon em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Escolha seu cluster na lista de clusters.

1. Na guia IDE e Notebooks, localize Amazon SageMaker Spaces e escolha Instalação personalizada.

1. Configure as seguintes opções:

   **Funções do IAM exigidas pelo complemento**
   + Escolha se deseja criar novas funções do IAM com as permissões recomendadas ou usar as existentes com as permissões necessárias (consulte a seção Configuração de permissões do administrador acima)

   **Configuração de acesso remoto**
   + Habilite para permitir que os usuários se conectem a espaços do Visual Studio Code local usando o AWS Systems Manager
   + Para a função de instância gerenciada do SSM:
     + **Criar nova função** — O complemento cria e gerencia a função com as permissões necessárias do Systems Manager
     + **Usar a função existente** — Selecione uma função pré-configurada com as permissões necessárias do Systems Manager
   + Certifique-se de que a função de execução do complemento Spaces tenha PassRole permissões para a função de instância gerenciada do SSM
**nota**  
A ativação do acesso remoto ativa o nível de instâncias avançadas do AWS Systems Manager para cobranças adicionais por instância. Para obter informações sobre preços, consulte Preços do Systems Manager.

   **Configuração de acesso ao navegador da Web**
   + Habilite para permitir que os usuários acessem espaços por meio de um navegador da Web usando certificados DNS e SSL do Route 53
   + **Pré-requisitos:** instalar o AWS Load Balancer Controller antes de ativar o acesso ao navegador
   + **Zona hospedada do Route 53:** selecione uma zona hospedada existente para um domínio ou subdomínio que você possui. O domínio ou subdomínio deve estar registrado e sob seu controle para permitir o gerenciamento de DNS e a validação do certificado SSL.

     Para obter mais detalhes sobre o registro de domínio, consulte [Registrando um novo domínio](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html#domain-register-procedure-section) no Route 53 Developer Guide.
   + **Subdomínio:** insira o prefixo do subdomínio (somente alfanumérico e hífens, máximo de 63 caracteres)
   + **Certificado SSL:** selecione um certificado SSL existente no Certificate Manager AWS . O certificado deve ser válido e abranger tanto seu subdomínio (por exemplo, subdomínio.domínio.com) quanto subdomínios curinga (por exemplo, \$1.subdomínio.domínio.com) para oferecer suporte ao acesso individual ao espaço. URLs
   +  **Chave de assinatura de token:** selecione uma chave assimétrica AWS KMS para assinatura de token JWT. A chave é usada para criptografar tokens de autenticação para acesso seguro ao WebUI. Você pode criar uma nova chave assimétrica no KMS ou selecionar uma existente à qual sua conta tenha acesso.
**nota**  
As cobranças padrão do Route 53 se aplicam a zonas hospedadas e consultas de DNS. Para obter informações sobre preços, consulte Preços do Route 53.

#### Instalação do complemento EKS - Jupyter K8s com WebUI
<a name="webui-install"></a>

##### Arquivo de configuração
<a name="configure-file"></a>

Crie`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>"
```

**Substitua os seguintes espaços reservados:**
+ <DOMAIN\$1NAME>: Seu nome de domínio (por exemplo,`jupyter.example.com`)
+ <ACM\$1CERTIFICATE\$1ARN>: O ARN do seu certificado ACM (por exemplo, `arn:aws:acm:us-west-2:111122223333:certificate/12345678-1234-1234-1234-123456789012` 
+ <KMS\$1KEY\$1ARN>: O ARN da sua chave KMS (por exemplo, `arn:aws:kms:us-west-2:111122223333:key/12345678-1234-1234-1234-123456789012`

##### Instalação 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>
```

**Para atualizar o complemento existente:**

```
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>
```

##### Instalação via Console de gerenciamento da AWS
<a name="install-via-console"></a>

1. Vá para o **console EKS** → Selecione seu cluster

1. Clique na guia **Complementos** → **Adicionar novo**

1. Selecione o complemento **SageMaker Spaces**

1. Cole a configuração YAML acima em Configurações **opcionais**

1. Clique em **Avançar** e revise as configurações do complemento

1. Clique em **Create (Criar)**

##### Verifique a instalação
<a name="install-verify"></a>

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

##### Personalizando atributos do ALB
<a name="customize-alb"></a>

Por padrão, o complemento cria um balanceador de carga público para uso com a interface do usuário da web. Você pode personalizar os atributos do balanceador de carga usando as propriedades do complemento EKS.

Para criar um ALB interno, defina o esquema como: `internal`

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

Você também pode usar o `alb.annotations` campo para personalizar as configurações do 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"
```

**Anotações ALB comuns:**
+ `alb.ingress.kubernetes.io/security-groups`: Especifique grupos de segurança para o ALB
+ `alb.ingress.kubernetes.io/subnets`: Especifique sub-redes para o ALB
+ `alb.ingress.kubernetes.io/load-balancer-attributes`: defina os atributos do ALB (tempo limite de inatividade, registros de acesso etc.)

Consulte a [documentação do AWS Load Balancer Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/) para ver todas as anotações disponíveis.

### Atualização/controle de versão do complemento
<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>
```