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
)

