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 di istanze di container Amazon ECS Linux
Nota
Questa funzione non è disponibile su Fargate.
Ogni attività 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' EC2 istanza Amazon e l'interfaccia di rete principale conta come una. Ad esempio, per impostazione predefinita, a un'c5.large
istanza 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'awsvpcTrunking
account, ne ENIs sono disponibili altre sulle istanze di container appena lanciate. Questa configurazione consente di posizionare più attività su ciascuna istanza di container. Per utilizzare la console per attivare la funzionalità, consultaModifica delle impostazioni dell'account Amazon ECS. Per utilizzare l'opzione AWS CLI per attivare la funzionalità, vedereGestione delle impostazioni dell'account Amazon ECS tramite AWS CLI.
Ad esempio, un'c5.large
istanza con awsvpcTrunking
ha un valore aumentato ENI limite di dodici. L'istanza di container avrà un'interfaccia di rete primaria e Amazon ECS crea e collega un'interfaccia di rete "trunk" all'istanza di container. 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 termini o annulli la registrazione dell'istanza di container dal cluster. Per ulteriori informazioni, consulta Opzioni di task networking di Amazon ECS per il tipo di EC2 avvio.
Considerazioni
Considerate quanto segue quando utilizzate il ENI funzione di trunking.
-
Solo le varianti Linux dell'AMI ottimizzata per Amazon ECS o altre varianti di Amazon Linux con versione
1.28.1
o successiva dell'agente contenitore e versione1.28.1-2
o successiva del pacchetto ecs-init supportano l'aumento ENI limiti. Se utilizzi la variante Linux più recente dell'AMI ottimizzata per Amazon ECS, 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. -
EC2 Le istanze Amazon devono avere le richieste IPv4 DNS basate sulle risorse disattivate. Per disabilitare questa opzione, deseleziona l'opzione Abilita richieste DNS basate su risorse IPV4 (A record) quando crei una nuova istanza nella console Amazon. EC2 Per disabilitare questa opzione usando 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 -
EC2 Le istanze Amazon in sottoreti condivise non sono supportate. Se vengono utilizzate, non riescono a eseguire la registrazione a un cluster.
-
Le tue attività devono utilizzare la modalità di
awsvpc
rete e il EC2 tipo di 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 attività devono essere avviate nello stesso Amazon VPC dell'istanza del contenitore. Le tue attività non verranno avviate con un errore di attributo se non sono all'interno dello stesso VPC.
-
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 statoREGISTRATION_FAILED
. È possibile risolvere i problemi relativi a una registrazione non riuscita descrivendo l'istanza di container per visualizzare il campostatusReason
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 dell'istanza di container che è possibile monitorare per le istanze che passano a uno stato
REGISTRATION_FAILED
. Per ulteriori informazioni, consulta Eventi di modifica dello stato dell'istanza del contenitore Amazon ECS. -
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 statoINACTIVE
. -
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 abiliti
awsvpcTrunking
, le istanze del contenitore ne ricevono un altro ENI che utilizza il gruppo di sicurezza predefinito del VPC ed è gestito da Amazon ECS.Un VPC di default include una sottorete pubblica in ogni zona di disponibilità, un gateway Internet e impostazioni per abilitare la risoluzione DNS. La sottorete è una sottorete pubblica, poiché la tabella di routing principale invia il traffico della sottorete destinato a Internet al gateway Internet. Puoi rendere una sottorete predefinita privata rimuovendo la route dalla destinazione 0.0.0.0/0 all'Internet Gateway. Tuttavia, se si esegue questa operazione, nessuna istanza di contenitore in esecuzione in quella sottorete può accedere a Internet. È possibile aggiungere o eliminare le regole dei gruppi di sicurezza per controllare il traffico in entrata e in uscita dalle sottoreti. Per ulteriori informazioni, consulta le regole dei gruppi di sicurezza nella Guida per l'utente di Amazon Virtual Private Cloud.
Prerequisiti
Prima di avviare un'istanza di container con l'aumento ENI limiti, è necessario completare i seguenti prerequisiti.
-
Il ruolo collegato ai servizi per Amazon ECS deve essere creato. Il ruolo collegato al servizio Amazon ECS 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 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
-
Il ruolo IAM dell'account o dell'istanza di container deve abilitare le impostazioni dell'account
awsvpcTrunking
. Ti consigliamo di creare 2 ruoli di istanza del contenitore ()ecsInstanceRole
. È quindi possibile abilitare l'impostazione dell'awsvpcTrunking
account per un ruolo e utilizzare quel ruolo per attività che richiedono il trunking ENI. Per informazioni sul ruolo dell'istanza del contenitore, vedere. Ruolo IAM delle istanze di container Amazon ECS
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 interfacce di rete di container Amazon ECS potenziate. 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 la variante Linux più recente dell'AMI ottimizzata per Amazon ECS, questi requisiti saranno soddisfatti. Per ulteriori informazioni, consulta Avvio di un'istanza di container Linux di Amazon ECS.
Importante
EC2 Le istanze Amazon devono avere le richieste IPv4 DNS basate sulle risorse disattivate. Per disabilitare questa opzione, assicurati che l'opzione Abilita richieste DNS basate su 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. Utilizzate il seguente comando per elencare le istanze del contenitore con incremento ENI limita interrogando l'ecs.awsvpc-trunk-id
attributo, 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
\ --regionus-east-1
-
Get- ECSAttribute List ()AWS Tools for Windows PowerShell
Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region
us-east-1