Amazon Elastic Compute Cloud (EC2)¶
Amazon Elastic Compute Cloud (Amazon EC2) 是一項 Web 服務,提供可調整大小的運算容量——實際上是 Amazon 資料中心的伺服器——您可以使用它來建置和託管您的軟體系統。
先決條件任務¶
若要使用這些運算子,您必須完成幾件事
使用 AWS Console 或 AWS CLI 建立必要的資源。
透過 pip 安裝 API 函式庫。
pip install 'apache-airflow[amazon]'詳細資訊請參閱 Airflow® 安裝
設定連線.
運算子¶
啟動 Amazon EC2 執行個體¶
若要啟動 Amazon EC2 執行個體,您可以使用 EC2StartInstanceOperator
。
tests/system/amazon/aws/example_ec2.py
start_instance = EC2StartInstanceOperator(
task_id="start_instance",
instance_id=instance_id,
)
停止 Amazon EC2 執行個體¶
若要停止 Amazon EC2 執行個體,您可以使用 EC2StopInstanceOperator
。
tests/system/amazon/aws/example_ec2.py
stop_instance = EC2StopInstanceOperator(
task_id="stop_instance",
instance_id=instance_id,
)
建立並啟動 Amazon EC2 執行個體¶
若要建立並啟動 Amazon EC2 執行個體,您可以使用 EC2CreateInstanceOperator
。
tests/system/amazon/aws/example_ec2.py
create_instance = EC2CreateInstanceOperator(
task_id="create_instance",
image_id=image_id,
max_count=1,
min_count=1,
config=config,
)
終止 Amazon EC2 執行個體¶
若要終止 Amazon EC2 執行個體,您可以使用 EC2TerminateInstanceOperator
。
tests/system/amazon/aws/example_ec2.py
terminate_instance = EC2TerminateInstanceOperator(
task_id="terminate_instance",
instance_ids=instance_id,
wait_for_completion=True,
)
重新啟動 Amazon EC2 執行個體¶
若要重新啟動 Amazon EC2 執行個體,您可以使用 EC2RebootInstanceOperator
。
tests/system/amazon/aws/example_ec2.py
reboot_instance = EC2RebootInstanceOperator(
task_id="reboot_instace",
instance_ids=instance_id,
)
休眠 Amazon EC2 執行個體¶
若要休眠 Amazon EC2 執行個體,您可以使用 EC2HibernateInstanceOperator
。
tests/system/amazon/aws/example_ec2.py
hibernate_instance = EC2HibernateInstanceOperator(
task_id="hibernate_instace",
instance_ids=instance_id,
)
感測器¶
等待 Amazon EC2 執行個體狀態¶
若要檢查 Amazon EC2 執行個體的狀態並等待其達到目標狀態,您可以使用 EC2InstanceStateSensor
。
tests/system/amazon/aws/example_ec2.py
await_instance = EC2InstanceStateSensor(
task_id="await_instance",
instance_id=instance_id,
target_state="running",
)