Skip to content

yuichi-sato-irm/awssm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

awssm

AWS SSM セッションマネージャーを使用してEC2インスタンスに簡単に接続するためのシェルスクリプトです。インスタンス名(Nameタグ)を使って直感的に接続でき、オプションで自動ユーザー切り替え機能も備えています。

特徴

  • インスタンスIDではなく、**インスタンス名(Nameタグ)**で接続
  • ローカルにインスタンス情報をキャッシュし、APIコールを最小限に抑制
  • 環境変数を使った自動ユーザー切り替え機能
  • TMUX使用時に自動的にウィンドウ名を変更
  • 複数のAWSプロファイルに対応

前提条件

  • AWS CLI
  • jq
  • expect(自動ユーザー切り替え機能を使用する場合)
  • SSMエージェントがインストールされたEC2インスタンス
  • 適切なIAMアクセス権限

インストール

git clone https://github.com/yourusername/awssm.git
cd awssm
chmod +x awssm.sh
# オプション: パスの通った場所に配置
sudo ln -s $(pwd)/awssm.sh /usr/local/bin/awssm

使用方法

基本的な使い方

./awssm.sh インスタンス名

インスタンス情報の更新

./awssm.sh update

プロファイルの指定

./awssm.sh インスタンス名 --profile プロファイル名

自動ユーザー切り替え

環境変数を設定してから実行:

export EC2USER="切り替え先ユーザー名"
export EC2PASSWORD="パスワード"
./awssm.sh インスタンス名

ヘルプ

./awssm.sh --help

設定例

シェルエイリアスの設定

~/.bashrc または ~/.zshrc に以下を追加:

alias awssm='/path/to/awssm.sh'

SSHの代わりに使用

~/.bashrc または ~/.zshrc に以下を追加:

ssm() {
  export EC2USER="ec2-user"
  export EC2PASSWORD="yourpassword"
  /path/to/awssm.sh "$@"
}

注意事項

  • パスワードを環境変数に保存することはセキュリティリスクがあります。本番環境では適切な認証方法を検討してください。
  • SSM接続にはインスタンスにSSMエージェントがインストールされている必要があります。
  • IAMユーザーまたはロールには適切なSSMアクセス権限が必要です。

ライセンス

MIT

貢献

Pull requestやissueは歓迎します。大きな変更を加える前に、まずissueで議論してください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages