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

參考

此條目有幫助嗎?