備忘録

Windows,Linux,Mac,AWS,VMware,ネットワークなどの検証

セッションマネージャーを使ってEC2にブラウザからアクセスする(インターネットに接続できるインスタンスの場合)

AWSのEC2で、SSH用にポートを開けなくてもEC2インスタンスにアクセスできると聞いたので試してみます。

 

できたらうれしいこと

  • EC2インスタンスのセキュリティグループに、SSH接続のためのTCP22番ポートを開放しなくてもよい。
  • インターネットに接続していないEC2にも、踏み台サーバを使用せずに接続できる。

※踏み台サーバとは、インターネットからアクセスできるサーバにログインし、そこから他のサーバに接続する、といった使い方をするサーバのこと。

前提条件&やること

  • EC2インスタンスに、SSMAgentをインストールする。
    (今回はインストール済みのAmazon Linuxを使用します)
  • IAMポリシーを作成して、EC2インスタンスに割り当てる →これをします
  • EC2インスタンスはインターネットに接続しているか、VPCエンドポイントに接続できること
    (今回はインターネットに接続できる環境で試します)

参照:ステップ 1: Session Manager の前提条件を満たす

IAMロールの作成

AWS管理ポリシー「AmazonSSMManagedInstanceCore」を含むIAMロールを作成して、EC2インスタンスにアタッチします。

 

IAM > ロール > ロールを作成 を開きます。

f:id:tksfj17:20220313160306j:plain

 

信頼されたエンティティタイプ:AWSのサービス
ユースケース:EC2 を選択して「次へ」

f:id:tksfj17:20220313160355j:plain

 

「許可ポリシー」の検索窓に「AmazonSSM」まで入力して検索。
「AmazonSSMManagedInstanceCore」にチェックを入れて「次へ」

f:id:tksfj17:20220313160423j:plain

f:id:tksfj17:20220313160506j:plain

 

「ロール名」に、ここでは「AmazonSSMManagedInstanceCore-IAMrole」と設定。
「ロールを作成」

f:id:tksfj17:20220313160942j:plain

f:id:tksfj17:20220313162129j:plain

 

ロールが作成されました。

f:id:tksfj17:20220313161031j:plain

 

EC2の画面を開きます。

f:id:tksfj17:20220313161058j:plain

 

接続したいEC2インスタンスを選択し、 アクション > セキュリティ > IAMロールを変更 を選択。

f:id:tksfj17:20220313161123j:plain

 

IAMロール 欄に、先ほど作成したロール「AmazonSSMManagedInstanceCore-IAMrole」を選択。
「保存」を押します。

f:id:tksfj17:20220313161155j:plain

f:id:tksfj17:20220313161230j:plain

 

接続したいインスタンスを選択して「接続」ボタンを押します。

f:id:tksfj17:20220313161317j:plain

 

「セッションマネージャー」タブを選択して「接続」ボタンを押します。
※設定はあっているのにエラーが出た場合、IAMロールをインスタンスにアタッチしてから、10分以上待つ必要があるようです。

f:id:tksfj17:20220313161352j:plain

 

EC2のコンソールにつながります。
このとき、ユーザーはssm-user としてログインしているので、
sh-4.2$ sudo su ec2-user
として、使い慣れたec2-userユーザーでログインしなおしてもよいでしょう。

f:id:tksfj17:20220313161450j:plain

f:id:tksfj17:20220313161500j:plain

 

また、接続できるようになると「AWS Systems Manager」の 「フリートマネージャー」にも表示されます。
※「さらば踏み台サーバ。Session Managerを使ってEC2に直接SSHする

f:id:tksfj17:20220313161653j:plain

f:id:tksfj17:20220313161701j:plain

 

この、ノードアクション > Connect > ターミナルセッションを開始する からもEC2インスタンスに接続できます。

f:id:tksfj17:20220313161719j:plain

以上です。