「Amazon EC2」へ、踏み台サーバから「SSHポートフォワード」経由で接続するAWSチートシート

「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「Amazon EC2」へ、踏み台サーバから「SSHポートフォワード」経由で接続する方法を紹介する。

» 2020年12月01日 05時00分 公開
[天野盛介東京ITスクール]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。本稿では、踏み台サーバを利用して「Amazon EC2」のインスタンスへ接続する方法として、「Tera Term」を利用した「SSHポートフォワード」を紹介します。

 踏み台サーバを利用することで、プライベートサブネット内に設置したEC2インスタンスを、インターネットに公開することなく、アクセス可能にします(図1)。

図1 AWSのプライベートサブネット内に設置したEC2インスタンスにアクセス可能

 この方法を採用するメリットは、踏み台サーバへ通信する端末のIPアドレスを制限することによるセキュアなサーバ管理です。さらに、アクセスが必要なときだけ踏み台サーバを起動するように運用すれば、EC2インスタンスへアクセスできる時間帯を限定することができ、外部からの侵入リスクを大幅に抑制できます。

 また、社内から「AWS Direct Connect」やインターネットVPNで直接接続する環境を構築している場合など、一時的にプライベートサブネット内のEC2へアクセスしたい場合にも有効な方法です。

SSHポートフォワードとは

 手順を紹介する前に、SSHポートフォワードの概要を押さえておきます。

 SSHポートフォワードとは、SSH(Secure Shell)プロトコルによって確立した通信経路を利用して、ローカルコンピュータの特定のポートに送られてきたデータを任意のリモートコンピュータのポートへ転送する仕組みのことです(図2)。

図2 SSHポートフォワードの概要

 このデータ転送には、暗号化されたSSH通信が利用されるため、通信の安全性を高めることができます。

EC2インスタンスへのポートフォワード接続手順

 踏み台サーバにSSHポートフォワードを設定してEC2インスタンスへ接続する方法を見ていきましょう。

1.セキュリティグループの設定

 まずは、踏み台サーバとEC2インスタンスでそれぞれ必要なセキュリティグループを設定します。踏み台サーバのセキュリティグループは、ここでは自分が操作しているPCのIPアドレスを「マイIP」で設定します(図3)。

図3 「マイIP」を選択

 ターゲットのEC2インスタンスにアタッチするセキュリティグループには、踏み台サーバに設定されているIDを設定します(図4)。

図4 セキュリティグループのIDを設定

2.ポートフォワードの設定

 続いてTera Termを利用してEC2の踏み台サーバ(Linux)へSSH接続します(図5)。

図5 Tera TermでAmazon Linux 2に接続

 踏み台サーバへ接続できたら、Tera Termのメニューの[設定]から[SSH転送]を選択します(図6)。

図6 メニューの[設定]から[SSH転送]を選択

 [追加]をクリックして、設定を追加します(図7)。

図7 [追加]をクリック

 ポートフォワードに必要な情報を記載し、[OK]をクリックします(図8)。

図8 ポートフォワードに必要な情報を記載して[OK]をクリック

 [ポート]は、アクセスしたいEC2インスタンスのOSがWindowsの場合はリモートデスクトップ接続に利用する「3389」を、Linuxの場合はSSH接続に利用する「22」を指定します。

 [ローカルのポート]は、利用していないポートであれば自由に指定可能ですが「13389」「10022」などを指定すると分かりやすいと思います。なおWindowsの場合、利用していないポートは、コマンドプロンプトから「netstat」を実行することで確認できます。

項目 入力内容
ローカルのポート ローカルPCで使用していない任意のポート
リモート側ホスト アクセスしたいEC2インスタンスのプライベートIPアドレス
ポート アクセスしたいEC2インスタンスのポート

 すると、ポートフォワードが設定されていることを確認できます。[OK]をクリックして設定を完了します(図9)。

図9 設定を確認して完了

3.EC2インスタンスへの接続

 接続するEC2インスタンスのOSがWindowsの場合は、「リモート デスクトップ接続」アプリを起動し、「127.0.0.1:<設定した任意のポート>」を入力して[接続]をクリックします(図10)。

図10 Windowsの場合はリモート デスクトップ接続アプリで接続

 接続するEC2インスタンスのOSがLinuxの場合は、Tera Termを新しく起動して[ホスト]に「127.0.0.1」を入力し、[TCPポート]に、設定したポートを指定して[OK]をクリックします(図11)。

図11 Linuxの場合はTera Termで接続

 ここで指定している「127.0.0.1」は自分自身を表すループバックアドレスで、これを指定することによってローカルPCの任意のポートに対して通信を行い、その内容をポートフォワードによってEC2インスタンスへ転送しています。

 設定に誤りがなければ、以上の手順で踏み台サーバを経由してEC2インスタンスへ接続できます。

終わりに

 本稿では、踏み台サーバを利用してEC2インスタンスへSSHポートフォワード接続する方法を紹介しました。

 今回は、筆者の所属会社が運営する東京ITスクールのAWS研修でも、受講生の皆さんからご質問いただくことが多い内容でした。セキュアなサーバ管理に重要な方法なので、ぜひご活用ください。

筆者紹介

天野盛介(あまのせいすけ)

株式会社システムシェアード

マルチクラウドへの閉域接続サービスのサービスマネジメント業務に従事した後、AWS案件での基盤構築支援などを担当。社内では、検証・学習用にAWSを完全定額で利用できるサービス「安心サンドボックス」の立ち上げや東京ITスクールのAWS研修におけるコンテンツ開発、Java・AWS研修の講師などを歴任。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。