Amazon Elastic Compute Cloud (EC2)

Amazon Elastic Compute Cloud (Amazon EC2) 是一个网络服务,提供可伸缩的计算能力——字面上看,就是亚马逊数据中心里的服务器——供您用于构建和托管您的软件系统。

先决任务

要使用这些操作符,您必须做几件事

通用参数

aws_conn_id

引用 Amazon Web Services 连接 ID。如果此参数设置为 None,则使用默认的 boto3 行为,不进行连接查找。否则使用连接中存储的凭据。默认值: aws_default

region_name

AWS 区域名称。如果此参数设置为 None 或省略,则将使用 AWS 连接附加参数 中的 region_name。否则使用指定的值而非连接中的值。默认值: None

verify

是否验证 SSL 证书。

  • False - 不验证 SSL 证书。

  • path/to/cert/bundle.pem - 要使用的 CA 证书捆绑包的文件名。如果您想使用与 botocore 使用的不同的 CA 证书捆绑包,可以指定此参数。

如果此参数设置为 None 或省略,则将使用 AWS 连接附加参数 中的 verify。否则使用指定的值而非连接中的值。默认值: None

botocore_config

提供的字典用于构建 botocore.config.Config。此配置可用于配置 避免限流异常、超时等。

示例,有关参数的更多详细信息请查看 botocore.config.Config
{
    "signature_version": "unsigned",
    "s3": {
        "us_east_1_regional_endpoint": True,
    },
    "retries": {
      "mode": "standard",
      "max_attempts": 10,
    },
    "connect_timeout": 300,
    "read_timeout": 300,
    "tcp_keepalive": True,
}

如果此参数设置为 None 或省略,则将使用 AWS 连接附加参数 中的 config_kwargs。否则使用指定的值而非连接中的值。默认值: None

注意

指定一个空字典,{},将覆盖 botocore.config.Config 的连接配置

操作符

启动 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",
)

参考

此条目有帮助吗?