

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Inferenza in tempo reale a bassa latenza con AWS PrivateLink
<a name="realtime-endpoints-privatelink"></a>

 Amazon SageMaker AI offre una bassa latenza per le inferenze in tempo reale, mantenendo al contempo disponibilità e resilienza elevate utilizzando la distribuzione Multi-AZ. La latenza dell'applicazione è costituita da due componenti principali: la latenza dell'infrastruttura o sovraccarico e la latenza dell'inferenza del modello. La riduzione della latenza di sovraccarico apre nuove possibilità, come l'implementazione di modelli più complessi, precisi e accurati o la suddivisione di applicazioni monolitiche in moduli di microservizi scalabili e gestibili. Puoi ridurre la latenza per le inferenze in tempo reale con l'intelligenza artificiale utilizzando una distribuzione. SageMaker AWS PrivateLink Con AWS PrivateLink, puoi accedere privatamente a tutte le operazioni SageMaker API dal tuo Virtual Private Cloud (VPC) in modo scalabile utilizzando gli endpoint VPC dell'interfaccia. Un endpoint VPC di interfaccia è un'interfaccia di rete elastica nella sottorete con indirizzi IP privati che funge da punto di ingresso per tutte le chiamate API. SageMaker 

Per impostazione predefinita, un endpoint SageMaker AI con 2 o più istanze viene distribuito in almeno 2 zone di AWS disponibilità (AZs) e le istanze in qualsiasi AZ possono elaborare le chiamate. Ciò comporta uno o più "salti" di AZ che contribuiscono alla latenza di sovraccarico. Un'implementazione AWS PrivateLink con l'opzione `privateDNSEnabled` impostata su `true` attenua questo problema grazie al raggiungimento di due obiettivi:
+ Mantiene tutto il traffico di inferenza all'interno del tuo VPC.
+ Mantiene il traffico di chiamata nella stessa AZ del client che lo ha originato quando utilizza Runtime. SageMaker In questo modo si evitano i «salti» tra AZs una riduzione della latenza di sovraccarico e l'altra.

Le seguenti sezioni di questa guida mostrano come ridurre la latenza delle inferenze in tempo reale con la distribuzione di AWS PrivateLink .

**Topics**
+ [Implementa AWS PrivateLink](#deploy-privatelink)
+ [Implementa un endpoint SageMaker AI in un VPC](#deploy-sagemaker-inference-endpoint)
+ [Invoca l'endpoint AI SageMaker](#invoke-sagemaker-inference-endpoint)

## Implementa AWS PrivateLink
<a name="deploy-privatelink"></a>

Per la distribuzione AWS PrivateLink, crea innanzitutto un endpoint di interfaccia per il VPC da cui ti connetti agli endpoint AI. SageMaker Segui i passaggi in [Accedere a un AWS servizio utilizzando un endpoint VPC di interfaccia per creare l'endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) dell'interfaccia. Durante la creazione dell'endpoint, seleziona le seguenti impostazioni nell'interfaccia della console:
+ Seleziona la casella di controllo **Abilita nome DNS** in **Impostazioni aggiuntive**
+ Seleziona i gruppi di sicurezza appropriati e le sottoreti da utilizzare con gli endpoint AI. SageMaker 

Assicurati inoltre che il VPC abbia i nomi host DNS attivati. Per ulteriori informazioni su come modificare gli attributi DNS per il VPC, consulta la sezione [Visualizzazione e aggiornamento degli attributi DNS per il VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating).

## Implementa un endpoint SageMaker AI in un VPC
<a name="deploy-sagemaker-inference-endpoint"></a>

Per ottenere una bassa latenza di overhead, crea un endpoint SageMaker AI utilizzando le stesse sottoreti che hai specificato durante la distribuzione. AWS PrivateLink Queste sottoreti devono corrispondere a quelle AZs dell'applicazione client, come mostrato nel seguente frammento di codice.

```
model_name = '<the-name-of-your-model>'

vpc = 'vpc-0123456789abcdef0'
subnet_a = 'subnet-0123456789abcdef0'
subnet_b = 'subnet-0123456789abcdef1'
security_group = 'sg-0123456789abcdef0'

create_model_response = sagemaker_client.create_model(
    ModelName = model_name,
    ExecutionRoleArn = sagemaker_role,
    PrimaryContainer = {
        'Image': container,
        'ModelDataUrl': model_url
    },
    VpcConfig = {
        'SecurityGroupIds': [security_group],
        'Subnets': [subnet_a, subnet_b],
    },
)
```

Il frammento di codice sopra menzionato presuppone che tu abbia seguito le fasi descritte in [Prima di iniziare](realtime-endpoints-deploy-models.md#deploy-prereqs).

## Invoca l'endpoint AI SageMaker
<a name="invoke-sagemaker-inference-endpoint"></a>

Infine, specifica il client SageMaker Runtime e richiama l'endpoint SageMaker AI come mostrato nel seguente frammento di codice.

```
endpoint_name = '<endpoint-name>'
  
runtime_client = boto3.client('sagemaker-runtime')
response = runtime_client.invoke_endpoint(EndpointName=endpoint_name, 
                                          ContentType='text/csv', 
                                          Body=payload)
```

Per ulteriori informazioni sulla configurazione degli endpoint, consulta [Implementazione di modelli per l’inferenza in tempo reale](realtime-endpoints-deploy-models.md).