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

2분 분량
0

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를 사용하고 있는지 확인하세요.


관련 정보

Amazon EC2 Auto Scaling 수명 주기 후크

AWS 공식
AWS 공식업데이트됨 3년 전
댓글 없음