AWSで踏み台サーバーを作成してみた #初心者エンジニア - Qiita

初めまして!!!標準体重 65kg 目指して増量中のそうまです!!

今回は「踏み台サーバー」ってよく聞くけど、作成する目的や実装方法がよくわからなかったので、実際に手を動かしてみて、理解できたことをメモとして残しておこうと思います!

踏み台サーバーの目的

以下のようなケースの時に、踏み台サーバーの必要性が出てきます!!

  1. 外部公開したくない社内WebやDBへ繋ぐ必要がある時
  2. VPC内のリソースに外部から安全にアクセスしたい時
  3. 監査ログ(監視)をとりたい時
    a. 踏み台サーバーで操作証跡を記録する

今回の作成した構成

  • 踏み台サーバー : EC2
  • 社内用webサーバー : EC2

頭整理-aws.drawio (1).png

設定手順

社内用webサーバーの設定

  1. インスタンス作成時に 「パブリックIP割り当て:オフ」 を選択し、プライベートサーバーとして構築
  2. セキュリティグループで SSHの通信を許可
    • 送信元:社内用VPCのCIDR範囲
    • ターゲット:local(VPC内からのアクセスを許可)
  3. インターネットゲートウェイと関連付けされていないルートテーブル をアタッチ

この構成により、Webサーバーは 同一VPC内からのSSH通信のみが許可された状態 になります!!

踏み台サーバーの設定

  1. インターネットゲートウェイと関連付けされたルートテーブル を適用
  2. セキュリティグループで SSH通信を許可

踏み台経由で社内Webサーバーへのアクセスが可能な構成にします!

VPCの設定

  1. パブリックサブネット(踏み台用)と プライベートサブネット(社内Webサーバー用)を作成して分離構成に

NAT Gateway の設定

プライベートサーバーからインターネットへの通信(アウトバウンド)を許可するために NAT Gateway を利用します!

  1. Elastic IP を発行し、NAT Gateway に割り当て
  2. 社内Webサーバーが属する VPC 内のパブリックサブネットに配置
  3. 社内Webサーバーが属する サブネットのルートテーブルに NAT Gateway を紐づけ

プライベートサーバーからインターネットへの通信(アウトバウンド)を許可するために NAT Gateway を利用します!

セキュリティグループではダメなのか?

僕は当初セキュリティグループで インバウンド / アウトバウンド を制御していれば良いのでは?と考えていました。

しかし、VPC・ルートテーブル・NAT Gatewayなどの構成を組み合わせることで、「通信経路そのものを物理的に遮断・制限する」強力なセキュリティ設計が可能になります。

  • セキュリティグループは「通していい通信を制御」
  • VPCやルートテーブルは「そもそも通信が通る経路を持たせるかどうか」

纏め

今回は、AWS上で踏み台サーバー(Bastion Host)を経由して、
プライベートなWebサーバーへ安全にアクセスする構成を作成しました!

パブリック・プライベートサブネットの使い分け、ルートテーブルやNAT Gatewayの設定など、これまでふわっとしていたVPCまわりの設計を 実際に手を動かしながら理解できたのが大きな収穫でした!!



フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link