Amazon EC2 Auto Scaling 수명 주기 후크를 생성하려고 하면 오류가 발생하는 이유는 무엇인가요?

최종 업데이트 날짜: 2021년 2월 10일

Amazon Elastic Compute Cloud(Amazon EC2) Auto Scaling 수명 주기 후크를 생성하려고 하면 확인 오류가 발생합니다. 오류 메시지는 "Unable to publish test message to notification target(알림 대상에 테스트 메시지를 게시할 수 없음)" 또는 "Please check your target and role configuration and try to put lifecycle hook again(대상 및 역할 구성을 확인하고 수명 주기 후크를 다시 넣어 보십시오.)"으로 표시됩니다. 이 오류를 해결하려면 어떻게 해야 하나요?

간략한 설명

Amazon Simple Queue Service(Amazon SQS)에 메시지를 게시하려면 수명 주기 후크의 AWS Identity and Access Management(IAM) 역할이 다음 조건에 부합해야 합니다.

  • 인스턴스에 할당된 IAM 역할과 달라야 한다.
  • AWS Key Management Service(AWS KMS) 키 정책에 키 사용자로 나열되어야 한다.
  • Auto Scaling 서비스에 대한 신뢰 정책이 연결되어 있어야 한다.
  • 특정 관리형 정책 작업을 포함해야 한다.
  • Amazon EC2 Auto Scaling 그룹에 연결되어 있어야 한다.
  • Amazon SQS에서 사용하는 암호화 키에 액세스할 수 있어야 한다.

해결 방법

1.    수명 주기 후크에 대해, 인스턴스에 할당된 IAM 역할과 다른 IAM 역할을 사용하고 있는지 확인합니다.

참고: IAM 역할을 생성하거나 필요한 모든 권한을 가진 다음 AWS 관리형 역할을 사용할 수 있습니다.

arn:aws:iam::aws:policy/service-role/AutoScalingNotificationAccessRole

2.    역할이 KMS 키 정책에 키 사용자로 포함되어 있는지 확인합니다. 이렇게 하려면 다음을 수행합니다.

AWS KMS 콘솔을 엽니다.
KMS 키를 선택합니다.
역할이 [키 정책] 탭의 [키 사용자] 아래에 나열되어 있는지 확인합니다. 역할이 목록에 없으면 해당 역할을 검색한 다음 [추가]를 선택합니다.

3.    수명 주기 후크의 IAM 역할에 Amazon EC2 Auto Scaling 서비스에 대한 신뢰 정책이 연결되어 있는지 확인합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "autoscaling.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

4.    수명 주기 후크의 IAM 역할에 대한 관리형 정책에 다음 작업이 포함되어 있는지 확인합니다.
SQS 메시지의 경우
sqs:SendMessage
sqs:GetQueueUrl

SNS 알림의 경우
sns:Publish

5.    AWS CLI(AWS 명령줄 인터페이스)에서 aws autoscaling put-lifecycle-hook 명령을 실행합니다.

6.    아래 명령을 실행하여 수명 주기 후크가 Auto Scaling 그룹에 연결되어 있는지 확인합니다.

aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name "ExampleSQSQueueName"

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?