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에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.

필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 여러 인스턴스 지원을 참고하세요.

작업

작업에 대한 자세한 내용은 내 Workdesk에서 대기 중인 작업에 응답수동 작업 실행을 참고하세요.

보안 그룹 이그레스 승인

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
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

지정된 이그레스 규칙이 하나 이상의 보안 그룹 (또는 모든 보안 그룹)에 성공적으로 추가된 경우(is_success = true): '다음 보안 그룹에 지정된 이그레스 규칙을 추가했습니다. {group_ids}'

권한 규칙 오류 (잘못된 포트 등)로 인해 지정된 이그레스 규칙을 추가하지 못한 경우(is_success = false): "다음 보안 그룹에 지정된 이그레스 규칙을 추가하지 못했습니다. {group_ids}. 이유: 잘못된 IP 권한이 설정되었습니다. 자세한 내용은 로그를 확인하세요.'

잘못된 보안 그룹 ID로 인해 지정된 이그레스 규칙을 추가할 수 없는 경우(is_success = false): '다음 보안 그룹에 지정된 이그레스 규칙을 추가할 수 없습니다: {group_ids}. 이유: 잘못된 보안 그룹 ID가 제공되었습니다. 자세한 내용은 로그를 확인하세요.``

지정된 이그레스 규칙을 모든 그룹에 추가하지 못한 경우: is_success=false

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, SDK 오류인 경우: ''보안 그룹 이그레스 승인' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {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
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

지정된 수신 규칙이 하나 이상의 보안 그룹에 추가된 경우(모두 성공적으로 업데이트된 경우 - is_success = true): '다음 보안 그룹에 지정된 수신 규칙을 추가했습니다. {group_ids}'

권한 규칙 오류 (잘못된 포트 등)로 인해 지정된 인그레스 규칙을 추가하지 못한 경우(is_success =false): "다음 보안 그룹에 지정된 인그레스 규칙을 추가하지 못했습니다. {group_ids}. 이유: 잘못된 IP 권한이 설정되었습니다. 자세한 내용은 로그를 확인하세요.'

잘못된 보안 그룹 ID로 인해 지정된 인그레스 규칙을 추가할 수 없는 경우(is_success =false): '다음 보안 그룹에 지정된 인그레스 규칙을 추가할 수 없습니다. {group_ids}. 이유: 잘못된 보안 그룹 ID가 제공되었습니다. 자세한 내용은 로그를 확인하세요.``

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, SDK 오류인 경우: ''보안 그룹 인그레스 승인' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {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
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

성공한 경우: '다음 리소스에 {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}. 이유: 태그 키는 리소스별로 고유해야 합니다.

지정된 태그가 잘못된 형식인 경우 (키만 또는 값만 있고 key:value의 전체 구조가 없음) (is_success = false): '다음 리소스에 {invalid_tags} 태그를 추가하지 못했습니다: {ids}. 이유: 형식이 잘못되었습니다. 태그에 키와 값이 포함되어야 합니다.

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, SDK 오류인 경우: ''태그 만들기' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace)

일반

인스턴스 나열

지정된 인스턴스 또는 모든 인스턴스를 설명합니다.

매개변수

매개변수 표시 이름 유형 기본값 필수 항목 설명
인스턴스 ID 문자열 해당 사항 없음 아니요 하나 이상의 인스턴스 ID입니다. 인스턴스 ID를 지정하면 지정된 인스턴스의 정보만 출력에 포함됩니다. 이 파라미터는 '최대 결과' 파라미터와 함께 사용할 수 없습니다. '인스턴스 ID'는 '최대 결과' 매개변수보다 우선순위가 높습니다.
태그 필터 문자열 해당 사항 없음 아니요 리소스에 할당된 태그의 키/값 조합입니다. 예를 들어 키가 Owner이고 값이 TeamA인 태그가 있는 모든 리소스를 찾으려면 Owner:TeamA를 지정합니다. 쉼표로 구분된 태그 필터입니다. 예: Name:Name1,Owner:TeamA 반환된 인스턴스는 모든 필터에 적합합니다.
최대 결과 정수 50 아니요 반환할 인스턴스 수를 지정합니다. 기본값은 50입니다. 최댓값은 1,000입니다. '인스턴스 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
   }
}
 ]
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

  • 인스턴스가 성공적으로 나열된 경우(is_success = true): 'Amazon EC2 인스턴스를 설명했습니다.'
  • 사용 가능한 값이 없는 경우(is_success = false): 'Amazon EC2에서 인스턴스를 찾을 수 없습니다.'

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, 잘못된 인스턴스 ID, SDK 오류인 경우: ''인스턴스 나열' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {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"
}
]
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

  • 그룹이 성공적으로 나열된 경우(is_success = true): 'Amazon EC2 보안 그룹을 설명했습니다.'
  • 사용 가능한 값이 없는 경우(is_success = false): 'Amazon EC2에서 보안 그룹을 찾을 수 없습니다.'

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, 잘못된 그룹 ID/이름, SDK 오류: ''보안 그룹 나열' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace)

일반
케이스 월 테이블

표 이름: Amazon EC2 인스턴스

테이블 열:

보안 그룹 ID

보안 그룹 이름

VPC ID

설명

소유자 ID

AWS EC2에 대한 연결을 테스트합니다.

매개변수

