소개
ec2pf는 AWS EC2 인스턴스에 대한 AWS SSM 포트 포워딩 세션을 관리하는 커맨드 라인 인터페이스(CLI) 도구입니다. INI 설정 파일을 통해 AWS 설정과 서비스를 정의하고, 'aws ssm start-session' 프로세스를 시작, 중지, 모니터링하며 자동 재연결 기능을 제공합니다.
상세정보
세션 관리 및 자동 재연결
포트 포워딩 세션의 시작, 중지, 상태 확인을 간편한 명령어로 수행합니다. 워치 모드를 활성화하면 설정된 주기로 세션 상태를 모니터링하고, 연결이 끊어졌을 때 자동으로 재연결을 시도하여 안정적인 연결을 유지합니다.
유연한 설정 및 제어
INI 형식의 설정 파일을 사용하여 AWS 리전, 프로파일, 서비스별 포트 매핑을 정의할 수 있습니다. ‘–dry-run’ 옵션으로 실제 연결 없이 실행 계획을 미리 확인하고, 서비스별로 포트 포워딩을 건너뛰거나 원격 포트를 개별적으로 지정할 수 있습니다.
설정 파일 구성
INI 파일을 생성하여 AWS 설정과 서비스를 정의합니다. ‘[aws]’ 섹션에 리전, 프로파일, 기본 원격 포트를, ‘[services]’ 섹션에 EC2 인스턴스별 서비스 이름과 로컬 포트를 지정합니다.
주요 명령어
- start: 포트 포워딩 세션을 시작합니다. ‘ec2pf start -c config.ini’ 명령어를 사용하며, ‘–watch’ 옵션으로 모니터링 간격을 설정할 수 있습니다.
- stop: 활성 세션을 중지합니다. ‘ec2pf stop -c config.ini’ 또는 ‘–all’ 옵션으로 모든 세션을 중지합니다.
- status: 현재 활성 세션의 상태를 확인합니다.
- validate: 설정 파일의 유효성을 검사합니다.
이런 경우에 유용합니다
AWS EC2 인스턴스에 안전하게 접속하여 데이터베이스, 웹 애플리케이션 등 다양한 서비스에 접근해야 하는 개발자나 시스템 관리자에게 유용합니다. 여러 EC2 인스턴스의 포트 포워딩을 한 곳에서 중앙 관리하고, 연결 안정성을 높여야 할 때 효과적입니다.
지원 환경 및 시스템 요구사항
Windows, macOS, Linux 환경에서 지원됩니다. 모든 플랫폼에서 AWS CLI v2와 SSM Session Manager 플러그인이 필요하며, 네이티브 바이너리 외에 uber-jar를 사용할 경우 Java 17 이상의 런타임이 요구됩니다.
최신 버전 정보
현재 최신 릴리스 버전은 1.1.2입니다.
제한 사항 및 확인 사항
동일한 설정 파일을 사용하여 여러 프로세스에서 동시에 ec2pf를 실행하는 것은 지원되지 않습니다. PID 파일이 잠기지 않아 세션 추적이 손상될 수 있으므로, 하나의 터미널에서만 실행하는 것이 권장됩니다.
시스템 요구사항
AWS CLI v2, AWS Systems Manager(SSM) Session Manager 플러그인, AWS 자격증명 설정이 필요합니다. 네이티브 바이너리는 별도의 런타임이 필요 없으나, uber-jar 실행 시 Java 17 이상이 요구됩니다.


