7
6

More than 1 year has passed since last update.

AWS Systems Managerを使って外部から自宅のRaspberry Piにアクセスしてみる

Last updated at Posted at 2022-08-27

はじめに

以前、以下の記事でラズパイを使ってKubernetesクラスタを構築してみました。
Raspberry Pi 4を使ってKubernetesクラスタを構築する

どうせなら外部からアクセスして管理できるようにしたいと思っていたのですが、自宅の環境的にポート開放することが難しい...。

どうにかポート開放すること無く外部からアクセスする方法が無いかと調べていたところ、AWSのSystems Managerで実現出来そうだったので、ラズパイに導入してみました。

ハイブリッドアクティベーションの作成

AWS Systems Managerのページを開き、左側メニューからハイブリッドアクティベーションのページを開きます。
「アクティベーションを作成する」ボタンがあるので選択します。
スクリーンショット 2022-08-17 0.36.39.png

入力項目が現れるので、設定内容を入力します。

項目 設定内容
アクティベーションの説明 My Activation
インスタンス制限 1
IAMロール システムによって作成されたデフォルトロール ※1
デフォルトのインスタンス名 RaspberryPi Manager

※1 ... SSM用のカスタムロールを作成して使用したい場合は、既存のカスタムIAMロールを選択してください。
スクリーンショット 2022-08-17 0.40.10.png

入力した上でアクティベーションを作成を選択すると、アクティベーションコードとアクティベーションIDが表示されます。
この画面を閉じると確認できなくなるので、メモしておく必要があります。
スクリーンショット 2022-08-17 0.40.50.png
以上でアクティベーションの作成は完了です。

SSM Agentのインストール

続いて、管理対象のマシン(今回はRaspberry Pi)で作業をします。

以下のコマンドを入力してSSM Agentをインストールします。
-codeには先ほどメモしたアクティベーションコードを、-idにはアクティベーションIDを指定します。
また、-regionにはap-northeast-1を設定しました。

SSM Agentインストール
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 -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" 
sudo service amazon-ssm-agent start

再度AWSのコンソールに戻り、フリートマネージャーからSSM Agentが正常に動作しているかを確認します。
SSM AgentのpingがオンラインになっていればOKです。
スクリーンショット 2022-08-17 1.10.59.png

※ curlのURLについて
Raspberr Pi OSの場合はdebian_armとなりますが、管理対象のOSによってこの値が変わります。
公式マニュアルに詳細が記載されているので、他OSを使用したい方は参考にしてみてください。

アクセス方法

Session Managerを開き、「セッションの開始」を選択します。
スクリーンショット 2022-08-17 1.12.38.png

ターゲットインスタンスから先ほど作成したインスタンスを選択して「セッションを開始する」を選択します。
スクリーンショット 2022-08-17 1.13.59.png

ブラウザ上からラズパイにアクセス出来ました。
これでどこからでもラズパイを見守ることが出来ますね。
スクリーンショット 2022-08-17 1.15.23.png

参考資料

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6