Assegna un'interfaccia di rete per un'attività Amazon ECS - Amazon Elastic Container Service

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à.

Assegna un'interfaccia di rete per un'attività Amazon ECS

Le funzionalità di rete delle attività fornite dalla modalità di rete awsvpc forniscono alle attività Amazon ECS le stesse proprietà di rete delle istanze Amazon EC2. L'utilizzo della modalità awsvpc di rete semplifica il networking in container, poiché hai un maggiore controllo sul modo in cui le tue applicazioni comunicano tra loro e con gli altri servizi all'interno dei tuoi VPC. La modalità awsvpc di rete offre inoltre una maggiore sicurezza per i container, consentendovi di utilizzare gruppi di sicurezza e strumenti di monitoraggio della rete a un livello più granulare nell'ambito delle vostre attività. Puoi anche utilizzare altre funzionalità di rete di Amazon EC2 come VPC Flow Logs per monitorare il traffico da e verso le tue attività. Inoltre, i container che appartengono alla stessa attività possono comunicare tramite l'interfaccia localhost.

La task elastic network interface (ENI) è una funzionalità completamente gestita di Amazon ECS. Amazon ECS crea l'ENI e la collega all'istanza Amazon EC2 dell'host con il gruppo di sicurezza specificato. Il processo invia e riceve il traffico di rete nell'ENI nello stesso modo con cui le istanze Amazon EC2 gestiscono le interfacce di rete primarie. Ad ogni ENI di processo viene assegnato un indirizzo IPv4 privato di default. Se il VPC è abilitato per la modalità dual-stack e si utilizza una sottorete con un blocco CIDR IPv6, anche l'ENI di processo riceverà un indirizzo IPv6. Ogni processo può avere una sola ENI.

Questi ENI sono visibili nella console Amazon EC2 del tuo account. Il tuo account non può scollegare o modificare gli ENI. Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Puoi visualizzare le informazioni sugli allegati ENI per le attività nella console Amazon ECS o con il funzionamento dell'DescribeTasksAPI. Quando l'attività viene interrotta o se il servizio viene ridotto, l'ENI dell'attività viene scollegata ed eliminata.

Se hai bisogno di una maggiore densità ENI, utilizza le impostazioni dell'awsvpcTrunkingaccount. Amazon ECS crea e collega anche un'interfaccia di rete «trunk» per l'istanza del contenitore. La rete trunk è completamente gestita da Amazon ECS. L'ENI trunk viene eliminata quando termini o annulli la registrazione dell'istanza di container dal cluster Amazon ECS. Per ulteriori informazioni sull'impostazione dell'awsvpcTrunkingaccount, consulta. Prerequisiti

È necessario specificare awsvpc nel networkMode parametro della definizione dell'attività. Per ulteriori informazioni, consulta Modalità di rete.

Quindi, quando esegui un'attività o crei un servizio, utilizza il networkConfiguration parametro che include una o più sottoreti per collocare le attività in uno o più gruppi di sicurezza da collegare a un ENI. Per ulteriori informazioni, consulta Configurazione della rete. Le attività vengono posizionate nelle istanze Amazon EC2 compatibili nelle stesse zone di disponibilità delle sottoreti e i gruppi di sicurezza specificati vengono associati all'ENI assegnata all'attività.

Considerazioni per Linux

