자습서: EC2 Instance Connect를 사용하여 인스턴스에 연결하는 데 필요한 구성 완료
Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결하려면 먼저 인스턴스에 성공적으로 연결할 수 있는 사전 필수 구성 작업을 완료해야 합니다. 이 자습서의 목적은 사전 필수 구성을 완료하는 작업을 안내하는 것입니다.
자습서 개요
이 자습서에서는 다음 작업을 완료합니다.
-
작업 1: EC2 Instance Connect 사용에 필요한 권한 부여
먼저 퍼블릭 키를 인스턴스 메타데이터에 푸시할 수 있는 IAM 권한이 포함된 IAM 정책을 생성합니다. IAM 자격 증명에서 이 권한을 얻을 수 있도록 IAM 자격 증명(사용자, 사용자 그룹 또는 역할)에 이 정책을 연결합니다.
-
작업 2: EC2 Instance Connect 서비스에서 인스턴스로의 인바운드 트래픽 허용
그런 다음, EC2 Instance Connect 서비스에서 인스턴스로 트래픽을 허용하는 보안 그룹을 생성합니다. 이는 Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결할 때 필요합니다.
-
그런 다음, EC2 Instance Connect에 사전 설치된 AMI를 사용하여 EC2 인스턴스를 시작하고 이전 단계에서 생성한 보안 그룹을 추가합니다.
-
마지막으로 Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결합니다. 연결할 수 있다면 작업 1, 2, 3에서 완료한 사전 조건 구성이 성공한 것입니다.
작업 1: EC2 Instance Connect 사용에 필요한 권한 부여
EC2 Instance Connect를 사용하여 인스턴스에 연결할 때 EC2 Instance Connect API는 SSH 퍼블릭 키를 인스턴스 메타데이터에 푸시하여 60초 동안 유지합니다. 퍼블릭 키를 인스턴스 메타데이터로 푸시하는 데 필요한 권한을 부여하려면 IAM 자격 증명(사용자, 사용자 그룹 또는 역할)에 연결된 IAM 정책이 필요합니다.
작업 목표
퍼블릭 키를 인스턴스에 푸시하도록 권한을 부여하는 IAM 정책을 생성합니다. 허용할 특정 작업은 ec2-instance-connect:SendSSHPublicKey
입니다. 또한 Amazon EC2 콘솔에서 인스턴스를 보고 선택할 수 있도록 ec2:DescribeInstances
작업을 허용해야 합니다.
정책을 생성한 후에 IAM 자격 증명에서 이 권한을 얻을 수 있도록 IAM 자격 증명(사용자, 사용자 그룹 또는 역할)에 정책을 연결합니다.
다음과 같이 구성된 정책을 생성합니다.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DescribeInstances", "Resource": "*" } ] }
중요
이 자습서에서 생성한 IAM 정책은 매우 허용적인 정책으로, 모든 AMI 사용자 이름을 사용하여 모든 인스턴스에 연결할 수 있습니다. 자습서를 단순하게 유지하고 이 자습서에서 학습할 특정 구성에 초점을 맞추고자 매우 허용적인 이 정책을 사용합니다. 하지만 프로덕션 환경에서는 최소 권한을 제공하도록 IAM 정책을 구성하는 것이 좋습니다. 예제 IAM 정책은 EC2 Instance Connect에 대한 IAM 권한 부여 섹션을 참조하세요.
EC2 Instance Connect를 사용하여 인스턴스에 연결할 수 있게 하는 IAM 정책을 생성 및 연결하는 방법
-
먼저 IAM 정책 생성
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 Policies를 선택합니다.
-
정책 생성을 선택합니다.
-
권한 지정 페이지에서 다음을 수행합니다.
-
서비스에서 EC2 Instance Connect를 선택합니다.
-
허용되는 작업의 검색 필드에
send
를 입력하기 시작하면 관련 작업이 표시됩니다. SendSSHPublicKey를 선택합니다. -
리소스 아래에서 모두를 선택합니다. 프로덕션 환경에서는 ARN으로 인스턴스를 지정하는 것이 좋습니다. 단, 이 자습서에서는 모든 인스턴스를 허용합니다.
-
Add More Permissions(더 많은 권한 추가)를 선택합니다.
-
서비스에서 EC2를 선택합니다.
-
허용되는 작업의 검색 필드에
describein
을 입력하기 시작하면 관련 작업이 표시됩니다. DescribeInstances를 선택합니다. -
Next(다음)를 선택합니다.
-
-
검토 및 생성 페이지에서 다음을 수행합니다.
-
[정책 이름(Policy name)]에 정책의 이름을 입력합니다.
-
정책 생성을 선택합니다.
-
-
그리고 자격 증명에 정책 연결
-
IAM 콘솔의 탐색 창에서 정책(Policies)을 선택합니다.
-
정책 목록에서 연결할 정책 이름 옆의 옵션 버튼을 선택합니다. 검색 상자를 사용하여 정책 목록을 필터링할 수 있습니다.
-
작업], 연결을 선택합니다.
-
IAM 개체에서 자격 증명(사용자, 사용자 그룹 또는 역할) 옆의 확인란을 선택합니다. 검색 상자를 사용하여 개체 목록을 필터링할 수 있습니다.
-
정책 연결을 선택합니다.
-
작업 2: EC2 Instance Connect 서비스에서 인스턴스로의 인바운드 트래픽 허용
Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결할 경우, 인스턴스에 도달하기 위해 허용해야 하는 트래픽은 EC2 Instance Connect 서비스에서 생성된 트래픽입니다. 이는 로컬 컴퓨터에서 인스턴스로 연결하는 작업과는 다릅니다. 이 경우 로컬 컴퓨터에서 인스턴스로의 트래픽을 허용해야 합니다. EC2 Instance Connect 서비스의 트래픽을 허용하려면 EC2 Instance Connect 서비스의 IP 주소 범위에서 생성되는 인바운드 SSH 트래픽을 허용하는 보안 그룹을 생성해야 합니다.
AWS는 접두사 목록을 사용하여 IP 주소 범위를 관리합니다. EC2 Instance Connect 접두사 목록의 이름은 다음과 같으며, 리전
은 리전 코드로 대체됩니다.
-
IPv4 접두사 목록 이름:
com.amazonaws.
region
.ec2-instance-connect -
IPv6 접두사 목록 이름:
com.amazonaws.
region
.ipv6.ec2-instance-connect
작업 목표
인스턴스가 있는 리전에서 IPv4 접두사 목록의 포트 22 상의 인바운드 SSH 트래픽을 허용하는 보안 그룹을 생성합니다.
EC2 Instance Connect 서비스에서 인스턴스로 인바운드 트래픽을 허용하는 보안 그룹을 생성하는 방법
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 창에서 [Security Groups]를 선택합니다.
-
보안 그룹 생성을 선택합니다.
-
기본 세부 정보에서 다음을 수행합니다.
-
보안 그룹 이름에 보안 그룹의 의미 있는 이름을 입력합니다.
-
설명에 보안 그룹의 의미 있는 설명을 입력합니다.
-
-
인바운드 규칙에서 다음을 수행합니다.
-
규칙 추가를 선택합니다.
-
Type(유형)에서 SSH를 선택합니다.
-
소스에서 사용자 지정을 그대로 둡니다.
-
소스 옆의 필드에서 EC2 Instance Connect의 접두사 목록을 선택합니다.
예를 들어, 인스턴스가 미국 동부(버지니아 북부)(
us-east-1
) 리전에 있고 사용자가 퍼블릭 IPv4 주소에 연결할 경우, com.amazonaws.us-east-1.ec2-instance-connect 접두사 목록을 선택합니다.
-
-
보안 그룹 생성을 선택합니다.
작업 3: 인스턴스 시작
인스턴스를 시작할 때 인스턴스를 시작하는 데 필요한 정보가 포함된 AMI를 지정해야 합니다. EC2 Instance Connect가 사전 설치되어 있거나 설치되지 않은 상태에서 인스턴스를 시작하도록 선택할 수 있습니다. 이 작업에서는 EC2 Instance Connect가 사전 설치된 AMI를 지정합니다.
EC2 Instance Connect가 사전 설치되지 않은 상태에서 인스턴스를 시작하고 EC2 Instance Connect를 사용하여 인스턴스에 연결하려는 경우 추가 구성 단계를 수행해야 합니다. 이 단계는 본 자습서에서 다루지 않습니다.
작업 목표
EC2 Instance Connect가 사전 설치된 Amazon Linux 2023 AMI에서 인스턴스를 시작합니다. 또한 Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결할 수 있도록 이전에 생성한 보안 그룹을 지정해야 합니다. EC2 Instance Connect를 사용하여 인스턴스에 연결하면 퍼블릭 키를 인스턴스의 메타데이터로 푸시하므로 인스턴스를 시작할 때 SSH 키를 지정하지 않아도 됩니다.
Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 연결할 인스턴스를 시작하는 방법
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
화면 상단의 탐색 모음에는 현재 AWS 리전이 표시됩니다(예: 아일랜드). 인스턴스를 시작할 리전을 선택합니다. 특정 리전의 트래픽을 허용하는 보안 그룹을 생성했기 때문에 이 선택이 중요합니다. 인스턴스를 시작할 리전과 동일한 리전을 선택해야 하기 때문입니다.
-
Amazon EC2 콘솔 대시보드에서 인스턴스 시작을 선택합니다.
-
(선택 사항) 이름 및 태그(Name and tags) 아래의 이름(Name)에 인스턴스를 설명하는 이름을 입력합니다.
-
애플리케이션 및 OS 이미지(Amazon Machine Image)에서 빠른 시작을 선택합니다. Amazon Linux가 기본적으로 선택됩니다. Amazon Machine Image(AMI) 아래에서 Amazon Linux 2023 AMI가 기본적으로 선택됩니다. 이 작업에 대한 기본 선택을 그대로 유지합니다.
-
인스턴스 유형 아래 인스턴스 유형에서 기본 선택을 유지하거나 다른 인스턴스 유형을 선택합니다.
-
키 페어(로그인) 아래 키 페어 이름에서 없이 진행(권장되지 않음)을 선택합니다. EC2 Instance Connect를 사용하여 인스턴스에 연결하는 경우 EC2 Instance Connect는 키 페어를 인스턴스의 메타데이터에 푸시하며, 이 키 페어가 연결에 사용됩니다.
-
Network settings(네트워크 설정)에서 다음을 수행합니다.
-
퍼블릭 IP 자동 할당에서 활성화를 그대로 둡니다.
참고
Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결하려면 인스턴스에 퍼블릭 IPv4 또는 퍼블릭 IPv6 주소가 있어야 합니다.
-
방화벽(보안 그룹)에서 기존 보안 그룹 선택을 선택합니다.
-
일반 보안 그룹에서 이전에 생성한 보안 그룹을 선택합니다.
-
-
요약(Summary) 패널에서 인스턴스 실행(Launch instance)을 선택합니다.
작업 4: 인스턴스에 연결
EC2 Instance Connect를 사용하여 인스턴스에 연결할 때 EC2 Instance Connect API는 SSH 퍼블릭 키를 인스턴스 메타데이터에 푸시하여 60초 동안 유지합니다. SSH 대몬은 AuthorizedKeysCommand
및 AuthorizedKeysCommandUser
를 사용하여 인증을 위해 인스턴스 메타데이터에서 퍼블릭 키를 찾고 사용자를 인스턴스에 연결합니다.
작업 목표
이 작업에서는 Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스에 연결합니다. 필수 작업 1, 2, 3을 완료하면 연결에 성공합니다.
인스턴스에 연결하는 단계
다음 단계를 사용하여 인스턴스에 연결합니다. 이 단계의 애니메이션을 보려면 애니메이션 보기: 인스턴스에 연결 섹션을 참조하세요.
Amazon EC2 콘솔에서 EC2 Instance Connect를 사용하여 인스턴스를 연결하는 방법
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
화면 상단의 탐색 모음에는 현재 AWS 리전이 표시됩니다(예: 아일랜드). 인스턴스가 있는 리전을 선택합니다.
-
탐색 창에서 Instances(인스턴스)를 선택합니다.
-
인스턴스를 선택하고 연결을 선택합니다.
-
EC2 Instance Connect 탭을 선택합니다.
-
연결 유형에서 EC2 Instance Connect를 사용하여 연결을 선택합니다.
-
연결을 선택합니다.
터미널 창이 브라우저에서 열리고 인스턴스에 연결됩니다.