サイトアイコン puti se blog

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

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

それがSession Managerです!

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

環境・前提条件

で作成された記事です。

セッションマネージャーで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と通信出来ないとならないため、以下のどちらかを用意する必要があります。

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

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

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

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

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

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

モバイルバージョンを終了