AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-SetupIPMonitoringFromVPC

説明

AWSSupport-SetupIPMonitoringFromVPC は指定されたサブネットに Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成し、ping、MTR、traceroute および tracetcp テストを継続的に実行することによって、選択したターゲット IP (IPv4 または IPv6) を監視します。結果は Amazon CloudWatch Logs に保存され、メトリクスフィルターが適用され、CloudWatch ダッシュボードでレイテンシーとパケット損失の統計情報をすばやく視覚化できます。

追加情報

CloudWatch Logs データは、ネットワークのトラブルシューティングやパターン/傾向の分析に使用できます。さらに、パケット損失やレイテンシーがしきい値に達したときに、Amazon SNS 通知で CloudWatch アラームを設定できます。また、このデータは、ケースを開く際に使用して AWS サポート、問題をすばやく分離し、ネットワークの問題を調査する際の解決までの時間を短縮することもできます。

注記

AWSSupport-SetupIPMonitoringFromVPC によって作成されたリソースをクリーンアップするには、ランブック AWSSupport-TerminateIPMonitoringFromVPC を使用できます。詳細については、「AWSSupport-TerminateIPMonitoringFromVPC」を参照してください。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

パラメータ

  • AutomationAssumeRole

    タイプ: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • CloudWatchLogGroupNamePrefix

    タイプ: 文字列

    デフォルト: / AWSSupport-SetupIPMonitoringFromVPC

    説明: (オプション) テスト結果用に作成された各 CloudWatch ロググループに使用されるプレフィックス。

  • CloudWatchLogGroupRetentionInDays

    タイプ: 文字列

    有効な値: 1 | 3 | 5 | 7 | 14 | 30 | 60 | 90 | 120 | 150 | 180 | 365 | 400 | 545 | 731 | 1827 | 3653

    デフォルト: 7

    説明: (オプション) ネットワーク監視結果を保持する日数。

  • InstanceType

    タイプ: 文字列

    有効な値: t2.micro | t2.small | t2.medium | t2.large | t3.micro | t3.small | t3.medium | t3.large | t4g.micro | t4g.small | t4g.medium | t4g.large

    デフォルト: t2.micro

    説明: (オプション) EC2Rescue インスタンスの EC2 インスタンスタイプ。推奨サイズ: t2.micro。

  • SubnetId

    タイプ: 文字列

    説明: (必須) インスタンスの監視に使用するサブネット ID。プライベートサブネットを指定する場合は、インスタンスの監視がテストをセットアップするためにインターネットアクセスが使用できることを確認する必要があります (つまり、CloudWatch Logs エージェントをインストールし、Systems Manager および CloudWatch と連携します)。

  • TargetIPs

    タイプ: 文字列

    説明: (必須) 監視する IPv4 または IPv6 のカンマ区切り形式リスト。スペースは使用できません。最大サイズは 255 文字です。無効な IP を指定すると自動化は失敗し、テスト設定がロールバックされることに注意してください。

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

オートメーションを実行するユーザーには [AmazonSSMAutomationRole] IAM 管理ポリシーがアタッチされていることが推奨されます。さらに、ユーザーは、ユーザーアカウント、グループ、またはロールに次のポリシーをアタッチする必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteInstanceProfile", "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": [ "arn:aws:iam:: AWS_account_ID :role/AWSSupport/SetupIPMonitoringFromVPC_*", "arn:aws:iam:: AWS_account_ID :instance-profile/AWSSupport/SetupIPMonitoringFromVPC_*" ], "Effect": "Allow" }, { "Action": [ "iam:DetachRolePolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::aws:policy/service-role/AmazonSSMManagedInstanceCore" ], "Effect": "Allow" }, { "Action": [ "cloudwatch:DeleteDashboards" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypes", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeInstanceStatus" "ec2:CreateTags", "ec2:AssignIpv6Addresses", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "ssm:GetParameter", "ssm:SendCommand", "ssm:ListCommands", "ssm:ListCommandInvocations", ], "Resource": [ "*" ], "Effect": "Allow" } ] }

