mio compagno di squadra e ho appena hanno implementato ELB in una VPC con 2 sottoreti private in diverse zone di disponibilità. Il motivo per cui si ottiene il timeout è che per ogni sottorete aggiunta al servizio di bilanciamento del carico, ottiene un indirizzo IP esterno. (prova 'dig elb-dns-name-here' e vedrai diversi indirizzi IP). Se uno di questi indirizzi IP mappa una sottorete privata, verrà interrotto. L'IP che esegue il mapping nella sottorete pubblica funzionerà. Poiché DNS può fornire uno qualsiasi degli indirizzi IP, a volte funziona, a volte scadono.
Dopo un po 'avanti e indietro con Amazon, abbiamo scoperto che l'ELB deve essere collocato solo nelle sottoreti "pubbliche", cioè le sottoreti che hanno una rotta verso il gateway Internet. Volevamo mantenere i nostri server Web nelle nostre subnet private, ma consentire al ELB di parlare con loro. Per risolvere questo problema, dovevamo assicurarci di avere una sottorete pubblica corrispondente per ogni zona di disponibilità in cui disponevamo di sottoreti private. Abbiamo quindi aggiunto all'ELB, le subnet pubbliche per ogni zona di disponibilità.
Inizialmente, questo non sembrava funzionare, ma dopo aver provato tutto, abbiamo ricreato l'ELB e tutto ha funzionato come dovrebbe. Penso che questo sia un bug, o l'ELB era in uno stato strano da così tanti cambiamenti.
Qui è più o meno quello che abbiamo fatto:
- WebServer-1 è in esecuzione in PrivateSubnet-1 della disponibilità di zona ci-est-1b con gruppo di protezione denominato web-server.
- WebServer-2 è in esecuzione in PrivateSubnet-2 nella zona di disponibilità us-east-1c con gruppo di sicurezza denominato server web.
- Creata una sottorete pubblica nella zona us-east-1b, la chiameremo PublicSubnet-1. Ci siamo assicurati di associare la tabella di routing che include la route verso il gateway Internet (ig-xxxxx) con questa nuova sottorete. (Se hai usato la procedura guidata per creare un VPC pubblico/privato, questa rotta esiste già.)
- Creata una sottorete pubblica nella zona us-east-1c, la chiameremo PublicSubnet-2. Ci siamo assicurati di associare la tabella di routing che include la route verso il gateway Internet (ig-xxxxx) con questa nuova sottorete. (Se è stata utilizzata la procedura guidata per creare un VPC pubblico/privato, questa route esiste già.)
- Creato un nuovo ELB, aggiungendo ad esso PublicSubnet-1 e PublicSubnet-2 (non PrivateSubnet-X). Inoltre, selezionato le istanze da eseguire nel ELB, in questo caso WebServer-1 e WebServer-2. Assicurati di assegnare un gruppo di sicurezza che consenta le porte in entrata 80 e 443. Chiamiamo questo gruppo gruppo elb.
- Nel gruppo web-server, consentire il traffico dalla porta 80 e 443 dal gruppo elb.
Spero che questo aiuti!
fonte
2012-03-09 17:02:29
sì, siamo arrivati alla stessa conclusione, ho appena dimenticato di aggiornare questo. Grazie per la risposta :) –
Questa è una buona fonte di informazioni correlate: https://forums.aws.amazon.com/thread.jspa?messageID=453594 –
Mi rammarico di avere un solo voto da dare. Grazie! Stavo sbattendo la testa contro il muro per le ultime 2 ore cercando di capirlo. – Cfreak