Come si ottiene le istanze di AWS VPC EC2 per essere in grado di visualizzare le API AWS?

Stiamo spinning up infrastruttura all'interno di un AWS VPC tramite CloudFormation.

Stiamo utilizzando gruppi di scala automatica per ricall le istanze di VPC-EC2 (pertanto, non eseguiamo direttamente le istanze, le ASG gestiscono).

All'interno di un PVC, le istanze EC2 hanno solo un IP privato; non possono vedere il mondo esterno senza ulteriori lavori .

Quando queste istanze vengono spinte, abbiamo alcune attività di bootstrap che richiedono di parlare con le varie API AWS. Abbiamo anche alcune attività in corso che richiedono il traffico API AWS.

Come stai affrontando questo problema apparente di uova di gallina?

Abbiamo letto:

  • Istanze NAT – ma questo non piace molto perché è un altro livello per il nostro stack.
  • assegnare IP elastici ad each istanza VPC che ha bisogno di parlare – ma a) tutti fanno e b) poiché usiamo ASG, non sappiamo quali istanze assegnare IIP a tempo di provisioning e c) 'necessario impostare qualcosa per monitorare tali ASG e assegnare EIP quando le istanze vengono terminate e sostituite
  • spinning un'istanza (in realtà, una coppia bilanciata carico, probabilmente che copre AZ) per agire come proxy AWS-API per tutto il traffico API

Penso che ci sia una sorta di back-door che possiamo aprire che permette alle nostre istanze VPC EC2 di accedere agli endpoint AWS API, ma nient'altro, per l'installazione a basso costo, che non aggiunge un altro livello di hop-hop alla nostra infrastruttura per le richieste di servizio.

  • Nginx rimuove X-Forwarded-For prima dell'impostazione
  • Routing richiesta IIS 7
  • Impostazione del proxy di installazione di PostgreSQL Stack Builder su Windows
  • proxy inverso su apache2 e ubuntu
  • SSH tramite host multipli utilizzando ProxyCommand?
  • Nginx (per i file statici) e Apache (per i contenuti dinamici)?
  • Qual è un modo semplice per impostare un proxy autenticato HTTP o SOCKS?
  • Quali opzioni disponibili sono disponibili per il filtraggio dei contenuti web?
  • 2 Solutions collect form web for “Come si ottiene le istanze di AWS VPC EC2 per essere in grado di visualizzare le API AWS?”

    Avete coperto i modi principali per get un'istanza VPC in una substring privata per parlare con il mondo esterno.

    1. Avere il traffico Internet per la substring privata essere instradato da un tunnel VPN collegato al tuo ufficio, che può quindi fornire l'accesso al resto di Internet. Non è ideale perché richiede sempre un tunnel VPN e un hop extra attraverso il tuo ufficio.

    Suggerisco di utilizzare le istanze NAT, questa è l'installazione consigliata per get l'accesso a Internet alle macchine in sottoreti privati. Sono configurate per substring, quindi le macchine non devono avere alcuna conoscenza della loro configuration quando vengono lanciati. Basta essere sicuri di utilizzare un'istanza m1.large o maggiore per get il throughput di networking più elevato (vs m1.small)

    A partire da aprile 2015, AWS offre ora una soluzione diretta a questo problema: VPC Endpoints

    Un endpoint VPC consente di creare una connessione privata tra il VPC e un altro servizio AWS senza richiedere l'accesso su Internet tramite un'istanza NAT, una connessione VPN o AWS Direct Connect. Gli endpoint sono dispositivi virtuali. Sono componenti VPC scalati orizzontalmente, ridondanti e altamente disponibili, che consentono la comunicazione tra le istanze nei servizi VPC e AWS senza imporre rischi di disponibilità o vincoli di width di banda sul traffico di networking.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.