Amazon EC2 を Google SecOps と統合する

このドキュメントでは、AWS Elastic Compute Cloud(Amazon EC2)を Google Security Operations と統合する方法について説明します。

ユースケース

  1. Amazon Elastic Compute Cloud(Amazon EC2)インスタンスを保護する

    1. セキュリティ グループを作成して、Amazon EC2 へのインバウンドとアウトバウンドのインターネット アクセスを制限します。
    2. 新しい Elastic IP アドレスを割り振る
    3. 新しい Elastic IP アドレスを関連付ける
  2. リソース管理 - インスタンスのカスタムタグを使用して、AWS リソースを追跡、識別します。

始める前に

Google SecOps で AWS Elastic Compute Cloud(EC2)統合を構成する前に、ネットワーク環境と AWS 認証情報がすべての運用上の前提条件を満たしていることを確認します。

統合のために環境を準備するには、次の操作を完了してください。

  1. Google SecOps と AWS EC2 リージョン サービス エンドポイント間のネットワークの視認性を確認します。

  2. 適切な IAM 権限を持つ AWS プログラム API 認証情報(アクセスキー ID とシークレット アクセスキー)を取得します。

  3. Google SecOps 内で統合インスタンスを構成してテストします。

ネットワークの要件

Google SecOps は、HTTPS REST API と AWS Python SDK(boto3)を使用して AWS EC2 サービスと直接通信します。

ネットワーク環境が次の接続ルールを満たしていることを確認します。

  • アウトバウンド HTTPS アクセス: Google SecOps インスタンスまたはリモート エージェントから AWS EC2 リージョン エンドポイント(ec2.<region>.amazonaws.com)へのアウトバウンド HTTPS 通信をポート 443/TCP 経由で有効にします。

    詳細については、AWS ドキュメントの AWS サービス エンドポイントをご覧ください。

  • プロキシ構成: 組織がアウトバウンド トラフィックを HTTP/HTTPS プロキシ経由でルーティングする場合は、Google SecOps サーバーまたはリモート エージェント ホストで標準環境プロキシ変数(HTTP_PROXY、HTTPS_PROXY、NO_PROXY)を構成します。

認証と認証情報

AWS EC2 統合では、AWS Signature バージョン 4 を使用してリクエストを認証するために、プログラムによる API 認証情報が必要です。

AWS 環境が次の認証要件を満たしていることを確認します。

  • プログラムによる認証情報: AWS IAM ユーザーまたはロールに関連付けられた有効な AWS アクセスキー ID と AWS シークレット キーを取得します。

    IAM ID の作成と認証情報の生成については、AWS ドキュメントの IAM ユーザーのアクセスキーの管理と IAM ID をご覧ください。

  • 最小権限: 権限を、自動化されたワークフローに必要なアクションとコンピューティング リソースのみに制限し、認証情報を定期的にローテーションします。

    セキュリティに関する推奨事項の詳細については、AWS ドキュメントの IAM のセキュリティのベスト プラクティスをご覧ください。

アクションの権限を構成する

認証を行う AWS IAM ID に、Google SecOps のハンドブックで実行するアクションに必要な特定の権限を付与します。

次の表に、AWS Elastic Compute Cloud(EC2)アクションの最小権限を示します。

アクション名 必要な AWS IAM 権限(ActionName:Permission) 前提条件となる権限 説明 / リソース スコープ
セキュリティ グループの下り(外向き)を承認する ec2:AuthorizeSecurityGroupEgress ec2:DescribeRegions EC2 セキュリティ グループにアウトバウンド ルールを追加します。リソース: ターゲット セキュリティ グループの ARN。
セキュリティ グループの Ingress を承認する ec2:AuthorizeSecurityGroupIngress ec2:DescribeRegions EC2 セキュリティ グループに受信ルールを追加します。リソース: ターゲット セキュリティ グループの ARN。
タグを作成する ec2:CreateTags ec2:DescribeRegions EC2 リソースのタグを追加または上書きします。リソース: ターゲット EC2 リソース ARN。
インスタンスを一覧表示する ec2:DescribeInstances ec2:DescribeRegions EC2 インスタンスのステータスとメタデータを取得します。リソース: *。
セキュリティ グループを一覧表示する ec2:DescribeSecurityGroups — セキュリティ グループの構成とルールを取得します。リソース: *。
ping ec2:DescribeRegions — 統合の接続性を検証します。リソース: *。
セキュリティ グループの下り(外向き)を無効にする ec2:RevokeSecurityGroupEgress ec2:DescribeRegions EC2 セキュリティ グループからアウトバウンド ルールを削除します。リソース: ターゲット セキュリティ グループの ARN。
セキュリティ グループの Ingress を取り消す ec2:RevokeSecurityGroupIngress ec2:DescribeRegions EC2 セキュリティ グループからインバウンド ルールを削除します。リソース: ターゲット セキュリティ グループの ARN。
インスタンスを開始する ec2:StartInstances — 停止した EC2 インスタンスを起動します。リソース: ターゲット EC2 インスタンス ARN。
インスタンスを停止する ec2:StopInstances — 実行中の EC2 インスタンスを停止します。リソース: ターゲット EC2 インスタンス ARN。
スナップショットを撮る ec2:CreateSnapshots ec2:DescribeRegions インスタンス ボリュームのポイントインタイム EBS スナップショットを作成します。リソース: インスタンスとボリュームの ARN。
インスタンスを終了する ec2:TerminateInstances — EC2 インスタンスをシャットダウンして終了します。リソース: ターゲット EC2 インスタンス ARN。

