EC2 Instance Connect를 사용한 연결 - Amazon Elastic Compute Cloud

EC2 Instance Connect를 사용한 연결

다음 지침에서는 EC2 Instance Connect를 사용하여 Linux 인스턴스에 연결하는 방법을 설명합니다.

사용할 연결 옵션을 결정합니다. 사용할 연결 옵션은 인스턴스에 퍼블릭 IPv4 주소가 있는지 여부에 따라 다릅니다.

  • Amazon EC2 콘솔 - Amazon EC2 콘솔을 사용하여 연결하려면 인스턴스에 퍼블릭 IPv4 주소가 있어야 합니다.

  • SSH 클라이언트 - 인스턴스에 퍼블릭 IP 주소가 없는 경우 SSH 클라이언트를 사용하여 프라이빗 네트워크를 통해 인스턴스에 연결할 수 있습니다. 예를 들어 동일한 VPC 내에서 또는 VPN 연결, 전송 게이트웨이 또는 AWS Direct Connect를 통해 연결할 수 있습니다.

EC2 Instance Connect에서는 IPv6 주소를 사용한 연결을 지원하지 않습니다.

작은 정보

EC2 Instance Connect는 Linux 인스턴스에 연결할 수 있는 옵션 중 하나입니다. 다른 옵션은 Linux 인스턴스에 연결합니다을(를) 참조하세요. Windows 인스턴스에 연결하려면 Windows 인스턴스에 연결을 참조하세요.

Amazon EC2 콘솔을 사용하여 연결

Amazon EC2 콘솔에서 인스턴스를 선택하고 EC2 Instance Connect를 사용하여 연결하도록 선택하면 콘솔을 사용하여 인스턴스에 연결할 수 있습니다. Instance Connect는 권한을 처리하여 성공적인 연결을 제공합니다.

Amazon EC2 콘솔을 사용하여 연결하려면 인스턴스에 퍼블릭 IPv4 주소가 있어야 합니다. 연결하기 전에 모든 사전 조건을 검토합니다.

Amazon EC2 콘솔에서 브라우저 기반 클라이언트를 사용하여 인스턴스에 연결하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 인스턴스를 선택한 다음 연결을 선택합니다.

  4. EC2 Instance Connect 탭을 선택합니다.

  5. 연결 유형에서 EC2 Instance Connect를 사용하여 연결을 선택합니다.

  6. 사용자 이름에서 사용자 이름을 확인합니다.

  7. 연결을 선택하여 터미널 창을 엽니다.

자체 키 및 SSH 클라이언트를 사용하여 연결

자체 SSH 키를 사용하고 한편으로 EC2 Instance Connect API를 사용하면서 선택한 SSH 클라이언트의 인스턴스에 연결할 수 있습니다. 이를 통해 Instance Connect 기능에서 퍼블릭 키를 인스턴스로 푸시할 수 있습니다. 이 연결 방법은 퍼블릭 및 프라이빗 IP 주소가 있는 인스턴스에서 작동합니다.

요구 사항
  • 키 페어에 대한 요구 사항

  • 프라이빗 IP 주소만 있는 인스턴스에 연결하는 경우 SSH 세션을 시작하는 로컬 컴퓨터에서 EC2 Instance Connect 서비스 엔드포인트(인스턴스에 SSH 퍼블릭 키를 푸시하는 경우)에 연결하고 인스턴스의 프라이빗 IP 주소에 네트워크로 연결하여 SSH 세션을 설정해야 합니다. 인터넷 또는 AWS Direct Connect 퍼블릭 가상 인터페이스를 통해 EC2 Instance Connect 서비스 엔드포인트에 연결할 수 있습니다. 인스턴스의 프라이빗 IP 주소에 연결하려면 AWS Direct Connect, AWS Site-to-Site VPN 또는 VPC 피어링과 같은 서비스를 활용하면 됩니다.

연결하기 전에 모든 사전 조건을 검토합니다.

자체 키 및 SSH 클라이언트를 사용하여 인스턴스에 연결하려면
  1. (선택 사항) 새로운 SSH 프라이빗 및 퍼블릭 키를 생성합니다.

    다음 명령을 사용하여 새로운 SSH 프라이빗 및 퍼블릭 키 my_keymy_key.pub을 생성할 수 있습니다.

    $ ssh-keygen -t rsa -f my_key
  2. SSH 퍼블릭 키를 인스턴스에 푸시합니다.

    send-ssh-public-key 명령을 사용하여 SSH 퍼블릭 키를 인스턴스에 푸시합니다. AL2023 또는 Amazon Linux 2를 사용하여 인스턴스를 시작한 경우 AMI의 기본 사용자 이름은 ec2-user입니다. Ubuntu를 사용하여 인스턴스를 시작한 경우 AMI의 기본 사용자 이름은 ubuntu입니다.

    다음 예는 지정된 가용 영역에 있는 지정된 인스턴스에 퍼블릭 키를 푸시하여 ec2-user를 인증합니다.

    $ aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --availability-zone us-west-2b \ --instance-id i-001234a4bf70dec41EXAMPLE \ --instance-os-user ec2-user \ --ssh-public-key file://my_key.pub
  3. 프라이빗 키를 사용하여 인스턴스에 연결합니다.

    ssh 명령을 사용하여 퍼블릭 키가 인스턴스 메타데이터에서 제거되기 전에 프라이빗 키를 사용하여 인스턴스에 연결합니다(제거되기 전에 60초가 주어짐). 퍼블릭 키에 해당하는 프라이빗 키, 인스턴스를 시작하는 데 사용한 AMI의 기본 사용자 이름 및 인스턴스의 퍼블릭 DNS 이름을 지정합니다(프라이빗 네트워크를 통해 연결하는 경우 프라이빗 DNS 이름 또는 IP 주소 지정). ssh 구성의 파일과 지정된 키만 연결에 사용되도록 하려면 IdentitiesOnly=yes 옵션을 추가합니다.

    $ ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

