将 Amazon EC2 与 Google SecOps 集成

本文档介绍了如何将 AWS Elastic Compute Cloud (Amazon EC2) 与 Google Security Operations (Google SecOps) 集成。

集成版本:7.0

使用场景

  1. 保护 Amazon Elastic Compute Cloud (Amazon EC2) 实例

    1. 创建安全组以限制对 Amazon EC2 的入站和出站互联网访问权限。
    2. 分配新的弹性 IP 地址
    3. 关联新的弹性 IP 地址
  2. 资源管理 - 使用实例自定义标记来跟踪和识别 AWS 资源。

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
AWS 访问密钥 ID 字符串 不适用 要在集成中使用的 AWS 访问密钥 ID。
AWS 密钥 密码 不适用 要在集成中使用的 AWS 密钥。
AWS 默认区域 字符串 不适用 集成中要使用的 AWS 默认区域,例如 us-west-2。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在剧本中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

授权安全组出站流量

向安全组添加指定的出站流量规则,以用于 VPC。出站规则允许实例将流量发送到指定的 IPv4 或 IPv6 CIDR 地址范围。系统会尽快将规则更改传播到受影响的实例。不过,可能会出现轻微延迟。

如需详细了解 VPC 安全组限制,请参阅 Amazon VPC 限制

参数

参数显示名称 类型 默认值 是否为必需属性 说明
安全组 ID 字符串 不适用

一个或多个安全组 ID。以英文逗号分隔。

开发者注意事项:每个 ID 都在单独的请求中

IP 协议 DDL 全部

IP 协议名称。使用“all”可指定所有协议。指定“all”可允许所有端口上的流量,无论您指定了哪些端口范围。

可能的值:tcp、udp、icmp、all

开发者备注:“all”在代码中等于 -1

出发地港口 整数 TCP 和 UDP 协议的端口范围起始值,或 ICMP 类型编号。
目的地端口 整数 TCP 和 UDP 协议的端口范围末尾允许所有端口上的流量,无论您指定了什么端口范围。
IP 范围 - CidrIP 字符串 不适用 IPv4 CIDR 范围。如需指定单个 IPv4 地址,请使用 /32 前缀长度。
IPv6 范围 - CidrIP 字符串 不适用 IPv6 CIDR 范围。如需指定单个 IPv6 地址,请使用 /128 前缀长度。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功将指定的出站规则添加到至少一个(或所有)安全组:(is_success = true):“已成功将指定的出站规则添加到以下安全组:{group_ids}”

如果因权限规则错误(端口无效等)而未能添加指定的出站规则(is_success = false):“未能将指定的出站规则添加到以下安全组:{group_ids}。原因:设置的 IP 权限无效。如需了解详情,请查看日志。”

如果因安全组 ID 无效而未能添加指定的出站规则(is_success = false):“未能将指定的出站规则添加到以下安全组:{group_ids}。原因:提供的安全组 ID 无效。如需了解详情,请查看日志。

如果未能将指定的出站流量规则添加到所有群组:is_success=false

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "Authorize Security Group Egress". 原因:{0}''.format(error.Stacktrace)

常规

授权安全组入站流量

向安全组添加指定的入站规则。入站规则允许实例接收来自指定 IPv4 或 IPv6 CIDR 地址范围的流量。规则更改会尽快传播到受影响的实例。不过,可能会出现轻微延迟。

如需详细了解 VPC 安全组限制,请参阅 Amazon VPC 限制

参数

参数显示名称 类型 默认值 是否为必需属性 说明
安全组 ID 字符串 不适用

一个或多个安全组 ID。以英文逗号分隔。

开发者注意事项:每个 ID 都在单独的请求中

IP 协议 DDL 全部

IP 协议名称。使用“all”可指定所有协议。指定“all”可允许所有端口上的流量,无论您指定了哪些端口范围。

可能的值:tcp、udp、icmp、all

开发者备注:“all”在代码中等于 -1

出发地港口 整数 TCP 和 UDP 协议的端口范围起始值,或 ICMP 类型编号。
目的地端口 整数 TCP 和 UDP 协议的端口范围末尾允许所有端口上的流量,无论您指定了什么端口范围。
IP 范围 - CidrIP 字符串 不适用 采用 CIDR 格式的 IPv4 地址。如需指定单个 IPv4 地址,请使用 /32 前缀长度。
IPv6 范围 - CidrIP 字符串 不适用 IPv6 CIDR 范围。如需指定单个 IPv6 地址,请使用 /128 前缀长度。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果已成功将指定的入站规则添加到至少一个安全组:(if all were successfully updated - is_success = true):“Successfully added the specified ingress rule to the following security groups: {group_ids}”(已成功将指定的入站规则添加到以下安全组:{group_ids})

如果因权限规则错误(端口无效等)而未能添加指定的入站规则(is_success =false):“未能将指定的入站规则添加到以下安全组:{group_ids}。原因:设置的 IP 权限无效。如需了解详情,请查看日志。”

如果因安全组 ID 无效而未能添加指定的入站规则(is_success =false):“未能将指定的入站规则添加到以下安全组:{group_ids}。原因:提供的安全组 ID 无效。如需了解详情,请查看日志。

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Authorize Security Group Ingress". 原因:{0}''.format(error.Stacktrace)

常规

创建标记

标记是您分配给 AWS 资源的标签。每个标记都包含一个键和一个可选值。您可以使用标签搜索和过滤资源,或跟踪 AWS 费用。仅为指定的 Amazon EC2 资源添加或覆盖指定的标记。如果您指定现有标记键,系统会使用新值覆盖该值。每个资源最多可以有 50 个标记。每个资源的标记键必须是唯一的。

如需详细了解标记,请参阅《Amazon Elastic Compute Cloud 用户指南》中的标记资源

参数

参数显示名称 类型 默认值 是否为必需属性 说明
资源 ID 字符串 不适用 一个或多个资源 ID。以英文逗号分隔。
标记 字符串 不适用

要分配给资源的标记的键值组合。例如,如需向所有指定资源添加键为 Owner 且值为 TeamA 的标记,请指定 Owner:TeamA。您可以使用英文逗号分隔多个键值组合。

您可以添加或覆盖指定的标记。每个资源的标记键必须是唯一的。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:“已成功将 {tags_list} 标记添加到以下资源:”resource_ids“

对于无效的资源 ID(is_success = false):“未能将 {tag_list} 标记添加到以下资源:{resource_ids}。原因:资源 ID 无效

如果资源包含 50 个以上的标记(is_success = false):“未能将 {tag_list} 标记添加到以下资源:{resource_ids}。原因:资源最多可以有 50 个标记。

如果标记键不唯一:(is_success = false):“未能将 {tag_list} 标记添加到以下资源:{resource_ids}。原因:每个资源的标记键必须是唯一的。

如果指定标记的格式无效(即只有键或只有值,没有完整的键:值结构)(is_success = false):“无法将 {invalid_tags} 标记添加到以下资源:{ids}。原因:格式无效。标记应包含键和值。

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行操作‘创建标记’时出错。原因:{0}''.format(error.Stacktrace)

常规

列出实例

描述指定实例或所有实例。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
实例 ID 字符串 不适用 一个或多个实例 ID。指定实例 ID 后,输出内容将仅包含指定实例的信息。此参数不能与“最多结果数”参数搭配使用。“实例 ID”的优先级高于“最大结果数”参数。
标记过滤条件 字符串 不适用 分配给资源的标记的键/值组合。例如,如需查找所有具有键为“Owner”且值为“TeamA”的标记的资源,请指定“Owner:TeamA”。以英文逗号分隔的标记过滤条件。示例:名称:Name1,所有者:TeamA。返回的实例将符合所有过滤条件。
结果数上限 整数 50 指定要返回的实例数量。默认值为 50。最大值为 1000。参数“实例 ID”不能与参数“最大结果数”一起使用。“实例 ID”的优先级高于“最大结果数”参数。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
"EC2_Instances": [
    {
   "AmiLaunchIndex":0,
   "ImageId":"ami-047a51fa27710816e",
   "InstanceId":"i-044c08c5bfe1a7f98",
   "InstanceType":"t2.micro",
   "KeyName":"\"Key\": \"Test\", \"Value\":\"Test\"",
   "LaunchTime":"2021-1-30",
   "Monitoring":{
      "State":"disabled"
   },
   "Placement":{
      "AvailabilityZone":"us-east-1d",
      "GroupName":"",
      "Tenancy":"default"
   },
   "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
   "PrivateIpAddress":"192.0.2.220",
   "ProductCodes":[

   ],
   "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
   "PublicIpAddress":"192.0.2.218",
   "State":{
      "Code":16,
      "Name":"running"
   },
   "StateTransitionReason":"",
   "SubnetId":"subnet-1b1fda3a",
   "VpcId":"vpc-ID",
   "Architecture":"x86_64",
   "BlockDeviceMappings":[
      {
         "DeviceName":"/dev/xvda",
         "Ebs":{
            "AttachTime":"2021-1-30",
            "DeleteOnTermination":true,
            "Status":"attached",
            "VolumeId":"vol-00f70681a43e5d86e"
         }
      }
   ],
   "ClientToken":"",
   "EbsOptimized":false,
   "EnaSupport":true,
   "Hypervisor":"xen",
   "NetworkInterfaces":[
      {
         "Association":{
            "IpOwnerId":"amazon",
            "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
            "PublicIp":"192.0.2.218"
         },
         "Attachment":{
            "AttachTime":"",
            "AttachmentId":"eni-attach-06bc5e5901ce99ef2",
            "DeleteOnTermination":true,
            "DeviceIndex":0,
            "Status":"attached",
            "NetworkCardIndex":0
         },
         "Description":"",
         "Groups":[
            {
               "GroupName":"launch-wizard-2",
               "GroupId":"sg-001700ccddac4189a"
            }
         ],
         "Ipv6Addresses":[

         ],
         "MacAddress":"12:34:56:ab:cd:ef",
         "NetworkInterfaceId":"eni-020fa83efd417e32d",
         "OwnerId":"ID",
         "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
         "PrivateIpAddress":"192.0.2.220",
         "PrivateIpAddresses":[
            {
               "Association":{
                  "IpOwnerId":"amazon",
                  "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
                  "PublicIp":"192.0.2.218"
               },
               "Primary":true,
               "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
               "PrivateIpAddress":"192.0.2.220"
            }
         ],
         "SourceDestCheck":true,
         "Status":"in-use",
         "SubnetId":"subnet-1b1fda3a",
         "VpcId":"vpc-ID",
         "InterfaceType":"interface"
      }
   ],
   "RootDeviceName":"/dev/xvda",
   "RootDeviceType":"ebs",
   "SecurityGroups":[
      {
         "GroupName":"launch-wizard-2",
         "GroupId":"sg-001700ccddac4189a"
      }
   ],
   "SourceDestCheck":true,
   "Tags":[
      {
         "Key":"Owner",
         "Value":"Example"
      },
      {
         "Key":"Name",
         "Value":"Example test"
      }
   ],
   "VirtualizationType":"hvm",
   "CpuOptions":{
      "CoreCount":1,
      "ThreadsPerCore":1
   },
   "CapacityReservationSpecification":{
      "CapacityReservationPreference":"open"
   },
   "HibernationOptions":{
      "Configured":false
   },
   "MetadataOptions":{
      "State":"applied",
      "HttpTokens":"optional",
      "HttpPutResponseHopLimit":1,
      "HttpEndpoint":"enabled"
   },
   "EnclaveOptions":{
      "Enabled":false
   }
}
 ]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

  • 如果成功列出实例(is_success = true):“Successfully described Amazon EC2 instances.”
  • 如果没有可用值(is_success = false):“未在 Amazon EC2 中找到任何实例”

操作应失败并停止 playbook 执行

如果出现严重错误、实例 ID 无效、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "List Instances". 原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:Amazon EC2 实例

表格列

ID

类型

可用性地区

公共 IPv4 DNS

公共 IPv4 地址

监控

安全组名称

密钥名称

启动时间

列出安全组

描述指定安全组或您的所有安全组。安全组适用于 EC2-Classic 平台中的实例或特定 VPC 中的实例。

如需了解详情,请参阅 Amazon EC2 安全组

参数

参数显示名称 类型 默认值 是否为必需属性 说明
安全组名称 字符串 不适用 错误 一个或多个安全组名称 [仅限 EC2-Classic 和默认 VPC]。以英文逗号分隔。如果您指定了安全组名称,则输出仅包含指定名称的信息。
安全组 ID 字符串 不适用 错误 一个或多个安全组 ID。以英文逗号分隔。如果您指定了安全组 ID,输出将仅包含指定 ID 的信息。对于非默认 VPC 中的安全群组,此参数是必需的。
标记过滤条件 字符串 不适用 错误

分配给安全组的标记的键值组合。例如,如需查找包含键 Owner 和值 TeamA 的标记的所有群组,请输入 Owner:TeamA。您可以使用以英文逗号分隔的标记过滤条件,例如 Name:Name1,Owner:TeamA。 返回的群组必须与所有过滤条件匹配。