해당 사항 없음

실행

이 작업은 항목에서 실행되지 않습니다.

작업 결과

스크립트 결과
스크립트 결과 이름 값 옵션
is_success True/False is_success:False
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

성공한 경우: '제공된 연결 매개변수를 사용하여 Amazon EC2에 연결되었습니다.'

작업이 실패하고 플레이북 실행을 중지합니다.

실패한 경우: '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
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

하나 이상의 (또는 모든) 보안 그룹에서 지정된 이그레스 규칙을 성공적으로 취소한 경우(is_success = true): '다음 보안 그룹에서 지정된 이그레스 규칙을 취소했습니다: {group_ids}'

권한 규칙 오류 (205와 같은 잘못된 포트)로 인해 지정된 이그레스 규칙을 취소하지 못한 경우(is_success =false): '다음 보안 그룹에서 지정된 이그레스 규칙을 취소하지 못했습니다. {group_ids}. 이유: 잘못된 IP 권한이 설정되었습니다. 자세한 내용은 로그를 확인하세요.'

잘못된 보안 그룹 ID로 인해 지정된 이그레스 규칙을 취소하지 못한 경우(is_success =false): '다음 보안 그룹에서 지정된 이그레스 규칙을 취소하지 못했습니다. {group_ids}. 이유: 잘못된 보안 그룹 ID가 제공되었습니다. 자세한 내용은 로그를 확인하세요.``

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, SDK 오류인 경우: ''보안 그룹 아웃바운드 트래픽 취소' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {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
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

하나 이상의 (또는 모든) 보안 그룹에서 지정된 인그레스 규칙을 성공적으로 취소한 경우(is_success = true): '{group_ids} 보안 그룹에서 지정된 인그레스 규칙을 취소했습니다.'

권한 규칙 오류(잘못된 포트(예: 205))로 인해 지정된 인그레스 규칙을 취소하지 못한 경우(is_success =false): '다음 보안 그룹에서 지정된 인그레스 규칙을 취소하지 못했습니다. {group_ids}. 이유: 잘못된 IP 권한이 설정되었습니다. 자세한 내용은 로그를 확인하세요.'

잘못된 보안 그룹 ID로 인해 지정된 수신 규칙을 취소하지 못한 경우(is_success =false): '다음 보안 그룹에서 지정된 수신 규칙을 취소하지 못했습니다. {group_ids}. 이유: 잘못된 보안 그룹 ID가 제공되었습니다. 자세한 내용은 로그를 확인하세요.``

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, SDK 오류인 경우: ''보안 그룹 인그레스 취소' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {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"
    }
]
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

  • 모든 인스턴스 또는 일부 인스턴스의 현재 상태가 대기, 실행과 다른 경우(is_success = false): 현재 상태에서 다음 인스턴스를 시작할 수 없습니다. <failed_instance ids>
  • 현재 상태가 대기 중인 경우 → 작업이 아직 진행 중임: 계속 진행 중입니다. 요청된 인스턴스가 아직 대기 중입니다.
  • 현재 상태가 실행 중인 경우(is_success=true): 다음 인스턴스가 성공적으로 시작되었습니다: <running_instance ids>
  • 인스턴스 중 하나가 유효하지 않은 경우 (is_success =false): 다음 인스턴스가 유효하지 않습니다: <유효하지 않은 ID>. 다시 시도하세요.

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, 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가 하나 있기 때문) 인스턴스가 종료되지 않습니다.

종료된 인스턴스는 종료 후에도 약 1시간 동안 표시됩니다. 기본적으로 Amazon EC2는 인스턴스가 시작될 때 연결된 모든 EBS 볼륨을 삭제합니다. 인스턴스 시작 후에 연결된 볼륨은 계속 실행됩니다. 자세한 내용은 Amazon 사용자 가이드를 참고하세요.

매개변수

매개변수 표시 이름 유형 기본값 필수 항목 설명
인스턴스 ID 문자열 해당 사항 없음 하나 이상의 인스턴스 ID입니다. 쉼표로 구분됩니다.

실행

이 작업은 항목에서 실행되지 않습니다.

작업 결과

스크립트 결과
스크립트 결과 이름 값 옵션
is_success True/False is_success:False
JSON 결과
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
케이스 월
결과 유형 값 / 설명 유형
출력 메시지*

작업이 실패하거나 플레이북 실행을 중지하지 않습니다.

  • 모든/일부 인스턴스의 현재 상태가 종료, 종료와 다른 경우(Is_success = false): 현재 상태에서 다음 인스턴스를 종료할 수 없습니다. <failed_instance ids>
  • 현재 상태가 종료 중인 경우(is_success=true) → 작업이 아직 진행 중임: 요청된 인스턴스가 아직 종료 중입니다.
  • 현재 상태가 종료된 경우(is_success=true): 다음 인스턴스가 성공적으로 종료되었습니다. <stopped_instance ids>
  • 인스턴스 중 하나가 유효하지 않은 경우 (is_success =false): 다음 인스턴스가 유효하지 않습니다: <유효하지 않은 ID>. 다시 시도하세요.

작업이 실패하고 플레이북 실행을 중지합니다.

잘못된 사용자 인증 정보, 서버 연결 없음, 기타 오류와 같은 치명적인 오류, SDK 오류인 경우: ''인스턴스 종료' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace)

일반

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.