AWS SSMセッションマネージャーでLinuxにプライベートコンソール接続

プライベートネットワーク環境に、配置されたAWS EC2(Linux)に、
パブリックなグローバルIPアドレスなしに、リモート接続する方法が、

それがSession Managerです!

AWSはどんどん便利になりますよね。(進化が早い)

環境・前提条件

  • 2021/7時点のAWSで、
  • Amazon Linux2

で作成された記事です。

セッションマネージャーでLinuxに接続する手順

こんな感じで、

AWSコンソールのブラウザからプライベートネットワークにあるLinuxにコンソール接続

できるようになります。

Session Manager を設定する - AWS Systems Manager

1,AWS EC2 Linux にSSMエージェントのインストール

Amazon Linuxの場合、デフォルトでSSMエージェントがインストールされています。

これはAmazon Linuxを利用するメリットですね!

※ Amazon Linux以外のRedhat等にはデフォルトではSSMエージェントがインストールされていません。

EC2 インスタンスに SSM エージェントを手動でインストールする (Linux 用) - AWS Systems Manager

2,AWS EC2 LinuxにIAMロール(AmazonSSMManagedInstanceCore)を割り当てる

インスタンス一覧から、接続したいLinux EC2を選び、「アクション」-「セキュリティ」-「IAMロール変更」で
EC2にAmazonSSMManagedInstanceCoreロールを割り当てたかったのですが、AmazonSSMManagedInstanceCoreが見当たらなかったので、代わりのロール

AmazonEC2RoleforSSM

を割り当てます。

新ポリシー AmazonSSMManagedInstanceCore がサポートされました | DevelopersIO

3,プライベートネットワークにNatゲートウェイもしくはVPCエンドポイント用意

AWS EC2 LinuxはSSMと通信出来ないとならないため、以下のどちらかを用意する必要があります。

  • AWS EC2 LinuxがNatゲートウェイ等でインターネットアクセス出来るようにするか、
  • SSMエンドポイントを作成する。

SSMへ接続するためのエンドポイントは以下です。

  • com.amazonaws.ap-northeast-1.ssm
  • com.amazonaws.ap-northeast-1.ssmmessages
  • com.amazonaws.ap-northeast-1.ec2messages

セッションマネージャーでAWS EC2 Linuxにコンソール接続

インスタンス一覧から、接続したいLinux インスタンスを選択し、
「接続」ボタンを押します。

「インスタンスに接続」で「セッションマネージャー」タブを選び
「接続」ボタンを押します。

これでAWSコンソールからセッションマネージャー経由で、AWS EC2 Linuxにコンソール接続できました。
いつのまにか、AWS EC2 Linux内にssm-userも作成されていました。

セッションマネージャーでAWS EC2 Linuxに接続で興味深いのは、ターミナルにログインしているユーザーがいないことですね!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です