この記事の内容
本記事では、踏み台サーバを経由してプライベートサブネットに配置するEC2サーバへアクセスするための構成・構築手順を解説します。
- 踏み台経由でプライベートサブネットに接続できる構成
- 上記構成の構築手順
システム構成の解説
解説対象のシステム構成
以下のポイントに絞って、本構成を解説します。
踏み台サーバを活用したプライベートサブネットへの接続
ポイント:踏み台サーバを活用したプライベートサブネットへの接続
プライベートサブネット内のリソースにアクセスするには、パブリックサブネット内に踏み台となるEC2を作成し、それを利用する方法が一般的です。
具体的には以下のステップを踏むことで、プライベートサブネット内のEC2にアクセスできます。
パブリックサブネット内に配置されている踏み台サーバに、インターネット経由でSSH接続します。
同じVPCに配置されているAWSリソースであればプライベートサブネット内に接続できるので、業務サーバのプライベートIPアドレスを用いて接続します。
「パブリックサブネット」や「プライベートサブネット」は、AWSのVPCというサービスに関連する用語です。これらの用語を詳しく知りたい方は、以下の記事をご覧ください。
構築方法
本構成の構築方法を解説します。
以降では、以下のステップに分けて解説してきます。
①VPCの作成
EC2・インターネットゲートウェイを配置するVPCを作成します。
- <設定項目>
-
カテゴリ 項目 設定値 VPC 作成するリソース VPCのみ 名前タグ 任意の名前 IPv4 CIDR ブロック IPIv4 CIDRの手動入力 IPv4 CIDR 10.0.0.0/16 IPv6 CIDR ブロック IPv6 CIDR ブロックなし 上記以外の項目 デフォルト値のまま
②サブネットの作成
EC2を配置するサブネット(パブリックサブネット/プライベートサブネット)を2つ作成します。
②-1 パブリックサブネットの作成
- <設定項目>
-
カテゴリ 項目 設定値 VPC VPC ID 作成したVPC ID サブネット サブネット名 任意の名前 IPv4 サブネット CIDR ブロック 10.0.1.0/24 上記以外の項目 デフォルト値のまま
②-2 プライベートサブネットの作成
「②-1 パブリックサブネットの作成」と同様の手順のため割愛します。
③インターネットゲートウェイの作成
パブリックサブネットのインターネット接続に必要な、インターネットゲートウェイを作成します。
④ルートテーブルの設定
パブリックサネットがインターネットゲートウェイを経由して、インターネット通信できるようにルートを追加します。
- <設定項目>
-
カテゴリ 項目 設定値 ルート 送信先 0.0.0/0 ターゲット インターネットゲートウェイ
(作成したIGWを選択)
⑤セキュリティグループの作成
EC2(踏み台サーバ/業務サーバ)に適用するセキュリティグループを作成します。
⑤-1 踏み台サーバ用のセキュリティグループの作成
以下設定のセキュリティグループを作成します。
- インバウンド
- 自身のIPアドレスからのSSH接続のみを許可する。
- アウトバウンド
- 全ての通信を許可する。
- <設定項目>
-
カテゴリ 項目 設定値 基本的な詳細 セキュリティグループ名 任意の名前 説明 任意の説明 VPC 作成したVPC インバウンドルール タイプ SSH ソース マイ IP アウトバウンドルール タイプ すべての TCP 送信先タイプ Anywhere-IPv4
⑤-2 業務サーバ用のセキュリティグループの作成
以下設定のセキュリティグループを作成します。基本的な手順は「⑤-1 踏み台サーバ用のセキュリティグループの作成」と同様のため、詳細手順は割愛します。
- インバウンド
- 踏み台サーバからのSSH接続のみを許可する。
- アウトバウンド
- 全ての通信を許可する。
⑥EC2の作成
踏み台サーバ(パブリックサブネット)と業務サーバ(プライベートサブネット)を作成します。
⑥-1 踏み台サーバの作成
- <設定項目>
-
カテゴリ 項目 設定値 名前とタグ 名前 任意の名前 Amazon マシンイメージ クイックスタート Amazon Linux AMI Amazon Linux 2023 AMI
※無料利用枠の対象を選択してください。インスタンスタイプ t2.micro
※無料利用枠の対象を選択してください。キーペア キーペア名 「新しいキーペアの作成」を選択し、任意の名前で作成してください。 ネットワーク設定 VPC 作成したVPC サブネット 作成したパブリックサブネット パブリック IPの自動割り当て 有効化 ファイアウォール(セキュリティグループ) 既存のセキュリティグループを選択する 上記以外の項目 デフォルト値のまま - 【補足】EC2の基礎知識
-
EC2ではインスタンスやAMIなど、初めての人には馴染みのない用語が頻出します。
これらはEC2の重要な構成要素であり、以下の記事で詳しく解説しています。【図解】EC2インスタンスタイプの構成要素や種類毎の選び方を解説 | KONISHI Tech Note はじめに Amazon EC2(Elastic Compute Cloud)は、AWSが提供する代表的なクラウドコンピューティングサービスです。 EC2を利用する際、適切なインスタンスタイプを選択す…
⑥-2 業務サーバの構築
「⑥-1 踏み台サーバの構築」と同様の手順でEC2インスタンスを作成します。(詳細手順は割愛します。)
構築手順は以上になります。
動作確認
それでは、実際に踏み台を経由してプライベートサブネット内のEC2に接続してみましょう。
以降では、以下のステップに分けて解説します。
【SSHとは?】
- 「Secure Shell」の略称で、リモートコンピュータと通信するためのプロトコル。
- ネットワーク上の通信がすべて暗号化されるため、安全にアクセスできます。
- ユーザーはターミナルを通じてコマンドを送信し、管理や操作を行います。
事前準備
SSH接続には、SSHクライアントが必要です。
特にこだわりがなければ、「Tera Term」をインストールしましょう。
①クライアントから踏み台サーバにSSHで接続
- <設定項目>
-
項目 設定値 ホスト 先ほどメモした「パブリック IPv4 DNS」 サービス SSH TCPポート 22 上記以外の項目 デフォルト値のまま 以下のエラー画面が表示される場合は、接続元のIPアドレスが変わってしまった可能性があります。
「セキュリティグループの設定」で、接続許可する「マイIP」を更新してから再接続しましょう。
- <設定項目>
-
項目 設定値 ユーザー名 ec2-user 認証方式 RDS/DSA/ECDSA/ED25519鍵を使う 秘密鍵 EC2作成時に作成したキーペア 上記以外の項目 デフォルト値のまま
②踏み台サーバから業務サーバにSSHで接続
EC2にSSHで接続するには「秘密鍵」が必要なため、Tera Termにドラッグ & ドロップで秘密鍵をアップロードします。
そうすると以下の画面が表示されるので、何も変更せずに「ok」を選択します。
chmod 400 {アップロードした秘密鍵のファイル名}
上記コマンドを実行しない場合、「Permissions 0644 for ‘{秘密鍵のファイル名}’ are too open.」という警告文とともに、プライベートサブネット内のEC2への接続が失敗します。
これらのアクセス権限を設定しないと、このキーペアを使用してインスタンスに接続できません。
AWS(Amazon EC2 を使用してキーペアを作成する)
「chmod 400 {秘密鍵のファイル名}
」を実行して、自分以外のユーザーが読み込むことができないように許可設定を変更したうえで、接続を試みてください。
以下の画面が表示されたら接続完了です。
関連記事
本記事の解説は以上です。
ここからは、より知識を深めたい人向けに関連記事を紹介します。
類似のシステム構成
本記事で紹介した構成については、追加で「プライベートサブネット内のリソースが、インターネットへ通信できるようにしたい」という要件が出てくるケースが多々あります。
上記要件を満足する構成・構築手順を解説しているので、気になる方はぜひご覧ください。
本記事で登場したAWSサービス
本記事では「EC2」や「VPC」といったAWSサービスが登場しました。
これらのサービスについては、構成要素や料金等について詳しく解説しているので、もっとよく知りたい方は以下の記事をご覧ください。
コメント