当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

AWS SSM接続でEC2へ安全に接続

今回はssm agentを使ってWindowsクライアントとaws consoleからの接続方法を案内する

WindowsからPowerSHell sshでセッションマネージャ接続(ssm)経由でEC2接続。通常のSSH接続より侵入される可能性が低いです。特に仮想ネットワークVPCでPrivate上にあるネットワーク上にサーバ群へアクセスするなら多段接続なしで使う意味があります。

aws cliが導入済みでaws configureで任意のIAMユーザがあることが前提です。無ければ新規ユーザを作成しておきましょう。

EC2がAmazon Linux2 の場合は下記のコマンドでssm-agentをインストールする必要があります。

次にSSHへ接続するSSM-Agent用のIAMユーザを作成しましょう。ユーザは何でもOKです。必要なのはユーザもしくはユーザが所属するグループにアクセス権限を付与することです。具体的には次の2つです。

付与するべき権限
  • ★AmazonSSMFullAccess
  • ★AmazonSSMManagedInstanceCore
power shell側でSSH接続の簡略化設定を行う

Proxy経由で接続しSSM接続を行います。これによりSSMの先にあるEC2へSSH接続を実現します。

power shellからSSH接続

予めこれをローカルPCへダウンロードしてインストールしてください。
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe

PowerShellから接続します。configのHOST名で簡単接続ができます。もし失敗するようならpowershellを一度起動し直して実施すると良いです

ローカルPCにawsのユーザcredential情報が設定されていない方はaws configureでIAMユーザのアクセスキーを設定してください。設定されていないとエラーになります。

EC2への接続をaws consoleのEC2インスタンス一覧からSSM接続をブラウザーベースで行う。

ブラウザーベースの場合はEC2インスタンスへIAMロールから例の2つ権限を付与します。ここはPower SHellのssh経由と同じ考え方です。異なるのはユーザではなくてカスタムロールポリシーを作成してそのポリシーを該当インスタンスへアタッチします。この接続で実施するにしても結局EC2にamazon-ssm-agentのパッケージは導入して起動しておく必要はあります。