EC2 Linux 인스턴스에 연결하는 데 어떤 방법을 사용할 수 있나요?

7분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결하려면 어떤 옵션을 사용할 수 있는지 알고 싶어요.

간단한 설명

Amazon EC2 Linux 인스턴스에 연결하는 데는 네 가지 방법이 있습니다.

  • Secure Shell(SSH)(보안 셸)

  • Linux 인스턴스용 EC2 직렬 콘솔

  • AWS Systems Manager의 한 기능인 Session Manager(세션 관리자)

  • Amazon EC2 Instance Connect

해결 방법

SSH

제한 사항:

중요: 사용자의 인스턴스에 연결하기 전에 모든 사전 요구 사항을 완료해야 합니다.

방법 1: 터미널 창 사용

터미널 창(Linux 또는 macOS)을 연 다음 SSH 명령을 실행하여 인스턴스에 연결하세요.

공개 도메인 이름 사용:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

공개 IPv4 주소 사용:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

공개 IPv6 주소 사용:

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

자세한 내용은 Connect to your Linux instance using an SSH client(SSH 클라이언트를 사용하여 사용자의 Linux 인스턴스에 연결)를 참조하세요.

방법 2: Windows에서 OpenSSH 사용

  1. 다음 명령을 실행하여 PowerShell로 Windows용 OpenSSH를 설치하세요.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

참고: OpenSSH를 설치하려면, 관리자 권한으로 PowerShell을 실행해야 합니다.

  1. SSH 명령을 실행하여 사용자의 인스턴스에 연결하세요.

공개 도메인 이름 사용:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

공개 IPv4 주소 사용:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

공개 IPv6 주소 사용:

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

방법 3: Windows에서 PuTTY 사용

  1. PuTTYgen을 사용하여 [사용자의 개인 키를 변환하세요](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html#putty-prereqs).
    
  2. PuTTY를 사용하여 사용자의 인스턴스에 연결하세요.

  3. PuTTY를 시작합니다.

  4. **Category(범주)**에서 **Session(세션)**을 선택하세요.

  5. **Host Name(호스트 이름)**란에 사용자 이름/호스트 이름 부호를 입력하세요.

공개 도메인 이름 사용:

instance-user-name@instance-public-dns-name

공개 IPv4 주소 사용:

instance-user-name@instance-IPv4-address

공개 IPv6 주소 사용:

instance-user-name@instance-IPv6-address
  1. Port 값은 SSH 서비스 포트와 일치해야 합니다(기본값은 22).

  2. **Connection type(연결 유형)**에서 SSH를 선택하세요.

  3. **Category(범주)**에서 **Connection(연결)**을 열고, SSH를 연 다음 **Auth(인증)**를 선택하세요.

  4. **Browse(찾아보기)**를 선택한 다음, 사용자의 키 쌍에 대해 생성한 .ppk 파일을 선택하세요.

  5. **Open(열기)**을 선택하세요.

참고: 인스턴스에 처음 연결할 때는, 원격 호스트를 신뢰하는지 확인해야 합니다.

Linux 인스턴스용 EC2 직렬 콘솔

EC2 직렬 콘솔은 EC2 인스턴스에 대한 직렬 연결을 설정하여 부팅 및 네트워크 연결 문제를 해결합니다.

제한 사항:

  • 인스턴스 당 하나의 활성 직렬 콘솔 연결만 지원됩니다.

  • 세션 간에는 최소 30초의 간격이 있어야 합니다.

  • EC2 직렬 콘솔 세션 중에 사용자 인스턴스의 처리량이 약간 떨어집니다.

  • Xen 인스턴스는 지원되지 않습니다.

  • EC2 직렬 콘솔은 Wavelength Zones 및 AWS Outposts에 대해 지원되지 않습니다.

  • EC2 직렬 콘솔은 특정 AWS Regions에서만 지원됩니다.

중요: E2 직렬 콘솔을 사용하여 연결하기 전에 모든 사전 요구 사항을 완료해야 합니다.

방법 1: 브라우저 기반 클라이언트 사용

  1. EC2 콘솔을 여세요.

  2. **Instances(인스턴스)**를 선택하세요.

  3. 사용자의 인스턴스를 선택한 다음, Actions(작업), Monitor and troubleshoot(모니터링 및 문제 해결), EC2 Serial Console(EC2 직렬 콘솔), **Connect(연결)**를 선택하세요. 또는 인스턴스를 선택한 다음 Connect(연결), EC2 Serial Console(EC2 직렬 콘솔), **Connect(연결)**를 선택하세요.

  4. 브라우저 내 터미널 창이 열리면, **Enter(입력)**를 눌러주세요. 로그인 프롬프트가 나타나면, 암호 기반 사용자의 사용자 이름을 입력한 다음, **Enter(입력)**를 눌러주세요.

Password(암호) 프롬프트에서, 암호를 입력한 다음 **Enter(입력)**를 눌러주세요.

방법 2: SSH 사용

  1. SSH 공개키를 인스턴스로 밀어 직렬 콘솔 세션을 시작하세요.
aws ec2-instance-connect send-serial-console-ssh-public-key \
    --instance-id i-0123456789EXAMPLE \
    --serial-port 0 \
    --ssh-public-key file://my_key.pub \
    --region us-east-1

참고: 앞의 예제 명령에서, SSH 공개키 경로에 file:// 접두사를 추가했는지 확인하세요.

  1. 사용자의 개인 키를 사용하여 시리얼 콘솔에 연결하세요.
ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws
  1. (선택적임) 지문을 확인하세요. 사용자가 직렬 콘솔에 처음 연결할 때 나타나는 지문을 Region에 대한 고유 EC2 직렬 콘솔 지문과 비교하세요.

  2. 프롬프트가 반환되면, 암호 기반 사용자의 사용자 이름을 입력한 다음, **Enter(입력)**를 눌러주세요.

  3. Password(암호) 프롬프트에서, 암호를 입력한 다음 **Enter(입력)**를 눌러주세요.

Session Manager

Session Manager를 사용하면 인바운드 포트를 열거나 SSH 키를 관리하지 않고도 관리형 노드에 안전하게 액세스할 수 있습니다. AWS CloudTrail 이벤트를 사용하여 Session Manager 세션을 감사하고 AWS Identity and Access Management(IAM) 정책으로 세션을 제어할 수 있습니다.

제한 사항:

  • Session Manager를 사용하여 파일을 전송할 수 없습니다.

    참고: 대신, S3 버킷과 AWS CLI를 사용하여 데이터를 교환하세요.

  • 포트 전송이나 SSH를 통해 연결되는 Session Manager 세션에는 로깅을 사용할 수 없습니다. 이는 SSH가 모든 세션 데이터를 암호화하고 Session Manager는 SSH 연결을 위한 터널 역할만 하기 때문입니다.

  • AWS Systems Manager는 모든 운영 체제(OS)에서 지원되지 않습니다. 자세한 내용은 Supported operating systems(지원되는 운영 체제)를 참조하세요.

중요: Session Manager를 사용하여 사용자의 인스턴스에 연결하기 전에 모든 사전 요구 사항을 완료해야 합니다.

Systems Manager와 함께 사용할 VPC 엔드포인트를 생성하는 것이 가장 좋습니다.

  1. Systems Manager 콘솔을 여세요.

  2. Session Manager를 선택하세요.

  3. **Start session(세션 시작)**을 선택하세요.

  4. (선택적임) Reason for session(세션 이유) 필드에 세션 설명을 입력하세요.

  5. 사용자가 연결하려는 관리형 노드를 선택한 다음, **Start session(세션 시작)**을 선택하여 세션을 즉시 시작하세요.

    -또는-
    (선택적임) 사용자 지정 문서를 사용하여 기간, 암호화 및 로깅을 포함한 세션 설정을 구성하세요.

    **Session options(세션 옵션)**에서 **Next(다음)**를 선택하세요.

    **Session document(세션 문서)**에서, 세션이 시작될 때 사용자가 실행하려고 하는 문서를 선택하세요. 사용자의 문서에서 런타임 매개변수를 지원하는 경우, 각 매개변수 필드에 쉼표로 구분된 값을 하나 이상 입력할 수 있습니다.

    **Next(다음)**를 선택하세요.

    **Start session(세션 시작)**을 선택하세요.

EC2 콘솔을 사용하여 연결

  1. EC2 콘솔을 여세요.

  2. **Instances(인스턴스)**를 선택하세요.

  3. 인스턴스를 선택한 다음, **Connect(연결)**를 선택하세요.

  4. **Connection method(연결 방법)**에서 **Session Manager (세션 관리자)**를 선택하세요.

  5. **Connect(연결)**를 선택하세요.

AWS CLI를 사용하여 연결

참고:

다음 명령을 실행하세요.

aws ssm start-session --target instance-id

Session Manager 를 통해 SSH를 사용하여 연결

요구 사항:

  • 사용자의 대상 관리형 인스턴스를 구성하여SSH 연결을 지원해야 합니다.

  • 실행 중인 AWS Systems Manager Agent(AWS SSM Agent) 버전은 2.3.672.0 이상이어야 합니다.

  • PEM(Privacy Enhanced Mail)(개인정보 보호 강화 메일) 인증서에 액세스할 수 있으며, 그와 연결된 계정을 사용하여 연결할 수 있습니다. 예를 들어, Ubuntu 관리형 노드의 경우 사용자 계정 "ubuntu"를 사용합니다.

SSH를 사용하여 세션을 시작하려면, 다음 명령을 실행하세요.

ssh -i /path/my-key-pair.pem username@instance-id,/code>

Amazon EC2 Instance Connect

EC2 Instance Connect는 SSH를 통해 사용자의 인스턴스에 대한 보안 액세스를 허용합니다. EC2 Instance Connect는 사용자의 SSH 키를 공유하지 않고 사용자의 인스턴스에 연결할 수 있는 여러 옵션을 제공합니다.

제한 사항:

  • EC2 Instance Connect는 Linux 배포에 대한 지원이 제한되어 있습니다.

  • AuthorizedKeysCommandAuthorizedKeysCommandUser 설정이 이미 구성되어 있지 않아야 합니다.

  • Local Zones에서는 EC2 Instance Connect가 지원되지 않습니다.

  • 공개 IPv4 주소는 Amazon EC2 콘솔을 사용할 때 연결하는 데 필수입니다.

  • EC2 Instance Connect는 IPv6 주소를 사용하여 연결하는 것을 지원하지 않습니다.

중요: Amazon EC2 Instance Connect를 사용하기 전에 모든 사전 요구 사항을 완료해야 합니다.

Amazon EC2 콘솔을 사용하여 연결(IPv4 공개 주소가 있는 인스턴스만 해당)

  1. Amazon EC2 콘솔을 여세요.

  2. 탐색 창에서, **Instances(인스턴스)**를 선택하세요.

  3. 인스턴스를 선택한 다음, **Connect(연결)**를 선택하세요.

  4. **EC2 Instance Connect(EC2 인스턴스 연결)**를 선택하세요.

  5. 사용자 이름을 확인한 다음, **Connect(연결)**를 선택하여 터미널 창을 여세요.

자신의 키와 SSH 클라이언트를 사용하여 연결

참고: 사용자가 연결하려는 인스턴스에 EC2 Instance Connect CLI를 설치해야 합니다.

  1. 다음 명령을 실행하여 새 SSH 개인 키와 공개키를 생성하세요.
ssh-keygen -t rsa -f my_key
  1. 사용자의 SSH 공개키를 인스턴스에 밀어 넣으세요.

Amazon Linux:

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Amzn \
    --instance-os-user ec2-user \
    --ssh-public-key file://my_key.pub

Ubuntu:

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Ubuntu \
    --instance-os-user ubuntu\
    --ssh-public-key file://my_key.pub

참고: 앞의 예제 명령에서, SSH 공개키 경로에 file:// 접두사를 추가했는지 확인하세요.

  1. 사용자의 개인 키를 사용하여 인스턴스에 연결하세요

Amazon Linux:

ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@instance-public-dns-name

Ubuntu:

ssh -o "IdentitiesOnly=yes" -i my_key ubuntu@instance-public-dns-name

참고: 표준 Amazon EC2 인스턴스 공개 DNS 이름은 **ec2-12-34-56-78.us-west-2.compute.amazonaws.com과 유사합니다. ** 이 이름은 AWS 도메인, 서비스(이 예제에서는 컴퓨팅), Region 및 공개 IP 주소의 한 형태로 구성됩니다.

EC2 Instance CLI를 사용하여 연결

Amazon Linux:

$mssh i-0123456789Amzn

Ubuntu:

$mssh ubuntu@i-0123456789Ubuntu
AWS 공식
AWS 공식업데이트됨 10달 전
댓글 없음