見出し画像

EC2へのSSH接続、鍵ファイルなくても、「セッションマネージャー」でログインできて便利!


Linuxサーバへ遠隔からセキュアに接続するには「SSH(セキュアシェル)」というプロトコルを使いますよね。
(ちなみにWindowsサーバへは、リモートデスクトップというプロトコルを使いますよね。https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html
Tera Termというソフトウェアを使い、
SSHで「鍵ペア」を生成し、
鍵ペアの公開鍵をサーバに登録し、秘密鍵をTera Term接続時に選択することで、Linuxサーバへ接続することができます。

そのサーバが、AWS上の仮想サーバ(サービス名はEC2)になった場合にSSH接続する時も、上記のオンプレミスのサーバへの接続と同じやり方で接続することができます。
初めてこれを操作した時、「お、EC2もオンプレと同じなんだな」としっくりはきました。

ただ、これを会社の複数のメンバーで運用する時、秘密鍵の管理が大変だろうなと思いました。(どこかで無くしちゃいそう。。)

そんな時に便利な機能が、

セッションマネージャー!

なのです。

セッションマネージャーを使うと、ブラウザのAWSマネジメントコンソールから、対象のEC2インスタンスに鍵認証の設定無しで、セッションマネージャーで「接続」ボタンを押すだけでアクセスすることができます!

そのためには、以下の事前準備がちょっと必要にはなります。初見ではちょっと難しそうな内容に見えますが、AWS SAAを勉強していくと分かるようになりますよ。
・EC2インスタンスにSSMエージェントをインストールする
・EC2インスタンス用のIAMロールを作成する
・EC2インスタンスに作成したIAMロールをアタッチする

私は残念なことに、初めてAWS運用業務に携わった時、このセッションマネージャーを使ってEC2へ接続をしていたのですが、これがSSHで接続しているということは知りませんでした!セッションマネージャーって何だろう?まあここから接続できるのね、くらいの認識でした。セッションマネージャーのおかげで、セキュアなSSH接続が秘密鍵なしで実現できているとはつゆ知らず。。

ありがとうセッションマネージャー!


実務でも使いますし、SAAでも出てきますので、是非このセッションマネージャー、覚えておくことをオススメします。


<SAA合格に向けて補足>

(1)セッションマネージャーを使用した接続方法こちら↓(クラスメソッド社さんの記事です)。AWSアカウントを作成し、無料枠内で一度やってみるのがいいと思います。

(2)ちなみにセッションマネージャーは「AWS Systems Manager」の1機能です。このSystems Managerは機能がたくさんあるのですが、代表的は機能は以下の5つです。
1. Session Manager (本記事で扱った)
 ・SSHやRDPのポート開放なしでサーバーにアクセス可能
2. Parameter Store
 ・設定パラメータを集中管理
3. Run Command
 ・サーバーに入らなくてもコマンド実行可能
4. Patch Manager
 ・OSとアプリケーションの両方にパッチを適用することが可能
5. Maintenance Windows
 
・ソフトウェアやパッチのインストールなど、ノードに対して破壊的になり得るアクションを実行するスケジュールを定義可能
この辺りはSAA試験に出てきますよ。


この記事が気に入ったらサポートをしてみませんか?