【sshec2】EC2 への SSH 接続の管理を楽にするツールを公開しました

こんにちは、久しぶりのブログエントリです。
会社でもブログ書いてて、最近はほとんどそちらに書いてました。今回は会社のブログに書くような内容じゃなかったのでこちらのブログにエントリします。

私はインフラ屋で仕事ではほとんどプログラムを書かない趣味プログラマーですが、周りの刺激を受けて OSS 開発したくなりました。

主な目的は、、

  • プログラムを書くこと
  • プログラムを運用すること
  • CI/CD を取り入れたナウい自動化の仕組みを導入・運用すること

です。

欲しい成果物があったわけではなく、上記目的を体験するために開発しました。

本日は成果物の報告ということでエントリします。

sshec2

ec2ssh を Google 検索すると、色々なツールが出てきます。cookpad の方や、海外の方のリポジトリが多く引っかかります。

私が中でも「これいいな」と思ったのは下記リポジトリ内にある ec2ssh です。

GitHub - tilfin/homebrew-aws: AWS commands easy to manipulate on terminal

コマンド実行することで EC2 インスタンスの一覧を取得し、対象のインスタンスを選択することで SSH ログインできるというものです。すごくいいです。ただ私の業務上、色々な環境に、色々な方法でログインするケースがあり、マッチしないケースが多々ありました。そこでより柔軟なオプションで利用できる sshec2 を開発しました。

機能

基本機能は上記 ec2ssh と同じで、EC2 インスタンスを一覧表示し、インスタンスを選択することで SSH ログインできます。

加えて、柔軟なオプションが多くあります。

  • SSH ログインユーザー名の指定
    • デフォルトは ec2-user
  • SSH ログインユーザーの秘密鍵の指定
    • デフォルトは ~/.ssh/ 配下の
  • 踏み台サーバを介した多段 SSH 接続
    • 踏み台サーバも個別のユーザー名、秘密鍵を指定可能
  • ソフトウェア VPN 接続対応(対象インスタンスへの自動ルーティング追加)
  • SCP モード(ローカル←→EC2 双方向対応)

詳細はドキュメントに記載していますので是非ご覧ください。

Github

github.com

ドキュメント

Welcome to sshec2’s documentation! — sshec2 0.1.0 documentation

今後は主に CI/CD のところで何をやってきたかをエントリしています。予定は下記のようなエントリを書いていく予定です。