Come posso accedere all'interfaccia utente Apache Airflow utilizzando la modalità di accesso alla rete privata nel mio ambiente Amazon MWAA?

Ultimo aggiornamento: 23/02/2022

Quando provo ad aprire l'interfaccia utente Apache Airflow nel mio ambiente Amazon Managed Workflows for Apache Airflow (Amazon MWAA), viene visualizzato l'errore "Timeout della connessione".

Breve descrizione

L'ambiente Amazon MWAA fornisce modalità di accesso pubblico e privato per l'interfaccia utente Apache Airflow. Con la modalità di accesso pubblico, il server Web Apache Airflow è aperto a Internet ed è accessibile senza alcuna configurazione aggiuntiva. Tuttavia, non puoi controllare l'accesso alla rete del server Web Apache Airflow utilizzando un gruppo di sicurezza. Pertanto, questa opzione è considerata meno sicura rispetto alla modalità di accesso privato. Con la modalità di accesso privato, il server Web Apache Airflow è esposto solo all'interno dell'ambiente di Amazon Virtual Private Cloud (Amazon VPC). Amazon MWAA crea un endpoint VPC nel tuo VPC per ogni ambiente. Pertanto, per accedere all'interfaccia utente Apache Airflow è necessario l'accesso al VPC. La modalità di accesso alla rete privata richiede una configurazione di rete aggiuntiva.

Soluzione

È possibile accedere al server Web Apache Airflow in modalità di accesso alla rete privata utilizzando uno dei seguenti approcci.

AWS Direct Connect o VPN

Se disponi di una connessione AWS Direct Connect o VPN per connettere la rete On-Premise ad Amazon VPC, consulta il tuo team di reti per configurare l'accesso all'indirizzo del server Web Amazon MWAA. Dopo aver stabilito il percorso di rete, esamina i gruppi di sicurezza associati all'ambiente per assicurarti che il server Web Amazon MWAA permetta il traffico HTTPS (TCP 443) dall'IP di fonte o dalla sottorete. Puoi anche utilizzare una AWS Client VPN per configurare l'accesso alla rete privata.

Se i problemi persistono, prova la seguente operazione:

  • Verifica la risoluzione DNS con uno strumento, come nslookup o dig (dig<airflow-web-server-address>).
  • Verifica la connettività a livello di porta utilizzando uno strumento, ad esempio telnet (telnet<airflow-web-server-address-443>).

Se il problema persiste, controlla se il browser dispone di un proxy web configurato. In tal caso, prova a disabilitare il proxy per il test o a risolvere il problema nella configurazione del proxy.

Bastion host Linux

È possibile utilizzare un bastion host come intermediario tra internet e la sottorete privata. Di solito l'host è una macchina Linux che esegue un server SSH. Puoi stabilire un tunnel SSH verso nel bastion host per accedere alle risorse all'interno del tuo Amazon VPC. Quindi, puoi utilizzare un proxy del browser, ad esempio FoxyProxy, per aprire l'interfaccia utente Apache Airflow attraverso il tunnel SSH. Per configurare un bastion host Linux, consulta il Tutorial: configurazione dell'accesso alla rete privata usando un bastion host Linux.

Se disponi di un'istanza Amazon Elastic Compute Cloud (Amazon EC2) con un'interfaccia utente grafica (GUI), ad esempio un computer Windows, puoi utilizzarla per accedere all'interfaccia utente Apache Airflow.

Bilanciatore del carico

Puoi anche utilizzare un bilanciatore del carico come intermediario tra Internet e la sottorete privata. A differenza del bastion host, puoi accedere direttamente all'indirizzo del bilanciatore del carico senza alcuna configurazione aggiuntiva.

Per configurare il bilanciatore del carico, effettua le seguenti operazioni:

  1. Identifica gli indirizzi IP privati del server Web MWAA. Per ottenere questi indirizzi IP, esegui una ricerca DNS sull'indirizzo dell'interfaccia utente Apache Airflow (dig +short <airflow-web-server-address>).
  2. Crea un gruppo di destinazione per gli indirizzi IP privati del server Web Amazon MWAA.
  3. Configura le impostazioni di controllo dell'integrità dello stato per il gruppo di destinazione per includere 200 e 302 per Matcher.
    Nota: senza questa impostazione, i gruppi di destinazione potrebbero essere contrassegnati come non integri quando il server Web Apache Airflow risponde con reindirizzare 302.
  4. Crea un Application Load Balancer con un listener HTTPS e il gruppo di destinazione creato.
    Nota: è necessario disporre di un certificato SSL prima di creare un listener HTTPS. Puoi creare un certificato SSL con AWS Certificate Manager (ACM) accedendo al dominio o sottodominio di tua scelta.
  5. Verifica l'accesso all'interfaccia utente Apache Airflow utilizzando l'indirizzo Application Load Balancer che hai creato.

Nota: Amazon MWAA richiede un token di accesso Web per accedere all'interfaccia utente Apache Airflow. Pertanto, è necessario creare il token di accesso Web e passarlo come stringa di query quando accedi all'interfaccia utente Apache Airflow tramite Application Load Balancer. Per automatizzare la creazione di questo token, consulta Accesso a un ambiente privato Amazon MWAA con identità federate.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?