AWS Systems Manager의 기능인 Session Manager를 사용하여 포트 전달을 생성하려고 합니다.
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
Session Manager를 사용하여 포트 전달을 생성하려면 다음 단계를 완료하십시오.
Systems Manager가 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 관리하는지 확인합니다. 자세한 내용은 Systems Manager를 사용한 EC2 인스턴스 관리 및 Linux용 EC2 인스턴스에 AWS Systems Manager Agent 수동 설치 및 제거를 참조하십시오.
AWS CLI용 Session Manager 플러그인을 설치합니다.
대상 EC2 인스턴스의 포트가 수신 모드인지 확인하려면 다음 명령을 실행합니다. Linux:
netstat -plant
macOS:
lsof -iTCP -sTCP:LISTEN -P -n
Windows:
netstat -nb
사용자가 Systems Manager를 통해 포트 전달 세션을 사용할 수 있도록 허용하는 AWS Identity and Access Management(IAM) 정책을 구성합니다. 다음 IAM 정책 예시는 AWS 계정의 모든 EC2 인스턴스에서 포트 전달을 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ec2:*:example-account-id:instance/*", "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ] } ] }
참고: example-account-id를 계정 ID로 바꾸십시오.
OS에 따라 명령을 실행합니다. Linux 또는 macOS:
# aws ssm start-session \ --target example-EC2-instance-ID \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["example-local-port"]}'
참고: example-EC2-instance-ID를 EC2 인스턴스 ID로 바꾸고 example-local-port를 로컬 포트로 바꾸십시오. Windows:
# aws ssm start-session --target "example-EC2-instance-ID" --document-name AWS-StartPortForwardingSession --parameters "portNumber"=["80"],"localPortNumber"=["example-local-port"]
참고: example-EC2-instance-ID를 EC2 인스턴스 ID로 바꾸고 example-local-port를 로컬 포트로 바꾸십시오.
인스턴스의 웹 서버 콘텐츠를 보려면 로컬 시스템의 브라우저에서 http://localhost:example-local-port를 로드합니다. 참고: 보안 그룹 또는 네트워크 액세스 제어 목록에서 관리형 EC2 인스턴스의 인바운드 포트 80을 열 필요는 없습니다.