VPC内リソースへの接続方法を選ぶ

 公開 2026-09-17

VPCの中にあるサーバやデータベースへ人が入る方法を、「何に接続するか」「入口の性質」「認証と絞り込み」の3つの軸で整理する。SSHか踏み台かの二択にせず、公開しなくても届く手段から検討する順序を示す。

VPCの中にあるサーバやデータベースへ、人が入る必要は必ず出てくる。 このとき「SSHを開けるか、踏み台を建てるか」の二択で考えると、選べたはずの構成を見落とす。 本稿では、VPC内リソースへの接続方法を3つの軸で整理し、選ぶ順序を示す。

なお、AWSのサービスがどこに住んでいるか(VPCの中か外か)は、 「プライベートネットワークだから安全」を考え直すで扱っている。 本稿が対象にするのは、VPCの中に住むリソースへ、人がどう到達するかである。

1. 課題: 入口の選択肢は二択ではない

入口の設計は、次のように進みがちである。

よくある進み方
起きること
とりあえずSSHを開ける
公開ポートの管理、鍵の配布、監査対応が後から効いてくる
とりあえず踏み台を建てる
踏み台自体のOS更新・鍵更新という運用が増える
とりあえずVPNを引く
使わない時間にも課金が続き、クライアントの配布が必要になる

どれも間違いではない。問題は、選択肢を並べずに決めていることである。 選択肢は「何に接続するか」「入口の性質」「認証と絞り込み」の3つの軸に分かれる。

VPC内リソースへの接続方法を、公開してアプリ層で守る経路、AWSが経路を仲介する経路、ネットワークごと繋ぐ経路、画面を転送する経路の4つに分け、それぞれがVPC内のリソースへ到達することを示す図
入口の4つの性質

2. 軸1: 何に接続するか

接続先の種類によって、使える手段が変わる。ここを最初に決める。

接続先
具体例
向く手段の傾向
OSのシェル
Linux(SSH)、Windows(RDP)
AWSが経路を仲介する手段が第一候補になる
HTTPのアプリケーション
社内Webアプリ、管理画面
公開してアプリ層で守る手段が使える
HTTP以外のTCP
データベース、独自プロトコル
ポート転送か、ネットワークごと繋ぐ手段が要る

「シェルに入りたい」と「Webアプリを見たい」を同じ入口で解こうとすると、過剰な構成になる。 Webアプリを見るためだけにVPNを引く、といった選択がその例である。

3. 軸2: 入口の性質

手段は、性質で4つに分かれる。同じ「VPCに入る」でも、何を公開し、誰が経路を持つかが違う。

3.1 AWSが経路を仲介する(入口を公開しない)

インターネットに待ち受けポートを作らず、AWSのAPIを経由して到達する。

手段
できること
Session Manager
対象インスタンスへシェルで入る。受信ポートを開けずに済む
Session Managerのポート転送
対象インスタンスを経由して、その先のホストへポートを転送する。転送先はSystems Managerの管理対象でなくてよい
EC2 Instance Connect Endpoint
踏み台やパブリックIPなしで、プライベートIPのインスタンスへSSHまたはRDPで接続する
CloudShellのVPC環境
ブラウザのシェルをVPC内に置く。VPCのネットワーク構成を引き継ぐ(永続ストレージは持たない)
Verified Access
リクエストごとに利用者と端末を評価して通す。HTTP以外は専用のクライアントが要る

この区分で見落とされやすいのが下の2つである。 EC2 Instance Connect Endpointは踏み台そのものを不要にし、 Session Managerのポート転送は「踏み台の先のデータベースへ届かせる」という用途を、踏み台を経由したまま満たす。

3.2 公開してアプリ層で守る

入口をインターネットに出し、認証と絞り込みで守る。HTTPのアプリケーション向けである。

手段
位置付け
ALB
認証をリスナーのルールで行える。ターゲットはプライベートサブネットに置いたままでよい
CloudFront
配信の前段で認証・絞り込みを行う。VPCオリジンを使うと、ALB・NLB・EC2をプライベートサブネットに置いたまま、その配信からだけ到達させられる
API Gateway
APIの入口。オーソライザーで認可を差し込める

3.3 ネットワークごと繋ぐ

到達性そのものを与える。IPレベルで届く必要があるときに選ぶ。

手段
注意点
Client VPN
端末にVPNクライアントが要る。サブネットへの関連付けと接続の時間で課金される
Site-to-Site VPN
拠点とVPCを繋ぐ。人ではなく拠点単位の接続
Direct Connect
専用線。帯域と安定性が要るとき

3.4 画面を転送する

作業環境そのものをクラウド側に置き、画面だけを転送する。AppStream 2.0やWorkSpacesがこれにあたる。 端末にデータを残したくない場合の選択肢になる。

4. 軸3: 認証と絞り込み

入口の性質が決まったら、何で認証し、何で絞るかを別々に決める。ここを混同すると、片方だけで守った気になる。

