Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
このページでは、DAG から Compute Engine VM に接続する方法について説明します。
Compute Engine VM インスタンスに接続する DAG を作成する
SSHOperator
の ssh_hook
パラメータで、Compute Engine VM を指すパラメータとともに ComputeEngineSSHHook
を使用します。
次の例では、SSHOperator
を使用して Compute Engine VM インスタンスでコマンドを実行する方法を示します。
次のように値を置き換えます。
GCE_INSTANCE
は、VM インスタンスの名前に置き換えます。GCE_ZONE
は、VM が配置されている Compute Engine ゾーンに置き換えます。GCP_PROJECT_ID
は、VM と DAG を実行する環境が配置されているプロジェクトのプロジェクト ID に置き換えます。
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)