Tieni in considerazione le informazioni seguenti durante l'utilizzo del sistema operativo Linux.

  • Se utilizzi un'istanza p5.48xlarge in awsvpc modalità, non puoi eseguire più di un'attività sull'istanza.

  • Le attività e i servizi che utilizzano la modalità di awsvpc rete richiedono il ruolo collegato ai servizi Amazon ECS per fornire ad Amazon ECS le autorizzazioni per effettuare chiamate ad altri AWS servizi per tuo conto. Questo ruolo viene creato automaticamente quando crei un cluster oppure quando crei o aggiorni un servizio nella AWS Management Console. Per ulteriori informazioni, consulta Uso di ruoli collegati ai servizi per Amazon ECS. Puoi anche creare il ruolo collegato al servizio con il seguente comando: AWS CLI

    aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
  • L'istanza Linux di Amazon EC2 richiede la versione 1.15.0 o successiva dell'agente del container per eseguire processi che utilizzano la modalità di rete awsvpc. Se utilizzi l'AMI ottimizzata per Amazon ECS, l'istanza deve disporre almeno della versione 1.15.0-4 del pacchetto ecs-init.

  • Amazon ECS popola il nome host del processo con un nome host DNS (interno) fornito da Amazon quando entrambe le opzioni enableDnsHostnames e enableDnsSupport e sono abilitate nel VPC. Se queste opzioni non sono abilitate, il nome host DNS dell'attività è impostato su un nome host casuale. Per ulteriori informazioni sulle impostazioni DNS per un VPC, consulta Utilizzo del DNS con il VPC nella Guida per l'utente di Amazon VPC.

  • Ogni processo Amazon ECS che utilizza la modalità di rete awsvpc riceve la propria interfaccia di rete elastica (ENI), che è collegata all'istanza Amazon EC2 che la ospita. Esiste una quota predefinita per il numero di interfacce di rete che possono essere collegate a un'istanza Linux di Amazon EC2. L'interfaccia di rete principale viene calcolata come unica rispetto a quella quota. Ad esempio, per impostazione predefinita, a un'istanza c5.large possono essere collegate fino a tre ENI. L'interfaccia di rete principale per l'istanza viene calcolata come unica. Puoi collegare altre due ENI all'istanza. Poiché ogni attività che utilizza la modalità di rete awsvpc richiede un'ENI, in genere puoi eseguire solo due attività su questo tipo di istanza. Per ulteriori informazioni sui limiti ENI predefiniti per ogni tipo di istanza, consulta Indirizzi IP per interfaccia di rete per tipo di istanza nella Amazon EC2 User Guide.

  • Amazon ECS supporta l'avvio di istanze Linux di Amazon EC2 che utilizzano tipi di istanze supportati con densità ENI aumentata. Quando decidi di attivare l'impostazione dell'account awsvpcTrunking e registri le istanze Linux di Amazon EC2 che utilizzano questi tipi di istanza nel cluster, queste istanze hanno limiti ENI più elevati. L'utilizzo di queste istanze con questa quota più elevata significa che puoi eseguire più attività su ciascuna istanza Linux di Amazon EC2. Per utilizzare la densità ENI aumentata con la funzionalità di trunking, le istanze Amazon EC2 devono utilizzare la versione 1.28.1 o successiva dell'agente del container. Se utilizzi l'AMI ottimizzata per Amazon ECS, l'istanza deve disporre almeno della versione 1.28.1-2 del pacchetto ecs-init. Per ulteriori informazioni sul consenso esplicito all'impostazione dell'account awsvpcTrunking, consulta Accedi alle funzionalità di Amazon ECS con le impostazioni dell'account. Per ulteriori informazioni su trunking dell'ENI, consulta Aumento delle interfacce di rete di istanze di container Amazon ECS Linux.

  • Quando si ospitano attività che utilizzano la modalità di rete awsvpc sulle istanze Linux di Amazon EC2, le ENI di attività non ricevono indirizzi IP pubblici. Per accedere a Internet, le attività devono essere avviate in una sottorete privata configurata per l'utilizzo di un gateway NAT. Per ulteriori informazioni, consulta Gateway NAT nella Guida per l'utente di Amazon VPC. L'accesso di rete in entrata deve avvenire all'interno di un VPC che utilizza l'indirizzo IP privato oppure deve essere instradato attraverso un load balancer dall'interno del VPC. Le attività avviate all'interno di sottoreti pubbliche non hanno accesso a Internet.

  • Amazon ECS riconosce solo le ENI che collega alle istanze Linux di Amazon EC2. Se hai collegato manualmente le ENI alle tue istanze, Amazon ECS potrebbe tentare di aggiungere un'attività a un'istanza che non dispone di adattatori di rete sufficienti. Ciò può comportare il timeout dell'attività e il passaggio a uno stato di deprovisioning e quindi allo stato di arresto. Ti consigliamo di non collegare manualmente le ENI alle istanze.

  • Le istanze Linux di Amazon EC2 devono essere registrate con la funzionalità ecs.capability.task-eni per essere considerate per il posizionamento di processi con la modalità di rete awsvpc. Le istanze che eseguono la versione 1.15.0-4 o successiva di ecs-init vengono registrate automaticamente con questo attributo.

  • Le ENI che vengono create e collegate alle tue istanze Linux di Amazon EC2 non possono essere scollegate manualmente o modificate dall'account. Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Per rilasciare le ENI per un'attività, interrompi l'attività.

  • È possibile specificare solo 16 sottoreti e 5 gruppi di sicurezza in awsVpcConfiguration durante l'esecuzione di un'attività o la creazione di un servizio che utilizza la modalità di rete awsvpc. Per ulteriori informazioni, consulta AwsVpcConfigurazione nel riferimento all'API di Amazon Elastic Container Service.

  • Quando un processo viene avviato con la modalità di rete awsvpc, l'agente del container di Amazon ECS crea un container pause aggiuntivo per ciascun processo prima di avviare i container nella definizione di attività. Quindi configura lo spazio dei nomi di rete del pause contenitore eseguendo i plugin CNI. amazon-ecs-cni-plugins Quindi l'agente avvia il resto dei container nell'attività in modo che condividano lo stack di rete del container pause. Questo significa che tutti i container in un'attività sono indirizzabili tramite gli indirizzi IP dell'ENI e che possono comunicare tra loro sull'interfaccia localhost.

  • I servizi con attività che utilizzano la modalità di rete awsvpc supportano solo Application Load Balancer e Network Load Balancer. Inoltre, quando crei gruppi target per questi servizi, devi scegliere ip come tipo di target. Non usare instance. Questo perché i processi che utilizzano la modalità di rete awsvpc sono associate a un'ENI e non a un'istanza Linux di Amazon EC2. Per ulteriori informazioni, consulta Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS.

  • Se il VPC viene aggiornato per modificare le opzioni DHCP utilizzate, non puoi applicare queste modifiche alle attività esistenti. Avvia nuove attività con queste modifiche applicate, verifica che funzionino correttamente e quindi interrompi le attività esistenti per modificare in modo sicuro queste configurazioni di rete.

