Ir al contenido principal

Requisitos Previos y Permisos IAM

Antes de instalar AI Cockpit: Smart Engineering en Amazon EKS, prepara el clúster, los buckets S3 y los permisos IAM de runtime.

Requisitos previos del clúster y herramientas

Antes de iniciar el despliegue, confirma que tienes:

  • Una cuenta AWS activa con permiso para suscribirse a productos de AWS Marketplace
  • Un clúster Amazon EKS con acceso por kubectl
  • helm instalado localmente
  • Una storage class por defecto en el clúster para los volúmenes de PostgreSQL y Valkey
  • Un controlador de ingress si quieres exponer la aplicación con DNS públicos

Valida el acceso local:

aws eks update-kubeconfig --region us-east-1 --name <cluster-name>
kubectl get nodes
helm version

Buckets S3 requeridos

El producto requiere tres buckets administrados por el cliente:

  • uno para subida de código fuente
  • uno para artefactos y salidas generadas
  • uno para artefactos de workspace

Ejemplo:

smart-eng-source
smart-eng-output
smart-eng-workspace

Estos nombres se informan al chart Helm durante la instalación.

Modelo recomendado de workload identity

Para Amazon EKS, el modelo de identidad recomendado en runtime es IRSA.

Eso significa que:

  • los pods usan una service account Kubernetes dedicada
  • esa service account se asocia a un rol IAM
  • la aplicación usa credenciales temporales AWS mediante la cadena estándar del SDK

Crear la service account de Kubernetes

Crea un namespace y una service account dedicada:

kubectl create namespace aic-modernization
kubectl create serviceaccount aic-modernization -n aic-modernization

Después de crear el rol IAM, la service account debería verse así:

apiVersion: v1
kind: ServiceAccount
metadata:
name: aic-modernization
namespace: aic-modernization
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::<account-id>:role/aic-modernization-marketplace
Aviso Sobre la Service Account

Algunos flujos de instalación de Marketplace pasan ${AWSMP_SERVICE_ACCOUNT} como valor de entrada, pero eso no significa que la service account de Kubernetes se cree automáticamente. Si eso ocurre en tu entorno, crea la service account manualmente antes de ejecutar helm install o helm upgrade.

Permisos IAM requeridos

El rol IAM de runtime debe permitir acceso a:

  • AWS Marketplace metering
  • APIs de consumo de AWS License Manager
  • los tres buckets S3
  • invocación de modelos en Amazon Bedrock
  • descubrimiento del catálogo de modelos de Bedrock

Agrega permisos para:

  • AWSMarketplaceMeteringRegisterUsage
  • AWSMarketplaceMeteringFullAccess
  • AWSLicenseManagerConsumptionPolicy
  • s3:ListBucket
  • s3:GetObject
  • s3:PutObject
  • s3:DeleteObject
  • bedrock:InvokeModel
  • bedrock:InvokeModelWithResponseStream
  • bedrock:ListFoundationModels

Ejemplo de política IAM

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "MarketplaceAndLicense",
"Effect": "Allow",
"Action": [
"aws-marketplace:MeterUsage",
"aws-marketplace:RegisterUsage",
"license-manager:CheckoutLicense",
"license-manager:GetAccessToken"
],
"Resource": "*"
},
{
"Sid": "S3Buckets",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<source-bucket>",
"arn:aws:s3:::<output-bucket>",
"arn:aws:s3:::<workspace-bucket>"
]
},
{
"Sid": "S3Objects",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::<source-bucket>/*",
"arn:aws:s3:::<output-bucket>/*",
"arn:aws:s3:::<workspace-bucket>/*"
]
},
{
"Sid": "BedrockRuntime",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:us-east-1::foundation-model/<primary-model-id>",
"arn:aws:bedrock:us-east-1::foundation-model/<secondary-model-id>"
]
},
{
"Sid": "BedrockCatalog",
"Effect": "Allow",
"Action": [
"bedrock:ListFoundationModels"
],
"Resource": "*"
}
]
}

Comportamiento del runtime en Marketplace

La aplicación valida el entitlement de Marketplace como parte del runtime, pero el cliente no necesita informar un parámetro de Marketplace license secret en el comando de instalación para el flujo actual documentado en esta sección.