Amazon Elastic Compute Cloud (EC2)¶
Amazon Elastic Compute Cloud (Amazon EC2) 是一项 Web 服务,提供可调整大小的计算容量——实际上是亚马逊数据中心中的服务器——您可以使用这些服务器来构建和托管您的软件系统。
先决条件任务¶
要使用这些操作符,您必须执行以下几项操作
通过 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",
)