Mit SSHOperator eine Verbindung zu einer GCE-VM herstellen

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird beschrieben, wie Sie von einem DAG aus eine Verbindung zu einer Compute Engine-VM herstellen.

DAG erstellen, der eine Verbindung zu einer Compute Engine-VM-Instanz herstellt

Verwenden Sie im ssh_hook-Parameter von SSHOperator ComputeEngineSSHHook mit Parametern, die auf die Compute Engine-VM.

Im folgenden Beispiel wird gezeigt, wie Sie mit SSHOperator einen Befehl auf einer Compute Engine-VM-Instanz ausführen.

Ersetzen Sie die Werte:

  • GCE_INSTANCE durch den Namen der VM-Instanz.
  • GCE_ZONE mit der Compute Engine-Zone, in der sich die VM befindet.
  • GCP_PROJECT_ID durch die Projekt-ID eines Projekts ersetzen, in dem sich die VM und die Umgebung befinden, in der der DAG ausgeführt wird.
import datetime

import airflow
from airflow.providers.ssh.operators.ssh import SSHOperator
from airflow.providers.google.cloud.hooks.compute_ssh import ComputeEngineSSHHook

GCE_INSTANCE = 'example-compute-instance'
GCE_ZONE = 'us-central1-a'
GCP_PROJECT_ID = 'example-project'

with airflow.DAG(
        'composer_compute_ssh_dag',
        start_date=datetime.datetime(2022, 1, 1)
        ) as dag:

  ssh_task = SSHOperator(
      task_id='composer_compute_ssh_task',
      ssh_hook=ComputeEngineSSHHook(
          instance_name=GCE_INSTANCE,
          zone=GCE_ZONE,
          project_id=GCP_PROJECT_ID,
          use_oslogin=True,
          use_iap_tunnel=False,
          use_internal_ip=True),
      command='echo This command is executed from a DAG',
      dag=dag)

Nächste Schritte