View a markdown version of this page

AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Automation 런북 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSSupport-SetupIPMonitoringFromVPC

설명

AWSSupport-SetupIPMonitoringFromVPC는 지정된 서브넷에서 Amazon Linux 2023을 실행하는 임시 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 생성합니다. 실행서는 선택한 대상 IPs(IPv4 또는 IPv6)에 대해 ping, MTR, traceroute 및 tracetcp 테스트를 지속적으로 실행합니다. 결과를 Amazon CloudWatch 로그 그룹에 저장하고 지표 필터를 적용하여 CloudWatch 대시보드에서 지연 시간 및 패킷 손실 통계를 빠르게 시각화합니다.

추가 요금

이 실행서에는 추가 AWS 비용이 발생합니다. 를 사용하여 계정에서 Amazon EC2 인스턴스, CloudWatch 로그 그룹 및 CloudWatch 대시보드를 프로비저닝합니다 AWS CloudFormation. CloudFormation 스택을 삭제할 때까지 테스트 인스턴스가 계속 실행됩니다. RetainDashboardAndLogsOnDeletionTrue (기본값)으로 설정하면 스택 삭제 후에도 CloudWatch 대시보드 및 로그 그룹이 유지됩니다. 이러한 리소스는 수동으로 제거할 때까지 계속 요금이 발생합니다. 요금 세부 정보는 Amazon EC2 요금Amazon CloudWatch 요금을 참조하세요.

추가 정보

Amazon CloudWatch Logs의 테스트 결과를 사용하여 네트워크 문제 해결 및 패턴 및 추세 분석을 수행할 수 있습니다. 또한 패킷 손실 또는 지연 시간이 임계값에 도달하면 Amazon Simple Notification Service 알림을 사용하여 CloudWatch 경보를 구성할 수 있습니다. 또한에서 사례를 열 때 이러한 결과를 사용하여 문제를 신속하게 AWS Support격리하고 네트워크 문제를 조사할 때 해결 시간을 단축할 수 있습니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

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 | t3.large | t4g.micro | t4g.small | t4g.medium | t4g.large

    기본값: t3.micro

    설명: (선택 사항) 모니터링 인스턴스의 Amazon EC2 인스턴스 유형입니다. 권장 크기: t3.micro.

  • SubnetId

    유형: 문자열

    설명: (필수) 모니터 인스턴스의 서브넷 ID입니다. 프라이빗 서브넷을 지정하는 경우 모니터 인스턴스가 테스트를 설정할 수 있도록 인터넷 액세스 권한이 있는지 확인해야 합니다(예: CloudWatch 에이전트 설치, AWS Systems Manager 및 CloudWatch와 상호 작용).

  • TargetIPs

    유형: 문자열

    설명: (필수) 모니터링할 IPv4 또는 IPv6 주소의 쉼표로 구분된 목록입니다. 공백은 사용할 수 없습니다. 최대 크기는 255자입니다. 잘못된 IP를 제공하면 자동화가 실패하고 테스트 설정이 롤백됩니다.

  • TestInstanceSecurityGroupId

    유형: 문자열

    설명: (선택 사항) 테스트 인스턴스의 보안 그룹 ID입니다. 지정하지 않으면 자동화는 인스턴스 생성 중에 하나를 생성합니다. 보안 그룹이 모니터링 IPs에 대한 아웃바운드 액세스를 허용하는지 확인합니다.

  • TestInstanceProfileName

    유형: 문자열

    설명: (선택 사항) 테스트 AWS Identity and Access Management 인스턴스에 대한 기존 인스턴스 프로파일의 이름입니다. 지정하지 않으면 자동화는 인스턴스 생성 중에 하나를 생성합니다. 역할에는 logs:CreateLogStream, logs:DescribeLogGroupslogs:DescribeLogStreams, logs:PutLogEvents 및 AWS 관리형 정책과 같은 권한이 있어야 합니다AmazonSSMManagedInstanceCore.

  • TestInterval

    유형: 문자열

    설명: (선택 사항) 테스트 간격 사이의 분 수입니다. 기본값은 1 분이고 최대값은 10 분입니다.

  • RetainDashboardAndLogsOnDeletion

    유형: 문자열

    설명: (선택 사항) CloudFormation 스택을 삭제할 때 CloudWatch 대시보드 및 로그 그룹을 삭제False하도록 지정합니다. 기본값은 True입니다. 기본적으로 실행서는 대시보드와 로그를 유지합니다. 더 이상 필요하지 않은 경우 수동으로 삭제해야 합니다.

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

주의

변경 가능한 IAM 권한의 오용을 방지하기 위해 TestInstanceProfileName 파라미터를 전달하거나 보안 가드레일을 마련하는 것이 좋습니다.

