SSM ベースのパブリック踏み台レス構成
2025/10/31
池 文光 | Mankwong Chi

概要
多くのアーキテクチャでは、Aurora をはじめとするプライベートサブネット内のリソースへのアクセス手段として、パブリック踏み台(バスティオンホスト)が用いられています。しかし、パブリック踏み台は運用上のオーバーヘッドやセキュリティリスクを伴い、ネットワーク公開範囲や認証情報の管理にも高い注意が求められます。
SSM ベースの構成では、従来のパブリック踏み台を不要とする「プライベートバスティオン」なアプローチを採用します。これにより、AWS Systems Manager のポートフォワーディング機能を用いて、インターネットへ一切リソースを公開することなく、SSH アクセスの管理も行わずに、オンプレミス環境から Aurora へ安全にアクセスすることが可能となります。
アーキテクチャ概要

このアーキテクチャでは、通信は同一 VPC 内の EC2 インスタンスを経由し、IAM によって制御された安全な SSM セッションを通じて実行されます。これにより、従来のパブリック踏み台パターンと比較して、よりセキュアで、監査性に優れ、運用性の高い方式を実現します。
ステップごとの詳細説明
1. プライベートサブネットに EC2 インスタンスを起動
パブリック IP アドレスを割り当てないようにし、SSM Agent が稼働していること、ならびに AmazonSSMManagedInstanceCore など適切な IAM ロールがアタッチされていることを確認します。
2. Systems Manager 用の VPC インターフェースエンドポイントを作成
EC2 インスタンスと SSM サービス間のプライベート通信を可能にするため、ssm、ssmmessages、ec2messages のエンドポイントを作成します。
3. SSM と適切な IAM 権限を用いてオンプレミスからポートフォワーディングセッションを開始
例)
aws ssm start-session \
--target i-0abc123def4567890 \
--document-name AWS-StartPortForwardingSessionToRemoteHost \
--parameters "host=['aurora.cluster-xxxxxxxx.ap-northeast-1.rds.amazonaws.com'],portNumber=['5432'],localPortNumber=['5432']"
AWS CLI を使用して、EC2 インスタンスへの直接的なネットワークアクセスを必要とせず、安全にセッションを開始します。
4. EC2 経由でターゲットリソースへアクセス
ワークステーション上の localhost:<localPort> に接続することで、アクティブな SSM セッションを経由して、内部サービスへ安全にトンネル接続できます。
まとめ
踏み台サーバーを SSM ベースのポートフォワーディング方式に置き換えることで、パブリックエンドポイントや SSH、恒久的に公開されたインフラを一切必要としない、ゼロエクスポージャかつ運用負荷の軽い、より安全なプライベートリソースへのアクセス方式を実現できます。