Connettiti a una VM di Compute Engine con SSHOperator

Cloud Composer 1 | Cloud Composer 2

Questa pagina descrive come connetterti a una VM di Compute Engine da un DAG.

Crea un DAG che si connette a un'istanza VM di Compute Engine

Nel parametro ssh_hook di SSHOperator, utilizza ComputeEngineSSHHook con parametri che puntano alla VM di Compute Engine.

L'esempio seguente mostra come utilizzare SSHOperator per eseguire un comando su un'istanza VM di Compute Engine.

Sostituisci i valori:

  • GCE_INSTANCE con il nome dell'istanza VM.
  • GCE_ZONE con la zona di Compute Engine in cui si trova la VM.
  • GCP_PROJECT_ID con l'ID progetto di un progetto in cui si trova la VM e l'ambiente che esegue il DAG.
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)

Passaggi successivi