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 Support のケースを開くときに使用され、問題の特定や、ネットワークの問題の調査、解決がすばやく行えるようにします。

注記

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 ログを設定します。

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

    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 - 自動化によって作成されたセキュリティグループがあれば削除します。

[Outputs] (出力)

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

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