経緯
aws で、最近 iam role の付け替えが出来るようになりました。
早速 windows の iam role を起動したまま切り替えたのですが、その際に ssm が connection timeout になってしまいました。
Restart-Service Ec2Config で Online になるのですが、対象サーバがそれなりにあったので、もう少し楽にできないかと思い、 powershell を使うことにしました。
方法
winrm を使用すれば、 powershell でリモート接続しコマンドを叩ける。
ざっくりと二通りあったのでメモしておきます。
wirm でリモート接続するためには、 Enable-PSRemoting で有効化する必要があるので、詳しくは参考 URL を見ていただければと。。。
方法其ノ一
セッションをはる
New-PSSession -ComputerName
※ Public DNS , Private DNS どちらでも行けました。検証済み
下記でリモート接続しているサーバに対してコマンドを叩く
Invoke-Command -Session $sess -ScriptBlock {ls;}
添付画像のように、変数でうけるのがベターっぽいです。
補足
New-PSSession を使用すると、サインアウトしても session は残るので、 Remove-Session してあげましょう。
方法其ノ弐
New-PSSession だけではなく、 Enter-PSSession でも出来るようです。
Enter-PSSession -ComputerName <Public DNS or Private DNS>
ほぼ見えてませんが、下記のようになってます。
多段sshしている気分になります
[Public DNS]: PS C:¥Users¥hoge¥Documents>
まとめ
RDP したくないから、ssm使ってるのになんでやねん!ってなりました。
ただ、一つ知見が増えて良かったです。
参考