EC2 Instance Connect를 사용하여 EC2 인스턴스에 연결하는 문제를 해결하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2022년 9월 21일

Amazon EC2 Instance Connect를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결하려고 할 때 다음 오류가 표시됩니다.

“ 인스턴스 연결을 설정하는 동안 문제가 발생했습니다.

로그인하지 못했습니다. 이 인스턴스가 방금 시작된 경우 1~2분 후에 다시 시도하십시오.“

이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

EC2 Instance Connect가 예상대로 작동하지 않는 일반적인 이유는 다음과 같습니다.

  • EC2 Instance Connect가 해당 OS 배포를 지원하지 않습니다.
  • EC2 Instance Connect 패키지가 인스턴스에 설치되어 있지 않습니다.
  • AWS Identity and Access Management(IAM) 정책 또는 권한이 누락되었거나 올바르지 않습니다.
  • 인스턴스와 연결된 보안 그룹에 EC2 Instance Connect 서비스 IP가 나열되어 있지 않습니다.

브라우저 기반 클라이언트를 사용하여 연결하려면 인스턴스에 퍼블릭 IPv4 주소가 있어야 합니다. 인스턴스에 퍼블릭 IP 주소가 없는 경우 동일한 VPC 내의 시스템에서 EC2 Instance Connect Command Line Interface(CLI)를 사용하여 연결합니다. 자세한 내용은 EC2 Instance Connect를 사용한 연결제한 사항(Limitations) 섹션을 참조하세요.

참고: Linux용 EC2 직렬 콘솔을 활성화한 경우 이 콘솔을 사용하여 지원되는 Nitro 기반 인스턴스 유형의 문제를 해결할 수 있습니다. 직렬 콘솔을 사용하면 부팅 문제, 네트워크 구성 및 SSH 구성 문제를 해결할 수 있습니다. 직렬 콘솔은 작동 중인 네트워크 연결 없이 인스턴스에 연결됩니다. Amazon EC2 콘솔 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 직렬 콘솔에 액세스할 수 있습니다.

직렬 콘솔을 사용하기 전에 계정 수준에서 액세스 권한을 부여하고 IAM 사용자에게 액세스 권한을 부여하는 IAM 정책을 생성해야 합니다. 또한 직렬 콘솔을 사용하는 모든 인스턴스에는 암호 기반 사용자가 한 명 이상 포함되어야 합니다. 인스턴스에 연결할 수 없고 직렬 콘솔에 대한 액세스를 구성하지 않은 경우 다음 문서 링크에 제공된 인스턴스에 수동으로 연결하는 방법에 대한 지침을 따를 수 있습니다.

Linux용 EC2 직렬 콘솔 구성에 대한 자세한 내용은 EC2 직렬 콘솔에 대한 액세스 구성을 참조하세요.

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

해결 방법

1.    EC2 Instance Connect가 인스턴스의 Linux 배포를 지원하는지 확인합니다.

2.    지원되는 인스턴스에 EC2 Instance Connect 패키지가 설치되어 있는지 확인합니다.

3.    EC2 Instance Connect를 사용하려는 IAM 사용자에게 인스턴스에 퍼블릭 키를 푸시할 수 있는 권한이 있는지 확인합니다.

4.    인스턴스의 보안 그룹 규칙에 EC2 Instance Connect IP가 나열되어 있는지 확인합니다.

브라우저 기반 SSH 연결

브라우저 기반 SSH 연결을 사용하려면 인스턴스의 보안 그룹 인바운드 규칙이 TCP 포트 22에서 SSH에 대한 EC2 Instance Connect 액세스를 허용해야 합니다.

EC2 Instance Connect는 인스턴스에 대한 브라우저 기반 SSH 연결을 위해 특정 IP 범위를 사용합니다. 이러한 IP 범위는 AWS 리전마다 다릅니다. 특정 리전에서 EC2 Instance Connect가 사용하는 AWS IP 주소 범위를 찾으려면 다음 명령을 사용합니다.

참고: 다음 명령에서 us-east-1을 인스턴스의 AWS 리전으로 바꿉니다. 인스턴스가 EC2 인스턴스 연결이 지원되는 리전에 있는지 확인하세요.

Windows(Windows PowerShell for AWS 필요)

PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 -ServiceKey EC2_INSTANCE_CONNECT | select IpPrefix

Linux(curl 및 jq 필요)

$ curl -s https://ip-ranges.amazonaws.com/ip-ranges.json| jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'

앞의 명령에서 반환된 IP 범위에서 TCP 포트 22에 액세스할 수 있도록 보안 그룹 인바운드 규칙을 업데이트합니다.

EC2 Instance Connect CLI 연결

IP에서 TCP 포트 22에 액세스할 수 있도록 보안 그룹 인바운드 규칙을 업데이트합니다.