awsのSSMでリモートワーク時のセキュリティグループの更新をしなくてもよくなりそう

アフターアドベント4日目

今までawsのEC2にSSHでログインするときに、IP制限はしておこう、という事で、セキュリティグループで22番だけ、自分のMacの繋がるグローバルIPを登録して繋ぐ、という事をやっていたのですが、どうもSSMという仕組みを使う事で、そもそもセキュリティグループで22番を開けなくても良いという話です。

準備として、インスタンスにはSSM Agentが入っている必要があります。

SSMの仕組みはawsクライアントで認証を通して、その情報をベースにクライアントからawsコマンドをプロキシしてSSH接続が出来るよ、という仕組みっぽいです。

接続にはEC2のインスタンスのIDが必要で、それとともにEC2に登録したSSH Keyを使ってログインします。

今回はEC2サーバ側の設定は「Linux 用 EC2 インスタンスに手動で SSM Agent をインストールする」を参考にしていただいて、ここではSSM Agentが入ったEC2へ接続するための簡単な設定を手順としてあげます。

手順(Macの場合)

EC2を起動する

Mac上に設定
~/.ssh/configファイルにエントリーを追加

Host remote-dev
  ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  HostName [ここにインスタンスのID]
  User ubuntu
  Port 22
  ForwardAgent    yes
  IdentitiesOnly  no
  StrictHostKeyChecking no
  IdentityFile [ここにSSH Keyファイルのパス]

SSH接続

ssh remote-dev

これで接続が可能になります。

最後に、awsのセキュリティグループから22番を削除して試して、接続出来ていれば完了となります。


この記事が気に入ったらサポートをしてみませんか?