结果数上限 整数 50 错误 要返回的安全组数量。默认值为 50。 最大值为 1000。 注意:“安全群组 ID”和“安全群组名称”参数不能与“最多结果数”参数一起使用。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
"EC2_Security_Groups": [
{
   "Description":"launch-wizard-2 created 2021-01-30T19:37:11.523+02:00",
   "GroupName":"launch-wizard-2",
   "IpPermissions":[
      {
         "FromPort":22,
         "IpProtocol":"tcp",
         "IpRanges":[
            {
               "CidrIp":"192.0.2.0/0"
            }
         ],
         "Ipv6Ranges":[

         ],
         "PrefixListIds":[

         ],
         "ToPort":22,
         "UserIdGroupPairs":[

         ]
      }
   ],
   "OwnerId":"582302349248",
   "GroupId":"sg-001700ccddac4189a",
   "IpPermissionsEgress":[
      {
         "IpProtocol":"-1",
         "IpRanges":[
            {
               "CidrIp":"192.0.2.0/0"
            }
         ],
         "Ipv6Ranges":[

         ],
         "PrefixListIds":[

         ],
         "UserIdGroupPairs":[

         ]
      }
   ],
   "Tags":[
      {
         "Key":"Team",
         "Value":"A-Team"
      },
      {
         "Key":"Owner",
         "Value":"Example"
      }
   ],
   "VpcId":"vpc-ID"
}
]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

  • 如果成功列出群组(is_success = true):“Successfully described Amazon EC2 security groups.”
  • 如果没有可用值(is_success = false):“未在 Amazon EC2 中找到任何安全组”

操作应失败并停止 playbook 执行

如果出现严重错误、无效的群组 ID/名称、SDK 错误(例如凭据错误、无法连接到服务器)、其他错误:“执行操作‘列出安全组’时出错。原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:Amazon EC2 实例

表格列

安全组 ID

安全组名称

VPC ID

说明

所有者 ID

Ping

测试与 AWS EC2 的连接。

参数

不适用

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:“已使用提供的连接参数成功连接到 Amazon EC2!”

操作应失败并停止 playbook 执行

如果不成功:“无法连接到 Amazon EC2 服务器!错误为 {0}".format(exception.stacktrace)

常规

撤消安全组出站规则

从 EC2-VPC 的安全组中移除指定的出站规则。此操作不适用于在 EC2-Classic 中使用的安全组。 如需移除规则,您指定的值(例如端口)必须与现有规则的值完全一致。规则更改会尽快传播到安全组中的实例。不过,可能会出现短暂的延迟。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
安全组 ID 字符串 不适用

一个或多个安全组 ID。以英文逗号分隔。

开发者注意事项:每个 ID 都在单独的请求中

IP 协议 DDL 全部

IP 协议名称。使用“all”可指定所有协议。指定“all”可允许所有端口上的流量,无论您指定了哪些端口范围。

可能的值:tcp、udp、icmp、all

开发者备注:“all”在代码中等于 -1

出发地港口 整数 TCP 和 UDP 协议的端口范围起始值,或 ICMP 类型编号。
目的地端口 整数 TCP 和 UDP 协议的端口范围末尾允许所有端口上的流量,无论您指定了什么端口范围。
IP 范围 - CidrIP 字符串 不适用 采用 CIDR 格式的 IPv4 地址。如需指定单个 IPv4 地址,请使用 /32 前缀长度。
IPv6 范围 - CidrIP 字符串 不适用 IPv6 CIDR 范围。如需指定单个 IPv6 地址,请使用 /128 前缀长度。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功从至少一个(或所有)安全组中撤消了指定的出站规则(is_success = true):“已成功从以下安全组中撤消指定的出站规则:{group_ids}”

如果因权限规则错误(例如端口无效,为 205 等)而未能撤消指定的出站规则(is_success =false):“Failed to revoke the specified egress rule from the following security groups: {group_ids}. 原因:设置的 IP 权限无效。如需了解详情,请查看日志。”

如果因安全组 ID 无效而未能撤消指定的出站规则(is_success =false):“Failed to revoke the specified egress rule from the following security groups: {group_ids}. 原因:提供的安全组 ID 无效。如需了解详情,请查看日志。

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Revoke Security Group Egress". 原因:{0}''.format(error.Stacktrace)

Gener

撤消安全组入站规则

从安全组中移除指定的入站规则。如需移除规则,您指定的值(例如端口)必须与现有规则的值完全一致。规则更改会尽快传播到安全组中的实例。不过,可能会出现轻微延迟。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
安全组 ID 字符串 不适用

一个或多个安全组 ID。以英文逗号分隔。

开发者注意事项:每个 ID 都在单独的请求中

IP 协议 DDL 全部

IP 协议名称。使用“all”可指定所有协议。指定“all”可允许所有端口上的流量,无论您指定了哪些端口范围。

可能的值:tcp、udp、icmp、all

开发者备注:“all”在代码中等于 -1