クイック リファレンス(ActionName:Permission)

次のクイック リファレンスを使用して、各アクションに必要な権限を確認してください。

Ping: ec2:DescribeRegions
Authorize Security Group Egress: ec2:AuthorizeSecurityGroupEgress, ec2:DescribeRegions
Authorize Security Group Ingress: ec2:AuthorizeSecurityGroupIngress, ec2:DescribeRegions
Create Tags: ec2:CreateTags, ec2:DescribeRegions
List Instances: ec2:DescribeInstances, ec2:DescribeRegions
List Security Groups: ec2:DescribeSecurityGroups
Revoke Security Group Egress: ec2:RevokeSecurityGroupEgress, ec2:DescribeRegions
Revoke Security Group Ingress: ec2:RevokeSecurityGroupIngress, ec2:DescribeRegions
Start Instance: ec2:StartInstances
Stop Instance: ec2:StopInstances
Take Snapshot: ec2:CreateSnapshots, ec2:DescribeRegions
Terminate Instance: ec2:TerminateInstances

IAM ポリシーのサンプル(最小権限)

次のポリシーの例は、Google SecOps で AWS EC2 のすべてのアクションを実行するために必要な権限を示しています。

IAM ポリシーを作成してアタッチする手順については、AWS ドキュメントの IAM ポリシーの作成をご覧ください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SecOpsEC2Discovery",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecOpsEC2InstanceRemediation",
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:TerminateInstances",
        "ec2:CreateTags",
        "ec2:CreateSnapshots"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecOpsEC2SecurityGroupManagement",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupIngress",
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupEgress"
      ],
      "Resource": "arn:aws:ec2:*:*:security-group/*"
    }
  ]
}

統合のパラメータ

次のパラメータを使用して統合を構成します。

パラメータの表示名 種類 デフォルト値 必須 説明
AWS アクセスキー ID 文字列 なし ○ 統合で使用する AWS アクセスキー ID。
AWS シークレット キー パスワード なし ○ 統合で使用する AWS シークレット キー。
AWS のデフォルト リージョン 文字列 なし ○ 統合で使用する AWS のデフォルト リージョン(例: us-west-2)。

Google SecOps で統合を構成する方法については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。

セキュリティ グループの下り(外向き)を承認する

指定された下り(外向き)ルールを、VPC で使用するセキュリティ グループに追加します。アウトバウンド ルールを使用すると、インスタンスは指定された IPv4 または IPv6 CIDR アドレス範囲にトラフィックを送信できます。ルールの変更は、影響を受けるインスタンスにできるだけ早く反映されます。ただし、わずかな遅延が発生する可能性があります。

VPC セキュリティ グループの上限の詳細については、Amazon VPC の上限をご覧ください。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
セキュリティ グループ ID 文字列 なし はい

1 つ以上のセキュリティ グループ ID。カンマで区切ります。

デベロッパー向けの注: 各 ID は別々のリクエストに含める

IP プロトコル DDL すべて いいえ

IP プロトコル名。すべてのプロトコルを指定するには、「all」を使用します。「all」を指定すると、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。

指定できる値: tcp、udp、icmp、all

開発者向けの注: 「すべて」はコードの -1 に相当します

送信元ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の開始、または ICMP タイプ番号。
終了ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の終了では、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。
IP 範囲 - CidrIP 文字列 なし いいえ IPv4 CIDR の範囲。単一の IPv4 アドレスを指定するには、プレフィックス長 /32 を使用します。
IPv6 範囲 - CidrIP 文字列 なし いいえ IPv6 CIDR の範囲。単一の IPv6 アドレスを指定するには、/128 プレフィックス長を使用します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

