Aumento delle interfacce di rete delle istanze di container Amazon ECS Linux - 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à.

Aumento delle interfacce di rete delle istanze di container Amazon ECS Linux

Nota

Questa funzione non è disponibile su Fargate.

Ogni ECS attività Amazon che utilizza la modalità awsvpc di rete riceve la propria interfaccia di rete elastica (ENI), che è collegata all'istanza del contenitore che la ospita. Esiste un limite predefinito al numero di interfacce di rete che possono essere collegate a un'EC2istanza Amazon e l'interfaccia di rete principale conta come una. Ad esempio, per impostazione predefinita, a un'c5.largeistanza possono essere ENIs collegate fino a tre istanze. L'interfaccia di rete principale per l'istanza conta come una sola, quindi è possibile collegarne altre due ENIs all'istanza. Perché ogni operazione che utilizza la modalità awsvpc di rete richiede un ENI, in genere è possibile eseguire solo due di queste attività su questo tipo di istanza.

Amazon ECS supporta il lancio di istanze di container con maggiori ENI densità utilizzando i tipi di EC2 istanze Amazon supportati. Quando utilizzi questi tipi di istanze e attivi l'impostazione dell'awsvpcTrunkingaccount, ne ENIs sono disponibili altre sulle istanze di container appena lanciate. Questa configurazione consente di posizionare più attività su ciascuna istanza di container. Per informazioni sull'impostazione dell'awsvpcTrunkingaccount, consultaAccedi alle ECS funzionalità di Amazon con le impostazioni dell'account.

Ad esempio, un'c5.largeistanza con awsvpcTrunking ha un valore aumentato ENI limite di dodici. L'istanza del contenitore avrà l'interfaccia di rete principale e Amazon ECS crea e collega un'interfaccia di rete «trunk» all'istanza del contenitore. Pertanto, questa configurazione consente di avviare dieci attività sull'istanza di container anziché le due attività correnti.

L'interfaccia di rete trunk è completamente gestita da Amazon ECS e viene eliminata quando si termina o si annulla la registrazione dell'istanza del contenitore dal cluster. Per ulteriori informazioni, consulta Opzioni di Amazon ECS Task Networking per il tipo di EC2 avvio.

Considerazioni

Considera quanto segue quando usi il ENI funzione di trunking.

  • Solo le varianti Linux di Amazon ECS -optimized AMI o altre varianti di Amazon Linux con versione 1.28.1 o successiva dell'agente contenitore e versione 1.28.1-2 o successiva del pacchetto ecs-init supportano l'aumento ENI limiti. Se utilizzi l'ultima variante Linux di Amazon ECS -optimizedAMI, questi requisiti saranno soddisfatti. I container Windows non sono al momento supportati.

  • Solo le nuove EC2 istanze Amazon lanciate dopo l'attivazione awsvpcTrunking ricevono l'aumento ENI limiti e interfaccia di rete trunk. In precedenza, le istanze avviate non ricevevano queste caratteristiche, a prescindere dalle operazioni eseguite.

  • EC2Le istanze Amazon devono avere le richieste basate sulle risorse IPv4 DNS disattivate. Per disabilitare questa opzione, assicurati che l'opzione Abilita DNS richieste basate sulle risorse IPV4 (A record) sia deselezionata quando crei una nuova istanza utilizzando la console Amazon. EC2 Per disabilitare questa opzione utilizzando il AWS CLI, usa il seguente comando.

    aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
  • EC2Le istanze Amazon in sottoreti condivise non sono supportate. Se vengono utilizzate, non riescono a eseguire la registrazione a un cluster.

  • Le tue ECS attività su Amazon devono utilizzare la modalità awsvpc di rete e il tipo di EC2 avvio. Le attività che utilizzavano il tipo di lancio Fargate ricevevano sempre un codice dedicato ENI indipendentemente da quanti ne vengono lanciati, quindi questa funzionalità non è necessaria.

  • Le tue ECS attività Amazon devono essere avviate nello VPC stesso Amazon dell'istanza del contenitore. Le tue attività non inizieranno con un errore di attributo se non rientrano nella stessaVPC.

  • Quando si avvia una nuova istanza di container, l'istanza effettua la transizione a uno stato REGISTERING mentre viene eseguito il provisioning dell'interfaccia di rete elastica trunk per l'istanza. Se la registrazione ha esito negativo, l'istanza esegue la transizione a uno stato REGISTRATION_FAILED. È possibile risolvere i problemi relativi a una registrazione non riuscita descrivendo l'istanza di container per visualizzare il campo statusReason che descrive il motivo dell'errore. L'istanza di container può quindi essere annullata manualmente o terminata. Una volta che l'istanza del contenitore è stata annullata o terminata con successo, Amazon ECS eliminerà il trunk ENI.

    Nota

    Amazon ECS emette eventi di modifica dello stato delle istanze di container che puoi monitorare per le istanze che passano a uno REGISTRATION_FAILED stato. Per ulteriori informazioni, consulta Eventi di modifica dello stato delle istanze di Amazon ECS Container.

  • Al termine dell'istanza di container, l'istanza esegue la transizione a uno stato DEREGISTERING mentre viene annullato il provisioning dell'interfaccia di rete elastica trunk. L'istanza quindi esegue la transizione a uno stato INACTIVE.

  • Se un'istanza di contenitore si trova in una sottorete pubblica con l'aumento ENI limits viene interrotta e quindi riavviata, l'istanza perde il suo indirizzo IP pubblico e l'agente del contenitore perde la connessione.

  • Quando abilitiawsvpcTrunking, le istanze del contenitore ne ricevono un altro ENI che utilizza il gruppo VPC di sicurezza predefinito ed è gestito da AmazonECS.

