About me
home
Portfolio
home

EC2

SSH 서버 연결 4가지 방식

분류
SSH 연결
EC2 인스턴스 연결
Session Manager
EC2 직접 연결 콘솔
인증방법
키 페어
IAM
IAM
IAM/Password
검사방법
검사 불가능
연결 기록 Only
연결기록/세션로그
연결 기록 Only
요구사항
인터넷 연결
인터넷 연결 Agent 설치
Agent 설치
지원하는 인스턴스 타입 루트 퍼스워드 세팅. 계정에서 활성화 필요
목적
SSH 통신
SSH 통신
SSH 통신
부팅/네트워크 문제 해결
비고
키 관리 필요
SCP로 파일 전송
패스워드 관리 필요
Session Manager 방식 최종 선정

Session Manager

완전 관리형 AWS 서비스로 EC2를 브라우저 기반의 쉘 혹은 AWS CLI로 관리할 수 있는 서비스
동작 방식
AWS API를 기반으로 EC2와 통신
연결 인증 방식
IAM 인증
검사 방법
연결 기록 및 세션 사용 기록을 CloudTrail/CloudWatch과 연동해 확인 가능
연결 요구사항
SSM 에이전트 설치
주요 기능
기본적인 SSH 터미널 + SCP 터널(파일 전송)
기타 EC2에 명령 전송(예: Lambda에서 EC2로 명령 전송 등)
인스턴스에 대해 원클릭 액세스를 제공하는 관리형 서비스
인스턴스에 SSH 연결 없이, 포털을 열 필요 없이, 배스천 호스트를 유지할 필요 없이 인스턴스에 로그인 가능
웹브라우저 기반으로 OS와 무관하게 사용 가능
로깅과 감사
언제 어디서 누가 명령했는지 확인 가능(CloudTrail)
전송 기록과 사용한 모든 커맨드 및 출력된 내용을 S3 혹은 CloudWatch로 전송 가능
S3 이벤트가 발생하면 Lambda 함수를 통해 EC2 인스턴스에서 특정 실행 파일을 실행하는 절차는 다음과 같다.
1.
IAM 역할 생성
AWS Management Console의 IAM 섹션에서 새 IAM 역할을 생성한다. 이 역할은 Lambda 함수가 EC2 인스턴스를 관리하는 데 필요한 권한을 부여하는 데 사용된다. ‘AmazonEC2FullAccess' 정책을 연결해야 한다.
2.
Lambda 함수 생성
AWS Management Console의 Lambda 섹션에서 새 Lambda 함수를 생성한다. 함수를 생성할 때 앞서 만든 IAM 역할을 선택한다.
Lambda 함수의 코드에는 EC2 인스턴스에서 원하는 실행 파일을 실행하는 SSH 명령을 포함해야 한다. Python 등의 언어를 사용하여 SSH 라이브러리를 활용한 코드를 작성할 수 있다.
3.
S3 버킷에 이벤트 알림 구성
S3 버킷에서 이벤트가 발생할 때 Lambda 함수를 호출하도록 구성한다. AWS Management Console의 S3 섹션에서 해당 버킷의 'Properties' 탭으로 이동해 'Event Notifications' 섹션에 새 이벤트 알림을 추가한다. 이 알림에서 'Lambda Function'을 선택하고 생성한 Lambda 함수를 지정한다. 'Event type'은 필요에 따라 원하는 S3 이벤트 유형을 선택한다 (예: 'All object create events').
이 절차를 완료하면 S3 버킷에서 설정한 이벤트가 발생할 때마다 Lambda 함수가 실행되어 EC2 인스턴스에서 지정된 실행 파일을 실행한다.