자동화를 실행하는 사용자에게 AmazonSSMAutomationRole IAM 관리형 정책이 연결되도록 하는 것이 좋습니다. 또한, 사용자의 사용자 계정, 그룹 또는 역할에 다음 정책이 연결되어 있어야 합니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:GetRolePolicy", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile", "iam:PutRolePolicy", "iam:TagRole" ], "Resource": [ "arn:aws:iam::111122223333:role/SetupIPMonitoringFromVPC*", "arn:aws:iam::111122223333:instance-profile/SetupIPMonitoringFromVPC*" ], "Effect": "Allow" }, { "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudwatch:PutDashboard", "cloudwatch:DeleteDashboards", "ec2:AuthorizeSecurityGroupEgress", "ec2:CreateSecurityGroup", "ec2:CreateLaunchTemplate", "ec2:DeleteSecurityGroup", "ec2:DescribeImages", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypes", "ec2:DescribeVpcs", "ec2:DeleteLaunchTemplate", "ec2:DeleteSecurityGroup", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeInstanceStatus", "ec2:CreateTags", "ec2:AssignIpv6Addresses", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeLaunchTemplates", "ec2:RevokeSecurityGroupEgress", "logs:CreateLogGroup", "logs:DeleteLogGroup", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "logs:TagResource", "ssm:DescribeInstanceInformation", "ssm:GetParameter", "ssm:GetParameters", "ssm:SendCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Resource": [ "*" ], "Effect": "Allow" } ] }

TestInstanceProfileName 파라미터가 제공된 경우 실행서를 실행하는 데 다음 IAM 권한이 필요하지 않습니다.

  • iam:CreateRole

  • iam:CreateInstanceProfile

  • iam:DetachRolePolicy

  • iam:AttachRolePolicy

  • iam:AddRoleToInstanceProfile

  • iam:RemoveRoleFromInstanceProfile

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:DeleteInstanceProfile

문서 단계

  1. aws:executeAwsApi - 제공된 서브넷을 설명하여 VPC ID 및 IPv6 CIDR 블록 연결 상태를 가져옵니다.

  2. aws:executeScript - 제공된 대상 IPs가 구문상 올바른 IPv4 및/또는 IPv6 주소인지 확인하고, 선택한 인스턴스 유형의 아키텍처를 가져오고, 대상 IP가 IPv6인 경우 서브넷에 IPv6 풀 연결이 있는지 확인합니다.

  3. aws:createStack - 테스트 Amazon EC2 인스턴스, IAM 인스턴스 프로파일(제공되지 않은 경우), 보안 그룹(제공되지 않은 경우), CloudWatch 로그 그룹 및 CloudWatch 대시보드를 프로비저닝하는 CloudFormation 스택을 생성합니다.

    (정리) 단계가 실패하는 경우:

    aws:executeScript - CloudFormation 스택 이벤트를 설명하여 실패 이유를 식별합니다.

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  4. aws:waitForAwsResourceProperty - CloudFormation 스택 생성이 완료될 때까지 기다립니다.

    (정리) 단계가 실패하는 경우:

    aws:executeScript - CloudFormation 스택 이벤트를 설명하여 실패 이유를 식별합니다.

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  5. aws:executeScript - CloudFormation 스택 리소스를 설명하여 테스트 인스턴스 ID, 보안 그룹 ID, IAM 역할, 인스턴스 프로파일 및 대시보드 이름을 가져옵니다.

    (정리) 단계가 실패하는 경우:

    aws:executeScript - CloudFormation 스택 이벤트를 설명하여 실패 이유를 식별합니다.

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  6. aws:waitForAwsResourceProperty - 테스트 인스턴스가 관리형 인스턴스가 될 때까지 기다립니다.

    (정리) 단계가 실패하는 경우:

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  7. aws:runCommand - 테스트 인스턴스에 CloudWatch 에이전트mtr, 및 traceroute를 설치합니다.

    (정리) 단계가 실패하는 경우:

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  8. aws:runCommand - 제공된 각 IPs에 대한 네트워크 테스트 스크립트(MTR, ping, tracepath 및 traceroute)를 정의합니다.

    (정리) 단계가 실패하는 경우:

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  9. aws:runCommand - TestInterval 분마다 실행되는 시스템 타이머를 사용하여 네트워크 테스트를 시작하고 후속 실행을 예약합니다.

    (정리) 단계가 실패하는 경우:

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  10. aws:runCommand - 테스트 결과를에서 CloudWatch Logs로 푸시하도록 CloudWatch 에이전트/home/ec2-user/logs/를 구성합니다.

    (정리) 단계가 실패하는 경우:

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  11. aws:runCommand -에서 테스트 결과에 대한 로그 교체를 구성합니다/home/ec2-user/logs/.

  12. aws:executeScript - CloudFormation 스택에서 생성된 모든 CloudWatch 로그 그룹에 대해 보존 정책을 설정합니다.

  13. aws:executeScript - ping 지연 시간 및 ping 패킷 손실을 위한 CloudWatch 로그 그룹 지표 필터를 생성합니다.

    (정리) 단계가 실패하는 경우:

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  14. aws:executeScript - ping 지연 시간 및 ping 패킷 손실 통계를 위한 위젯을 포함하도록 CloudWatch 대시보드를 업데이트합니다.

    (정리) 단계가 실패하는 경우:

    aws:executeAwsApi - CloudWatch 대시보드가 있는 경우 해당 대시보드를 삭제합니다.

    aws:deleteStack - CloudFormation 스택과 모든 관련 리소스를 삭제합니다.

  15. aws:branch - SleepTime 파라미터를 평가합니다. 로 설정하면 스택0을 삭제하지 않고 자동화가 종료됩니다.

  16. aws:sleep - CloudFormation 스택을 삭제하기 전에 지정된 SleepTime 기간 동안 기다립니다.

  17. aws:deleteStack - CloudFormation 스택을 삭제합니다. RetainDashboardAndLogsOnDeletion 파라미터에 따라 CloudWatch 대시보드 및 로그 그룹은 유지되거나 삭제됩니다.

    (정리) 스택 삭제에 실패하는 경우:

    aws:executeScript - CloudFormation 스택 이벤트를 설명하여 삭제 실패 이유를 식별합니다.

출력

updateCloudWatchDashboard.StackUrl - CloudFormation 스택의 URL입니다.

updateCloudWatchDashboard.DashboardUrl - CloudWatch 대시보드의 URL입니다.

updateCloudWatchDashboard.DashboardName - CloudWatch 대시보드의 이름입니다.

updateCloudWatchDashboard.LogGroups - 생성된 CloudWatch 로그 그룹 목록입니다.

describeStackResources.HelperInstanceId - 테스트 인스턴스 ID입니다.

describeStackResources.StackName - CloudFormation 스택 이름입니다.