選択肢
認証
IAM(リクエストの署名)、OIDC(IDプロバイダ連携。ALBはCognitoとOIDC準拠のIdPの両方に対応)、証明書、BASIC認証
絞り込み
WAFのIPセット、地理的制限、レート制限
認証の差し込み先
ALBのリスナールール、CloudFrontのエッジ関数(Lambda@EdgeやCloudFront Functions)

BASIC認証は、CloudFrontのエッジ関数で差し込める手軽な方法である。 ただし利用者の識別にはならないため、操作を個人に紐づける必要がある画面には向かない。

5. 選ぶ順序

3つの軸は、次の順で決めると迷いにくい。

  1. 接続先は何か(シェル / HTTPアプリ / HTTP以外のTCP)
  2. 入口を公開するか。公開しないなら、AWSが経路を仲介する手段を先に検討する
  3. 誰が使うか。個人を特定して記録に残す必要があるなら、IAMかIDプロバイダ連携を選ぶ
  4. どれだけの時間使うか。常時使わない入口は、時間課金の対象を確かめる

6. マネージドな入口を、使うときだけ用意する

前章の4は見落とされやすい。マネージドな入口(AWS Verified Access、AWS Client VPN)は運用が軽くなる代わりに、 入口が存在している時間に対して課金される。使う時間が限られているなら、入口そのものを使うときだけ作るという選択肢がある。

6.1 Verified Access ─ リクエストごとに評価して通す

VPNのトンネルを張らずに、社内のアプリケーションへ入るための入口である。 利用者は普段のブラウザで開くだけで、VPNのクライアントを入れない。

利用者がブラウザからVerified Accessのエンドポイントへ接続し、エンドポイントが信頼プロバイダーの持つ利用者のIDと端末の状態をリクエストごとに評価して、許可されたものだけをプライベートサブネットの社内アプリケーションへ通し、拒否したものは接続させない流れの図
リクエストごとに評価して通す

通す・通さないを、接続を張るときに一度決めるのではなく、リクエストごとに評価するのが他の経路との一番の違いである。 評価に使うのは、利用者の識別情報と端末の状態である。 アプリケーションはプライベートサブネットに置いたままで、インターネット側にポートを開けない。

6.2 Client VPN ─ トンネルを張ってIPレベルで届かせる

端末からトンネルを張る方式で、リクエストごとに評価するVerified Accessとは考え方が違う。 データベースやリモートデスクトップのように、IPレベルで届かせたいときに選ぶ。

ブラウザからHTTPSでVerified Accessへ入る経路はトンネルを張らずHTTPのアプリケーションへ届き、VPNクライアントからトンネルを張るClient VPNはサブネットへの関連付けを通してIPレベルでVPC内のリソースへ届くことを並べた図
2つの経路の通り方

考え方は違っても、時間限定で使うやり方は同じように当てはめられる。 Client VPNで時間課金の対象になるのは、エンドポイント本体ではなくサブネットへの関連付けと接続だからである。 証明書や認可の規則は常設のまま残し、関連付けだけを使うときに作って外せば、課金は止まる。作り直す範囲も小さい。

6.3 消す対象がサービスごとに違う

観点
Verified Access
Client VPN
通り方
トンネルを張らない。リクエストごとに評価する
端末からトンネルを張る
利用者が使うもの
HTTPのアプリケーションはブラウザだけ。HTTP以外は専用のクライアント
OpenVPN系のVPNクライアント
時間課金の対象
エンドポイント(アプリケーション単位の時間)と、処理したデータ量
サブネットへの関連付けの時間と、接続の時間
常設にできる部分
信頼プロバイダー、インスタンス、グループ
エンドポイント本体(証明書、認可の規則)
使うときだけ作るもの
エンドポイント
サブネットへの関連付け

「止める」と「消す」は別である。 課金が止まる操作がどれかを、サービスごとに確かめる。

常設する基盤は構成のコードで管理し、使うときだけ作る部分は構成の管理外に置いて、自動化の手順が作成し、 利用時間の待機後に削除する。入口を構成の管理から外すのは、作成・削除のたびに構成の適用が必要になるのを避けるためである。 作成の手順に待機と削除まで含めておくと、利用の終わりに必ず削除まで進む。後始末を利用者に委ねない。

6.4 画面で操作する

入口を作って消す操作と、使い方による費用の違いは、操作できる画面に置いた。 利用時間を決めて入口を作ると、作成から削除までの段階が順に進む。段階の並びは経路ごとに異なる。

安全な通信経路(運用画面例。AWSに接続しないモック)

7. まとめ

判断
内容
二択で決めない
入口の選択肢は4つの性質に分かれる。SSHか踏み台かではない
接続先から決める
シェル、HTTPアプリ、HTTP以外のTCPで、使える手段が変わる
公開しない手段を先に見る
Session Manager、ポート転送、EC2 Instance Connect Endpoint、Verified Access
認証と絞り込みを分ける
認証は誰かを決め、絞り込みはどこからを決める。別の層として設計する
時間課金を確かめる
常時使わない入口は、何に対して時間課金されるかで構成が変わる。止めるために消すものはサービスごとに違う

入口の設計で最初にすべきことは、構成を選ぶことではない。 接続先と利用者を確かめ、公開しなくても届く手段が残っていないかを見ることである。