AWS CLI를 사용하여 연결

인스턴스 ID를 아는 경우 ec2-instance-connect AWS CLI 명령을 사용하여 SSH 클라이언트로 인스턴트에 연결할 수 있습니다. 연결 유형을 지정하지 않으면 EC2 Instance Connect는 자동으로 인스턴스의 퍼블릭 IPv4 주소에 연결을 시도합니다. 인스턴스에 퍼블릭 IPv4 주소가 없는 경우 EC2 Instance Connect는 EC2 Instance Connect 엔드포인트를 통해 인스턴스의 프라이빗 IPv4 주소에 연결을 시도합니다. 인스턴스에 프라이빗 IPv4 주소가 없거나 VPC에 EC2 Instance Connect 엔드포인트가 없는 경우 EC2 Instance Connect는 인스턴스의 프라이빗 IPv6 주소에 연결을 시도합니다.

중요

이 방법으로 연결하기 전에 사용하는 자격 증명을 포함하여 AWS CLI를 구성했고 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요. 자세한 내용은 AWS Command Line Interface 사용 설명서에서 최신 버전의 AWS CLI 설치 또는 업데이트 및 AWS CLI 구성을 참조하세요.

연결 유형
auto(기본값)

CLI는 다음 순서와 해당 연결 유형으로 인스턴스의 IP 주소를 사용하여 연결을 시도합니다.

  • 퍼블릭 IPv4: direct

  • 프라이빗 IPv4: eice

  • IPv6: direct

direct

CLI는 다음 순서로 인스턴스의 IP 주소를 사용하여 연결을 시도합니다(EC2 Instance Connect 엔드포인트를 통해 연결하지 않음).

  • 퍼블릭 IPv4

  • IPv6

  • 프라이빗 IPv4

eice

CLI는 항상 인스턴스의 프라이빗 IPv4 주소를 사용합니다.

참고

auto 연결 유형의 동작은 향후 변경될 수도 있습니다. 원하는 연결 유형이 사용되도록 --connection-type을 direct 또는 eice로 명시적으로 설정하는 것이 좋습니다.

EC2 Instance Connect를 사용하여 인스턴스에 연결할 때 EC2 Instance Connect API는 SSH 퍼블릭 키를 인스턴스 메타데이터에 푸시하여 60초 동안 유지합니다. 사용자에게 연결된 IAM 정책은 퍼블릭 키를 인스턴스 메타데이터로 푸시하도록 사용자에게 권한을 부여합니다.

인스턴스 ID를 사용하여 인스턴스에 연결

인스턴스 ID만 알고 있고, 인스턴스에 연결할 때 사용할 연결 유형을 EC2 Instance Connect가 결정하도록 설정하려면 ec2-instance-connect CLI 명령을 사용하고 ssh 파라미터와 인스턴스 ID를 지정합니다.

aws ec2-instance-connect ssh --instance-id i-1234567890example
작은 정보

이 명령을 사용할 때 오류가 발생하면 AWS CLI 버전 2를 사용하고 있는지 확인합니다. ssh 파라미터는 AWS CLI 버전 2에서만 사용할 수 있습니다. 자세한 내용은 AWS Command Line Interface 사용 설명서의 AWS CLI 버전 2 정보를 참조하세요.

인스턴스 ID 및 EC2 Instance Connect 엔드포인트를 사용하여 인스턴스에 연결

EC2 Instance Connect 엔드포인트를 통해 인스턴스에 연결하려면 앞선 명령을 사용하고 --connection-type 파라미터를 eice 값으로 지정합니다.

aws ec2-instance-connect ssh --instance-id i-1234567890example --connection-type eice
인스턴스 ID와 자체 프라이빗 키 파일을 사용하여 인스턴스에 연결

자체 프라이빗 키를 사용하여 EC2 Instance Connect 엔드포인트를 통해 인스턴스에 연결하려면 인스턴스 ID와 프라이빗 키 파일의 경로를 지정합니다. 경로에 file://을 포함하지 마세요. 예를 들어 file:///path/to/key를 사용하면 실패합니다.

aws ec2-instance-connect ssh --instance-id i-1234567890example --private-key-file /path/to/key.pem

문제 해결

인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 다음 섹션을 참조하세요.