AWS Session Manager Integration¶
AWS Session Manager provides secure access to your EC2 instances without needing SSH keys or open ports.
What is AWS Session Manager?¶
AWS Session Manager lets you connect to EC2 instances through the AWS console or CLI. StormTunnel integrates with Session Manager to provide simple tunnel management for AWS.
Benefits¶
- No SSH Keys Needed - Uses AWS IAM for security
- Audit Logging - All sessions logged in CloudTrail
- Port Forwarding - Forward local ports to remote services
- No Open Ports - No need to open inbound SSH ports
License¶
AWS Session Manager is available in the Premium tier only.
What You Need¶
To use AWS Session Manager in StormTunnel:
- AWS Account with active EC2 instances
- IAM Permissions - Ask your AWS admin to add SSM permissions to your user
- EC2 Instances with:
- SSM Agent installed (default on recent AMIs)
- IAM instance profile with SSM permissions
- Network access to AWS SSM endpoints
- AWS Credentials configured on your Mac
Setting Up¶
Step 1: Configure AWS Credentials¶
Ask your AWS admin to provide your credentials. Store them using one of these methods:
Option 1: Use AWS CLI
Open Terminal and run:
Follow the prompts to enter your access key, secret key, region, and output format.
Option 2: Manual Configuration
Create a file at ~/.aws/credentials with your credentials (ask your admin for help).
Step 2: Create a Tunnel¶
- Click + button in StormTunnel
- Select Tunnel Type: AWS Session Manager
- Configure settings:
- Region: Your AWS region (e.g.,
us-east-1) - Instance ID: EC2 instance ID
- Local Port: Port on your Mac
- Remote Host: Destination (e.g.,
localhostor database host) - Remote Port: Port on the instance
- Region: Your AWS region (e.g.,
- Click Save
Using AWS Session Manager Tunnels¶
Connect to a Database¶
Forward a database port through an EC2 instance:
- Local Port: 5432
- Remote Host: mydb.example.com
- Remote Port: 5432
Then connect with: psql -h localhost -p 5432 -U username
Access Web Services¶
Forward a web app port for local development:
- Local Port: 3000
- Remote Host: localhost
- Remote Port: 3000
Then access at: http://localhost:3000
Multiple Tunnels¶
Create multiple tunnels to access different services on the same instance.
Troubleshooting¶
"Instance not found" Error¶
- Verify the instance ID is correct
- Confirm the AWS region matches where the instance is located
- Check that the instance is running
"Access denied" Error¶
- Ask your AWS admin to verify your IAM permissions
- Confirm the instance has the correct IAM instance profile attached
"Connection timeout" Error¶
- Check your network connection
- Ask your AWS admin to verify security group outbound rules
- Verify VPC routing is configured correctly
Need Help?¶
- Ask your AWS administrator for configuration help
- See Troubleshooting Guide for more issues
- Review AWS documentation for Session Manager
Related Topics: