AWS And SSM
Contents of this page:
AWS: Connect via localhost using AWS CLI and SSM
Prerequisites
AWS account with an AWS access key id and and aws secret access key
Get yourself set up with the AWS CLI and SSM
- Install AWS CLI:
- Get your AWS access key and token: In AWS console, click your name top right and select Security Credentials
- Export them to your env vars in ~/.bashrc as below
- The ID is the 20-char one, probably all alpha characters
- The key is the longer one (40 chars)
export AWS\_ACCESS\_KEY\_ID='XXXXXXXXXXXXXXXXXXXX'
export AWS\_SECRET\_ACCESS\_KEY='xxx111/xxx111xxx111xxx111/xxx111xxx111+X'
- Install the session manager plugin (Windows / Linux instructions and other details here)
curl
"https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip"
-o "sessionmanager-bundle.zip"
unzip sessionmanager-bundle.zip
sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin
-b /usr/local/bin/session-manager-plugin
- Get the AWS CLI set up
aws configure --profile \<PROFILENAME\>
- (if you don’t have more than one aws account you can use default as the profile name or miss it out altogether)
- AWS Access Key ID and secret access key as above
- region name is whatever your region is, access key and token from the previous step.
- If you have more than one AWS account you can change to this new profile (see below)
- Now you can use the
aws ssm
command to connect (see below)
Linux/Mac
export AWS\_PROFILE=\<PROFILENAME\>
Windows
setx AWS\_PROFILE \<PROFILENAME\>
Connect Using SSM
Start a session to access the remote server.
- On command line:
aws ssm start-session --target '\[EC2 instance id\]'
- (on Windows, this doesn’t seem to work in GitBash - use Windows Terminal or a Linux shell instead)
- Don’t forget the quotes around instance id - the resulting error if you forget is non-obvious
- You might want to have the ec2-user credentials while you work:
sudo su ec2-user
– or if you’re doing database stuff you might wantsudo su postgres
- … or via AWS management console:
- Use the Systems Manager service
- Select Session Manager on left
- Click Start Session, top right
- Select the correct instance and click Start Session
- You’ll want to have the ec2-user credentials while you work:
sudo su ec2-user