Concessione dell’accesso alle risorse nel tuo Amazon VPC per gli endpoint ospitati SageMaker AI - Amazon SageMaker AI

Concessione dell’accesso alle risorse nel tuo Amazon VPC per gli endpoint ospitati SageMaker AI

Configurazione di un modello per l'accesso ad Amazon VPC

Per specificare le sottoreti e i gruppi di sicurezza nel tuo VPC privato, utilizza il parametro di richiesta VpcConfig dell’API CreateModel o fornisci queste informazioni quando crei un modello nella console SageMaker AI. SageMaker AI utilizza queste informazioni per creare interfacce di rete e quindi le collega ai tuoi container di modello. Le interfacce di rete forniscono ai container di modello una connessione di rete all'interno del tuo VPC che non è connesso a Internet. Consentono anche al tuo modello di connettersi alle risorse nel tuo VPC privato.

Nota

Devi creare almeno due sottoreti in diverse zone di disponibilità nel tuo VPC privato, anche se hai solo un'istanza di hosting.

Di seguito viene mostrato un esempio del parametro VpcConfig che includi nella tua chiamata a CreateModel:

VpcConfig: { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] }

Configurazione del VPC privato per Hosting SageMaker AI

Quando configuri il VPC privato per i tuoi modelli di SageMaker AI, utilizza le seguenti linee guida. Per informazioni su come configurare un VPC, consulta Utilizzo di VPC e sottoreti nella Guida per l'utente di Amazon VPC.

Verificare che le sottoreti abbiano abbastanza indirizzi IP

Le istanze di addestramento che non utilizzano un Elastic Fabric Adapter (EFA) devono avere almeno 2 indirizzi IP privati. Le istanze di addestramento che utilizzano un EFA devono avere almeno 5 indirizzi IP privati. Per ulteriori informazioni, consulta Indirizzi IP multipli nella Guida per l'utente di Amazon EC2.

Creazione di un endpoint VPC Amazon S3

Se configuri il tuo VPC in modo che i container di modello non abbiano accesso a Internet, non possono connettersi ai bucket Amazon S3 che contengono i dati, a meno che non crei un endpoint VPC che consente l'accesso. La creazione di un endpoint VPC consente ai tuoi container di modello di accedere ai bucket in cui archivi i tuoi dati e artefatti del modello. Ti consigliamo inoltre di creare una policy personalizzata che consente l'accesso ai tuoi bucket S3 solo alle richieste dal tuo VPC privato. Per ulteriori informazioni, consulta Endpoints for Amazon S3.

Per creare un endpoint VPC Amazon S3:
  1. Accedi alla console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel riquadro di navigazione, selezionare Endpoints (Endpoint) e scegliere Create Endpoint (Crea endpoint).

  3. In Nome del servizio scegli com.amazonaws.region.s3, dove region è il nome della Regione AWS in cui risiede il tuo VPC.

  4. In VPC scegliere il VPC da utilizzare per l'endpoint.

  5. Alla voce Configura tabelle di routing, scegli le tabelle di routing che saranno utilizzate dall'endpoint. Il servizio VPC aggiunge automaticamente una route a ogni tabella di routing selezionata che indirizza il traffico Amazon S3 al nuovo endpoint.

  6. In Policy scegli Accesso completo per consentire l'accesso completo al servizio Amazon S3 da parte di qualsiasi utente o servizio all'interno del VPC. Scegliere Custom (Personalizzato) per limitare ulteriormente l'accesso. Per ulteriori informazioni, consulta Utilizzo di una policy di endpoint personalizzata per limitare l'accesso ad Amazon S3.

Utilizzo di una policy di endpoint personalizzata per limitare l'accesso ad Amazon S3

La policy dell'endpoint predefinita consente l'accesso completo ad Amazon Simple Storage Service (Amazon S3) da parte di qualsiasi utente o servizio nel tuo VPC. Per limitare ulteriormente l'accesso ad Amazon S3, crea una policy di endpoint personalizzata. Per ulteriori informazioni, consulta Utilizzo delle policy dell'endpoint per Amazon S3.

