Amazon EC2 Linux 인스턴스가 자동으로 종료되는 이유는 무엇인가요?

3분 분량
0

Amazon Elastic Compute Cloud(EC2) Linux 인스턴스가 자동으로 종료되는 이유를 해결하고 싶습니다.

해결 방법

Amazon EC2 Linux 인스턴스는 암호화된 Amazon 블록 스토어 (Amazon EBS) 볼륨 또는 감사 데몬 구성의 디스크 공간이 부족하기 때문에 종료됩니다.

암호화된 EBS 볼륨 때문에 인스턴스가 종료됩니다.

볼륨이 암호화되었는지 확인하려면 Amazon EC2 콘솔을 연 다음 볼륨을 선택합니다. AWS 키 관리 서비스 (AWS KMS) 키로 암호화된 볼륨은 암호화 열에 암호화됨 레이블로 표시됩니다.

시스템 로그를 검토하여 인스턴스가 운영 체제 (OS) 부팅을 시작했는지 확인합니다. 인스턴스가 OS를 부팅하지 않고 볼륨이 암호화된 경우 AWS ID 및 액세스 관리 (IAM) 역할에는 AWS KMS 키 액세스 권한이 없습니다.

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

IAM 권한을 확인하려면 다음 단계를 완료하십시오.

  1. describe-instances 명령을 실행하여 StateReason 오류 메시지와 오류 코드를 확인합니다.

    $ aws ec2 describe-instances --instance-id i-example-id --region example-region --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

    참고: i-example-ID를 인스턴스 ID로 바꾸세요. example-regionAWS 리전으로 바꿉니다.
    인스턴스에 연결된 암호화된 볼륨에 권한 또는 정책 문제가 있는 경우 클라이언트 오류가 발생합니다. 다음 메시지와 비슷한 출력이 표시됩니다.

    [
     [
       {
     "StateReason": {
     "Code": "Client.InternalError",
     "Message": "Client.InternalError: Client error on launch"
       }
     }
     ]
    ]
  2. IAM 역할에 올바른 IAM 권한이 있는지 확인합니다.

    {
        "Version": "2012-10-17",
        "Statement": {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKeyWithoutPlainText",
                "kms:ReEncrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
                "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"
            ]
        }
    }
    

Amazon EC2 Auto Scaling과 같은 다른 서비스를 통해 간접적으로 인스턴스를 시작한 경우 올바른 권한으로 키 정책을 구성하십시오.

감사 데몬 구성이 디스크 전체 오류로 인해 인스턴스를 종료합니다.

인스턴스가 부팅을 시작한 경우 인스턴스 스크린샷 또는 시스템 로그의 부팅 로그에 액세스합니다. 다음 메시지와 비슷한 출력이 표시됩니다.

Aug 19 04:11:02 ip-10-0-202-230 auditd[4300]: Audit daemon is low on disk space for logging
Aug 19 04:11:02 ip-10-0-202-230 auditd[4300]: The audit daemon is now halting the system
Aug 19 04:11:02 ip-10-0-202-230 systemd: Stopping Session 29 of user splunk.
Aug 19 04:11:02 ip-10-0-202-230 systemd: Stopped target Timers.

디스크 전체 오류를 해결하려면 다음 단계를 완료하십시오.

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택한 다음, 해당 인스턴스를 선택합니다.

  3. 인스턴스를 중지한 다음 인스턴스에서 EBS 루트 볼륨 ]( 경우 /dev/xvda) 을 분리합니다[.

  4. 가용 영역에 있는 Linux 인스턴스를 사용하십시오. 또는 새 인스턴스를 시작하여 복구 인스턴스로 사용할 수 있습니다.

  5. EBS 루트 볼륨을 보조 디바이스로 복구 인스턴스에 연결합니다 (예: /dev/xvdf).

  6. SSH를 사용하여 복구 인스턴스에 연결합니다.

  7. 복구 인스턴스에 연결한 새 루트 볼륨의 마운트 포인트 디렉터리를 생성합니다. 다음 $ sudo 명령은 Linux 환경에만 적용됩니다.

     sudo mkdir /mnt/rescue
     sudo mount /dev/xvdf /mnt/rescue

    참고: /dev/xvdf를 보조 디바이스 이름으로 바꾸고 /mnt/rescue를 마운트 포인트 디렉토리 이름으로 바꿉니다.

  8. 루트 볼륨 크기를 늘리고 파티션을 확장합니다.

  9. unmount 명령을 실행하여 볼륨을 마운트 해제합니다.

    sudo umount /mnt/rescue
  10. 복구 인스턴스에서 볼륨을 분리하고 디바이스 이름을 사용하여 원래 인스턴스에 볼륨을 연결합니다(예: Linux용 /dev/xvda). 그런 다음 인스턴스를 시작하여 성공적으로 부팅되는지 확인합니다.

  11. 감사 서비스 구성을 검토하여 공간이 부족한 경우 컴퓨터를 종료할 수 있는 옵션이 없는지 확인하십시오. Amazon Linux, Amazon Linux 2, Amazon Linux 2023의 경우, /etc/audit/auditd.conf에 다음 감사 서비스 구성 옵션이 포함되어 있는지 확인하세요.

max_log_file_action = ROTATE
admin_space_left_action = SUSPEND
disk_full_action = SUSPEND
disk_error_action = SUSPEND

관련 정보

Amazon EC2 인스턴스 시작 문제 해결

EC2 인스턴스를 시작할 수 없는 이유는 무엇인가요?

AWS 공식
AWS 공식업데이트됨 4달 전
댓글 없음