• トップ
  • ブログ一覧
  • 【AWSを利用するならマスト】SSMを導入すべき2つの理由
  • 【AWSを利用するならマスト】SSMを導入すべき2つの理由

    メディアチームメディアチーム
    2021.09.30

    エンジニアになろう!

    【AWSを利用するならマスト】SSMを導入すべき2つの理由

    AWS Session Manager(SSM)のメリットは?

    最近流行りのクラウドサービス。

    なかでも、通販大手としておなじみの Amazon が提供する「AWS(Amazon Web Service)」は業界トップシェアを誇っています。

    AWS には様々な機能がありますが、今回取り上げるのは、セッション管理が行えるマネージドサービス「AWS Session Manager(SSM)」です。

    AWS を利用するならぜひ導入しておきたい、SSM のメリットについて解説していきます。

    メリット①踏み台サーバが不要になる

    ネットワーク構築は、セキュリティの対策のため、本命のサーバとは別に踏み台サーバを用意することがほとんどです。

    本命サーバには、踏み台サーバからの SSH や RDP からしかアクセスできないようにしておきます。

    例えるなら、踏み台サーバは「窓口」、本命サーバは「VIP ルーム」といったところでしょうか。

    「窓口」までいくと、「VIP ルーム」までは特定のルール(=プロトコル)で行くよう指示されます。

    「VIPルーム」に行くには、必ず「窓口」を経由し、決められたルールに従わなければなりません。

    SSM を導入すれば、この「窓口」が不要となるのです。

    AWS における踏み台サーバとは

    クラウドサービスといえど、ネットワークの管理は必須。

    AWS におけるネットワーク構築でも、踏み台サーバを設置することが一般的です。

    AWS には「パブリックサブネット」「プライベートサブネット」という種類があり、それぞれ別個にネットワーク構築を行います。

    パブリックサブネットインターネットからアクセス可能な EC2インスタンスを設置
    プライベートサブネットインターネットから直接接続できない EC2インスタンスを設置

    パブリックサブネットはいわば AWS における仮想マシンで、こちらが踏み台になります。

    一方、プライベートサブネットには本命の EC2 インスタンスを設置することで、本命サーバの安全性を高めるというわけです。

    踏み台サーバなしで安全に直接アクセスできる

    通常、プライベートサブネットに設置されている EC2インスタンスに、Amazon EC2 コンソールが直接アクセスすることはできません。

    パブリックサブネットにある EC2インスタンス(踏み台サーバなど)を経由して、接続する必要があります。

    そこで、Amazon EC2 コンソールに SSM エージェントを導入し、「AWS IAM」の設定を行うのです。

    すると、直接かつ安全に、プライベートサブネットの EC2インスタンスに対して接続できるようになります。

    踏み台サーバなしで、本命サーバへの安全なアクセスができるのは、非常に画期的といえるでしょう。

    メリット②SSH の管理が不要になる

    さて、踏み台サーバが不要となると、「EC2 コンソールと 本命 EC2インスタンスはどうやって接続しているのか?本当に安全なのか?」と気になる人もいると思います。

    なんらかのサーバにアクセスする場合、安全な接続方法としては SSH を利用するのが鉄板です。

    しかし、SSH には、以下のような問題点があるのも事実…

    1. SSH キーの数が増えすぎて、管理が大変
    2. SSH の接続を可能にするには、サーバ側の穴あけ作業が必要

    こうした問題を、SSM はどのように解消しているのか、見てみましょう!

    トンネリングで SSH 管理が不要になる

    SSM では、EC2コンソールと EC2 インスタンスを「トンネリング」で接続しています。

    具体的には、EC2コンソールに「AWS CLI」という機能をインストールし、以下のコマンドを実行します。

    1aws ssm start-session \
    2    --target instance-id

    あらかじめ AWS CLI や AWS IAM で適切な設定を済ませておかなければなりませんが、コマンド自体はこれだけ。

    驚くほど簡単に、プライベートサブネットにある EC2インスタンスにアクセスできるのです。

    インバウンドポートのオープンが不要になる

    また、SSM を使えば、EC2インスタンスの穴あけ作業(インバウンドポートのオープン)も不要です。

    サーバ側に不要なポートの穴あけをしたばかりに、そのポートが攻撃されてしまった…なんてことは珍しくありません。

    サーバの穴あけは、必要最低限にしておくことがベストなのです。

    SSM でのトンネリングが可能とはいえ、実際は、SSH(SCP)を使った方が便利なケースも多いです。

    SSM では、トンネリングを行った状態であれば、EC2インスタンス側に SSH の穴あけ作業なしで、接続することができます。

    具体的には、コンソール側の ~/.ssh/config  に、以下の設定を行います。

    1# SSH over Session Manager
    2host i-* mi-*
    3    ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

    ※SSM のコマンドを実行後に、SSH接続することも可能です。

    上記設定を行うことで、EC2コンソールから EC2インスタンスに SSH 接続する場合、SSM のセッションを貼った状態で SSH 接続ができるようになります。

    穴あけ作業をしていないのに、SSH 接続できるのは、少し不思議な感じがするかもしれません。

    一度コンソールとインスタンス間で SSM のトンネルがつながりさえすれば、そのトンネルの中は自由に行き来できるイメージです。

    サーバのポートの穴あけ作業が不要というのは、セキュリティの観点からもうれしいですね。

    さいごに

    今回は、AWS で SSM を導入するメリットを解説しました。

    もちろん、SSM なしで AWS ネットワークを構築することも可能です。

    しかし、SSM を利用することで、セキュリティ的な安全度は飛躍的に高まることが期待されます。

    もし、AWS を利用したシステム構築・ネットワーク構築を検討しているのなら、SSM の導入はマストだと思います。

    不正アクセスや情報漏洩が騒がれている昨今、安全が高まる SSM はおすすめですよ!

    こちらの記事もオススメ!

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
    featureImg2020.07.27IT・コンピューターの歴史特集IT・コンピューターの歴史をまとめていきたいと思います!弊社ブログにある記事のみで構成しているため、まだ「未完成状態」...
    featureImg2020.07.27IT偉人の誕生日特集現在のITがあるのは、「IT偉人」のおかげ!そこで今回は、IT偉人の誕生日をまとめていくことで、時代の流れを追えるよう...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    メディアチーム
    メディアチーム
    Show more...

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background