AWS SSMを使ってEC2に接続してみた

この記事を書いたチーム:chocochip
AWS SSMを使ってEC2に接続してみた

今回はAWS SSM(SystemsMnager)のSession Managerを使ってAWSコンソール上でEC2インスタンスに接続してみたいと思います。 

今回はもっとも簡単な方法でパブリックサブネット上のEC2インスタンスに接続を行いますが、Session Managerを使う事により、EC2インスタンスに接続しているユーザーの確認や接続ログをS3またはCloudWacth等に配信して確認する事もできます。

また、KMS等を使う事により、セキュリティの向上やVPCエンドポイントを使ってプライベートサブネット上のEC2インスタンスにも接続する事ができます。 

 

手順の流れ 

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

  1. EC2インスタンスをマネージドインスタンス化する 
  2. EC2のコンソール画面より接続してみる 
  3. 接続情報をSystemsMnagerのSession Managerのコンソール画面より確認してみる 

 

手順① EC2インスタンスをマネージドインスタンス化する 

IAMロールで今回の対象のEC2にアタッチするIAMロールを作成します。 

今回はAWSのマネージドIAMポリシーである「AmazonSSMManagedInstanceCore」をアタッチします。 

作成したSSM-SessionRoleを対象のEC2SSM-SessionEC2」にアタッチします。 

これで対象のEC2インスタンスをSSMのマネージドインスタンス化する事が出来ました。 

 

手順② EC2のコンソール画面より接続してみる

対象のEC2にコンソール画面から移動します。移動後に詳細画面内の「接続」を選択します。 

「接続」を選択すると、インスタンスに接続画面に移動するので、「セッションマネージャー」を選択します。 

 

セッションマネージャーでの接続画面に移動すると下部にある「接続」がオレンジ色で表示されているので選択します。 

※マネージドインスタンス化していない場合は「接続」の部分がオレンジ色では無く白色で選択出来ない状態で表示されます。 

 接続ボタンを選択するとコマンドライン画面に遷移してEC2インスタンスに接続する事が出来ました。 

 

手順③ 接続情報をSystemsMnagerのSession Managerのコンソール画面より確認してみる 

次はSystemsMnagerのセッションマネージャーのコンソール画面より接続履歴やセッション中の情報を確認してみたいと思います。 

SystemsMnagerのサービスを選択して左側メニューバーより「セッションマネージャー」を選択します。 

セッションマネージャーを選択するとセッション情報が画像のように表示されます。 

セッション履歴を選択すると過去に誰が接続したかなどの情報も確認できます。 

いつからいつまで接続したかの接続情報や誰が接続したのか等の情報も確認できます。 

 またこちらのコンソールからも「セッションの開始」を選択する事でこちらからもEC2に接続する事も出来ます。 

セッションの開始画面では接続した理由などの情報を追加する事も出来ます。 

そうする事により、ログに出力した際も管理しやすくなると思います。 

 

まとめ 

今回は簡単ではありますが、セッションマネージャーを使ってパブリックサブネット内のEC2に接続してみました。 

セッションマネージャーを活用する事でEC2へのSSHアクセスの管理やログを出力する事が出来るようになります。 

また今回はパブリックサブネットでしたが、エンドポイントを作成してプライベートサブネットに踏み台サーバ無しで接続したり、オンプレミス環境上に対してもSSMエージェントのインストールなどの設定する必要がありますが、セッションマネージャーを使って接続を管理する事が出来ます。 

通信も最低限の許可のみで済むので、セキュリティの観点からもとても便利ですね。 

是非、一度試してみてください。 

 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス