踏み台(EC2)経由でプライベートサブネットに接続する構成の構築方法】

目次

この記事の内容

本記事では、踏み台サーバを経由してプライベートサブネットに配置するEC2サーバへアクセスするための構成・構築手順を解説します。

本記事で分かること
  • 踏み台経由でプライベートサブネットに接続できる構成
  • 上記構成の構築手順

システム構成の解説

解説対象のシステム構成

以下のポイントに絞って、本構成を解説します。

本構成のポイント

踏み台サーバを活用したプライベートサブネットへの接続

ポイント:踏み台サーバを活用したプライベートサブネットへの接続

プライベートサブネット内のリソースにアクセスするには、パブリックサブネット内に踏み台となるEC2を作成し、それを利用する方法が一般的です。

具体的には以下のステップを踏むことで、プライベートサブネット内のEC2にアクセスできます。

STEP
クライアント端末 ⇒ 踏み台サーバにアクセス

パブリックサブネット内に配置されている踏み台サーバに、インターネット経由でSSH接続します。

STEP
踏み台サーバ ⇒ 業務サーバにアクセス

同じVPCに配置されているAWSリソースであればプライベートサブネット内に接続できるので、業務サーバのプライベートIPアドレスを用いて接続します。

「パブリックサブネット」や「プライベートサブネット」は、AWSのVPCというサービスに関連する用語です。これらの用語を詳しく知りたい方は、以下の記事をご覧ください。

構築方法

本構成の構築方法を解説します。
以降では、以下のステップに分けて解説してきます。

①VPCの作成

EC2・インターネットゲートウェイを配置するVPCを作成します。

STEP
VPCのコンソール画面に遷移し、右上の「VPCを作成」を選択します。
STEP
設定項目を入力して「VPCを作成」を選択します。
<設定項目>
カテゴリ項目設定値
VPC作成するリソースVPCのみ
名前タグ任意の名前
IPv4 CIDR ブロックIPIv4 CIDRの手動入力
IPv4 CIDR10.0.0.0/16
IPv6 CIDR ブロックIPv6 CIDR ブロックなし
上記以外の項目デフォルト値のまま

②サブネットの作成

EC2を配置するサブネット(パブリックサブネット/プライベートサブネット)を2つ作成します。

②-1 パブリックサブネットの作成

STEP
「サブネット」>「サブネットを作成」の順に選択します。
STEP
設定項目を入力して「サブネットを作成」を選択します。
<設定項目>
カテゴリ項目設定値
VPCVPC ID作成したVPC ID
サブネットサブネット名任意の名前
IPv4 サブネット CIDR ブロック10.0.1.0/24
上記以外の項目デフォルト値のまま

この時点では本パブリックサブネットはインターネット接続できません。
作成したパブリックサブネットのルートテーブルにインターネットへのルートを追加することで、インターネット接続できるようになります。

②-2 プライベートサブネットの作成

「②-1 パブリックサブネットの作成」と同様の手順のため割愛します。

「IPv4 サブネット CIDR ブロック」項目だけ、パブリックサブネットとは異なる値(10.0.1.0/24)を設定する必要があります。

③インターネットゲートウェイの作成

パブリックサブネットのインターネット接続に必要な、インターネットゲートウェイを作成します。

STEP
「インターネットゲートウェイ(左側のメニュー)」>「インターネットゲートウェイの作成」の順に選択します。
STEP
「名前タグ」に任意の名前を設定して、「インターネットゲートウェイの作成」を選択します。

④ルートテーブルの設定

パブリックサネットがインターネットゲートウェイを経由して、インターネット通信できるようにルートを追加します。

STEP
作成したパブリックサブネットの詳細情報からルートテーブルのリンクを選択して、ルートテーブルの画面に遷移します。
STEP
表示されたルートテーブルを選択して、「ルート」タブから「ルートを編集」を選択します。
STEP
「ルートを追加」を選択し、設定項目を入力して「変更を保存」を選択します。
<設定項目>
カテゴリ項目設定値
ルート送信先0.0.0/0
ターゲットインターネットゲートウェイ
(作成したIGWを選択)

⑤セキュリティグループの作成

EC2(踏み台サーバ/業務サーバ)に適用するセキュリティグループを作成します。

⑤-1 踏み台サーバ用のセキュリティグループの作成

以下設定のセキュリティグループを作成します。

  • インバウンド
    • 自身のIPアドレスからのSSH接続のみを許可する。
  • アウトバウンド
    • 全ての通信を許可する。
STEP
EC2のコンソール画面に遷移し、「セキュリティグループ」>「セキュリティグループを作成」の順に選択します。
STEP
設定項目を入力し、「セキュリティグループを作成」を選択します。
<設定項目>
カテゴリ項目設定値
基本的な詳細セキュリティグループ名任意の名前
説明任意の説明
VPC作成したVPC
インバウンドルールタイプSSH
ソースマイ IP
アウトバウンドルールタイプすべての TCP
送信先タイプAnywhere-IPv4

⑤-2 業務サーバ用のセキュリティグループの作成

以下設定のセキュリティグループを作成します。基本的な手順は「⑤-1 踏み台サーバ用のセキュリティグループの作成」と同様のため、詳細手順は割愛します。

  • インバウンド
    • 踏み台サーバからのSSH接続のみを許可する。
  • アウトバウンド
    • 全ての通信を許可する。

「⑥-1 踏み台サーバ用のセキュリティグループの作成」の手順とは、インバウンドルールの設定のみが異なるため、「インバウンドルール」の「リソースタイプ」のみ以下のように設定する必要があります。
 ・ソースタイプ:カスタム(踏み台サーバの「パブリック IPv4 アドレス」)

⑥EC2の作成

踏み台サーバ(パブリックサブネット)と業務サーバ(プライベートサブネット)を作成します。

⑥-1 踏み台サーバの作成

STEP
EC2のコンソール画面に遷移し、「インスタンスを起動」を選択します。
STEP
設定項目を入力して「インスタンスを起動」を選択します。
<設定項目>
カテゴリ項目設定値
名前とタグ名前任意の名前
Amazon マシンイメージクイックスタートAmazon Linux
AMIAmazon Linux 2023 AMI
※無料利用枠の対象を選択してください。
インスタンスタイプt2.micro
※無料利用枠の対象を選択してください。
キーペアキーペア名「新しいキーペアの作成」を選択し、任意の名前で作成してください。
ネットワーク設定VPC作成したVPC
サブネット作成したパブリックサブネット
パブリック IPの自動割り当て有効化
ファイアウォール(セキュリティグループ)既存のセキュリティグループを選択する
上記以外の項目デフォルト値のまま
【補足】EC2の基礎知識

EC2ではインスタンスやAMIなど、初めての人には馴染みのない用語が頻出します。
これらはEC2の重要な構成要素であり、以下の記事で詳しく解説しています。

⑥-2 業務サーバの構築

「⑥-1 踏み台サーバの構築」と同様の手順でEC2インスタンスを作成します。(詳細手順は割愛します。)

EC2作成時の以下項目のみ変更してください。
 ・サブネット:プライベートサブネットを選択
 ・セキュリティグループ:業務サーバ用のセキュリティグループを選択
 ・パブリックIPの自動割り当て:無効化

構築手順は以上になります。

動作確認

それでは、実際に踏み台を経由してプライベートサブネット内のEC2に接続してみましょう。
以降では、以下のステップに分けて解説します。

【SSHとは?】

  • 「Secure Shell」の略称で、リモートコンピュータと通信するためのプロトコル。
  • ネットワーク上の通信がすべて暗号化されるため、安全にアクセスできます。
  • ユーザーはターミナルを通じてコマンドを送信し、管理や操作を行います。

事前準備

SSH接続には、SSHクライアントが必要です。
特にこだわりがなければ、「Tera Term」をインストールしましょう。

①クライアントから踏み台サーバにSSHで接続

STEP
EC2のコンソール画面に遷移し、踏み台サーバを選択します。
STEP
「パブリック IPv4 DNS」をメモします。
STEP
Tera Termを起動し、以下項目を入力して「ok」を選択します。
<設定項目>
項目設定値
ホスト先ほどメモした「パブリック IPv4 DNS」
サービスSSH
TCPポート22
上記以外の項目デフォルト値のまま

以下のエラー画面が表示される場合は、接続元のIPアドレスが変わってしまった可能性があります。
セキュリティグループの設定」で、接続許可する「マイIP」を更新してから再接続しましょう。

STEP
「続行」を選択します。
STEP
以下項目を設定して、「ok」を選択します。
<設定項目>
項目設定値
ユーザー名ec2-user
認証方式RDS/DSA/ECDSA/ED25519鍵を使う
秘密鍵EC2作成時に作成したキーペア
上記以外の項目デフォルト値のまま
STEP
以下の画面に遷移したら接続成功です。

②踏み台サーバから業務サーバにSSHで接続

STEP
EC2のコンソール画面に遷移し、業務サーバを選択します。
STEP
「パブリック IPv4 DNS」をメモします。
STEP
秘密鍵を踏み台サーバにアップロードします。

EC2にSSHで接続するには「秘密鍵」が必要なため、Tera Termにドラッグ & ドロップで秘密鍵をアップロードします。

そうすると以下の画面が表示されるので、何も変更せずに「ok」を選択します。

STEP
秘密鍵の権限を変更します。
chmod 400 {アップロードした秘密鍵のファイル名}

上記コマンドを実行しない場合、「Permissions 0644 for ‘{秘密鍵のファイル名}’ are too open.」という警告文とともに、プライベートサブネット内のEC2への接続が失敗します。

これらのアクセス権限を設定しないと、このキーペアを使用してインスタンスに接続できません。

AWS(Amazon EC2 を使用してキーペアを作成する)

chmod 400 {秘密鍵のファイル名}」を実行して、自分以外のユーザーが読み込むことができないように許可設定を変更したうえで、接続を試みてください。

STEP
EC2のコンソール画面から業務サーバを選択した状態で「接続」を選択します。
STEP
「SSHクライアント」タブから、接続コマンド(画面の最下部)をコピーします。
STEP
Tera Termで接続コマンドを実行します。

以下の画面が表示されたら接続完了です。

関連記事

本記事の解説は以上です。
ここからは、より知識を深めたい人向けに関連記事を紹介します。

類似のシステム構成

本記事で紹介した構成については、追加で「プライベートサブネット内のリソースが、インターネットへ通信できるようにしたい」という要件が出てくるケースが多々あります。

上記要件を満足する構成・構築手順を解説しているので、気になる方はぜひご覧ください。

解説するシステム構成

本記事で登場したAWSサービス

本記事では「EC2」や「VPC」といったAWSサービスが登場しました。
これらのサービスについては、構成要素や料金等について詳しく解説しているので、もっとよく知りたい方は以下の記事をご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次