포트를 열지 않고 Respberry Pi에 외부 액세스 (2020 AWS)

2017년에 쓴 포트를 열지 않고 Respberry Pi에 외부에서 액세스의 제2탄입니다.

집에 설치한 Raspberry Pi에 외출처에서 액세스하고 싶은 것이 있군요.
그렇지만, 그 때문에만 라우터의 포트를 해방하는 것도, 보안이 걱정.

이번에는 AWS Systems Manager Session Manager를 사용하는 방법을 소개합니다.
SSH도 VNC도 포트의 개방도 불필요해요!

AWS Systems Manager Session Manager란?



공식 사이트에 따르면

Session Manager는 완전 관리형 AWS Systems Manager 기능으로, 대화형 원 클릭 브라우저 기반 셸 및 AWS CLI를 통해 Amazon EC2 인스턴스, 온프레미스 인스턴스 및 가상 머신(VM)을 관리할 수 있습니다.


기본적으로는 EC2에 로그인하는데 사용하면 편리합니다만, 실은 Systems Manager는 온프레 환경에서도 사용할 수 있고 Session Manager 기능도 EC2가 아니어도 이용할 수 있습니다.

도입 절차



이하, 순서를 따라 설명합니다.

IAM 서비스 역할 만들기



IAM 역할을 만듭니다.


품목
내용


이름
SSMServiceRole (임의의 이름)

정책
AmazonSSMManagedInstanceCore(AWS 관리형 정책)

신뢰 관계
ssm.amazonaws.com



활성화 만들기



Raspberry Pi에 SSM 에이전트를 설치할 때 필요한 활성화 키를 만듭니다.

관리 콘솔의 ハイブリッドアクティベーション 메뉴에서 만듭니다.


품목
내용


인스턴스 제한
1(임의의 수)

IAM 역할
SSMServiceRole (위의 단계에서 만든 것)

기본 인스턴스 이름
Raspberry Pi (임의의 이름)


작성한 후 화면에 アクティベーションコードアクティベーションID 가 표시되므로 메모해 둡니다.

SSM 에이전트 설치



여기 Raspberry Pi에서 작업합니다.
mkdir /tmp/ssm
sudo curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb
sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb
sudo service amazon-ssm-agent stop
sudo amazon-ssm-agent -register -code "[activation-code]" -id "[activation-id]" -region "ap-northeast-1" 
sudo service amazon-ssm-agent restart
[activation-code][activation-id]는 이전 단계에서 기록한 것을 사용합니다.

이것으로 설정이 완료됩니다.
설치가 완료되면 Session Manager의 관리형 인스턴스에 Raspberry Pi가 추가됩니다.



연결 절차



Session Manager의 관리형 인스턴스에서 인스턴스를 선택하고 アクション -> Start Session를 선택하면 브라우저에 터미널 화면이 표시됩니다.

이것은 브라우저 화면입니다. 대단하네요. su - pi 로 하면 pi 사용자로 전환할 수도 있습니다.



이제 언제 어디서나 Raspberry Pi와 함께합니다.
SSH도 VNC도 필요하지 않습니다. 대단하네요.

좋은 웹페이지 즐겨찾기