Usa la rete virtuale di Docker per le attività di 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à.

Usa la rete virtuale di Docker per le attività di Amazon ECS Linux

La modalità bridge di rete è supportata solo per ECS le attività Amazon ospitate sulle EC2 istanze Amazon.

Con la modalità bridge, stai utilizzando un bridge di rete virtuale per creare un livello tra l'host e la rete del container. In questo modo, puoi creare mappature delle porte che rimappano una porta host su una porta container. Le mappature possono essere statiche o dinamiche.

Diagramma che mostra l'architettura di una rete utilizzando la modalità di rete bridge con la mappatura statica delle porte.

Con una mappatura statica delle porte, puoi definire in modo esplicito la porta host da mappare alla porta container. Nell'esempio precedente, la porta 80 dell'host viene mappata sulla porta 3000 del container. Per comunicare con l'applicazione containerizzata, invia il traffico alla porta 80 all'indirizzo IP dell'EC2istanza Amazon. Dal punto di vista dell'applicazione containerizzata, essa rileva il traffico in entrata sulla porta 3000.

Se vuoi modificare solo la porta del traffico, la mappatura statica rappresenta la soluzione migliore. Tuttavia, presenta lo stesso svantaggio dell'utilizzo della modalità di rete host. È possibile creare solo una singola istanza di un'attività su ciascun host, dal momento che la mappatura statica delle porte consente di mappare solo un solo container sulla porta 80.

Per risolvere questo problema, prendi in considerazione l'utilizzo della modalità di rete bridge con una mappatura dinamica delle porte, come illustrato nel diagramma seguente.

Diagramma che mostra l'architettura di una rete utilizzando la modalità di rete bridge con la mappatura dinamica delle porte.

Se non specifichi una porta host nella mappatura delle porte, Docker sceglie una porta casuale e inutilizzata dall'intervallo di porte provvisorie e la assegna come porta host pubblica per il container. Ad esempio, all'applicazione Node.js in ascolto 3000 sulla porta del container potrebbe essere assegnato un numero di porta elevato e casuale, ad esempio 47760 sull'EC2host Amazon. In questo modo è possibile eseguire più copie del container sull'host. Inoltre, a ciascun container può essere assegnata una propria porta sull'host. Ogni copia del container riceve il traffico sulla porta 3000. Tuttavia, i client che inviano traffico a questi container utilizzano le porte host assegnate casualmente.

Amazon ECS consente di tenere traccia delle porte assegnate casualmente per ogni attività. A tale scopo, aggiorna automaticamente i gruppi di destinazione del sistema di bilanciamento del carico e il rilevamento AWS Cloud Map servizi, in modo da avere l'elenco degli indirizzi IP e delle porte di attività. Ciò semplifica l'utilizzo dei servizi che operano in modalità bridge con porte dinamiche.

Tuttavia, uno svantaggio dell'utilizzo della modalità di rete bridge è la difficoltà di bloccare le comunicazioni tra servizi. Poiché i servizi possono essere assegnati a qualsiasi porta casuale e inutilizzata, è necessario aprire ampi intervalli di porte tra gli host. Tuttavia, non è semplice creare regole specifiche in modo che un determinato servizio possa comunicare solo con un altro servizio specifico. I servizi non dispongono di porte specifiche da utilizzare per le regole di rete dei gruppi di sicurezza.