指定された下り(外向き)ルールを少なくとも 1 つ(またはすべて)のセキュリティ グループに正常に追加した場合:(is_success = true):「指定された下り(外向き)ルールを次のセキュリティ グループに正常に追加しました: {group_ids}」

権限ルールのエラー(無効なポートなど)が原因で、指定された下り(外向き)ルールを追加できなかった場合(is_success = false):「Failed to add the specified egress rule to the following security groups: {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 文字列 なし はい

1 つ以上のセキュリティ グループ ID。カンマで区切ります。

デベロッパー向けの注: 各 ID は別々のリクエストに含める

IP プロトコル DDL すべて いいえ

IP プロトコル名。すべてのプロトコルを指定するには、「all」を使用します。「all」を指定すると、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。

指定できる値: tcp、udp、icmp、all

開発者向けの注: 「すべて」はコードの -1 に相当します

送信元ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の開始、または ICMP タイプ番号。
終了ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の終了では、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。
IP 範囲 - CidrIP 文字列 なし いいえ CIDR 形式の IPv4 アドレス。単一の IPv4 アドレスを指定するには、プレフィックス長 /32 を使用します。
IPv6 範囲 - CidrIP 文字列 なし いいえ IPv6 CIDR の範囲。単一の IPv6 アドレスを指定するには、/128 プレフィックス長を使用します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

指定された上り(内向き)ルールが少なくとも 1 つのセキュリティ グループに正常に追加された場合(すべて正常に更新された場合 - is_success = true):「指定された上り(内向き)ルールが次のセキュリティ グループに正常に追加されました: {group_ids}」

権限ルールエラー(無効なポートなど)が原因で、指定された上り(内向き)ルールを追加できなかった場合(is_success =false):「次のセキュリティ グループに指定された上り(内向き)ルールを追加できませんでした: {group_ids}。理由: 無効な IP 権限セットが設定されています。詳しくはログをご確認ください。」

無効なセキュリティ グループ ID が原因で、指定された上り(内向き)ルールを追加できなかった場合(is_success =false):「指定された上り(内向き)ルールを次のセキュリティ グループに追加できませんでした: {group_ids}。理由: 無効なセキュリティ グループ ID が指定されました。詳しくはログをご確認ください。

アクションが失敗し、ハンドブックの実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラー、SDK エラーの場合::「アクション「セキュリティ グループの Ingress の承認」の実行エラー。理由: {0}」.format(error.Stacktrace)

全般

タグを作成する

タグは、AWS リソースに割り当てるラベルです。各タグはキーとオプションの値で構成されます。タグを使用して、リソースの検索とフィルタリング、AWS の費用の追跡を行うことができます。指定された Amazon EC2 リソースに対して、指定されたタグのみを追加または上書きします。既存のタグキーを指定すると、値は新しい値で上書きされます。各リソースには、最大 50 個のタグを付加できます。タグキーはリソースごとに一意である必要があります。

タグの詳細については、Amazon Elastic Compute Cloud ユーザーガイドのリソースのタグ付けをご覧ください。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
リソース ID 文字列 なし はい 1 つ以上のリソース ID。カンマで区切ります。
タグ 文字列 なし はい

リソースに割り当てるタグの Key-Value の組み合わせ。たとえば、指定したすべてのリソースにキー Owner と値 TeamA のタグを追加するには、Owner:TeamA を指定します。複数の Key-Value の組み合わせをカンマで区切って指定できます。

指定したタグを追加または上書きできます。タグキーはリソースごとに一意である必要があります。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
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 文字列 なし いいえ 1 つ以上のインスタンス ID。インスタンス ID を指定すると、指定したインスタンスの情報のみが出力に含まれます。このパラメータは、パラメータ「Max Results」と併用できません。「インスタンス ID」は「最大結果」パラメータよりも優先されます。
タグフィルタ 文字列 なし いいえ リソースに割り当てられたタグのキーと値の組み合わせ。たとえば、キーが Owner で値が TeamA のタグを持つすべてのリソースを検索するには、Owner:TeamA を指定します。カンマ区切りのタグフィルタ。例: Name:Name1、Owner:TeamA。返されるインスタンスは、すべてのフィルタに適合します。
結果の最大件数 Integer 50 いいえ 返されるインスタンスの数を指定します。デフォルトは 50 です。最大値は 1,000 です。パラメータ「Instance IDs」は、パラメータ「Max Results」と併用できません。「インスタンス 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)

一般
Case Wall テーブル

テーブル名: Amazon EC2 インスタンス

テーブル列:

ID

状態

