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 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'EC2istanza 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 ECS dell'account Amazon. Per utilizzare l'opzione AWS CLI per attivare la funzionalità, vedereGestione delle impostazioni ECS dell'account Amazon tramite AWS CLI.
Ad esempio, un'c5.large
istanza 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 versione1.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, deseleziona l'opzione Abilita le DNS richieste basate sulle 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 -
EC2Le 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 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 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 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 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 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'
awsvpcTrunking
account. Ti consigliamo di creare 2 ruoli di istanza del contenitore (ecsInstanceRole
). È quindi possibile abilitare l'impostazione dell'awsvpcTrunking
account 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 il AWS CLI
Ogni istanza di container dispone di un'interfaccia di rete predefinita, nota anche come interfaccia di rete trunk. Usa il seguente comando per elencare le istanze del contenitore con aumento 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
-
Ottieni- ECSAttributeList ()AWS Tools for Windows PowerShell
Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region
us-east-1