Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
This page describes how to connect to a Compute Engine VM from a DAG.
Create a DAG that connects to a Compute Engine VM instance
In the ssh_hook parameter of SSHOperator, use ComputeEngineSSHHook with parameters that point to the Compute Engine VM.
The following example demonstrates how to use SSHOperator to run a command on a Compute Engine VM instance.
Replace the values:
GCE_INSTANCEwith the name of the VM instance.GCE_ZONEwith the Compute Engine zone where the VM is located.GCP_PROJECT_IDwith the Project ID of a project where the VM and the environment that runs the DAG is located.
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(2025, 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)