Prerequisiti

Prima di avviare un'istanza di container con l'aumento ENI limiti, è necessario completare i seguenti prerequisiti.

  • È ECS necessario creare il ruolo collegato ai servizi per Amazon. Il ruolo ECS collegato ai servizi Amazon fornisce 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 Utilizzo 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
  • Il IAM ruolo dell'account o dell'istanza del contenitore deve abilitare l'impostazione dell'awsvpcTrunkingaccount. Ti consigliamo di creare 2 ruoli di istanza del contenitore (ecsInstanceRole). È quindi possibile abilitare l'impostazione dell'awsvpcTrunkingaccount per un ruolo e utilizzare tale ruolo per attività che richiedono il ENI trunking. Per informazioni sul ruolo dell'istanza del contenitore, consulta. IAMRuolo dell'istanza di ECS container Amazon

Una volta soddisfatti i prerequisiti, puoi avviare una nuova istanza di container utilizzando uno dei tipi di EC2 istanza Amazon supportati e l'istanza avrà l'aumento ENI limiti. Per una lista di tipi di istanze supportate, consulta Istanze supportate per un maggior numero di interfacce di rete di ECS container Amazon. La versione dell'istanza di container per l'agente del container deve essere 1.28.1 o successiva e la versione del pacchetto ecs-init deve essere 1.28.1-2 o successiva. Se utilizzi l'ultima variante Linux di Amazon ECS -optimizedAMI, questi requisiti saranno soddisfatti. Per ulteriori informazioni, consulta Avvio di un'istanza di container Amazon ECS Linux.

Importante

EC2Le istanze Amazon devono avere le richieste basate sulle risorse IPv4 DNS disattivate. Per disabilitare questa opzione, assicurati che l'opzione Abilita DNS richieste basate sulle risorse IPV4 (A record) sia deselezionata quando crei una nuova istanza utilizzando la console Amazon. EC2 Per disabilitare questa opzione utilizzando il AWS CLI, usa il seguente comando.

aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
Per visualizzare le istanze del contenitore con aumento ENI limiti con AWS CLI

Ogni istanza di container dispone di un'interfaccia di rete predefinita, nota anche come interfaccia di rete trunk. Usa il comando seguente per elencare le istanze del contenitore con aumento ENI limita interrogando l'ecs.awsvpc-trunk-idattributo, il che indica che ha un'interfaccia di rete trunk.

  • list-attributes (AWS CLI)

    aws ecs list-attributes \ --target-type container-instance \ --attribute-name ecs.awsvpc-trunk-id \ --cluster cluster_name \ --region us-east-1
  • Ottieni- ECSAttributeList ()AWS Tools for Windows PowerShell

    Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region us-east-1