【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 には、以下のような問題点があるのも事実…
- SSH キーの数が増えすぎて、管理が大変
- 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 はおすすめですよ!
こちらの記事もオススメ!
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
2020.07.27IT・コンピューターの歴史特集IT・コンピューターの歴史をまとめていきたいと思います!弊社ブログにある記事のみで構成しているため、まだ「未完成状態」...
2020.07.27IT偉人の誕生日特集現在のITがあるのは、「IT偉人」のおかげ!そこで今回は、IT偉人の誕生日をまとめていくことで、時代の流れを追えるよう...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪、名古屋の4拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit