

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

# `AWSSupport-TroubleshootELBHealthChecks`
<a name="automation-aws-troubleshootelbhealthchecks"></a>

 **설명** 

**AWSSupport-TroubleshootELBHealthChecks** 실행서는 관련 Amazon CloudWatch(CloudWatch) 지표를 분석하고, 네트워크 연결을 확인하고, 대상 인스턴스에서 진단 명령을 실행하여 AWS Elastic Load Balancing(Elastic Load Balancing) 상태 확인 문제를 해결하는 데 도움이 됩니다.

이 실행서는 다음 사용 사례를 다룹니다.
+ 로드 밸런서 또는 대상 그룹의 대상 인스턴스 내에 비정상 인스턴스가 있습니다.
+ 비정상 인스턴스는 없지만 CloudWatch 지표는에 대한 데이터 포인트를 나타냅니다. `UnHealthyHostCounts` 

**중요**  
중요 고려 사항:  
자동화는 인스턴스 유형 대상 문제 해결에 중점을 둡니다.
문제 해결에 허용되는 최대 인스턴스 수는 50개입니다.
인스턴스 수준에서 진단 명령을 실행하려면 Systems Manager에서 대상 인스턴스를 관리해야 합니다.
`S3BucketName` 파라미터는 선택 사항이지만 특정 진단 결과는 지정된 Amazon S3 버킷에 직접 업로드되며 자동화 출력에 표시되지 않습니다.
IPv6 네트워크 연결 문제 해결은 지원되지 않습니다.

 [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootELBHealthChecks) 

**문서 유형**

자동화

**소유자**

Amazon

**플랫폼**

/

**필수 IAM 권한**

실행서를 성공적으로 사용하려면 `AutomationAssumeRole` 파라미터에 다음 작업이 필요합니다.
+ `elasticloadbalancing:DescribeLoadBalancers`
+ `elasticloadbalancing:DescribeTargetGroups`
+ `elasticloadbalancing:DescribeTargetHealth`
+ `elasticloadbalancing:DescribeInstanceHealth`
+ `ec2:DescribeInstances`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `cloudwatch:GetMetricStatistics`
+ `ssm:SendCommand`
+ `ssm:GetCommandInvocation`
+ `ssm:DescribeInstanceInformation`
+ `s3:GetBucketLocation`
+ `s3:GetBucketAcl`
+ `s3:PutObject`

정책 예제:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "elasticloadbalancing:DescribeInstanceHealth",
                "ec2:DescribeInstances",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "cloudwatch:GetMetricStatistics",
                "ssm:SendCommand",
                "ssm:GetCommandInvocation",
                "ssm:DescribeInstanceInformation",
                "s3:GetBucketLocation",
                "s3:GetBucketAcl",
                "s3:PutObject"
            ],
            "Resource": "*"
        }
    ]
}
```

 **지침** 

다음 단계에 따라 자동화를 구성합니다.

1. Systems Manager[https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootELBHealthChecks/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootELBHealthChecks/description)의 문서로 이동합니다.

1. **Execute automation(자동화 실행)**을 선택합니다.

1. 입력 파라미터에 다음을 입력합니다.
   + **AutomationAssumeRole(선택 사항):**
     + 설명: (선택 사항) SSM Automation이 사용자를 대신하여 작업을 수행하도록 허용하는 (IAM) 역할의 AWS Identity and Access Management Amazon 리소스 이름(ARN)입니다. 역할이 지정되지 않은 경우 SSM Automation은이 실행서를 시작하는 사용자의 권한을 사용합니다.
     + 유형: `AWS::IAM::Role::Arn`
   + **LoadBalancerOrTargetGroupName(필수):**
     + 설명: (필수) Classic Load Balancer의 이름 또는 Application Load Balancer 또는 Network Load Balancer와 연결된 대상 그룹의 이름입니다.
     + 유형: `String`
     + 허용된 패턴: `^[a-zA-Z0-9-]+$`
   + **ExecutionMode(필수):**
     + 설명: (필수) 자동화 실행 모드를 제어합니다. `Complete`는 Amazon EC2 인스턴스에서 runCommands를 포함한 모든 단계를 실행합니다.는 인스턴스에서 명령 실행을 제외한 모든 단계를 `SkipRunCommands` 실행합니다.
     + 유형: `String`
     + 허용된 값: `[Complete, SkipRunCommands]`
   + **S3BucketName(선택 사항):**
     + 설명: (선택 사항) 문제 해결 로그를 업로드하려는 계정의 Amazon S3 버킷 이름입니다.
     + 유형: `String`
     +  기본값: `""`

1. **실행**을 선택합니다.

1. 자동화가 시작됩니다.

1. 문서는 다음 단계를 수행합니다.
   + **getBucketPublicStatus**:

     대상 Amazon S3 버킷이 객체에 대한 읽기 또는 쓰기 퍼블릭 액세스 권한을 부여할 가능성이 있는지 확인합니다.
   + **getLoadBalancerDetails**:

     로드 밸런서 유형을 식별하고 통합 로드 밸런서 세부 정보 객체를 반환합니다.
   + **checkLoadBalancerType**:

     로드 밸런서가 존재하는지 확인합니다.
   + **getTargets**:

     쿼리는 다양한 유형의 로드 밸런서를 기반으로 정상 및 비정상 대상 세부 정보의 맵을 반환하는 APIs를 설명합니다.
   + **checkCloudWatchMetrics**:

     CloudWatch 지표`HealthyHostCounts``UnHealthyHostCounts`를 확인하고 CloudWatch 링크를 생성합니다.
   + **checkUnhealthyReasons**:

     비정상 원인을 확인하고 대상을 필터링합니다.
   + **checkConnectivity**:

     로드 밸런서와 해당 인스턴스 간의 연결을 확인합니다.
   + **runCommands**:

     인스턴스에서 문제 해결 명령을 실행하고 버킷 이름이 제공된 경우 출력을 업로드합니다.
   + **generateReport**:

     이전 단계의 출력을 기반으로 최종 보고서를 생성하고 지정된 경우 Amazon S3 버킷에 보고서를 업로드합니다.

1. 완료되면 **출력** 섹션에서 실행의 자세한 결과를 검토합니다.

 **진단 명령** 

실행서는 인스턴스에서 다음 진단 명령을 실행합니다.
+ **Linux 쉘:** top, free, ss, curl, iptables, tcpdump
+ **Windows PowerShell:** Get-CimInstance, Get-NetFirewallProfile, Get-NetFirewallRule, Invoke-WebRequest, netstat, netsh, pktmon

**참조**

Systems Manager Automation
+ [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootELBHealthChecks/description)
+ [자동화 실행](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Automation 설정](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [자동화 워크플로 지원](https://aws.amazon.com/premiumsupport/technology/saw/)