Esecuzione di docker in VPC e accesso al contenitore da un'altra macchina VPC


10

Sto riscontrando problemi durante l'esecuzione della finestra mobile in AWS VPC.

Ecco la mia configurazione: ho due macchine in esecuzione in VPC:

  • 10.0.100.150
  • 10.0.100.151

entrambi con un IP elastico assegnato, entrambi in esecuzione nella stessa sottorete abilitata a Internet.

Diciamo che sto eseguendo un server web che serve file statici in un contenitore sulla macchina 10.0.100.150 il contenitore:

  • IP: 172.17.0.2
  • la porta 8111 viene inoltrata sulla porta 8111 della macchina.

Sto provando ad accedere ai file statici dal mio computer locale (o anche un altro computer non VPC ha provato un'istanza EC2 non in esecuzione nel VPC) e funziona perfettamente.

Se provo ad accedere ai file dall'altra macchina (10.0.100.151) si blocca. Sto usando wget per estrarre i file.

Ho provato a eseguire il debug con tcpdump e ngrep e quello che ho visto è che la richiesta raggiunge il contenitore. Se inserisco sul computer host vedo che le richieste arrivano ma nessuna risposta torna indietro. Se inserisco sul contenitore vedo che le richieste entrano e la risposta torna indietro.

Ho provato diverse configurazioni di iptables (con postrouting abilitato, porte di inoltro manuale ecc.) Ma senza successo.

Aiuto in ogni modo - anche le indicazioni di debug sarebbero molto apprezzate.

Grazie!


Possibile duplicato dei contenitori
docker esposti

Leggi due volte il post con i contenitori docker esposti alla rete VPC ma questa cosa è completamente diversa.
Bogdan Gaza,

È? Hai già il controllo IP di origine / destinazione disabilitato su 10.0.100.150?
Michael - sqlbot,

Sì, l'ho disabilitato e testato anche su un altro VPC non predefinito, stesso bug.
Bogdan Gaza,

È possibile elencare i gruppi di sicurezza per le istanze EC2? Sembra che le istanze non si trovino nel gruppo di sicurezza predefinito per consentire il traffico tra altre istanze in quel gruppo di sicurezza.
Andy Shinn,

Risposte:



0

Sembra che le istanze EC2 non possano comunicare tra loro perché non si trovano in un gruppo di sicurezza che consente l'accesso alla porta 8111 tra loro. Verificare che il gruppo di sicurezza consenta l'accesso a se stesso (e aggiungere entrambe le istanze EC2 al gruppo di sicurezza) o che consenta alla sottorete VPC alla porta 8111.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.