0
0

SSMのポートフォワーディング機能を利用してプライベートなECSにブラウザからアクセス

Last updated at Posted at 2023-11-07

背景

プライベートに置いたECSにデプロイしたAPIについて、ブラウザからSwaggerUIで確認したいという要望があったので対応しました。
DBへのポートフォワーディングについての記事はよくありましたが、特殊な行為なのか、ECSへの接続の記事が見つけられなかったので、簡単ですが残しておきます。
(他に、ClientVPNを利用する方法とWindowsサーバーにSMMFleetManagerでRDP接続する方法も試したのですが、ClientVPNは料金が高い&ローカルにインストールするツールの挙動が安定せず、RDP接続はインスタンスタイプでそれなりの性能にしないとまともに使えず断念しました。。)

前提

  • プライベートサブネットに、内部ALBのターゲットとしてECSを作成
  • プライベート環境にEC2を作成し、セキュリティグループは開けずにセッションマネージャからアクセス可能

対応

# ポートフォワード
# ※9999は任意の値
aws ssm start-session \
--target 踏み台サーバーインスタンスID \
--document-name AWS-StartPortForwardingSessionToRemoteHost \
--parameters '{"portNumber":["80"],"localPortNumber":["9999"],"host":["内部APIドメイン"]}'

# ブラウザでAPIにアクセス
http://localhost:9999/docs

構成図

名称未設定ファイル.drawio (2).png

参考

どなたかの参考になれば幸いです!

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