안녕하세요 서후아빠입니다. ^_^
이번 세션은 EC2 접속하는 방법 4가지에 대해서 간단히 알아보도록 하겠습니다.
개인적으로는 4가지 모두 적절하게 혼합하여 사용하는 것이 좋을 것 같습니다. 키 페어가 기본이지만 키 페어는 관리도 쉽지 않고, 분실 시 재발급 과정이 어렵기 때문에 다른 대안이 필요합니다. 패스워드로 접근하는 방식의 경우는 보안상 주의가 필요하며, 패스워드 분실 및 유출에 따른 대안이 필요합니다.
키 페어로 접속
가장 일반적인 방법으로 인스턴스 생성 시 함께 생성된 키 페어를 터미널에 등록하여 접속하는 방법
구분 | Remode host | Specify username | Port | User private key |
1 | 인스턴스 공인 IP 입력 | 접속계정 입력 | 22 | 인스턴스 생성 시 함께 생성된 키 페어 경로 |
관리 콘솔에서 EC2 인스턴스 연결
임시 SSH 키 생성해서 EC2로 밀어넣어 연결하므로 키 페어 불필요
IAM 인증 방식, 연결 기록만 CloudTrail로 감사 가능
인스턴스에 별도 에이전트 설치 필요
# Amazon Linux 2 경우
sudo yum install ec2-instance-connect
# Ubuntu 경우
sudo apt-get install ec2-instance-connect
연결 방법 : EC2 > Instance > 인스턴스 선택 > Connect > Connecting to EC2 Instances (tab) > Connect
SSH 접근 시 AWS 내부적으로 Source NAT 처리되므로 Origin Source IP를 허용하더라도 접근되지 않습니다. |
관리 콘솔에서 Session Manager로 연결
API 기반으로 키 페어 불필요
IAM 인증 방식, 연결/세션 기록 CloudTrail/CloudWatch로 감사 가능
인스턴스에 별도 에이전트 설치 필요
sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl status amazon-ssm-agent
IAM 권한 추가 : EC2 > Instance > 인스턴스 선택 > Security (tab) > IAM Role 선택 > Add permission > AmazonEC2RoleforSSM
연결 방법(1) : EC2 > Instance > 인스턴스 선택 > Connect > Session Manager (tab) > Connect
연결 방법(2) : AWS Systems Manager > Session Manager > Session ID 체크 > Session Start
목록이 보이지 않으면 잠시 대기, 세션을 강제로 닫고 목록이 보이지 않으면 "세션 시작" 클릭하면 보입니다. Amazon Linux는 AmazonEC2RoleforSSM을 허용한 IAM Role을 적용하고, EC2를 재부팅하면 SSM Agent를 자동설치됩니다. |
관리 콘솔에서 EC2 직렬 콘솔로 연결
IAM 인증+Root Password 방식, 연결 기록만 CloudTrail로 감사 가능
계정 단위 활성화+OS Password 설정 후 사용 가능
특정 인스턴스 타입/리전에서만 사용 가능(ex : t2시리즈 미지원)
직렬 콘솔(=서버에 키보드 연결하여 보는 상황)이므로 부팅 및 네트워크 문제에 대해 근원적인 접근과 해결 가능
# 계정(user, root) Password 설정
passwd 계정명
New password:*********
Retype new password:*********
# 계정(user, root) 직접 접속 활성화
sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes
# 적용
sudo systemctl restart sshd.service
기능 활성화 : EC2 > Instance > 인스턴스 선택 > Connect > EC2 serial console > Manage access > EC2 Serial Console Access(permit) > update
연결 방법 : EC2 > Instance > 인스턴스 선택 > Conncect > EC2 serial console > Connect > ID/PW로 접속
인스턴스 재부팅 명령어 실행 시 부팅 과정 모두 확인되기 때문에 디버깅을 위해서는 필히 설정해 놓는 것을 권고드립니다. 다만, 패스워드로 접근하는 것이기 때문에 패스워드 유출에 따른 보안 문제에 대한 방안을 마련해 놓으시기를 바랍니다. |
'Compute' 카테고리의 다른 글
[이론] 도커 (Docker) 기본 개념 (0) | 2022.07.26 |
---|---|
[Tip] Windows에서 EC2 RDP 접속 2가지 방법 알아보기 (0) | 2022.07.13 |
[Tip] 종료된 인스턴스 복구하는 방법 알아보기 (0) | 2022.07.12 |
[실습] ECS로 Container(EC2, Fargate) 생성하기(With ECR, EFS, SSM, CloudWacth, CodePipeline) (0) | 2022.07.12 |
[이론] AWS Container Platform (ECS, EKS) 기본 개념 (0) | 2022.07.12 |