ドキュメントステップ

  1. aws:executeAwsApi - 指定されたサブネットを説明します。

  2. aws:branch - TargetIP の入力を評価します。

    (IPv6) TargetIP に IPv6 が含まれている場合:

    aws:assertAwsResourceProperty - 指定されたサブネットに IPv6 プールが関連付けられていることを確認します

  3. aws:executeScript - 最新の Amazon Linux 2 AMI のインスタンスタイプとパブリックパラメータパスのアーキテクチャを取得します。

  4. aws:executeAwsApi - Parameter Store から最新の Amazon Linux 2 AMI を取得します。

  5. aws:executeAwsApi - サブネットの VPC でテスト用のセキュリティグループを作成します。

    (クリーンアップ) セキュリティグループの作成に失敗した場合:

    aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  6. aws:executeAwsApi - テストセキュリティグループ内のすべてのアウトバウンドトラフィックを許可します。

    (クリーンアップ) セキュリティグループ Egress ルールの作成に失敗した場合:

    aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  7. aws:executeAwsApi - テスト EC2 インスタンスの IAM ロールを作成します

    (クリーンアップ) ロールの作成に失敗した場合:

    1. aws:executeAwsApi - 自動化によって作成された IAM ロールがあれば削除します。

    2. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  8. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーをアタッチします

    (クリーンアップ) ポリシーの添付が失敗した場合:

    1. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします (アタッチされている場合)。

    2. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    3. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  9. aws:executeAwsApi - インラインポリシーを適用して、CloudWatch ロググループの保持設定を行い、CloudWatch ダッシュボードを作成できるようにします

    (クリーンアップ) インラインポリシーの添付に失敗した場合:

    1. aws:executeAwsApi - 作成された場合は、CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    2. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    3. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    4. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  10. aws:executeAwsApi - IAM インスタンスプロファイルを作成します。

    (クリーンアップ) インスタンスプロファイルの作成に失敗した場合:

    1. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルがあれば削除します。

    2. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    3. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールから削除します。

    4. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    5. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  11. aws:executeAwsApi - IAM インスタンスプロファイルを IAM ロールに関連付けます。

    (クリーンアップ) インスタンスプロファイルとロールの関連づけに失敗した場合:

    1. aws:executeAwsApi - 関連付けられている場合は、IAM インスタンスプロファイルをロールから削除します。

    2. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    3. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    4. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    5. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    6. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  12. aws:sleep - インスタンスプロファイルが利用可能になるのを待ちます。

  13. aws:runInstances - 指定されたサブネット内にテストインスタンスを作成し、以前に作成したインスタンスプロファイルを追加します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  14. aws:branch - TargetIP の入力を評価します。

    (IPv6) TargetIP に IPv6 が含まれている場合:

    aws:executeAwsApi - IPv6 をテストインスタンスにアサインします。

  15. aws:waitForAwsResourceProperty - テストインスタンスがマネージドインスタンスになるのを待ちます。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  16. aws:runCommand - インストールテストの前提条件:

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  17. aws:runCommand - 提供された IP が構文的に正しい IPv4 または IPv6 アドレスあるいはその両方の検証:

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  18. aws:runCommand - 提供された各 IP の MTR テストを定義します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  19. aws:runCommand - 提供された各 IP の最初の ping テストを定義します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  20. aws:runCommand - 提供された各 IP の 2 番目の ping テストを定義します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  21. aws:runCommand - 提供された各 IP の tracepath テストを定義します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  22. aws:runCommand - 提供された各 IP の traceroute テストを定義します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  23. aws:runCommand - CloudWatch Logs を設定します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  24. aws:runCommand - 1 分ごとに各テストを実行するように cronjobs をスケジュールします。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  25. aws:sleep - テストがデータを生成するのを待ちます。

  26. aws:runCommand - 目的の CloudWatch ロググループの保持を設定します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  27. aws:runCommand - CloudWatch ロググループのメトリクスフィルターを設定します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:changeInstanceState - テストインスタンスを終了します。

    2. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    3. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    4. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    5. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    6. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    7. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

  28. aws:runCommand - CloudWatch ダッシュボードを作成します。

    (クリーンアップ) ステップが失敗した場合:

    1. aws:executeAwsApi - CloudWatch ダッシュボードが存在する場合は削除します。

    2. aws:changeInstanceState - テストインスタンスを終了します。

    3. aws:executeAwsApi - IAM インスタンスプロファイルをロールから削除します。

    4. aws:executeAwsApi - 自動化によって作成された IAM インスタンスプロファイルを削除します。

    5. aws:executeAwsApi - CloudWatch インラインポリシーをオートメーションによって作成されたロールから削除します。

    6. aws:executeAwsApi - AmazonSSMManagedInstanceCore 管理ポリシーを自動化によって作成されたロールからデタッチします。

    7. aws:executeAwsApi - 自動化によって作成された IAM ロールを削除します。

    8. aws:executeAwsApi - 自動化によって作成されたセキュリティグループがあれば削除します。

出力

createCloudWatchDashboards.Output - CloudWatch ダッシュボードの URL です。

createManagedInstance.InstanceIds - テストインスタンス ID です。