Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
AWSSupport-SetupIPMonitoringFromVPC 자동화 런북을 사용하여 특정 IP를 모니터링하는 방법
본 기사는 AWS 지원 자동화 워크플로우 (Support Automation Workflow)의 “AWSSupport-SetupIPMonitoringFromVPC” 런북을 사용VPC에서 특정 IP 주소들에 대한 네트워크 모니터링을 설정하고 관리하는 방법에 관해 설명합니다.
[안내]
AWSSupport-SetupIPMonitoringFromVPC는 네트워크 모니터링을 자동화하는 AWS 런북으로, 지정된 서브넷에 EC2 인스턴스를 생성하여 선택한 IP 주소들(IPv4/IPv6)에 대해 ping, MTR, traceroute, tracetcp 테스트를 지속적으로 실행합니다. 수집된 테스트 결과는 CloudWatch Logs에 저장되며, 메트릭 필터를 통해 CloudWatch 대시보드에서 지연 시간과 패킷 손실 통계를 시각화할 수 있습니다. 이를 통해 네트워크 문제 해결과 패턴 분석이 가능하며, 필요한 경우 임계값 기반의 경보를 설정하거나 AWS Support 케이스 해결을 위한 데이터로 활용할 수 있습니다.
[런북 자동화 실행 절차]
- 해당링크로 이동하여 왼쪽 네비게이션에서 자동화(Automation)을 선택한 뒤, (Excute runbook)을 선택합니다.
- 자동화 런북 모음에서 “AWSSupport-SetupIPMonitoringFromVPC”를 선택한 후 Next를 클릭 및 런북을 실행(Excute automation)합니다.
- 입력 파라미터(Input Parameters) 항목에 필요한 정보를 입력합니다.
- SubnetId : 모니터링을 수행할 인스턴스의 서브넷을 지정합니다.
- TargetIPs : 모니터링할 IPv4 및/또는 IPv6 주소 목록을 쉼표로 구분하여 지정하는 필수 파라미터입니다. 공백은 허용되지 않으며, 최대 255자로 입력 가능합니다. 잘못된 IP나 중복된 IP를 입력하면 자동화가 실패하고 테스트 설정이 롤백됩니다.
- CloudWatchLogGroupNamePrefix : 테스트 결과를 저장할 Amazon CloudWatch Logs 로그 그룹의 이름 접두사를 지정하는 선택적 파라미터입니다.
- CloudWatchLogGroupRetentionInDays : 로그의 데이터 보존 기간(일)을 설정하는 선택적 파라미터입니다. 이 보존 정책은 로그 스트림 내의 이벤트만 삭제하며 로그 스트림이나 로그 그룹 자체는 삭제하지 않습니다.
- InstanceType : 테스트 인스턴스의 Amazon EC2 인스턴스 유형을 지정하는 선택적 파라미터입니다. 기본값은 't3.micro'입니다.
- TestInstanceSecurityGroupId : 모니터링 인스턴스에 적용할 보안 그룹의 ID를 지정하는 선택적 파라미터입니다. 사용자가 이 파라미터를 지정하지 않으면, 런북이 새로운 보안 그룹을 생성하여 사용합니다. 이 보안 그룹은 모니터링 대상 IP 주소들로 아웃바운드 트래픽을 보낼 수 있도록 구성되어야 합니다.
- TestInstanceProfileName : TestInstanceProfileName은 테스트 인스턴스에 사용할 선택적 IAM 인스턴스 프로파일 이름을 지정하는 파라미터입니다. 지정하지 않으면 자동화 과정에서 새로운 프로파일이 생성됩니다. 이 프로파일은 CloudWatch Logs 관련 작업(로그 스트림 생성, 로그 그룹 및 스트림 설명, 로그 이벤트 입력)과 Systems Manager 관리를 위한 권한이 필요합니다. 구체적으로 'logs:CreateLogStream', 'logs:DescribeLogGroups', 'logs:DescribeLogStreams', 'logs:PutLogEvents' 권한과 'AmazonSSMManagedInstanceCore' AWS 관리형 정책이 포함되어야 합니다. 기존 IAM 인스턴스 프로파일을 사용할 경우 이러한 권한들이 모두 포함되어 있는지 확인해야 합니다.
- TestInterval : TestInterval은 테스트 간격을 분 단위로 지정하는 선택적 파라미터입니다. 이 파라미터는 네트워크 모니터링 테스트(ping, MTR, traceroute, tracetcp)를 실행하는 주기를 결정합니다. 기본값은 1분으로 설정되어 있어 매분마다 테스트가 실행되며, 사용자는 최대 10분까지 간격을 늘릴 수 있습니다. 이를 통해 사용자는 모니터링 빈도를 조절하여 리소스 사용량과 데이터 수집 세밀도 사이의 균형을 맞출 수 있습니다. 더 긴 간격을 설정하면 네트워크 상태 변화를 감지하는 민감도가 낮아질 수 있습니다.
- SleepTime : 런북이 테스트 결과(AWS CloudFormation 스택)를 삭제하기 전에 대기할 시간(분)을 지정하는 선택적 파라미터입니다. 기본값은 24시간(1,440분)이며, 최대값은 7일 미만(10,080분)입니다. 0으로 설정하면 스택이 자동으로 삭제되지 않습니다.
- RetainDashboardAndLogsOnDeletion : AWS CloudFormation 스택 삭제 시 Amazon CloudWatch 대시보드와 로그를 함께 삭제할지 여부를 지정하는 선택적 파라미터입니다. 기본값은 'True'로, 대시보드와 로그가 유지되며 필요 없어질 때 수동으로 삭제해야 합니다. 'False'로 설정하면 스택 삭제 시 함께 삭제됩니다.
- AutomationAssumeRole : AWS IAM(Identity and Access Management) 역할의 Amazon Resource Name(ARN)을 의미합니다. 해당 항목에 입력이 없는 경우 현재 IAM 사용자를 통해 런북을 실행합니다. “AWSSupport-SetupIPMonitoringFromVPC”를 실행하기 위해서는 다음과 같은 IAM 권한(IAM permission)이 필요합니다. 런북에 사용될 서비스 역할을 생성해야 하는 경우 콘솔을 사용하여 Automation을 위한 서비스 역할 생성을 참고하시길 바랍니다.
{
"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"
}
]
}
5 .이어서 런북이 실행된 결과를 확인 가능합니다.
[출력결과]
[Cloudwatch - 대시보드]
[Cloudwatch - logs]
[모니터링 인스턴스]
인스턴스 내 경로 /home/ec2-user/logs/ 에 mtr, ping, tracepath, traceroutetcp 의 결과가 저장되고 있는 것과 home/ec2-user 에서 대상 IP에 대한 모니터링 스크립트 실행 확인이 가능합니다.
8.8.8.8에 대한 모니터링 수행
이와 같이 AWS 지원 자동화 워크플로우 (Support Automation Workflow) 런북을 실행하였으나 이슈가 발생할 경우, AWS Support 에 문의하여 추가 지원을 받을 수 있습니다. 이때 앞서 실행한 런북 실행 ID 및 실행 결과 등의 정보를 포함하여 문의 주시면 신속한 지원에 도움이 됩니다.
관련 콘텐츠
- 질문됨 한 달 전lg...
- 질문됨 2달 전lg...
- 질문됨 5달 전lg...