パブリックなIPアドレスを経由してEC2インスタンスへSSH接続するポイントをまとめてみた

パブリックなIPアドレスを経由してEC2インスタンスへSSH接続するポイントをまとめてみた

パブリックなIPアドレスを経由して、EC2インスタンスにSSH接続してみます。
Clock Icon2023.08.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは!おのやんです。

みなさん、EC2インスタンスにSSH接続したいと思ったことはありませんか?私は何度かあります。

EC2インスタンスの一部のAMIには、SSMエージェントがデフォルトでインストールされています。そのためSSH接続を行わずとも、AWSのマネジメントコンソール上からセッションマネージャー経由でコンソールにアクセスできます。

しかし、SSMエージェントがインストールされていないAMIでEC2インスタンスを立てた場合は、セッションマネージャーは使えません。コンソールへのアクセスやSSMエージェントのインストールのために、EC2インスタンスにアクセスする必要があります。

EC2インスタンスにSSH接続するためには、いくつか確認するべきポイントがあります。今回はこれらのポイントを整理してみましょう。

前提条件

今回構築したEC2インスタンスのOSはRHEL 8.5 x86_6です。

また今回のEC2インスタンスは、構築の関係上従来のSSHクライアントを利用する必要があります。加えてSSH接続する拠点側の都合で、SSH接続先は特定EIPのみ許可されています。そのため、本記事ではElastic IP アドレスを利用しています

一時的なSSH接続なら、動的付与のパブリックIPアドレスでも問題ありません。今回は紹介の都合上、Elastic IP アドレスを取り上げます。

ポイント1: パブリックなIPアドレスが割り当てられているか

最初に、EC2インスタンスでパブリックなIPアドレスが有効になっているかを確認します。

前述のとおり、EC2インスタンスにアタッチされているパブリックなIPアドレスが必要であるため、今回はElastic IP アドレスを使用します。

EC2のElastic IP アドレスの画面から、「Elastic IP アドレスを割り当てる」を選択します。

今回は、デフォルトの設定のまま割り当てに進みましょう。

作成したElastic IP アドレスを選択して、「アクション」から「Elastic IP アドレスの関連付け」を選択します。

こちらで、接続したいEC2インスタンスを選択して、Elastic IP アドレスを関連付けましょう。

ポイント2: VPCにインターネットゲートウェイがアタッチされているか

EC2インスタンスにSSH接続するということは、インターネット経由でAWS環境にアクセスするということです。

そのため、EC2インスタンスにSSH接続するには、EC2インスタンスが設置されているVPCにインターネットゲートウェイをアタッチする必要があります。

VPCコンソールからインターネットゲートウェイの画面に移動し、「インターネットゲートウェイの作成」を選択します。

今回はtest-igwという名前をつけて作成してみましょう。

作成できたら、VPCにアタッチしましょう。

EC2インスタンスが動いているVPCを選択して「ゲートウェイのアタッチ」を選択したら、アタッチ完了です。

ポイント3: インターネットゲートウェイがルートテーブルに設定されているか

さきほど、VPCにインターネットゲートウェイをアタッチしました。しかし、これだけではEC2はインターネット接続できません。

VPCに関連づけられているルートテーブルにて、0.0.0.0/0宛ての通信をインターネットゲートウェイに向ける必要があります。

さきほどインターネットゲートウェイをVPCにアタッチしましたので、ルートテーブルのターゲットとして選択できます。

このように、ルートが選択できていればOKです。

ポイント4: セキュリティグループのインバウンドルールに接続元のIPアドレスが追加できているか

最後のポイントとして、EC2インスタンスのセキュリティグループを確認しましょう。

ここで接続元となる自分のPCのIPアドレスを指定します。

プロトコルは「カスタムTCP」、ポート番号は「22」、ソースは「マイIP」で大丈夫です。

SSH接続やってみた

それではSSH接続をやってみましょう。なお、今回はEC2インスタンス作成時にキーペアを作成してあるものとします。

EC2インスタンスの詳細画面に移ると、「接続」のボタンがありますので、こちらをクリックしましょう。

すると、SSH接続のコマンドが表示されると思います。

手元のPCなどのSSHクラウアント上で、SSHのシークレットキーがあるディレクトリまで移動します。そして、こちらのコマンドを実行します。

実際にSSH接続でコンソールに入ることができました!

さいごに

セッションマネージャーの登場により、EC2インスタンスへのSSH接続の機会は減ってきました。しかし、セッションマネージャーのエージェントのインストールなど、要所要所でSSH接続が必要な場合もあります。

SSH接続には他にもいろいろなやり方があるため、状況に応じて複数の接続方法を整理しておくといいですね。では!

 

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.