Impossibile connettersi all'istanza EC2 in VPC (Amazon AWS)


46

Ho preso i seguenti passi:

  1. Creato un VPC (con un'unica sottorete pubblica)
  2. Aggiunta un'istanza EC2 al VPC
  3. Allocato un IP elastico
  4. Associato l'IP elastico all'istanza
  5. Creato un gruppo di sicurezza e assegnato all'istanza
  6. Modificate le regole di sicurezza per consentire l'eco ICMP in ingresso e TCP sulla porta 22

Ho fatto tutto questo e non riesco ancora a eseguire il ping o ssh nell'istanza. Se seguo gli stessi passaggi meno i bit VPC sono in grado di configurarlo senza problemi. Che passo mi manca?


2
Hai assegnato un gateway e una route alla sottorete VPC?
zorlem,

Se vado a Internet Gateway, c'è un gateway assegnato al VPC. Come posso verificare se un percorso è stato assegnato?
Ryan Lynch,

Route è una tabella di route?
Ryan Lynch,

2
Sì, è necessario assegnare un "gateway Internet" alla tabella di routing pubblica.
zorlem,

1
Eccellente, grazie amico. Se lo metti sotto forma di una risposta, lo accetterò. Nella tua risposta, potresti anche specificare cosa inserire esattamente nella tabella dei percorsi? Ho inserito 0.0.0.0/0 e l'obiettivo come gateway Internet, ma non sembra la cosa giusta da fare.
Ryan Lynch,

Risposte:


75

Per comunicare all'esterno del VPC, ogni sottorete non predefinita richiede una tabella di routing e un gateway Internet ad essa associati (le sottoreti predefinite ottengono un gateway esterno e una tabella di routing per impostazione predefinita).

A seconda del modo in cui è stata creata la sottorete pubblica nel VPC, potrebbe essere necessario aggiungerli in modo esplicito. La tua configurazione VPC sembra corrispondere allo Scenario 1: un cloud privato (VPC) con una singola sottorete pubblica e un gateway Internet per consentire la comunicazione su Internet dalla documentazione VPC di AWS.

Sarà necessario aggiungere un gateway Internet al VPC e assegnare nella0.0.0.0/0 tabella di routing della subnet pubblica (route predefinita) per accedere al gateway Internet assegnato. C'è una bella illustrazione dell'esatta topologia di rete all'interno della documentazione.

Inoltre, per ulteriori informazioni, è possibile consultare la documentazione di AWS Internet Gateway VPC . Purtroppo è un po 'disordinato e non scontato.

Per ulteriori dettagli sui problemi di connessione, vedere anche: Risoluzione dei problemi di connessione all'istanza .


2
Oltre ad assegnare la route predefinita per il gateway Internet, ho dovuto anche associare la sottorete alla tabella di routing. Ma una volta che avevo fatto queste due cose, ero pronto e funzionante. Grazie.
Sam Kenny,

4
Gestione VPC> Tabella rotte> [Rotte]> Aggiungi, 0.0.0.0/0, menu a discesa per selezionare il tuo gateway Internet
Scott R. Frost,

Lo lancerò là fuori perché Internet possa imparare dal mio errore. Se il tuo percorso verso Internet Gateway ha destinazione 0.0.0.0/32, non funzionerà. Il percorso deve essere modificato in 0.0.0.0/0 come specificato nella risposta di Zorlem.
Douglas tenuto il

4

Non sono sicuro che sia esattamente questo il caso, ma ho appena creato un VPC con sottoreti pubbliche e private e ho notato che esiste un gruppo di sicurezza predefinito che ha l'indirizzo di origine con lo stesso nome del gruppo di sicurezza. Efficace non ha accesso. Ho dovuto cambiare questa fonte in Ovunque e ha iniziato a funzionare.


Ciao, sto testando anche quello Scenario 2. Istanza pubblica e privata nella sottorete pubblica e privata. Il punto è che non capisco come l'istanza privata potrebbe essere in grado di accedere a Internet e aggiornare il software.
The One

Grazie, questo era il mio problema, stavo assumendo, ciò significa che tutti gli esempi all'interno di VPC avevano accesso
Santthosh,

3

Ho notato che (penso) devi stare attento a quale zona di disponibilità è stata creata la tua istanza. La sottorete, l'interfaccia di rete e l'istanza devono trovarsi nella stessa zona di disponibilità, altrimenti non c'è modo di connettersi a un IP pubblico per quell'istanza.

Potrei sbagliarmi, ma non credo, questo mi è costato 12 ore di lavoro per capire.

Spero che questo aiuti qualcun altro.


È corretto. Lo scenario 1, come menzionato nella risposta, è dove crei un /16VPC e poi crei un /24in ogni AZ in cui vuoi lavorare
Machavity,

1

È necessario allocare un ENI e assegnare l'IP elastico a questo ENI. Inoltre, è necessario assegnare questa ENI al VPC. Anche la tabella di instradamento deve essere corretta, per inoltrare correttamente i pacchetti esterni al VPC.


Credo che l'aggiunta di un ENI sia necessaria quando si desiderano interfacce di rete aggiuntive sulle proprie istanze, per impostazione predefinita vengono fornite con una scheda NIC.
zorlem,

0

Poiché SSH è un protocollo statefull, è necessario assicurarsi di disporre della seguente regola OUTBOUND nella propria ACL di rete:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
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.