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'~/.bashrc または ~/.zshrc に以下を追加:
ssm() {
export EC2USER="ec2-user"
export EC2PASSWORD="yourpassword"
/path/to/awssm.sh "$@"
}- パスワードを環境変数に保存することはセキュリティリスクがあります。本番環境では適切な認証方法を検討してください。
- SSM接続にはインスタンスにSSMエージェントがインストールされている必要があります。
- IAMユーザーまたはロールには適切なSSMアクセス権限が必要です。
MIT
Pull requestやissueは歓迎します。大きな変更を加える前に、まずissueで議論してください。