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

4 minuti di lettura
0

Quando provo ad aprire l'interfaccia utente di Apache Airflow nel mio ambiente Flusso di lavoro gestito da Amazon per Apache Airflow (Amazon MWAA), ricevo l'errore "Connection timed out".

Breve descrizione

L'ambiente Amazon MWAA offre modalità di accesso pubbliche e private per l'interfaccia utente di Apache Airflow. Con la modalità di accesso pubblico, il server Web Apache Airflow è aperto a internet ed è possibile accedervi senza alcuna configurazione aggiuntiva. Tuttavia, non è possibile 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 di Amazon Virtual Private Cloud (Amazon VPC) nell'ambiente. Amazon MWAA crea un endpoint VPC nel tuo VPC per ogni ambiente. Pertanto, l'accesso al VPC è necessario per accedere all'interfaccia utente di Apache Airflow. La modalità di accesso alla rete privata richiede una configurazione di rete aggiuntiva.

Risoluzione

Puoi 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 tua rete on-premises ad Amazon VPC, consulta il tuo team di rete per configurare l'accesso all'indirizzo del server web Amazon MWAA. Dopo che il percorso di rete è stabilito, esamina i gruppi di sicurezza associati all'ambiente per accertarti che il server web Amazon MWAA consenta il traffico HTTPS (TCP 443) dall'IP o dalla sottorete di origine. Puoi anche utilizzare una VPN Client di AWS per configurare l'accesso alla rete privata.

Se i problemi persistono, prova quanto segue:

  • 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 come telnet (telnet <airflow-web-server-address-443>).

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

Host bastione Linux

Un host bastione può essere utilizzato come intermediario tra internet e la sottorete privata. L'host è solitamente una macchina Linux con server SSH in esecuzione. Puoi stabilire un tunnel SSH verso l'host bastione per accedere alle risorse all'interno del tuo Amazon VPC. Quindi, puoi utilizzare un proxy del browser, come FoxyProxy, per aprire l'interfaccia utente di Apache Airflow tramite il tunnel SSH. Per configurare un host bastione Linux, vedi Tutorial: Configuring private network access using a Linux bastion host.

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

Bilanciatore del carico

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

Per configurare il bilanciatore del carico, procedi come segue:

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

Nota: Amazon MWAA richiede un token di accesso web per accedere all'interfaccia utente di Apache Airflow. Pertanto devi creare il token di accesso web e passarlo come stringa di query quando accedi all'interfaccia utente di Apache Airflow tramite l'Application Load Balancer. Per automatizzare la creazione di questo token, consulta Accessing a private Amazon MWAA environment using federated identities.


Informazioni correlate

Apache Airflow access modes

Accessing the Apache Airflow UI