種類

アベイラビリティ ゾーン

パブリック IPv4 DNS

パブリック IPv4 アドレス

モニタリング

セキュリティ グループ名

鍵名

開始時間

セキュリティ グループを一覧表示する

指定したセキュリティ グループまたはすべてのセキュリティ グループを記述します。セキュリティ グループは、EC2-Classic プラットフォームまたは特定の VPC のインスタンスで使用します。

詳細については、Amazon EC2 セキュリティ グループをご覧ください。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
セキュリティ グループ名 文字列 なし False 1 つ以上のセキュリティ グループ名(EC2-Classic とデフォルト VPC のみ)。カンマで区切ります。セキュリティ グループ名を指定すると、指定した名前の情報のみが出力に含まれます。
セキュリティ グループ ID 文字列 なし False 1 つ以上のセキュリティ グループ ID。カンマで区切ります。セキュリティ グループ ID を指定すると、指定した ID の情報のみが出力されます。デフォルト以外の VPC のセキュリティ グループに必要です。
タグフィルタ 文字列 なし False

セキュリティ グループに割り当てられたタグの Key-Value の組み合わせ。たとえば、キー Owner と値 TeamA を含むタグを持つすべてのグループを検索するには、Owner:TeamA と入力します。Name:Name1,Owner:TeamA などのカンマ区切りのタグフィルタを使用できます。返されるグループは、すべてのフィルタに一致する必要があります。

結果の最大件数 Integer 50 False 返されるセキュリティ グループの数。デフォルト値は 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)

一般
Case Wall テーブル

テーブル名: Amazon EC2 インスタンス

テーブル列:

セキュリティ グループ ID

セキュリティ グループ名

VPC ID

説明

所有者 ID

Ping

AWS EC2 への接続性をテストします。

パラメータ

なし

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

成功した場合:「指定された接続パラメータで Amazon EC2 に正常に接続しました。」

アクションが失敗し、ハンドブックの実行が停止します。

成功しなかった場合:「Amazon EC2 サーバーへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

全般

セキュリティ グループの下り(外向き)を取り消す

EC2-VPC のセキュリティ グループから、指定された下り(外向き)ルール(アウトバウンド ルール)を削除します。このアクションは、EC2-Classic で使用するセキュリティ グループには適用されません。ルールを削除するには、指定する値(ポートなど)が既存のルールの値と完全に一致している必要があります。ルールの変更は、セキュリティ グループ内のインスタンスにできるだけ早く反映されます。ただし、わずかな遅延が発生する可能性があります。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
セキュリティ グループ ID 文字列 なし はい

1 つ以上のセキュリティ グループ ID。カンマで区切ります。

デベロッパー向けの注: 各 ID は別々のリクエストに含める

IP プロトコル DDL すべて いいえ

IP プロトコル名。すべてのプロトコルを指定するには、「all」を使用します。「all」を指定すると、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。

指定できる値: tcp、udp、icmp、all

開発者向けの注: 「すべて」はコードの -1 に相当します

送信元ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の開始、または ICMP タイプ番号。
終了ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の終了では、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。
IP 範囲 - CidrIP 文字列 なし いいえ CIDR 形式の IPv4 アドレス。単一の IPv4 アドレスを指定するには、プレフィックス長 /32 を使用します。
IPv6 範囲 - CidrIP 文字列 なし いいえ IPv6 CIDR の範囲。単一の IPv6 アドレスを指定するには、/128 プレフィックス長を使用します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

