LoginSignup
5
3

More than 5 years have passed since last update.

pecoってAWS System Manager Session ManagerでEC2にアクセスする

Last updated at Posted at 2018-09-15

SSHを使わずEC2にアクセスできることで話題になった(?)Session Manager

便利なんですが、いちいちコマンド打つのも面倒なので、pecoってみました。
即席なのでアドバイス頂けると歓喜します。

それでは行ってみましょう。

必要なもの

  • peco
  • aws-cli v1.16.12
  • aws ssm agent v2.3.50.0

こちらを参考にaws-cli, ssm agentをインストール/アップデートするといいと思います。
AWS Systems Manager Session Manager for Shell AccessでMacからLinux EC2インスタンスに端末でアクセスする

本題のssm-peco

  1. EC2のTag:Nameをpecoで一覧に出して選択
  2. 選択したTag:NameからInstance Idを取得
  3. ssm start-session
ssm-peco.sh
#!/bin/bash

# Tags.Name取得
export NAME_SSM2EC2=$(aws ec2 describe-instances \
    --query "Reservations[].Instances[].Tags[?contains(Key, \`Name\`)].Value[]" | \
    sed -e 's/[]" ,\[]//g' | \
    sed -e "/^$/d" | peco)

# instance-id取得
export ID_SSM2EC2=$(aws ec2 describe-instances --query "Reservations[].Instances[?contains(Tags[].Value, \`${NAME_SSM2EC2}\`)].InstanceId[]" | sed -e 's/[]" ,\[]//g' | sed -e '/^$/d')
aws ssm start-session --target ${ID_SSM2EC2}

使うとこんな感じ

  1. ./ssm-peco.shを実行
    image.png

  2. 接続先を指定してEnter
    image.png

さいごに

オンプレの踏み台使っているようなところはどういう対策をするのでしょうか。

CloudTrailで証跡取れるから要らなくなるのかな?
image.png

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3