Puoi anche possibile utilizzare una policy di bucket per limitare l'accesso ai bucket S3 al solo traffico proveniente dal tuo Amazon VPC. Per ulteriori informazioni, consulta Utilizzo delle policy bucket Amazon S3.

Limitare l'installazione dei pacchetti nel container del modello con una policy dell'endpoint personalizzata

La policy di endpoint predefinita permette agli utenti di installare pacchetti dai repository di Amazon Linux e Amazon Linux 2 nel container di modello. Per impedire agli utenti di installare pacchetti da tali repository, creare una policy dell'endpoint personalizzata che neghi esplicitamente l'accesso ai repository di Amazon Linux e Amazon Linux 2. Di seguito è riportato un esempio di policy che nega l'accesso a questi repository:

{ "Statement": [ { "Sid": "AmazonLinuxAMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::packages.*.amazonaws.com/*", "arn:aws:s3:::repo.*.amazonaws.com/*" ] } ] } { "Statement": [ { "Sid": "AmazonLinux2AMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" ] } ] }

Aggiunta a policy IAM personalizzate di autorizzazioni per l'accesso all'endpoint da parte dei container eseguiti in un VPC

La policy gestita SageMakerFullAccess include le autorizzazioni per l'utilizzo di modelli configurati per l'accesso ad Amazon VPC tramite un endpoint. Queste autorizzazioni consentono a SageMaker AI di creare un’interfaccia di rete elastica e di collegarla ai container del modello eseguiti su un VPC. Se utilizzi la tua policy IAM, per utilizzare i modelli configurati per l'accesso al VPC devi aggiungere ad essa le seguenti autorizzazioni.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVpcEndpoints", "ec2:DescribeDhcpOptions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:CreateNetworkInterface" ], "Resource": "*" } ] }

Per ulteriori informazioni sulla policy gestita SageMakerFullAccess, consultare Policy gestita da AWS: AmazonSageMakerFullAccess.

Configurare le tabelle di routing

Utilizza le impostazioni DNS predefinite per la tabella di routing di endpoint, in modo che gli URL Amazon S3 standard (ad esempio http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket) vengano risolti. Se non utilizzi le impostazioni DNS predefinite, assicurati che gli URL che utilizzi per specificare le posizioni dei dati nei tuoi modelli si risolvano configurando le tabelle di routing di endpoint. Per informazioni sulle tabelle di routing di endpoint VPC, consulta Routing per endpoint gateway nella Guida per l'utente di Amazon VPC.

Connessione alle risorse al di fuori del VPC

Se configuri il tuo VPC in modo che non abbia accesso a Internet, i modelli che utilizzano quel VPC non hanno accesso a risorse esterne al VPC. Se il modello deve accedere a risorse esterne al VPC, fornisci l'accesso con una delle seguenti opzioni:

  • Se il tuo modello deve accedere a un servizio AWS che supporta gli endpoint VPC di interfaccia, crea un endpoint da connettere a quel servizio. Per un elenco dei servizi che supportano gli endpoint di interfaccia, consulta Endpoint VPC nella Guida per l'utente di Amazon VPC. Per informazioni sulla creazione dell'endpoint VPC di interfaccia, consulta Endpoint VPC di interfaccia (AWS PrivateLink) nella Guida per l'utente di Amazon VPC.

  • Se il modello deve accedere a un servizio AWS che non supporta gli endpoint VPC di interfaccia o a una risorsa esterna ad AWS, crea un gateway NAT e configura i gruppi di sicurezza per consentire le connessioni in uscita. Per informazioni sulla configurazione di un gateway NAT per il VPC, consulta Scenario 2: VPC con sottoreti pubbliche e private (NAT) nella Guida per l'utente di Amazon Virtual Private Cloud.