指定された下り(外向き)ルールが少なくとも 1 つ(またはすべて)のセキュリティ グループから正常に取り消された場合:(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 文字列 なし はい

1 つ以上のセキュリティ グループ ID。カンマで区切ります。

デベロッパー向けの注: 各 ID は別々のリクエストに含める

IP プロトコル DDL すべて いいえ

IP プロトコル名。すべてのプロトコルを指定するには、「all」を使用します。「all」を指定すると、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。

指定できる値: tcp、udp、icmp、all

開発者向けの注: 「すべて」はコードの -1 に相当します

送信元ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の開始、または ICMP タイプ番号。
終了ポート Integer いいえ TCP プロトコルと UDP プロトコルのポート範囲の終了では、指定したポート範囲に関係なく、すべてのポートのトラフィックが許可されます。
IP 範囲 - CidrIP 文字列 なし いいえ CIDR 形式の IPv4 アドレス。単一の IPv4 アドレスを指定するには、プレフィックス長 /32 を使用します。
IPv6 範囲 - CidrIP 文字列 なし いいえ IPv6 CIDR の範囲。単一の IPv6 アドレスを指定するには、/128 プレフィックス長を使用します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

指定された上り(内向き)ルールを少なくとも 1 つ(またはすべて)のセキュリティ グループに対して正常に取り消した場合:(is_success = true):「指定された上り(内向き)ルールを次のセキュリティ グループから正常に取り消しました: {group_ids}」

権限ルールエラー(205 などの無効なポート)により、指定された上り(内向き)ルールを取り消せなかった場合:(is_success =false):「次のセキュリティ グループから指定された上り(内向き)ルールを取り消せませんでした: {group_ids}。理由: 無効な IP 権限セットが設定されています。詳しくはログをご確認ください。」

無効なセキュリティ グループ ID が原因で、指定された上り(内向き)ルールを取り消せなかった場合(is_success =false): 「次のセキュリティ グループから指定された上り(内向き)ルールを取り消せませんでした: {group_ids}。理由: 無効なセキュリティ グループ ID が指定されました。詳しくはログをご確認ください。

アクションが失敗し、ハンドブックの実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラー、SDK エラーの場合::「アクション「セキュリティ グループの Ingress の取り消し」の実行エラー。理由: {0}」.format(error.Stacktrace)

全般

インスタンスの開始

以前に停止した Amazon Elastic Block Store(Amazon EBS)ベースのインスタンスを起動します。インスタンスが実行状態になるまでに数分かかることがあります。インスタンス ストアでバックアップされたインスタンスは起動できません。インスタンス ストアでバックアップされたインスタンスの詳細については、ルートデバイスのストレージをご覧ください。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
インスタンス ID 文字列 なし はい 1 つ以上のインスタンス 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)

一般

インスタンスの停止

Amazon EBS-backed インスタンスを停止します。インスタンスを停止すると、システムは短い遅延の後にインスタンスを強制的にシャットダウンしようとします。インスタンスが停止するまでに数分かかることがあります。インスタンスはいつでも再起動できます。インスタンス ストアでサポートされているインスタンスを停止することはできません。代わりに終了する必要があります。インスタンス ストアでサポートされるインスタンスの詳細については、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device をご覧ください。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
インスタンス ID 文字列 なし はい インスタンス ID のカンマ区切りのリスト。
強制 Bool なし いいえ このオプションを選択すると、アクションは正常でない(ハード)シャットダウンを実行し、ファイル システムのキャッシュやメタデータをフラッシュせずにインスタンスを直ちに停止します。このプロセスでは、インスタンスがオペレーションを再開する前に、必須のファイル システムのチェックと修復手順が必要です。Windows インスタンスには推奨されません。

デフォルトでは有効になっていません。

実行

このアクションはエンティティに対しては実行されません。

スナップショットを撮る

インスタンスのスナップショットを取得します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
インスタンス 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"
    }
  ]
}

インスタンスを終了

インスタンスを終了します。

終了したインスタンスは再起動できません。終了できるのは、インスタンス ストアを基盤とするインスタンスのみです。インスタンス ストアでサポートされるインスタンスの詳細については、ルートデバイスのストレージをご覧ください。

インスタンスを複数回終了すると、すべての呼び出しが成功します。複数のインスタンスを指定してリクエストが失敗した場合(たとえば、1 つのインスタンス ID が正しくない場合)、どのインスタンスも終了しません。

終了したインスタンスは、終了後も(約 1 時間)表示されたままになります。デフォルトでは、Amazon EC2 はインスタンスの起動時にアタッチされたすべての EBS ボリュームを削除します。インスタンスの起動後にアタッチされたボリュームは引き続き実行されます。詳細については、Amazon ユーザーガイドをご覧ください。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
インスタンス ID 文字列 なし はい 1 つ以上のインスタンス ID。カンマで区切ります。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success True/False is_success:False
JSON の結果
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

  • すべてまたは一部のインスタンスの現在の状態が、shutting-down、terminated と異なる場合(Is_success = false): 次のインスタンスを現在の状態から終了できません: <failed_instance ids>
  • 現在の状態が shutting-down の場合:(is_success=true)→ アクションはまだ進行中: 続行中。リクエストされたインスタンスはまだシャットダウン中です
  • 現在の状態が終了の場合:(is_success=true): 次のインスタンスが正常に終了しました : <stopped_instance ids>
  • いずれかのインスタンスが無効な場合(is_success =false): 次のインスタンスは無効です: <無効な ID>。もう一度お試しください。

アクションが失敗し、ハンドブックの実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラー、SDK エラーの場合::「アクション「インスタンスの終了」の実行エラー。理由: {0}」.format(error.Stacktrace)

全般

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。