出发地港口 整数 TCP 和 UDP 协议的端口范围起始值,或 ICMP 类型编号。
目的地端口 整数 TCP 和 UDP 协议的端口范围末尾允许所有端口上的流量,无论您指定了什么端口范围。
IP 范围 - CidrIP 字符串 不适用 采用 CIDR 格式的 IPv4 地址。如需指定单个 IPv4 地址,请使用 /32 前缀长度。
IPv6 范围 - CidrIP 字符串 不适用 IPv6 CIDR 范围。如需指定单个 IPv6 地址,请使用 /128 前缀长度。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功撤消了至少一个(或所有)安全组的指定入站规则(is_success = true):“Successfully revoked the specified ingress rule from the following security groups: {group_ids}”(已成功从以下安全组中撤消指定的入站规则:{group_ids})

如果因权限规则错误(例如端口无效,为 205 等)而无法撤消指定的入站规则(is_success =false):“无法从以下安全组撤消指定的入站规则:{group_ids}。原因:设置的 IP 权限无效。如需了解详情,请查看日志。”

如果因安全组 ID 无效而未能撤消指定的入站规则(is_success =false):“Failed to revoke the specified ingress rule from the following security groups: {group_ids}. 原因:提供的安全组 ID 无效。如需了解详情,请查看日志。

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "Revoke Security Group Ingress". 原因:{0}''.format(error.Stacktrace)

常规

启动实例

启动您之前停止的 Amazon Elastic Block Store (Amazon EBS) 支持的实例。实例可能需要几分钟才能进入运行状态。请注意,您无法启动由实例存储空间支持的实例。如需详细了解由实例存储支持的实例,请参阅根设备存储

参数

参数显示名称 类型 默认值 是否为必需属性 说明
实例 ID 字符串 不适用 一个或多个实例 ID。以英文逗号分隔

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
[
  {
      "CurrentState": "pending",
        "InstanceId": "string",
        "PreviousState":"stopped"
    }
]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

  • 如果所有/少数实例的当前状态与“待处理”“正在运行”不同(Is_success = false):无法从以下实例的当前状态启动这些实例:<失败的实例 ID>
  • 如果当前状态为“待处理”→ 操作仍在进行中:继续…所请求的实例仍处于待处理状态
  • 如果当前状态为正在运行(is_success=true):打印:以下实例已成功启动:<running_instance ids>
  • 如果某个实例无效(is_success =false):以下实例无效:<无效 ID>。请重试。

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器、其他错误):“执行操作‘启动实例’时出错。原因:{0}''.format(error.Stacktrace)

常规

拍摄快照

拍摄实例的快照。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
实例 ID 字符串 不适用 指定实例 ID。
说明 字符串 不适用 指定快照的说明。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
  "EC2_Snapshot": [
    {
      "Description": "",
      "Tags": [],
      "Encrypted": false,
      "VolumeId": "vol-ID",
      "State": "pending",
      "VolumeSize": 8,
      "StartTime": "2022-11-13 15:45:44.795000+00:00",
      "Progress": "",
      "OwnerId": "OWNER_ID",
      "SnapshotId": "snap-ID"
    }
  ]
}

终止实例

终止实例。

已终止的实例无法重新启动。只有实例存储支持的实例可以终止。如需详细了解由实例存储支持的实例,请参阅根设备的存储空间

如果您多次终止某个实例,每次调用都会成功。如果您指定了多个实例,但请求失败(例如,由于单个实例 ID 不正确),则不会终止任何实例。

终止的实例在终止后仍会显示(大约一小时)。默认情况下,Amazon EC2 会删除实例启动时附加的所有 EBS 卷。在实例启动后附加的卷会继续运行。 如需了解详情,请参阅 Amazon 用户指南

参数

参数显示名称 类型 默认值 是否为必需属性 说明
实例 ID 字符串 不适用 一个或多个实例 ID。以英文逗号分隔。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

  • 如果所有/少数实例的当前状态与“正在关闭”“已终止”不同(Is_success = false):无法从以下实例的当前状态终止这些实例:<failed_instance ids>
  • 如果当前状态为正在关闭:(is_success=true) → 操作仍在进行中:继续…所请求的实例仍在关闭
  • 如果当前状态为“已终止”(is_success=true):以下实例已成功终止:<已停止的实例 ID>
  • 如果某个实例无效(is_success =false):以下实例无效:<无效 ID>。请重试。

操作应失败并停止 playbook 执行

如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“Error executing action "Terminate Instance". 原因:{0}''.format(error.Stacktrace)

常规

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。