0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS SSM ポートフォワードとは?

Last updated at Posted at 2025-02-21

AWS SSM ポートフォワードとは?

はじめに

AWS で EC2 インスタンスに直接アクセスするには、通常 SSH を使用したり、セキュリティグループでポートを開放する必要があります。しかし、セキュリティを考慮すると、可能な限りポート開放は避けたいものです。

そこで AWS SSM(AWS Systems Manager)ポートフォワード機能 を活用すると、EC2 のポートを開放せずに、安全にリモート接続できます。本記事では、ポートフォワードの仕組みや設定方法について解説します。


ポートフォワードとは?

ssm.png

ポートフォワードとは、特定のポートへの通信を、別の場所へ転送する仕組み です。

例えば、ローカルの 1234 番ポートにデータを送ると、それが 別のサーバーの 1234 番ポートに転送される という動作をします。

AWS SSM ポートフォワードのイメージ

AWS SSM を使ったポートフォワード では、以下のような流れでデータが転送されます。

1. ローカルの 1234 番ポートでデータを送信

nc -w 3 127.0.0.1 1234 < assets.tar.gz

💡 ローカルの 127.0.0.1:1234 にデータを送っているだけ

2. SSM ポートフォワードの動作

aws ssm start-session --target ${{ secrets.INSTANCE_ID }} --document-name "AWS-StartPortForwardingSession" --parameters '{
  "portNumber":["1234"],
  "localPortNumber":["1234"]
}' &

このコマンドを実行すると

  • ローカルの 1234 番ポートに送ったデータが、自動的に EC2 の 1234 に転送される

3. EC2 側で nc がリスン(待機)

sudo nc -l -p 1234 > /var/www/test/tmp_assets/assets.tar.gz

EC2 側では nc1234 番ポートでデータを受け取る準備をしている
→ 送られたデータが assets.tar.gz に保存される


ポートフォワードの具体的な流れ

[ ローカル PC ] -----> [ AWS SSM ポートフォワード ] -----> [ EC2 の 1234 番ポート ]
  nc -w 3 127.0.0.1 1234 < assets.tar.gz      sudo nc -l -p 1234 > /var/www/test/tmp_assets/assets.tar.gz

なぜポートフォワードが必要?

1. EC2 のポート 1234 は開いていない

通常、EC2 のポート 1234 に直接アクセスするには

  • EC2 のセキュリティグループで 1234 を開放
  • EC2 のパブリック IP に接続
    が必要ですが、セキュリティ的にリスクがある

💡 SSM ポートフォワードを使うと、セキュリティグループを変更せずに安全に転送できる

2. ローカルの 1234 に接続するだけで、EC2 にデータを送れる

nc -w 3 127.0.0.1 1234 < assets.tar.gz

🔹 ローカルでは 127.0.0.1:1234 に送信
🔹 でも実際には SSM が裏で EC2 の 1234 に転送してくれる
🔹 結果として、EC2 にデータが届く


イメージ図

ポートフォワードなし

❌ 直接 EC2 に送ろうとすると 失敗する

[ ローカル PC ] ----X----> [ EC2 の 1234 番ポート ]
   (セキュリティグループでブロックされる)

ポートフォワードあり

SSM が間に入るので成功

[ ローカル PC ] ---> [ SSM ] ---> [ EC2 の 1234 番ポート ]
   (ローカルの 1234 に送るだけで EC2 に届く)

まとめ

ポートフォワードを使うと、ローカルの 1234 に送るだけで EC2 に転送できる
セキュリティグループの設定変更なしで、安全に通信できる
AWS SSM が SSH トンネルのような役割をする

AWS SSM ポートフォワードは、セキュリティを向上させつつ、安全に EC2 との通信を可能にする便利な機能です。是非活用してみてください!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?