Considerazioni per Windows

Le seguenti considerazioni sono relative all'utilizzo del sistema operativo Windows:

  • Le istanze di container che utilizzano l'AMI Windows Server 2016 ottimizzata per Amazon ECS non possono ospitare attività che utilizzano la modalità di rete awsvpc. Se disponi di un cluster che contiene le AMI Windows Server 2016 ottimizzate per Amazon ECS e AMI Windows che supportano la modalità di rete awsvpc, le attività che utilizzano la modalità di rete awsvpc non vengono avviate sulle istanze di Windows 2016 Server. Piuttosto, vengono avviati su istanze che supportano le modalità di rete awsvpc.

  • L'istanza Windows di Amazon EC2 richiede una versione 1.57.1 o successiva dell'agente contenitore per utilizzare i CloudWatch parametri per i contenitori Windows che utilizzano la awsvpc modalità di rete.

  • Le attività e i servizi che utilizzano la modalità di awsvpc rete richiedono il ruolo collegato ai servizi Amazon ECS per fornire ad Amazon ECS le autorizzazioni per effettuare chiamate ad altri AWS servizi per tuo conto. Questo ruolo viene creato automaticamente quando crei un cluster oppure quando crei o aggiorni un servizio nella AWS Management Console. Per ulteriori informazioni, consulta Uso di ruoli collegati ai servizi per Amazon ECS. Puoi anche creare il ruolo collegato al servizio con il seguente comando. AWS CLI

    aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
  • L'istanza Windows di Amazon EC2 richiede la versione 1.54.0 o successiva dell'agente del container per eseguire processi che utilizzano la modalità di rete awsvpc. Quando avvii l'istanza, devi configurare le opzioni necessarie per la modalità di rete awsvpc. Per ulteriori informazioni, consulta Avvio delle istanze di container Amazon ECS Windows per il trasferimento di dati.

  • Amazon ECS popola il nome host dell'attività con un nome host DNS (interno) fornito da Amazon quando entrambe le opzioni enableDnsHostnames e enableDnsSupport sono abilitate nel VPC. Se queste opzioni non sono abilitate, il nome host DNS dell'attività sarà un nome host casuale. Per ulteriori informazioni sulle impostazioni DNS per un VPC, consulta Utilizzo del DNS con il VPC nella Guida per l'utente di Amazon VPC.

  • Ogni processo Amazon ECS che utilizza la modalità di rete awsvpc riceve la propria interfaccia di rete elastica (ENI), che è collegata all'istanza Windows di Amazon EC2 che la ospita. Esiste una quota predefinita per il numero di interfacce di rete che possono essere collegate a un'istanza Windows di Amazon EC2. L'interfaccia di rete principale viene calcolata come unica rispetto a questa quota. Ad esempio, per impostazione predefinita, un'istanza c5.large può avere fino a tre ENI collegate. L'interfaccia di rete principale per l'istanza viene calcolata come una di quelle. Puoi collegare altre due ENI all'istanza. Poiché ogni attività che utilizza la modalità di rete awsvpc richiede un'ENI, in genere puoi eseguire solo due attività su questo tipo di istanza. Per ulteriori informazioni sui limiti ENI predefiniti per ogni tipo di istanza, consulta Indirizzi IP per interfaccia di rete per tipo di istanza nella Amazon EC2 User Guide.

  • Quando si ospitano attività che utilizzano la modalità di rete awsvpc sulle istanze Windows di Amazon EC2, le ENI di attività non ricevono indirizzi IP pubblici. Per accedere a Internet, avvia le attività in una sottorete privata configurata per l'utilizzo di un gateway NAT. Per ulteriori informazioni, consulta Gateway NAT nella Guida per l'utente di Amazon VPC. L'accesso di rete in entrata deve avvenire all'interno del VPC utilizzando l'indirizzo IP privato oppure deve essere instradato attraverso un load balancer all'interno del VPC. Le attività avviate all'interno di sottoreti pubbliche non hanno accesso a Internet.

  • Amazon ECS tiene conto solo delle ENI che collega all'istanza Windows di Amazon EC2. Se hai collegato manualmente le ENI alle tue istanze, Amazon ECS potrebbe tentare di aggiungere un'attività a un'istanza che non dispone di adattatori di rete sufficienti. Ciò può comportare il timeout dell'attività e il passaggio a uno stato di deprovisioning e quindi allo stato di arresto. Ti consigliamo di non collegare manualmente le ENI alle istanze.

  • Le istanze Windows di Amazon EC2 devono essere registrate con la funzionalità ecs.capability.task-eni per essere considerate per il posizionamento di processi con la modalità di rete awsvpc.

  • Non puoi modificare o scollegare manualmente le ENI che vengono create e collegate alle tue istanze Windows di Amazon EC2. Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Per rilasciare le ENI per un'attività, interrompi l'attività.

  • Puoi specificare solo fino a 16 sottoreti e 5 gruppi di sicurezza in awsVpcConfigurationquando esegui un'attività o crei un servizio che utilizza la modalità di rete awsvpc. Per ulteriori informazioni, consulta AwsVpcConfigurazione nel riferimento all'API di Amazon Elastic Container Service.

  • Quando un processo viene avviato con la modalità di rete awsvpc, l'agente del container di Amazon ECS crea un container pause aggiuntivo per ciascun processo prima di avviare i container nella definizione di attività. Quindi configura lo spazio dei nomi di rete del pause contenitore eseguendo i plugin CNI. amazon-ecs-cni-plugins Quindi l'agente avvia il resto dei container nell'attività in modo che condividano lo stack di rete del container pause. Questo significa che tutti i container in un'attività sono indirizzabili tramite gli indirizzi IP dell'ENI e che possono comunicare tra loro sull'interfaccia localhost.

  • I servizi con attività che utilizzano la modalità di rete awsvpc supportano solo Application Load Balancer e Network Load Balancer. Quando crei gruppi target per questi servizi, devi scegliere ip come tipo di target anziché instance. Questo perché i processi che utilizzano la modalità di rete awsvpc sono associati a un'ENI e non a un'istanza Windows di Amazon EC2. Per ulteriori informazioni, consulta Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS.

  • Se il VPC viene aggiornato per modificare le opzioni DHCP utilizzate, non puoi applicare queste modifiche alle attività esistenti. Avvia nuove attività con queste modifiche applicate, verifica che funzionino correttamente e quindi interrompi le attività esistenti per modificare in modo sicuro queste configurazioni di rete.

  • Gli elementi seguenti non sono supportati quando si utilizza la modalità di rete awsvpc in una configurazione Windows EC2:

    • Configurazione dual-stack

    • IPv6

    • Trunking ENI

Utilizzo di un VPC in modalità dual-stack

Quando si utilizza un VPC in modalità dual-stack, le attività possono comunicare tramite IPv4, IPv6 o entrambi. Gli indirizzi IPv4 e IPv6 sono indipendenti l'uno dall'altro. Pertanto è necessario configurare il routing e la sicurezza nel VPC separatamente per IPv4 e IPv6. Per ulteriori informazioni sulla configurazione del VPC per la modalità dual-stack, consulta Migrazione a IPv6 nella Guida per l'utente di Amazon VPC.

Se hai configurato il tuo VPC con un gateway Internet o un gateway Internet solo in uscita, puoi utilizzare il VPC in modalità dual-stack. In questo modo, le attività a cui viene assegnato un indirizzo IPv6 possono accedere a Internet tramite un gateway Internet o un gateway Internet solo egress. I gateway NAT sono opzionali. Per ulteriori informazioni, consulta Gateway Internet e Gateway Internet egress-only nella Guida per l'utente di Amazon VPC.

Ai processi Amazon ECS viene assegnato un indirizzo IPv6 se sono soddisfatte le seguenti condizioni: